From 584d23dabe8bd6fac5a496633b6b5891a9f66792 Mon Sep 17 00:00:00 2001 From: Dave Parker Date: Thu, 9 Feb 2012 22:46:14 +0000 Subject: [PATCH] Tweak PRISM interface - Files not filenames for PRISM exports. git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@4566 bbc10eb1-c90d-0410-af57-cb519fbb1720 --- prism/src/prism/Prism.java | 36 ++++++++++++++++++++---------------- prism/src/prism/PrismCL.java | 8 ++++++-- 2 files changed, 26 insertions(+), 18 deletions(-) diff --git a/prism/src/prism/Prism.java b/prism/src/prism/Prism.java index b69888d0..5630a338 100644 --- a/prism/src/prism/Prism.java +++ b/prism/src/prism/Prism.java @@ -118,9 +118,9 @@ public class Prism implements PrismSettingsListener // Export parsed PRISM model? protected boolean exportPrism = false; - protected String exportPrismFilename = null; + protected File exportPrismFile = null; protected boolean exportPrismConst = false; - protected String exportPrismConstFilename = null; + protected File exportPrismConstFile = null; // Export target state info? protected boolean exportTarget = false; protected String exportTargetFilename = null; @@ -409,9 +409,12 @@ public class Prism implements PrismSettingsListener exportPrism = b; } - public void setExportPrismFilename(String s) throws PrismException + /** + * Set file to export parsed PRISM file to (null = stdout). + */ + public void setExportPrismFile(File f) throws PrismException { - exportPrismFilename = s; + exportPrismFile = f; } public void setExportPrismConst(boolean b) throws PrismException @@ -419,9 +422,12 @@ public class Prism implements PrismSettingsListener exportPrismConst = b; } - public void setExportPrismConstFilename(String s) throws PrismException + /** + * Set file to export parsed PRISM file, with constants expanded, to (null = stdout). + */ + public void setExportPrismConstFile(File f) throws PrismException { - exportPrismConstFilename = s; + exportPrismConstFile = f; } public void setExportTarget(boolean b) throws PrismException @@ -659,9 +665,9 @@ public class Prism implements PrismSettingsListener return exportPrism; } - public String getExportPrismFilename() + public File getExportPrismFile() { - return exportPrismFilename; + return exportPrismFile; } public boolean getExportPrismConst() @@ -669,9 +675,9 @@ public class Prism implements PrismSettingsListener return exportPrismConst; } - public String getExportPrismConstFilename() + public File getExportPrismConstFile() { - return exportPrismConstFilename; + return exportPrismConstFile; } public boolean getExportTarget() @@ -1417,12 +1423,11 @@ public class Prism implements PrismSettingsListener // If required, export parsed PRISM model if (exportPrism) { try { - File f = (exportPrismFilename.equals("stdout")) ? null : new File(exportPrismFilename); - exportPRISMModel(f); + exportPRISMModel(exportPrismFile); } // In case of error, just print a warning catch (FileNotFoundException e) { - mainLog.printWarning("PRISM code export failed: Couldn't open file \"" + exportPrismFilename + "\" for output"); + mainLog.printWarning("PRISM code export failed: Couldn't open file \"" + exportPrismFile + "\" for output"); } catch (PrismException e) { mainLog.printWarning("PRISM code export failed: " + e.getMessage()); } @@ -1449,12 +1454,11 @@ public class Prism implements PrismSettingsListener // If required, export parsed PRISM model, with constants expanded if (exportPrismConst) { try { - File f = (exportPrismConstFilename.equals("stdout")) ? null : new File(exportPrismConstFilename); - exportPRISMModelWithExpandedConstants(f); + exportPRISMModelWithExpandedConstants(exportPrismConstFile); } // In case of error, just print a warning catch (FileNotFoundException e) { - mainLog.printWarning("PRISM code export failed: Couldn't open file \"" + exportPrismFilename + "\" for output"); + mainLog.printWarning("PRISM code export failed: Couldn't open file \"" + exportPrismConstFile + "\" for output"); } catch (PrismException e) { mainLog.printWarning("PRISM code export failed: " + e.getMessage()); } diff --git a/prism/src/prism/PrismCL.java b/prism/src/prism/PrismCL.java index d0f7b5cd..97a301ee 100644 --- a/prism/src/prism/PrismCL.java +++ b/prism/src/prism/PrismCL.java @@ -1159,8 +1159,10 @@ public class PrismCL // export prism model to file else if (sw.equals("exportprism")) { if (i < args.length - 1) { + String filename = args[++i]; + File f = (filename.equals("stdout")) ? null : new File(filename); prism.setExportPrism(true); - prism.setExportPrismFilename(args[++i]); + prism.setExportPrismFile(f); } else { errorAndExit("No file specified for -" + sw + " switch"); } @@ -1168,8 +1170,10 @@ public class PrismCL // export prism model to file (with consts expanded) else if (sw.equals("exportprismconst")) { if (i < args.length - 1) { + String filename = args[++i]; + File f = (filename.equals("stdout")) ? null : new File(filename); prism.setExportPrismConst(true); - prism.setExportPrismConstFilename(args[++i]); + prism.setExportPrismConstFile(f); } else { errorAndExit("No file specified for -" + sw + " switch"); }