Browse Source

(HOA path) Store ModulesFile / PropertiesFile location, if known

tud-infrastructure-2018-10-12
Joachim Klein 7 years ago
parent
commit
f3c143896b
  1. 17
      prism/src/prism/Prism.java
  2. 3
      prism/src/userinterface/model/GUIMultiModelHandler.java
  3. 4
      prism/src/userinterface/properties/GUIMultiProperties.java

17
prism/src/prism/Prism.java

@ -1414,6 +1414,10 @@ public class Prism extends PrismComponent implements PrismSettingsListener
try {
// parse file
modulesFile = prismParser.parseModulesFile(strModel, typeOverride);
if (modulesFile != null)
modulesFile.setLocation(file.toPath().toAbsolutePath());
} finally {
// release prism parser
releasePrismParser();
@ -1510,7 +1514,10 @@ public class Prism extends PrismComponent implements PrismSettingsListener
PrismLanguageTranslator importer = createPrismLanguageTranslator(lang);
importer.load(file);
String prismModelString = importer.translateToString();
return parseModelString(prismModelString);
ModulesFile result = parseModelString(prismModelString);
if (result != null)
result.setLocation(file.toPath().toAbsolutePath());
return result;
}
/**
@ -1561,7 +1568,11 @@ public class Prism extends PrismComponent implements PrismSettingsListener
}
// Parse string as PRISM model and return
return parseModelString(modelString);
ModulesFile result = parseModelString(modelString);
if (result != null)
result.setLocation(file.toPath().toAbsolutePath());
return result;
}
/**
@ -1600,6 +1611,8 @@ public class Prism extends PrismComponent implements PrismSettingsListener
try {
// parse file
propertiesFile = prismParser.parsePropertiesFile(modelInfo, strProperties);
if (propertiesFile != null)
propertiesFile.setLocation(file.toPath().toAbsolutePath());
} finally {
// release prism parser
releasePrismParser();

3
prism/src/userinterface/model/GUIMultiModelHandler.java

@ -537,6 +537,9 @@ public class GUIMultiModelHandler extends JPanel implements PrismModelListener
modifiedSinceParse = false;
lastError = "Parse Successful";
if (activeFile != null)
parsedModel.setLocation(activeFile.toPath().toAbsolutePath());
editor.modelParseSuccessful();
if (parseAfterParse) {

4
prism/src/userinterface/properties/GUIMultiProperties.java

@ -413,6 +413,10 @@ public class GUIMultiProperties extends GUIPlugin implements MouseListener, List
// parse property to be used for experiment
parsedProperties = getPrism().parsePropertiesString(parsedModel,
getLabelsString() + "\n" + getConstantsString() + "\n" + propList.getValidSelectedAndReferencedString());
if (activeFile != null)
parsedProperties.setLocation(activeFile.toPath().toAbsolutePath());
if (parsedProperties.getNumProperties() <= 0) {
error("There are no properties selected");
return;

Loading…
Cancel
Save