Skip to content

Commit c0f2099

Browse files
author
Marian Dovgialo
committed
Merge branch 'dev/19_fixing_restore_MP_task_edf' into 'development'
#19 fixing crash on workspace restore when MP task exists, which decomposed edf file See merge request brain/svarog2!208
2 parents 5a86930 + 6df38db commit c0f2099

File tree

5 files changed

+61
-23
lines changed

5 files changed

+61
-23
lines changed

installer_builder/build/svarog_exe/Svarog.nsi

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,35 @@ InstallDir "$PROGRAMFILES\Svarog"
7676

7777
######################################################################
7878

79+
Section -SecUninstallPrevious
80+
81+
Call UninstallPrevious
82+
83+
SectionEnd
84+
85+
86+
Function UninstallPrevious
87+
88+
; Check for uninstaller.
89+
ReadRegStr $R0 HKLM "${UNINSTALL_PATH}" "UninstallString"
90+
DetailPrint "Uninstaller path $R0"
91+
${If} $R0 == ""
92+
Goto Done
93+
${EndIf}
94+
95+
DetailPrint "Removing previous installation."
96+
97+
MessageBox MB_YESNO "Uninstall previous version?" IDYES true IDNO false
98+
true:
99+
ExecWait '"$R0" /S _?=$INSTDIR'
100+
Goto Done
101+
false:
102+
Abort
103+
; Run the uninstaller silently.
104+
Done:
105+
106+
FunctionEnd
107+
79108
Section -MainProgram
80109
${INSTALL_TYPE}
81110
SetOverwrite ifnewer

svarog/src/main/java/org/signalml/app/view/document/opensignal/elements/SignalSourceTabbedPane.java

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -171,16 +171,11 @@ protected void autodetectFileTypeAndReadMetadata(File file) {
171171
String extension = Util.getFileExtension(file, false);
172172

173173
if ("edf".equalsIgnoreCase(extension) || "d".equals(extension)){
174-
String formatName = null;
175-
if (extension.equalsIgnoreCase("edf")) {
176-
formatName = "EDF";
177-
}
178-
else if (extension.equalsIgnoreCase("d")) {
179-
formatName = "EASYS";
180-
}
174+
181175

182176
SignalMLCodecManager codecManager = viewerElementManager.getCodecManager();
183-
SignalMLCodec codec = codecManager.getCodecForFormat(formatName);
177+
SignalMLCodec codec = codecManager.getCodecForFilename(file.toString());
178+
184179

185180
if (codec == null) {
186181
openSignalDescriptor = null;

svarog/src/main/java/org/signalml/codec/DefaultSignalMLCodecManager.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,19 @@ public SignalMLCodec getCodecForFormat(String formatName) {
5656
return codecsByFormatName.get(formatName);
5757
}
5858
}
59+
60+
@Override
61+
public SignalMLCodec getCodecForFilename(String filename) {
62+
String extension = Util.getFileExtension(new File(filename), false);
63+
String formatName = null;
64+
if (extension.equalsIgnoreCase("edf")) {
65+
formatName = "EDF";
66+
}
67+
else if (extension.equalsIgnoreCase("d")) {
68+
formatName = "EASYS";
69+
}
70+
return getCodecForFormat(formatName);
71+
}
5972

6073
@Override
6174
public SignalMLCodec getCodecByUID(String uid) {

svarog/src/main/java/org/signalml/codec/SignalMLCodecManager.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ public interface SignalMLCodecManager {
1818
int getCodecCount();
1919
SignalMLCodec getCodecAt(int index);
2020
SignalMLCodec getCodecForFormat(String formatName);
21+
SignalMLCodec getCodecForFilename(String formatName);
2122
SignalMLCodec getCodecByUID(String uid);
2223
int getIndexOfCodec(SignalMLCodec codec);
2324

svarog/src/main/java/org/signalml/domain/signal/SignalProcessingChain.java

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -117,12 +117,24 @@ public SignalProcessingChain(SignalProcessingChainDescriptor descriptor) throws
117117
MRUDEntry mrud = descriptor.getDocument();
118118

119119
OriginalMultichannelSampleSource source = null;
120-
120+
// THIS CODE seems to run only on workspace recovery,
121+
// when there are MP related tasks on the task list.
121122
if (mrud instanceof SignalMLMRUDEntry) {
122123

123124
SignalMLMRUDEntry smlEntry = (SignalMLMRUDEntry) mrud;
124-
String codecUID = smlEntry.getDescriptor().getCodecUID();
125-
SignalMLCodec codec = SvarogApplication.getSharedInstance().getSignalMLCodecManager().getCodecByUID(codecUID);
125+
SignalMLDescriptor smlEntryDescriptor = smlEntry.getDescriptor();
126+
String codecUID = smlEntryDescriptor.getCodecUID();
127+
SignalMLCodec codec;
128+
if (codecUID == null)
129+
{
130+
//restoring non RAW format MP decomposition on start
131+
codec = SvarogApplication.getSharedInstance().getSignalMLCodecManager().getCodecForFilename(smlEntry.getFileName());
132+
133+
}
134+
else
135+
{
136+
codec = SvarogApplication.getSharedInstance().getSignalMLCodecManager().getCodecByUID(codecUID);
137+
}
126138
if (codec == null) {
127139
logger.warn("Mrud codec not found for uid [" + codecUID + "]");
128140
throw new MissingCodecException("error.mrudMissingCodecException");
@@ -132,18 +144,6 @@ public SignalProcessingChain(SignalProcessingChainDescriptor descriptor) throws
132144
reader.open(smlEntry.getPath());
133145

134146
source = new SignalMLCodecSampleSource(reader);
135-
136-
SignalParameters signalParameters = smlEntry.getDescriptor().getSignalParameters();
137-
if (source.isCalibrationCapable()) {
138-
source.setCalibrationGain(signalParameters.getCalibrationGain());
139-
}
140-
if (!source.isSamplingFrequencyCapable()) {
141-
source.setSamplingFrequency(signalParameters.getSamplingFrequency());
142-
}
143-
if (!source.isChannelCountCapable()) {
144-
source.setChannelCount(signalParameters.getChannelCount());
145-
}
146-
147147
}
148148
else if (mrud instanceof RawSignalMRUDEntry) {
149149

0 commit comments

Comments
 (0)