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 { try {
// parse file // parse file
modulesFile = prismParser.parseModulesFile(strModel, typeOverride); modulesFile = prismParser.parseModulesFile(strModel, typeOverride);
if (modulesFile != null)
modulesFile.setLocation(file.toPath().toAbsolutePath());
} finally { } finally {
// release prism parser // release prism parser
releasePrismParser(); releasePrismParser();
@ -1510,7 +1514,10 @@ public class Prism extends PrismComponent implements PrismSettingsListener
PrismLanguageTranslator importer = createPrismLanguageTranslator(lang); PrismLanguageTranslator importer = createPrismLanguageTranslator(lang);
importer.load(file); importer.load(file);
String prismModelString = importer.translateToString(); 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 // 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 { try {
// parse file // parse file
propertiesFile = prismParser.parsePropertiesFile(modelInfo, strProperties); propertiesFile = prismParser.parsePropertiesFile(modelInfo, strProperties);
if (propertiesFile != null)
propertiesFile.setLocation(file.toPath().toAbsolutePath());
} finally { } finally {
// release prism parser // release prism parser
releasePrismParser(); releasePrismParser();

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

@ -537,6 +537,9 @@ public class GUIMultiModelHandler extends JPanel implements PrismModelListener
modifiedSinceParse = false; modifiedSinceParse = false;
lastError = "Parse Successful"; lastError = "Parse Successful";
if (activeFile != null)
parsedModel.setLocation(activeFile.toPath().toAbsolutePath());
editor.modelParseSuccessful(); editor.modelParseSuccessful();
if (parseAfterParse) { 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 // parse property to be used for experiment
parsedProperties = getPrism().parsePropertiesString(parsedModel, parsedProperties = getPrism().parsePropertiesString(parsedModel,
getLabelsString() + "\n" + getConstantsString() + "\n" + propList.getValidSelectedAndReferencedString()); getLabelsString() + "\n" + getConstantsString() + "\n" + propList.getValidSelectedAndReferencedString());
if (activeFile != null)
parsedProperties.setLocation(activeFile.toPath().toAbsolutePath());
if (parsedProperties.getNumProperties() <= 0) { if (parsedProperties.getNumProperties() <= 0) {
error("There are no properties selected"); error("There are no properties selected");
return; return;

Loading…
Cancel
Save