From 679d8f869106d29e9c9405ebbe8e6d13172d06ce Mon Sep 17 00:00:00 2001 From: lempinen Date: Thu, 6 Jun 2013 05:34:04 +0000 Subject: [PATCH] Moved some import and result handling from sysdyn.ui to sysdyn (fixes #4314) git-svn-id: https://www.simantics.org/svn/simantics/sysdyn/trunk@27506 ac1ea38d-2e2b-0410-8846-a27921b304fc --- org.simantics.sysdyn.ontology/graph.tg | Bin 154519 -> 154692 bytes .../graph/Sysdyn.pgraph | 2 + .../org/simantics/sysdyn/SysdynResource.java | 6 ++ .../exports/ExportFunctionLibrary.java | 6 +- .../handlers/exports/ExportModelHandler.java | 6 +- .../handlers/exports/ExportModuleHandler.java | 6 +- .../imports/ImportFunctionLibrary.java | 8 +-- .../handlers/imports/ImportModelHandler.java | 8 +-- .../handlers/imports/ImportModuleHandler.java | 8 +-- .../ui/utils/imports/ImportUtilsUI.java | 63 ++++++++++++++++++ .../functions/WizardFunctionsImportPage.java | 4 +- .../models/WizardModelsImportPage.java | 6 +- .../modules/WizardModulesImportPage.java | 4 +- org.simantics.sysdyn/META-INF/MANIFEST.MF | 7 +- .../src/org/simantics/sysdyn/Activator.java | 13 ++++ .../sysdyn/manager/ActiveResults.java | 62 +++++++++++++++++ .../sysdyn/manager/SaveResultJob.java | 3 +- .../simantics/sysdyn/manager/SysdynModel.java | 38 +++++------ .../sysdyn}/utils/imports/ImportUtils.java | 43 +++++------- .../SysdynFunctionLibraryImportAdvisor.java | 2 +- .../imports/SysdynImportFormatHandler.java | 4 +- 21 files changed, 216 insertions(+), 83 deletions(-) create mode 100644 org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui/utils/imports/ImportUtilsUI.java create mode 100644 org.simantics.sysdyn/src/org/simantics/sysdyn/manager/ActiveResults.java rename {org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui => org.simantics.sysdyn/src/org/simantics/sysdyn}/utils/imports/ImportUtils.java (90%) rename {org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui => org.simantics.sysdyn/src/org/simantics/sysdyn}/utils/imports/SysdynFunctionLibraryImportAdvisor.java (95%) rename {org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui => org.simantics.sysdyn/src/org/simantics/sysdyn}/utils/imports/SysdynImportFormatHandler.java (95%) diff --git a/org.simantics.sysdyn.ontology/graph.tg b/org.simantics.sysdyn.ontology/graph.tg index 66e2ea9e8141a34ad0e972fc6fa54460534b1138..91680a01d01b3ff3b2082be580408d8504300464 100644 GIT binary patch literal 154692 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

?jj)0O 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 literal 154519 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%0DUSIjeA7rpKABV>~TIDf$yfA%7n+pY5D( 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 bjxHRRZpzzH=tl|1FsAFc<4}50Zi)UMHeDk} diff --git a/org.simantics.sysdyn.ontology/graph/Sysdyn.pgraph b/org.simantics.sysdyn.ontology/graph/Sysdyn.pgraph index 9fa3788b..809a1425 100644 --- a/org.simantics.sysdyn.ontology/graph/Sysdyn.pgraph +++ b/org.simantics.sysdyn.ontology/graph/Sysdyn.pgraph @@ -392,6 +392,8 @@ SYSDYN.Result -- SYSDYN.Result.resultFile --> L0.String -- SYSDYN.Result.showResult --> SYSDYN.Result -- SYSDYN.Result.time --> L0.Long >{ + + private Resource resource; + + public ActiveResults(Resource resource) { + this.resource = resource; + } + + @Override + public Collection perform(ReadGraph graph) throws DatabaseException { + Layer0 L0 = Layer0.getInstance(graph); + SysdynResource SR = SysdynResource.getInstance(graph); + ModelingResources MR = ModelingResources.getInstance(graph); + + Collection result = new ArrayList(); + + Collection experiments; + if(graph.isInstanceOf(resource, MR.StructuralModel)) + experiments = graph.syncRequest(new ObjectsWithType(resource, L0.ConsistsOf, SR.Experiment)); + else { + experiments = new ArrayList(); + experiments.add(resource); + } + + for(Resource experiment : experiments) { + Collection experimentResults = graph.getObjects(experiment, SR.Experiment_result); + for(Resource r : experimentResults) { + if(graph.hasStatement(r, SR.Result_showResult)) { + result.add(r); + } + } + } + + return result; + } + +} diff --git a/org.simantics.sysdyn/src/org/simantics/sysdyn/manager/SaveResultJob.java b/org.simantics.sysdyn/src/org/simantics/sysdyn/manager/SaveResultJob.java index 797bdc68..7b0ea6ba 100644 --- a/org.simantics.sysdyn/src/org/simantics/sysdyn/manager/SaveResultJob.java +++ b/org.simantics.sysdyn/src/org/simantics/sysdyn/manager/SaveResultJob.java @@ -94,7 +94,8 @@ public class SaveResultJob extends Job { l0.HasLabel, name, l0.HasName, name, l0.PartOf, model, - sr.Result_resultFile, file.getAbsolutePath()); + sr.Result_resultFile, file.getAbsolutePath(), + sr.Result_time, System.currentTimeMillis()); graph.claim(experiment.getResource(), sr.Experiment_result, res); } }); diff --git a/org.simantics.sysdyn/src/org/simantics/sysdyn/manager/SysdynModel.java b/org.simantics.sysdyn/src/org/simantics/sysdyn/manager/SysdynModel.java index e4c55433..4d091dc6 100644 --- a/org.simantics.sysdyn/src/org/simantics/sysdyn/manager/SysdynModel.java +++ b/org.simantics.sysdyn/src/org/simantics/sysdyn/manager/SysdynModel.java @@ -26,7 +26,6 @@ import org.simantics.Simantics; import org.simantics.db.ReadGraph; import org.simantics.db.Resource; import org.simantics.db.Session; -import org.simantics.db.common.request.ObjectsWithType; import org.simantics.db.common.utils.NameUtils; import org.simantics.db.exception.DatabaseException; import org.simantics.db.exception.ManyObjectsForFunctionalRelationException; @@ -195,27 +194,24 @@ public class SysdynModel implements IMappingListener, IModel, VariableSubscripti Resource model = graph.getPossibleObject(getConfigurationResource(), SIMU.IsConfigurationOf); if(model == null) return null; - Collection experiments = graph.syncRequest(new ObjectsWithType(model, l0.ConsistsOf, sr.Experiment)); - for(Resource experiment : experiments) { - Collection experimentResults = graph.getObjects(experiment, sr.Experiment_result); - for(Resource result : experimentResults) { - if(graph.hasStatement(result, sr.Result_showResult)) { - SysdynResult sysdynResult = null; - if(graph.isInstanceOf(result, sr.HistoryDataset)) { - HistoryDatasetResult r = new HistoryDatasetResult(); - listeningHistories.add(r); - sysdynResult = new MemoryResult(r, NameUtils.getSafeLabel(graph, result)); - r.read((MemoryResult)sysdynResult, result); - } else { - sysdynResult = new FileResult( - (String) graph.getPossibleRelatedValue(result, l0.HasLabel), - (String) graph.getPossibleRelatedValue(result, sr.Result_resultFile)); - } - - if(sysdynResult != null) - displayedResults.add(sysdynResult); - + + Collection results = graph.syncRequest(new ActiveResults(model)); + for(Resource result : results) { + if(graph.hasStatement(result, sr.Result_showResult)) { + SysdynResult sysdynResult = null; + if(graph.isInstanceOf(result, sr.HistoryDataset)) { + HistoryDatasetResult r = new HistoryDatasetResult(); + listeningHistories.add(r); + sysdynResult = new MemoryResult(r, NameUtils.getSafeLabel(graph, result)); + r.read((MemoryResult)sysdynResult, result); + } else { + sysdynResult = new FileResult( + (String) graph.getPossibleRelatedValue(result, l0.HasLabel), + (String) graph.getPossibleRelatedValue(result, sr.Result_resultFile)); } + + if(sysdynResult != null) + displayedResults.add(sysdynResult); } } } catch (Exception e) { diff --git a/org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui/utils/imports/ImportUtils.java b/org.simantics.sysdyn/src/org/simantics/sysdyn/utils/imports/ImportUtils.java similarity index 90% rename from org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui/utils/imports/ImportUtils.java rename to org.simantics.sysdyn/src/org/simantics/sysdyn/utils/imports/ImportUtils.java index d7fae469..48ee948c 100644 --- a/org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui/utils/imports/ImportUtils.java +++ b/org.simantics.sysdyn/src/org/simantics/sysdyn/utils/imports/ImportUtils.java @@ -10,7 +10,7 @@ * VTT Technical Research Centre of Finland - initial API and implementation * Semantum Oy - Bug #4192 *******************************************************************************/ -package org.simantics.sysdyn.ui.utils.imports; +package org.simantics.sysdyn.utils.imports; import java.io.File; import java.io.IOException; @@ -26,7 +26,6 @@ import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.Status; import org.eclipse.core.runtime.SubMonitor; -import org.eclipse.swt.widgets.Shell; import org.simantics.Simantics; import org.simantics.databoard.container.DataContainers; import org.simantics.databoard.container.DataFormatException; @@ -61,8 +60,7 @@ import org.simantics.operation.Layer0X; import org.simantics.simulation.ontology.SimulationResource; import org.simantics.structural.stubs.StructuralResource2; import org.simantics.sysdyn.SysdynResource; -import org.simantics.sysdyn.ui.Activator; -import org.simantics.ui.SimanticsUI; +import org.simantics.sysdyn.Activator; /** * Utilities for importing tg files: Models, Modules and Function libraries @@ -71,10 +69,6 @@ import org.simantics.ui.SimanticsUI; */ public class ImportUtils { - public static String IMPORTMODELTPATH = "IMPORT_MODEL_PATH"; - public static String IMPORTMODULETPATH = "IMPORT_MODULE_PATH"; - public static String IMPORTFUNCTIONLIBRARYPATH = "IMPORT_FUNCTION_LIBRARY_PATH"; - /** * Null-checked begin task for monitor * @param monitor @@ -139,21 +133,19 @@ public class ImportUtils { /* ********************************* */ /* ******* IMPORT MODEL ********* */ /* ********************************* */ - public static IStatus importModelFile(String path, final Shell shell, final IProgressMonitor monitor) { - final Resource project = SimanticsUI.getProject().get(); + public static IStatus importModelFile(String path, final IProgressMonitor monitor) { + final Resource project = Simantics.getProject().get(); if(project == null) return new Status(IStatus.ERROR, Activator.PLUGIN_ID, "Import model: project not found", null); beginTask(monitor, "Import model", 9); - Activator.getDefault().getPreferenceStore().setValue(IMPORTMODELTPATH, (new File(path)).getParent()); - MigrationState state = MigrationUtils.newState(); state.setProperty(MigrationStateKeys.BASE_URI, SysdynResource.URIs.Migration); state.setProperty(MigrationStateKeys.UPDATE_DEPENDENCIES, Boolean.FALSE); Resource result = null; try { - result = MigrationUtils.importMigrated(monitor, SimanticsUI.getSession(), new File(path), state, new DefaultPasteImportAdvisor(project), project); + result = MigrationUtils.importMigrated(monitor, Simantics.getSession(), new File(path), state, new DefaultPasteImportAdvisor(project), project); } catch (Exception e1) { e1.printStackTrace(); } @@ -163,7 +155,7 @@ public class ImportUtils { } else { try { final Resource ModelRoot = result; - IStatus status = SimanticsUI.getSession().syncRequest(new WriteResultRequest() { + IStatus status = Simantics.getSession().syncRequest(new WriteResultRequest() { @Override public IStatus perform(WriteGraph graph) throws DatabaseException { @@ -213,7 +205,7 @@ public class ImportUtils { return status; subTask(monitor, "Validate model"); - Collection confs = SimanticsUI.getSession().syncRequest(new Read>() { + Collection confs = Simantics.getSession().syncRequest(new Read>() { @Override public Collection perform(ReadGraph graph) throws DatabaseException { @@ -399,19 +391,16 @@ public class ImportUtils { /* ********************************* */ /* ******* IMPORT MODULE ********* */ /* ********************************* */ - public static IStatus importModuleFile(final Resource model, String path, final Shell shell, final IProgressMonitor monitor) { + public static IStatus importModuleFile(final Resource model, String path, final IProgressMonitor monitor) { beginTask(monitor, "Import Module", 3); - - Activator.getDefault().getPreferenceStore().setValue(IMPORTMODULETPATH, (new File(path)).getParent()); - MigrationState state = MigrationUtils.newState(); state.setProperty(MigrationStateKeys.BASE_URI, SysdynResource.URIs.Migration); state.setProperty(MigrationStateKeys.UPDATE_DEPENDENCIES, Boolean.FALSE); Resource result = null; try { - result = MigrationUtils.importMigrated(monitor, SimanticsUI.getSession(), new File(path), state, new DefaultPasteImportAdvisor(model), model); + result = MigrationUtils.importMigrated(monitor, Simantics.getSession(), new File(path), state, new DefaultPasteImportAdvisor(model), model); } catch (Exception e1) { e1.printStackTrace(); } @@ -424,7 +413,7 @@ public class ImportUtils { // Check that the imported file actually was a module. Display error message otherwise. try { subTask(monitor, "Validate model"); - IStatus status = SimanticsUI.getSession().syncRequest(new WriteResultRequest() { + IStatus status = Simantics.getSession().syncRequest(new WriteResultRequest() { @Override public IStatus perform(WriteGraph graph) throws DatabaseException { @@ -465,11 +454,9 @@ public class ImportUtils { /* *** IMPORT FUNCTION LIBRARY *** */ /* ********************************* */ - public static IStatus importFunctionLibrary(final Resource functionLibrary, final String path, final Shell shell, final IProgressMonitor monitor) { + public static IStatus importFunctionLibrary(final Resource functionLibrary, final String path, final IProgressMonitor monitor) { beginTask(monitor, "Import Module", 3); - Activator.getDefault().getPreferenceStore().setValue(IMPORTFUNCTIONLIBRARYPATH, (new File(path)).getParent()); - // Ensure that shared functions ontology exists ensureSharedOntologies(); @@ -479,7 +466,7 @@ public class ImportUtils { Resource result = null; try { - result = MigrationUtils.importMigrated(monitor, SimanticsUI.getSession(), new File(path), state, new DefaultPasteImportAdvisor(functionLibrary), functionLibrary); + result = MigrationUtils.importMigrated(monitor, Simantics.getSession(), new File(path), state, new DefaultPasteImportAdvisor(functionLibrary), functionLibrary); } catch (Exception e1) { e1.printStackTrace(); } @@ -491,7 +478,7 @@ public class ImportUtils { // Link the imported library to the selected resource (functionLibrary) try { subTask(monitor, "Validate model"); - IStatus status = SimanticsUI.getSession().syncRequest(new WriteResultRequest() { + IStatus status = Simantics.getSession().syncRequest(new WriteResultRequest() { /** * Link the imported library to the selected resource (functionLibrary) @@ -556,7 +543,7 @@ public class ImportUtils { // Make sure the "http://SharedOntologies resource exists try { Boolean hasSharedOntologies; - hasSharedOntologies = SimanticsUI.getSession().syncRequest(new Read() { + hasSharedOntologies = Simantics.getSession().syncRequest(new Read() { @Override public Boolean perform(ReadGraph graph) throws DatabaseException { @@ -570,7 +557,7 @@ public class ImportUtils { }); if(!hasSharedOntologies) { - SimanticsUI.getSession().syncRequest(new WriteRequest() { + Simantics.getSession().syncRequest(new WriteRequest() { @Override public void perform(WriteGraph graph) throws DatabaseException { diff --git a/org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui/utils/imports/SysdynFunctionLibraryImportAdvisor.java b/org.simantics.sysdyn/src/org/simantics/sysdyn/utils/imports/SysdynFunctionLibraryImportAdvisor.java similarity index 95% rename from org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui/utils/imports/SysdynFunctionLibraryImportAdvisor.java rename to org.simantics.sysdyn/src/org/simantics/sysdyn/utils/imports/SysdynFunctionLibraryImportAdvisor.java index b23385af..3373d68f 100644 --- a/org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui/utils/imports/SysdynFunctionLibraryImportAdvisor.java +++ b/org.simantics.sysdyn/src/org/simantics/sysdyn/utils/imports/SysdynFunctionLibraryImportAdvisor.java @@ -9,7 +9,7 @@ * Contributors: * VTT Technical Research Centre of Finland - initial API and implementation *******************************************************************************/ -package org.simantics.sysdyn.ui.utils.imports; +package org.simantics.sysdyn.utils.imports; import org.simantics.databoard.Bindings; import org.simantics.db.ReadGraph; diff --git a/org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui/utils/imports/SysdynImportFormatHandler.java b/org.simantics.sysdyn/src/org/simantics/sysdyn/utils/imports/SysdynImportFormatHandler.java similarity index 95% rename from org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui/utils/imports/SysdynImportFormatHandler.java rename to org.simantics.sysdyn/src/org/simantics/sysdyn/utils/imports/SysdynImportFormatHandler.java index a7ae4129..260c058b 100644 --- a/org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui/utils/imports/SysdynImportFormatHandler.java +++ b/org.simantics.sysdyn/src/org/simantics/sysdyn/utils/imports/SysdynImportFormatHandler.java @@ -9,7 +9,7 @@ * Contributors: * VTT Technical Research Centre of Finland - initial API and implementation *******************************************************************************/ -package org.simantics.sysdyn.ui.utils.imports; +package org.simantics.sysdyn.utils.imports; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.IStatus; @@ -27,7 +27,7 @@ import org.simantics.db.layer0.migration.MigrationStateKeys; import org.simantics.db.layer0.migration.MigrationStep; import org.simantics.db.layer0.migration.MigrationUtils; import org.simantics.graph.representation.TransferableGraph1; -import org.simantics.sysdyn.ui.Activator; +import org.simantics.sysdyn.Activator; /** * Handler for migrating a tg and importing it to database -- 2.47.1