From 73b23ced720535adb5d3968f6ae0796b7cb037ce Mon Sep 17 00:00:00 2001 From: Alja Vrieling Date: Thu, 29 Aug 2019 14:35:26 +0200 Subject: [PATCH 001/188] Moved Role to IExchangeItem and added PrevRole en getPrevRole to IPrevExchangeItem + refactoring --- ...soluteAveragePerLocationStopCriterion.java | 1 - .../DudWithObservationFilterTest.java | 2 +- .../blackbox/config/BBModelConfigReader.java | 12 +- .../blackbox/config/BBModelVectorConfig.java | 8 +- .../blackbox/io/BaseTemplateDataObject.java | 2 +- .../blackbox/io/TreeVectorIoObject.java | 4 +- .../BBCollectTimeSeriesExchangeItem.java | 5 +- .../blackbox/wrapper/BBExchangeItem.java | 6 +- .../blackbox/wrapper/BBModelInstance.java | 12 +- .../wrapper/BBStochModelInstance.java | 2 +- .../src/org/openda/costa/CtaOpenDaModel.java | 4 +- .../openda/exchange/ArrayExchangeItem.java | 3 +- ...tantLimitsRangeValidationExchangeItem.java | 5 +- .../openda/exchange/DoubleExchangeItem.java | 1 + .../src/org/openda/exchange/ExchangeItem.java | 14 +- .../org/openda/exchange/IntExchangeItem.java | 1 + .../NetcdfGridTimeSeriesExchangeItem.java | 2 + .../NetcdfScalarTimeSeriesExchangeItem.java | 1 + ...ochObserverGridTimeSeriesExchangeItem.java | 2 + .../openda/exchange/StringExchangeItem.java | 1 + .../dataobjects/AsciiKeywordDataObject.java | 2 +- .../dataobjects/EsriAsciiGridDataObject.java | 4 +- .../dataobjects/NetcdfDataObject.java | 4 +- .../exchange/dataobjects/NoosDataObject.java | 2 +- .../exchange/dataobjects/TestDataObject.java | 4 +- .../TimeSeriesFormatterDataObject.java | 4 +- .../org/openda/exchange/iotools/ioDumper.java | 4 +- .../DelimitedTextTimeSeriesFormatter.java | 10 +- .../exchange/timeseries/TimeSeries.java | 4 +- .../org/openda/interfaces/IDataObject.java | 2 +- .../interfaces/IEnsembleDataObject.java | 2 +- .../org/openda/interfaces/IExchangeItem.java | 12 + .../openda/interfaces/IPrevExchangeItem.java | 4 +- .../noiseModels/MapsNoiseModelInstance.java | 2 +- .../TimeSeriesNoiseModelInstance.java | 2 +- .../uncertaintyModels/ParameterDrawer.java | 2 +- .../org/openda/utils/ProposedTreeVector.java | 2 + .../blackbox/wrapper/BBExchangeItemTest.java | 18 +- .../blackbox/wrapper/DummyAstroIoObject.java | 4 +- .../wrapper/DummyModelForTestingNoise.java | 4 +- .../wrapper/DummyParametersIoObject.java | 4 +- .../openda/blackbox/wrapper/DummySeries.java | 4 +- .../openda/blackbox/wrapper/DummyState.java | 2 +- .../wrapper/DummyStateDataObject.java | 10 +- .../wrapper/DummyTestStochObserver.java | 2 + .../wrapper/DummyTimeInfoIoObject.java | 4 +- .../org/openda/exchange/ExchangeItemTest.java | 15 +- .../noiseModels/Maps2dNoiseModelTest.java | 2 +- .../openda/utils/ProposedTreeVectorTest.java | 2 +- .../org/openda/dotnet/ExchangeItemN2J.java | 4 +- .../org/openda/dotnet/ModelInstanceN2J.java | 4 +- .../dotnet/ObservationDescriptionsN2J.java | 2 +- .../src/org/openda/dotnet/UtilsJ2NAndN2J.java | 8 +- .../openda/model_bmi/BmiModelInstance.java | 8 +- .../model_bmi/BmiOutputExchangeItem.java | 7 +- .../model_bmi/BmiStateExchangeItem.java | 5 + .../model_delft3d/D3dAstroExchangeItem.java | 4 +- .../model_delft3d/D3dField2DExchangeItem.java | 4 +- .../model_delft3d/D3dMdFileDataObject.java | 19 +- .../D3dRoughParamsFileExchangeItem.java | 4 +- .../model_delft3d/D3dWindExchangeItem.java | 6 +- .../org/openda/model_delft3d/D3dWindFile.java | 3 +- .../ScientificNotationExchangeItem.java | 4 + .../openda/model_delwaq/delwaqBinaryFile.java | 5 +- .../openda/model_delwaq/delwaqInpFile.java | 6 +- .../delwaqSubstanceExchangeItem.java | 4 + .../openda/model_dflowfm/BcExchangeItem.java | 7 +- .../src/org/openda/model_dflowfm/BcFile.java | 3 +- .../DFlowFMCalibrationFactorFile.java | 3 +- .../DFlowFMFrictionCoefExchangeItem.java | 4 + .../model_dflowfm/DFlowFMMeteoFile.java | 6 +- .../DFlowFMRestartFileWrapper.java | 3 +- .../DFlowFMTimTimeSeriesFormatter.java | 2 +- .../openda/model_dflowfm/DFlowFMTimeInfo.java | 2 +- .../DFlowFMTimeInfoExchangeItem.java | 7 +- .../DFlowFMTimeSeriesDataObject.java | 5 +- .../model_dflowfm/DFlowFMTrachytopeFile.java | 5 +- .../model_dflowfm/DFlowFMXyzExchangeItem.java | 4 + .../openda/model_dflowfm/DFlowFMXyzFile.java | 3 +- .../DflowfmFrictionCoefficientFile.java | 3 +- .../openda/model_dflowfm/DimrConfigFile.java | 3 +- .../Flow1DTimeInfoExchangeItem.java | 7 +- .../org/openda/model_dflowfm/Md1dFile.java | 3 +- .../RtcToolsRuntimeConfigFile.java | 3 +- .../EfdcGridTimeSeriesExchangeItem.java | 1 + .../EfdcTimeSeriesExchangeItem.java | 4 +- .../model_efdc_dll/EfdcGridExchangeItem.java | 2 + .../model_efdc_dll/EfdcModelInstance.java | 4 +- .../EfdcScalarTimeSeriesExchangeItem.java | 4 + .../openda/blackbox/io/SimpleBbAsciiFile.java | 2 +- .../simplef90model/SimpleExchangeItem.java | 8 +- .../simplef90model/SimpleModelInstance.java | 4 +- .../SimpleModelInstanceTestExe.java | 4 - .../org/openda/model_hspf/UciDataObject.java | 5 +- .../openda/model_hspf/UciStateDataObject.java | 2 +- .../src/org/openda/model_hspf/UciUtils.java | 2 +- ...WdmEnsembleTimeSeriesOutputDataObject.java | 8 +- .../model_hspf/WdmTimeSeriesDataObject.java | 4 +- .../model_hspf/WdmTimeSeriesIoObject.java | 10 +- .../src/org/openda/model_hspf/WdmUtils.java | 12 +- .../org/openda/model_hspf/WdmUtilsTest.java | 12 +- .../EsriAsciiGridSeriesDataObject.java | 4 +- .../SwapResultExchangeItem.java | 7 +- .../openda/model_metaswap/SwapResultFile.java | 2 +- .../model_metaswap/SwapStateExchangeItem.java | 7 +- .../openda/model_metaswap/SwapStateFile.java | 2 +- .../openda/exchange/nemo_exchangeItem.java | 2 + .../CsvTimeSeriesDataObject.java | 2 +- .../CsvTimeSeriesFormatter.java | 2 +- .../model_openfoam/DictionaryDataObject.java | 2 +- .../DictionaryNoisyDataObject.java | 2 +- .../DictionaryTimeSeriesDataObject.java | 2 +- .../openda/model_openfoam/MeshDataObject.java | 2 +- .../model_openfoam/ProbeDataObject.java | 2 +- .../model_openfoam/MeshDataObjectTest.java | 4 +- .../openda/model_swan/SwanCalibWrapper.java | 4 +- .../openda/model_swan/SwanField2DFile.java | 2 +- .../SwanField2DFileExchangeItem.java | 4 +- .../openda/model_swan/SwanField2DXYFile.java | 8 +- .../SwanField2DXYFileExchangeItem.java | 8 +- .../SwanField2DXYFileExchangeItem_bak.java | 164 ------ .../model_swan/SwanField2DXYFile_bak.java | 500 ------------------ .../org/openda/model_swan/SwanInputFile.java | 3 +- .../model_swan/SwanInputFileExchangeItem.java | 2 +- .../SwanOpenBoundarySpectralFile.java | 3 +- ...nOpenBoundarySpectralFileExchangeItem.java | 10 +- .../model_swan/SwanOpenBoundaryTPARFile.java | 3 +- .../SwanOpenBoundaryTPARFileExchangeItem.java | 4 +- .../org/openda/model_swan/SwanResults.java | 18 +- .../model_swan/SwanResultsTimeDependent.java | 4 +- .../org/openda/model_swan/SwanStateFile.java | 3 +- .../model_swan/SwanStateFileExchangeItem.java | 8 +- .../org/openda/model_swan/SwanTimeInfo.java | 5 +- .../model_swan/SwanTimeInfoExchangeItem.java | 4 +- .../model_swan/SwanWLevelField2DFileTest.java | 2 +- .../Wflow2DMapStateExchangeItem.java | 6 +- .../model_wflow/WflowModelInstance.java | 8 +- .../BiasAwareObservationsModelInstance.java | 2 +- .../CircularAdvectionInstance.java | 2 +- .../CircularAdvection1000Instance.java | 2 +- .../simpleModel/SimpleStochModelInstance.java | 4 +- .../SimultaneousGroupStochModelInstance.java | 2 +- .../smootherModel/smootherModelInstance.java | 2 +- .../observers/IoObjectStochObserver.java | 6 +- .../NonMissingStochObserverExchangeItem.java | 3 +- 145 files changed, 363 insertions(+), 958 deletions(-) delete mode 100644 model_swan/java/src/org/openda/model_swan/SwanField2DXYFileExchangeItem_bak.java delete mode 100644 model_swan/java/src/org/openda/model_swan/SwanField2DXYFile_bak.java diff --git a/algorithms/java/src/org/openda/algorithms/AbsoluteAveragePerLocationStopCriterion.java b/algorithms/java/src/org/openda/algorithms/AbsoluteAveragePerLocationStopCriterion.java index be5491bcd..f1c8173e0 100644 --- a/algorithms/java/src/org/openda/algorithms/AbsoluteAveragePerLocationStopCriterion.java +++ b/algorithms/java/src/org/openda/algorithms/AbsoluteAveragePerLocationStopCriterion.java @@ -80,7 +80,6 @@ public boolean checkForStop(IVector parameters, IVector residuals, IObservationD int indLast = 0; double absAvg = 0.0; double maxAbsAvg = Double.NEGATIVE_INFINITY; -// for(IPrevExchangeItem item : items){ // assume the exchangeItems are in the for (int i=0; i exchangeItemIds = new ArrayList(); @@ -327,14 +327,14 @@ private void addAllExchangeItemIdsFromVectorConfig(BBModelVectorConfig vectorCon } public IExchangeItem getDataObjectExchangeItem(String exchangeItemID) { - IPrevExchangeItem exchangeItem = getExchangeItem(exchangeItemID); + IExchangeItem exchangeItem = getExchangeItem(exchangeItemID); if (!(exchangeItem instanceof BBExchangeItem)) { throw new RuntimeException("Unexpected exchange item type " + exchangeItem.getClass().toString()); } return (BBExchangeItem) exchangeItem; } - public IPrevExchangeItem getExchangeItem(String searchedBBExchangeItemId) { + public IExchangeItem getExchangeItem(String searchedBBExchangeItemId) { checkForPendingComputeActions(); BBExchangeItem bbExchangeItem = bbExchangeItems.get(searchedBBExchangeItemId); @@ -721,7 +721,7 @@ private ITime getStartOrEndTime(String timeExchangeItemId) { ITime startOrEndTime = null; if (timeExchangeItemId != null) { IPrevExchangeItem timeExchangeItem = getExchangeItem(timeExchangeItemId); - if (timeExchangeItem.getRole() != IPrevExchangeItem.Role.Input) { + if (timeExchangeItem.getPrevRole() != IPrevExchangeItem.PrevRole.Input) { if (timeExchangeItem.getValueType() == Date.class) { startOrEndTime = new Time((Date)timeExchangeItem.getValues()); } else if (timeExchangeItem.getValueType() == ITime.class) { @@ -738,7 +738,7 @@ private ITime getStartOrEndTime(String timeExchangeItemId) { private void setStartOrEndTime(ITime startOrEndTime, String timeExchangeItemId) { if (timeExchangeItemId != null) { IPrevExchangeItem timeExchangeItem = getExchangeItem(timeExchangeItemId); - if (timeExchangeItem.getRole() != IPrevExchangeItem.Role.Output) { + if (timeExchangeItem.getPrevRole() != IPrevExchangeItem.PrevRole.Output) { if (timeExchangeItem.getValueType() == Date.class) { Date startOrEndTimeAsJavaDate = new Date(Time.mjdToMillies(startOrEndTime.getMJD())); timeExchangeItem.setValues(startOrEndTimeAsJavaDate); diff --git a/core/java/src/org/openda/blackbox/wrapper/BBStochModelInstance.java b/core/java/src/org/openda/blackbox/wrapper/BBStochModelInstance.java index a909c78bf..be9b6f7ac 100644 --- a/core/java/src/org/openda/blackbox/wrapper/BBStochModelInstance.java +++ b/core/java/src/org/openda/blackbox/wrapper/BBStochModelInstance.java @@ -370,7 +370,7 @@ public String[] getExchangeItemIDs() { return list.toArray(new String[list.size()]); } - public String[] getExchangeItemIDs(IPrevExchangeItem.Role role) { + public String[] getExchangeItemIDs(IExchangeItem.Role role) { ArrayList list = new ArrayList(); //TODO only add constraintExchangeItems for the given role. AK list.addAll(this.constraintExchangeItemIdConstraintMap.keySet()); diff --git a/core/java/src/org/openda/costa/CtaOpenDaModel.java b/core/java/src/org/openda/costa/CtaOpenDaModel.java index 148612a14..a4171b845 100644 --- a/core/java/src/org/openda/costa/CtaOpenDaModel.java +++ b/core/java/src/org/openda/costa/CtaOpenDaModel.java @@ -165,8 +165,8 @@ public String[] getExchangeItemIDs() { throw new UnsupportedOperationException("org.costa.CtaOpenDaModel.getExchangeItemIDs(): Not implemented yet."); } - public String[] getExchangeItemIDs(IPrevExchangeItem.Role role) { - if (role == IPrevExchangeItem.Role.InOut) { + public String[] getExchangeItemIDs(IExchangeItem.Role role) { + if (role == IExchangeItem.Role.InOut) { return getExchangeItemIDs(); } throw new UnsupportedOperationException("org.costa.CtaOpenDaModel.getExchangeItemIDs(): Role selection not implemented yet."); diff --git a/core/java/src/org/openda/exchange/ArrayExchangeItem.java b/core/java/src/org/openda/exchange/ArrayExchangeItem.java index 8f6ce0639..77d30afcb 100644 --- a/core/java/src/org/openda/exchange/ArrayExchangeItem.java +++ b/core/java/src/org/openda/exchange/ArrayExchangeItem.java @@ -89,7 +89,8 @@ public Role getRole() { return this.role; } - + public PrevRole getPrevRole() { return null;} + public String getId() { return id; } diff --git a/core/java/src/org/openda/exchange/ConstantLimitsRangeValidationExchangeItem.java b/core/java/src/org/openda/exchange/ConstantLimitsRangeValidationExchangeItem.java index 784a49aea..849a720be 100644 --- a/core/java/src/org/openda/exchange/ConstantLimitsRangeValidationExchangeItem.java +++ b/core/java/src/org/openda/exchange/ConstantLimitsRangeValidationExchangeItem.java @@ -22,6 +22,7 @@ import org.openda.blackbox.config.BBUtils; import org.openda.interfaces.IArray; +import org.openda.interfaces.IExchangeItem.Role; import org.openda.interfaces.IPrevExchangeItem; import org.openda.interfaces.IVector; @@ -88,8 +89,8 @@ public String getDescription() { return this.wrappedExchangeItem.getDescription(); } - public Role getRole() { - return this.wrappedExchangeItem.getRole(); + public PrevRole getPrevRole() { + return this.wrappedExchangeItem.getPrevRole(); } public Class getValueType() { diff --git a/core/java/src/org/openda/exchange/DoubleExchangeItem.java b/core/java/src/org/openda/exchange/DoubleExchangeItem.java index bf9de987f..e76301b68 100644 --- a/core/java/src/org/openda/exchange/DoubleExchangeItem.java +++ b/core/java/src/org/openda/exchange/DoubleExchangeItem.java @@ -63,6 +63,7 @@ public Role getRole() { return this.role; } + public PrevRole getPrevRole() { return null; } public String getId() { return this.id; diff --git a/core/java/src/org/openda/exchange/ExchangeItem.java b/core/java/src/org/openda/exchange/ExchangeItem.java index eaa34d753..4ccf036e5 100644 --- a/core/java/src/org/openda/exchange/ExchangeItem.java +++ b/core/java/src/org/openda/exchange/ExchangeItem.java @@ -32,7 +32,7 @@ public abstract class ExchangeItem implements IExchangeItem { private String description; private String quantityId; private String unitId; - private IPrevExchangeItem.Role role= IPrevExchangeItem.Role.InOut; + private IExchangeItem.Role role= IExchangeItem.Role.InOut; private TimeInfo timeInfo = new TimeInfo(); public ExchangeItem(String id) { @@ -70,15 +70,19 @@ public void setUnitId(String unitId) { this.unitId = unitId; } - public void setRole(IPrevExchangeItem.Role role){ + public void setRole(IExchangeItem.Role role){ this.role = role; } - public IPrevExchangeItem.Role getRole(){ - return this.role; + public IPrevExchangeItem.PrevRole getPrevRole(){ + return null; } - public String getQuantityId() { + public IExchangeItem.Role getRole(){ + return this.role; + } + + public String getQuantityId() { return quantityId; } diff --git a/core/java/src/org/openda/exchange/IntExchangeItem.java b/core/java/src/org/openda/exchange/IntExchangeItem.java index 5017ed1a2..f1a5596d9 100644 --- a/core/java/src/org/openda/exchange/IntExchangeItem.java +++ b/core/java/src/org/openda/exchange/IntExchangeItem.java @@ -52,6 +52,7 @@ public Role getRole() { return this.role; } + public PrevRole getPrevRole() { return PrevRole.InOut;} public String getId() { return this.id; diff --git a/core/java/src/org/openda/exchange/NetcdfGridTimeSeriesExchangeItem.java b/core/java/src/org/openda/exchange/NetcdfGridTimeSeriesExchangeItem.java index 174665fa9..db0bb0f1c 100644 --- a/core/java/src/org/openda/exchange/NetcdfGridTimeSeriesExchangeItem.java +++ b/core/java/src/org/openda/exchange/NetcdfGridTimeSeriesExchangeItem.java @@ -87,6 +87,8 @@ public Role getRole() { return this.role; } + public IPrevExchangeItem.PrevRole getPrevRole() { return null; } + public ITimeInfo getTimeInfo() { return this.timeInfo; } diff --git a/core/java/src/org/openda/exchange/NetcdfScalarTimeSeriesExchangeItem.java b/core/java/src/org/openda/exchange/NetcdfScalarTimeSeriesExchangeItem.java index 6e2fe8a45..2d8b17744 100644 --- a/core/java/src/org/openda/exchange/NetcdfScalarTimeSeriesExchangeItem.java +++ b/core/java/src/org/openda/exchange/NetcdfScalarTimeSeriesExchangeItem.java @@ -106,6 +106,7 @@ public Role getRole() { return this.role; } + public PrevRole getPrevRole() { return PrevRole.InOut;} /** * Returns all times for which there are non-missing values for this scalar time series. */ diff --git a/core/java/src/org/openda/exchange/NonMissingStochObserverGridTimeSeriesExchangeItem.java b/core/java/src/org/openda/exchange/NonMissingStochObserverGridTimeSeriesExchangeItem.java index 0dbc9dd2a..f0a0579fd 100644 --- a/core/java/src/org/openda/exchange/NonMissingStochObserverGridTimeSeriesExchangeItem.java +++ b/core/java/src/org/openda/exchange/NonMissingStochObserverGridTimeSeriesExchangeItem.java @@ -57,6 +57,8 @@ public Role getRole() { return this.exchangeItem.getRole(); } + public PrevRole getPrevRole() { return PrevRole.InOut;} + public ITimeInfo getTimeInfo() { return this.exchangeItem.getTimeInfo(); } diff --git a/core/java/src/org/openda/exchange/StringExchangeItem.java b/core/java/src/org/openda/exchange/StringExchangeItem.java index f1f66c959..a130a9983 100644 --- a/core/java/src/org/openda/exchange/StringExchangeItem.java +++ b/core/java/src/org/openda/exchange/StringExchangeItem.java @@ -52,6 +52,7 @@ public Role getRole() { return this.role; } + public PrevRole getPrevRole() { return null;} public String getId() { return this.id; diff --git a/core/java/src/org/openda/exchange/dataobjects/AsciiKeywordDataObject.java b/core/java/src/org/openda/exchange/dataobjects/AsciiKeywordDataObject.java index 6ccb7aca4..fe5c724c5 100644 --- a/core/java/src/org/openda/exchange/dataobjects/AsciiKeywordDataObject.java +++ b/core/java/src/org/openda/exchange/dataobjects/AsciiKeywordDataObject.java @@ -219,7 +219,7 @@ public String[] getExchangeItemIDs() { /** {@inheritDoc} */ - public String[] getExchangeItemIDs(IPrevExchangeItem.Role role) { + public String[] getExchangeItemIDs(IExchangeItem.Role role) { //TODO: select on role return items.keySet().toArray(new String[items.size()]); } diff --git a/core/java/src/org/openda/exchange/dataobjects/EsriAsciiGridDataObject.java b/core/java/src/org/openda/exchange/dataobjects/EsriAsciiGridDataObject.java index 4148afce4..2cbdb8c30 100644 --- a/core/java/src/org/openda/exchange/dataobjects/EsriAsciiGridDataObject.java +++ b/core/java/src/org/openda/exchange/dataobjects/EsriAsciiGridDataObject.java @@ -130,7 +130,7 @@ public String[] getExchangeItemIDs() { return new String[] {exchangeItemId}; } - public String[] getExchangeItemIDs(IPrevExchangeItem.Role role) { + public String[] getExchangeItemIDs(IExchangeItem.Role role) { return getExchangeItemIDs(); } @@ -296,7 +296,7 @@ private void readValues(String[] rowItems) throws IOException { ArrayGeometryInfo geometryInfo = new ArrayGeometryInfo(yCoordArray, yCoordValueIndices, yCoordsQuantityInfo, xCoordArray, xCoordValueIndices, xCoordsQuantityInfo,null,null,null); - exchangeItem = new ArrayExchangeItem(exchangeItemId, IPrevExchangeItem.Role.InOut); + exchangeItem = new ArrayExchangeItem(exchangeItemId, IExchangeItem.Role.InOut); exchangeItem.setGeometryInfo(geometryInfo); exchangeItem.setArray(array); diff --git a/core/java/src/org/openda/exchange/dataobjects/NetcdfDataObject.java b/core/java/src/org/openda/exchange/dataobjects/NetcdfDataObject.java index 6a3f93b2c..5657f2e41 100644 --- a/core/java/src/org/openda/exchange/dataobjects/NetcdfDataObject.java +++ b/core/java/src/org/openda/exchange/dataobjects/NetcdfDataObject.java @@ -23,7 +23,7 @@ import org.openda.blackbox.config.BBUtils; import org.openda.exchange.*; import org.openda.interfaces.*; -import org.openda.interfaces.IPrevExchangeItem.Role; +import org.openda.interfaces.IExchangeItem.Role; import org.openda.utils.Results; import org.openda.utils.generalJavaUtils.StringUtilities; import org.openda.utils.geometry.GeometryUtils; @@ -360,7 +360,7 @@ private void readNetcdfFile() throws IOException { exchangeItem = new DoubleExchangeItem(exchangeItemId, Role.InOut, variable.readScalarDouble()); } else {//if array. - ArrayExchangeItem arrayBasedExchangeItem = new ArrayExchangeItem(exchangeItemId, IPrevExchangeItem.Role.InOut); + ArrayExchangeItem arrayBasedExchangeItem = new ArrayExchangeItem(exchangeItemId, IExchangeItem.Role.InOut); arrayBasedExchangeItem.setQuantityInfo(new QuantityInfo(exchangeItemId, variable.getUnitsString())); IArrayTimeInfo newTimeInfo = NetcdfUtils.createTimeInfo(variable, netcdfFile, timeInfoCache); //skip variables that do not depend on time. diff --git a/core/java/src/org/openda/exchange/dataobjects/NoosDataObject.java b/core/java/src/org/openda/exchange/dataobjects/NoosDataObject.java index 6ae8a4290..b95799d46 100644 --- a/core/java/src/org/openda/exchange/dataobjects/NoosDataObject.java +++ b/core/java/src/org/openda/exchange/dataobjects/NoosDataObject.java @@ -28,7 +28,7 @@ import org.openda.interfaces.IComposableDataObject; import org.openda.interfaces.IDataObject; import org.openda.interfaces.IExchangeItem; -import org.openda.interfaces.IPrevExchangeItem.Role; +import org.openda.interfaces.IExchangeItem.Role; import org.openda.utils.Glob; diff --git a/core/java/src/org/openda/exchange/dataobjects/TestDataObject.java b/core/java/src/org/openda/exchange/dataobjects/TestDataObject.java index 8ba809314..6dae1c743 100644 --- a/core/java/src/org/openda/exchange/dataobjects/TestDataObject.java +++ b/core/java/src/org/openda/exchange/dataobjects/TestDataObject.java @@ -32,7 +32,7 @@ import org.openda.interfaces.IComposableDataObject; import org.openda.interfaces.IExchangeItem; import org.openda.interfaces.IPrevExchangeItem; -import org.openda.interfaces.IPrevExchangeItem.Role; +import org.openda.interfaces.IExchangeItem.Role; import org.openda.utils.Results; /** @@ -105,7 +105,7 @@ public void addExchangeItem(IExchangeItem item) { public void finish() { List outputExchangeItems = new ArrayList(); for (IExchangeItem exchangeItem : this.exchangeItems) { - if (exchangeItem.getRole() == IPrevExchangeItem.Role.Output || exchangeItem.getRole() == IPrevExchangeItem.Role.InOut) { + if (exchangeItem.getRole() == IExchangeItem.Role.Output || exchangeItem.getRole() == IExchangeItem.Role.InOut) { outputExchangeItems.add(exchangeItem); } } diff --git a/core/java/src/org/openda/exchange/dataobjects/TimeSeriesFormatterDataObject.java b/core/java/src/org/openda/exchange/dataobjects/TimeSeriesFormatterDataObject.java index 1cfcfb0ac..c8d894b26 100644 --- a/core/java/src/org/openda/exchange/dataobjects/TimeSeriesFormatterDataObject.java +++ b/core/java/src/org/openda/exchange/dataobjects/TimeSeriesFormatterDataObject.java @@ -31,7 +31,7 @@ import org.openda.interfaces.IDataObject; import org.openda.interfaces.IExchangeItem; -import org.openda.interfaces.IPrevExchangeItem.Role; +import org.openda.interfaces.IExchangeItem.Role; import org.openda.exchange.timeseries.TimeSeries; import org.openda.exchange.timeseries.TimeSeriesFormatter; @@ -167,7 +167,7 @@ public void finish() { logger.debug("Parsing file'{}'", seriesFile.getName()); if (seriesFile.exists()) { TimeSeries timeSeries = seriesMap.get(id); - if ( timeSeries.getRole() == IPrevExchangeItem.Role.Input ) { + if ( timeSeries.getRole() == IExchangeItem.Role.Input ) { continue; } formatter.writeFile(seriesFile, timeSeries, true); diff --git a/core/java/src/org/openda/exchange/iotools/ioDumper.java b/core/java/src/org/openda/exchange/iotools/ioDumper.java index ce73342dd..f28e44451 100644 --- a/core/java/src/org/openda/exchange/iotools/ioDumper.java +++ b/core/java/src/org/openda/exchange/iotools/ioDumper.java @@ -80,14 +80,14 @@ public void dump(){ System.out.println("#================================"); if(item instanceof TimeSeries){ System.out.println("TimeSeries id="+item.getId()); - System.out.println("role ="+item.getRole()); + System.out.println("role ="+item.getPrevRole()); System.out.println(((TimeSeries)item).toString()); NoosTimeSeriesFormatter f =new NoosTimeSeriesFormatter(); f.writeToStandardOut( (TimeSeries)item ); }else{ System.out.println("id ="+item.getId()); System.out.println("description ="+item.getDescription()); - System.out.println("role ="+item.getRole()); + System.out.println("role ="+item.getPrevRole()); double times[] = item.getTimes(); if(times!=null){ System.out.println("times ="+new Vector(times)); diff --git a/core/java/src/org/openda/exchange/timeseries/DelimitedTextTimeSeriesFormatter.java b/core/java/src/org/openda/exchange/timeseries/DelimitedTextTimeSeriesFormatter.java index bd478e199..537ebf6f3 100644 --- a/core/java/src/org/openda/exchange/timeseries/DelimitedTextTimeSeriesFormatter.java +++ b/core/java/src/org/openda/exchange/timeseries/DelimitedTextTimeSeriesFormatter.java @@ -20,7 +20,7 @@ package org.openda.exchange.timeseries; -import org.openda.interfaces.IPrevExchangeItem; +import org.openda.interfaces.IExchangeItem; import org.openda.utils.ConfigTree; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -45,7 +45,7 @@ public class DelimitedTextTimeSeriesFormatter extends TimeSeriesFormatter{ private int dateTimeSelector; private int valueSelector; - private IPrevExchangeItem.Role role; + private IExchangeItem.Role role; public DelimitedTextTimeSeriesFormatter(ConfigTree configTree) { String datePattern = configTree.getAsString("dateTimePattern", null); @@ -65,11 +65,11 @@ public DelimitedTextTimeSeriesFormatter(ConfigTree configTree) { String role = configTree.getAsString("role", "input"); if ("input".equalsIgnoreCase(role)){ - this.role = IPrevExchangeItem.Role.Input; + this.role = IExchangeItem.Role.Input; } else if ("output".equalsIgnoreCase(role)) { - this.role = IPrevExchangeItem.Role.Output; + this.role = IExchangeItem.Role.Output; } else if ("inout".equalsIgnoreCase(role)) { - this.role = IPrevExchangeItem.Role.InOut; + this.role = IExchangeItem.Role.InOut; } if (this.dateFormatter!=null) { diff --git a/core/java/src/org/openda/exchange/timeseries/TimeSeries.java b/core/java/src/org/openda/exchange/timeseries/TimeSeries.java index 13e0f9bc8..64ec959ae 100644 --- a/core/java/src/org/openda/exchange/timeseries/TimeSeries.java +++ b/core/java/src/org/openda/exchange/timeseries/TimeSeries.java @@ -54,7 +54,7 @@ * @author verlaanm */ -public class TimeSeries implements IPrevExchangeItem, IExchangeItem{ +public class TimeSeries implements IExchangeItem{ // define and set defaults // meta data private String description = null; @@ -1075,6 +1075,8 @@ public Role getRole() { return this.role; } + public PrevRole getPrevRole() {return PrevRole.InOut; } + /** * Gets the values of this series at the specified times. * Does not change the TimeSeries. diff --git a/core/java/src/org/openda/interfaces/IDataObject.java b/core/java/src/org/openda/interfaces/IDataObject.java index 1d35baeb3..9ba817d74 100644 --- a/core/java/src/org/openda/interfaces/IDataObject.java +++ b/core/java/src/org/openda/interfaces/IDataObject.java @@ -40,7 +40,7 @@ public interface IDataObject extends IConfigurable { * @param role Input, Output, or InOut (i.e. both) * @return The array of exchange item identifiers. */ - String [] getExchangeItemIDs(IPrevExchangeItem.Role role); + String [] getExchangeItemIDs(IExchangeItem.Role role); /** * Get the exchange item specified by exchangeItemID. diff --git a/core/java/src/org/openda/interfaces/IEnsembleDataObject.java b/core/java/src/org/openda/interfaces/IEnsembleDataObject.java index ecf93db95..002bcdeee 100644 --- a/core/java/src/org/openda/interfaces/IEnsembleDataObject.java +++ b/core/java/src/org/openda/interfaces/IEnsembleDataObject.java @@ -29,7 +29,7 @@ * * If a DataObject implements this interface, then the following methods should ignore any ensemble exchange items: * getExchangeItemIDs() - * getExchangeItemIDs(IPrevExchangeItem.Role role) + * getExchangeItemIDs(IExchangeItem.Role role) * * If a DataObject implements this interface, then the following method should throw an IllegalStateException when it is called for an ensemble exchange item: * getDataObjectExchangeItem(String exchangeItemID) diff --git a/core/java/src/org/openda/interfaces/IExchangeItem.java b/core/java/src/org/openda/interfaces/IExchangeItem.java index 393604d81..1411c87bb 100644 --- a/core/java/src/org/openda/interfaces/IExchangeItem.java +++ b/core/java/src/org/openda/interfaces/IExchangeItem.java @@ -50,6 +50,18 @@ public enum ValueType { IArrayType } + /** + * List of possible roles for the exchange values. + */ + public enum Role { + /** Input for the model.*/ + Input, + /** Output from the model.*/ + Output, + /** Both input for the model and output from the model.*/ + InOut + } + /** * Get the role of the exchange item (input, output, or both) * @return The exchange items's role diff --git a/core/java/src/org/openda/interfaces/IPrevExchangeItem.java b/core/java/src/org/openda/interfaces/IPrevExchangeItem.java index 27e7196e6..c6a9500b0 100644 --- a/core/java/src/org/openda/interfaces/IPrevExchangeItem.java +++ b/core/java/src/org/openda/interfaces/IPrevExchangeItem.java @@ -35,7 +35,7 @@ public interface IPrevExchangeItem extends Serializable { /** * List of possible roles for the exchange values. */ - public enum Role { + public enum PrevRole { /** Input for the model.*/ Input, /** Output from the model.*/ @@ -66,7 +66,7 @@ public enum Role { * Get the role of the exchange item (input, output, or both) * @return The exchange items's role */ - public Role getRole(); + public PrevRole getPrevRole(); /** * Get the values of the exchange item diff --git a/core/java/src/org/openda/noiseModels/MapsNoiseModelInstance.java b/core/java/src/org/openda/noiseModels/MapsNoiseModelInstance.java index d3e17cc49..f0dba5781 100644 --- a/core/java/src/org/openda/noiseModels/MapsNoiseModelInstance.java +++ b/core/java/src/org/openda/noiseModels/MapsNoiseModelInstance.java @@ -26,7 +26,7 @@ import org.openda.exchange.TimeInfo; import org.openda.exchange.timeseries.TimeUtils; import org.openda.interfaces.*; -import org.openda.interfaces.IPrevExchangeItem.Role; +import org.openda.interfaces.IExchangeItem.Role; import org.openda.interfaces.IStochModelFactory.OutputLevel; import org.openda.localization.LocalizationDomainsSimpleModel; import org.openda.noiseModels.SpatialCorrelationStochVector.CoordinatesType; diff --git a/core/java/src/org/openda/noiseModels/TimeSeriesNoiseModelInstance.java b/core/java/src/org/openda/noiseModels/TimeSeriesNoiseModelInstance.java index 1c51bd5e5..fdfa809e3 100644 --- a/core/java/src/org/openda/noiseModels/TimeSeriesNoiseModelInstance.java +++ b/core/java/src/org/openda/noiseModels/TimeSeriesNoiseModelInstance.java @@ -24,7 +24,7 @@ import org.openda.exchange.timeseries.TimeSeries; import org.openda.exchange.timeseries.TimeUtils; import org.openda.interfaces.*; -import org.openda.interfaces.IPrevExchangeItem.Role; +import org.openda.interfaces.IExchangeItem.Role; import org.openda.interfaces.IStochModelFactory.OutputLevel; import org.openda.utils.*; import org.openda.utils.io.FileBasedModelState; diff --git a/core/java/src/org/openda/uncertaintyModels/ParameterDrawer.java b/core/java/src/org/openda/uncertaintyModels/ParameterDrawer.java index df62149f9..c14ff07b9 100644 --- a/core/java/src/org/openda/uncertaintyModels/ParameterDrawer.java +++ b/core/java/src/org/openda/uncertaintyModels/ParameterDrawer.java @@ -210,7 +210,7 @@ public String[] getExchangeItemIDs() { } - public String[] getExchangeItemIDs(IPrevExchangeItem.Role role) { + public String[] getExchangeItemIDs(IExchangeItem.Role role) { throw new UnsupportedOperationException("org.openda.uncertaintyModels.ParameterDrawer.getExchangeItemIDs(): Not implemented yet."); } diff --git a/core/java/src/org/openda/utils/ProposedTreeVector.java b/core/java/src/org/openda/utils/ProposedTreeVector.java index f173f402a..7c40e7ff3 100644 --- a/core/java/src/org/openda/utils/ProposedTreeVector.java +++ b/core/java/src/org/openda/utils/ProposedTreeVector.java @@ -658,6 +658,8 @@ public Role getRole() { return this.role; } + public PrevRole getPrevRole() { return PrevRole.InOut;} + public void copyValuesFromItem(IExchangeItem sourceItem) { //TODO create more complex actions later that make use of the metadata this.setValuesAsDoubles(sourceItem.getValuesAsDoubles()); diff --git a/core/java/test/org/openda/blackbox/wrapper/BBExchangeItemTest.java b/core/java/test/org/openda/blackbox/wrapper/BBExchangeItemTest.java index 62afdf803..02125d67a 100644 --- a/core/java/test/org/openda/blackbox/wrapper/BBExchangeItemTest.java +++ b/core/java/test/org/openda/blackbox/wrapper/BBExchangeItemTest.java @@ -30,7 +30,7 @@ import org.openda.exchange.ArrayExchangeItem; import org.openda.exchange.ArrayTimeInfo; import org.openda.interfaces.IDimensionIndex; -import org.openda.interfaces.IPrevExchangeItem; +import org.openda.interfaces.IExchangeItem; import org.openda.utils.Array; import junit.framework.TestCase; import org.openda.utils.DimensionIndex; @@ -65,7 +65,7 @@ public void testSelectFrom2DArrayExchangeItem() { Array ar = new Array(vals, dims, true); // initialize ExchangeItem with values from array - ArrayExchangeItem arrayEI = new ArrayExchangeItem("2Darray", IPrevExchangeItem.Role.InOut); + ArrayExchangeItem arrayEI = new ArrayExchangeItem("2Darray", IExchangeItem.Role.InOut); arrayEI.setArray(ar); // specify indices for the selection @@ -78,7 +78,7 @@ public void testSelectFrom2DArrayExchangeItem() { IoObjectConfig ioObjectConfig = new IoObjectConfig("ioObject1", "org.openda.blackbox.wrapper.BBExchangeItemTest.DummyIoObject", "not used", new AliasDefinitions(), new String[0]); BBStochModelVectorConfig vectorConfig = new BBModelVectorConfig("item1", ioObjectConfig, "itemA", - dimensionIndices, null, IPrevExchangeItem.Role.Output, null); + dimensionIndices, null, IExchangeItem.Role.Output, null); // create the BBExchangeItem and ask for values BBExchangeItem bbExchangeItem = new BBExchangeItem("test", vectorConfig, arrayEI, selectors, testRunDataDir); @@ -109,7 +109,7 @@ public void testSelectFrom3DArrayExchangeItem() { Array ar = new Array(vals, dims, true); // initialize ExchangeItem with values from array - ArrayExchangeItem arrayEI = new ArrayExchangeItem("2Darray", IPrevExchangeItem.Role.InOut); + ArrayExchangeItem arrayEI = new ArrayExchangeItem("2Darray", IExchangeItem.Role.InOut); arrayEI.setArray(ar); arrayEI.setTimeInfo(times); @@ -123,7 +123,7 @@ public void testSelectFrom3DArrayExchangeItem() { IoObjectConfig ioObjectConfig = new IoObjectConfig("ioObject1", "org.openda.blackbox.wrapper.BBExchangeItemTest.DummyIoObject", "not used", new AliasDefinitions(), new String[0]); BBStochModelVectorConfig vectorConfig = new BBModelVectorConfig("item1", ioObjectConfig, "itemA", - dimensionIndices, null, IPrevExchangeItem.Role.Output, null); + dimensionIndices, null, IExchangeItem.Role.Output, null); // create the BBExchangeItem and ask for values BBExchangeItem bbExchangeItem = new BBExchangeItem("test", vectorConfig, arrayEI, selectors, testRunDataDir); @@ -135,15 +135,15 @@ public void testSelectFrom3DArrayExchangeItem() { private class DummyIoObject implements IoObjectInterface{ - private IPrevExchangeItem[] exchangeItems; + private IExchangeItem[] exchangeItems; public void initialize(File workingDir, String fileName, String[] arguments) { - exchangeItems = new IPrevExchangeItem[1]; - ArrayExchangeItem item1 = new ArrayExchangeItem("item1", IPrevExchangeItem.Role.Output); + exchangeItems = new IExchangeItem[1]; + ArrayExchangeItem item1 = new ArrayExchangeItem("item1", IExchangeItem.Role.Output); exchangeItems[0] = null; } - public IPrevExchangeItem[] getExchangeItems() { + public IExchangeItem[] getExchangeItems() { return exchangeItems; } diff --git a/core/java/test/org/openda/blackbox/wrapper/DummyAstroIoObject.java b/core/java/test/org/openda/blackbox/wrapper/DummyAstroIoObject.java index f2bb237bc..5bb9a843b 100644 --- a/core/java/test/org/openda/blackbox/wrapper/DummyAstroIoObject.java +++ b/core/java/test/org/openda/blackbox/wrapper/DummyAstroIoObject.java @@ -81,8 +81,8 @@ public Class getValueType() { return Double.TYPE; } - public Role getRole() { - return Role.InOut; + public PrevRole getPrevRole() { + return PrevRole.InOut; } public Object getValues() { diff --git a/core/java/test/org/openda/blackbox/wrapper/DummyModelForTestingNoise.java b/core/java/test/org/openda/blackbox/wrapper/DummyModelForTestingNoise.java index 3337bba74..a55062b9d 100644 --- a/core/java/test/org/openda/blackbox/wrapper/DummyModelForTestingNoise.java +++ b/core/java/test/org/openda/blackbox/wrapper/DummyModelForTestingNoise.java @@ -23,7 +23,7 @@ import org.openda.exchange.DoubleExchangeItem; import org.openda.exchange.DoublesExchangeItem; import org.openda.interfaces.*; -import org.openda.interfaces.IPrevExchangeItem.Role; +import org.openda.interfaces.IExchangeItem.Role; import org.openda.localization.LocalizationDomainsSimpleModel; import org.openda.utils.Array; import org.openda.utils.Time; @@ -145,7 +145,7 @@ public File getModelRunDir() { throw new UnsupportedOperationException("org.openda.blackbox.wrapper.DummyModelForTestingNoise.getModelRunDir(): Not implemented yet."); } - public String[] getExchangeItemIDs(IPrevExchangeItem.Role role) { + public String[] getExchangeItemIDs(IExchangeItem.Role role) { throw new UnsupportedOperationException("org.openda.blackbox.wrapper.DummyModelForTestingNoise.getExchangeItemIDs(): Not implemented yet."); } diff --git a/core/java/test/org/openda/blackbox/wrapper/DummyParametersIoObject.java b/core/java/test/org/openda/blackbox/wrapper/DummyParametersIoObject.java index 72a314bca..eb24f1ceb 100644 --- a/core/java/test/org/openda/blackbox/wrapper/DummyParametersIoObject.java +++ b/core/java/test/org/openda/blackbox/wrapper/DummyParametersIoObject.java @@ -81,8 +81,8 @@ public Class getValueType() { return Double.TYPE; } - public Role getRole() { - return Role.InOut; + public PrevRole getPrevRole() { + return PrevRole.InOut; } public Object getValues() { diff --git a/core/java/test/org/openda/blackbox/wrapper/DummySeries.java b/core/java/test/org/openda/blackbox/wrapper/DummySeries.java index c16485226..ca8cc67d5 100644 --- a/core/java/test/org/openda/blackbox/wrapper/DummySeries.java +++ b/core/java/test/org/openda/blackbox/wrapper/DummySeries.java @@ -74,8 +74,8 @@ public Class getValueType() { return Double.TYPE; } - public Role getRole() { - return IPrevExchangeItem.Role.InOut; + public PrevRole getPrevRole() { + return IPrevExchangeItem.PrevRole.InOut; } public Object getValues() { diff --git a/core/java/test/org/openda/blackbox/wrapper/DummyState.java b/core/java/test/org/openda/blackbox/wrapper/DummyState.java index 4504dffbc..bd21914ec 100644 --- a/core/java/test/org/openda/blackbox/wrapper/DummyState.java +++ b/core/java/test/org/openda/blackbox/wrapper/DummyState.java @@ -24,7 +24,7 @@ import org.openda.blackbox.interfaces.IoObjectInterface; import org.openda.exchange.DoublesExchangeItem; import org.openda.interfaces.IPrevExchangeItem; -import org.openda.interfaces.IPrevExchangeItem.Role; +import org.openda.interfaces.IExchangeItem.Role; import java.io.*; import java.util.ArrayList; diff --git a/core/java/test/org/openda/blackbox/wrapper/DummyStateDataObject.java b/core/java/test/org/openda/blackbox/wrapper/DummyStateDataObject.java index bd70d9cc5..560c181ad 100644 --- a/core/java/test/org/openda/blackbox/wrapper/DummyStateDataObject.java +++ b/core/java/test/org/openda/blackbox/wrapper/DummyStateDataObject.java @@ -20,7 +20,7 @@ public String[] getExchangeItemIDs() { } @Override - public String[] getExchangeItemIDs(IPrevExchangeItem.Role role) { + public String[] getExchangeItemIDs(IExchangeItem.Role role) { throw new RuntimeException("org.openda.blackbox.wrapper.DummyStateDataObject.getExchangeItemIDs() not implemented yet"); } @@ -32,13 +32,13 @@ public IExchangeItem getDataObjectExchangeItem(String exchangeItemID) { //double[] values = new double[1061]; double[] values = new double[stateSize]; fillWithRandomValues(values); - return new DoublesExchangeItem("state", IPrevExchangeItem.Role.InOut, values); + return new DoublesExchangeItem("state", IExchangeItem.Role.InOut, values); case "StartTime" : - return new DoubleExchangeItem("StartTime", IPrevExchangeItem.Role.InOut, 0); + return new DoubleExchangeItem("StartTime", IExchangeItem.Role.InOut, 0); case "StopTime" : - return new DoubleExchangeItem("StopTime", IPrevExchangeItem.Role.InOut, 10); + return new DoubleExchangeItem("StopTime", IExchangeItem.Role.InOut, 10); case "TimeStep" : - return new DoubleExchangeItem("TimeStep", IPrevExchangeItem.Role.InOut, 1); + return new DoubleExchangeItem("TimeStep", IExchangeItem.Role.InOut, 1); default: return null; } diff --git a/core/java/test/org/openda/blackbox/wrapper/DummyTestStochObserver.java b/core/java/test/org/openda/blackbox/wrapper/DummyTestStochObserver.java index b1a9a5a6e..74142b411 100644 --- a/core/java/test/org/openda/blackbox/wrapper/DummyTestStochObserver.java +++ b/core/java/test/org/openda/blackbox/wrapper/DummyTestStochObserver.java @@ -156,6 +156,8 @@ public Role getRole() { return Role.InOut; } + public PrevRole getPrevRole() { return PrevRole.InOut; } + public Class getValueType() { throw new UnsupportedOperationException("org.openda.blackbox.wrapper.DummyTestStochObserver.DummyTestObservationDescriptions.DummyTestExchangeItem.getValueType(): Not implemented yet."); } diff --git a/core/java/test/org/openda/blackbox/wrapper/DummyTimeInfoIoObject.java b/core/java/test/org/openda/blackbox/wrapper/DummyTimeInfoIoObject.java index 9f629a644..88abc3410 100644 --- a/core/java/test/org/openda/blackbox/wrapper/DummyTimeInfoIoObject.java +++ b/core/java/test/org/openda/blackbox/wrapper/DummyTimeInfoIoObject.java @@ -99,8 +99,8 @@ public Class getValueType() { return Double.TYPE; } - public Role getRole() { - return Role.InOut; + public PrevRole getPrevRole() { + return PrevRole.InOut; } public Object getValues() { diff --git a/core/java/test/org/openda/exchange/ExchangeItemTest.java b/core/java/test/org/openda/exchange/ExchangeItemTest.java index 3a63b9123..731022324 100644 --- a/core/java/test/org/openda/exchange/ExchangeItemTest.java +++ b/core/java/test/org/openda/exchange/ExchangeItemTest.java @@ -21,8 +21,7 @@ import org.openda.interfaces.IArray; import org.openda.interfaces.IArrayGeometryInfo; import org.openda.interfaces.IArrayTimeInfo; -import org.openda.interfaces.IPrevExchangeItem; -import org.openda.interfaces.IPrevExchangeItem.Role; +import org.openda.interfaces.IExchangeItem.Role; import org.openda.interfaces.IQuantityInfo; import org.openda.utils.Array; @@ -45,7 +44,7 @@ public static void testDoubleExchangeItem() { assertEquals("m^3", unit); Role role = item.getRole(); - assertEquals(IPrevExchangeItem.Role.Input, role); + assertEquals(Role.Input, role); item.setValue(2.0); double value = item.getValue(); @@ -74,7 +73,7 @@ public static void testIntExchangeItem() { assertEquals("1/m^2", unit); Role role = item.getRole(); - assertEquals(IPrevExchangeItem.Role.Input, role); + assertEquals(Role.Input, role); item.setValue(2); int value = item.getValue(); @@ -96,7 +95,7 @@ public static void testStringExchangeItem() { assertEquals("id", id); Role role = item.getRole(); - assertEquals(IPrevExchangeItem.Role.Input, role); + assertEquals(Role.Input, role); item.setValue("logfile.dat"); String value = item.getValue(); @@ -126,7 +125,7 @@ public static void testDoublesExchangeItem() { assertEquals("m^3", unit); Role role = item.getRole(); - assertEquals(IPrevExchangeItem.Role.InOut, role); + assertEquals(Role.InOut, role); double values[] = item.getValuesAsDoubles(); assertEquals(4, values.length); @@ -170,7 +169,7 @@ public static void testGridXYTExchangeItem() { System.out.println(item.toString()); Role role = item.getRole(); - assertEquals(IPrevExchangeItem.Role.InOut, role); + assertEquals(Role.InOut, role); double values[] = item.getValuesAsDoubles(); assertEquals(2*3*4, values.length); @@ -225,7 +224,7 @@ public static void testArrayExchangeItem() { System.out.println(item.toString()); Role role = item.getRole(); - assertEquals(IPrevExchangeItem.Role.InOut, role); + assertEquals(Role.InOut, role); double values[] = item.getValuesAsDoubles(); assertEquals(2*3*4, values.length); diff --git a/core/java/test/org/openda/noiseModels/Maps2dNoiseModelTest.java b/core/java/test/org/openda/noiseModels/Maps2dNoiseModelTest.java index f8644923f..c9304b9b9 100644 --- a/core/java/test/org/openda/noiseModels/Maps2dNoiseModelTest.java +++ b/core/java/test/org/openda/noiseModels/Maps2dNoiseModelTest.java @@ -478,7 +478,7 @@ public void testMaps2dNoiseSeparableRecompute(){ assertEquals(2, ids.length); System.out.println("ids[0]="+ids[0]); assertEquals("waterlevel@aberdeen", ids[0]); - IPrevExchangeItem series1=model.getExchangeItem("waterlevel@aberdeen"); + IExchangeItem series1=model.getExchangeItem("waterlevel@aberdeen"); assertTrue(series1 instanceof TimeSeries); System.out.println("location1.quantity1 =>"+series1.toString()); double[] times=series1.getTimes(); diff --git a/core/java/test/org/openda/utils/ProposedTreeVectorTest.java b/core/java/test/org/openda/utils/ProposedTreeVectorTest.java index 054b0bbc0..12628d12a 100644 --- a/core/java/test/org/openda/utils/ProposedTreeVectorTest.java +++ b/core/java/test/org/openda/utils/ProposedTreeVectorTest.java @@ -28,7 +28,7 @@ import org.openda.interfaces.IArray; import org.openda.interfaces.IArrayExchangeItem; import org.openda.interfaces.IQuantityInfo; -import org.openda.interfaces.IPrevExchangeItem.Role; +import org.openda.interfaces.IExchangeItem.Role; import org.openda.interfaces.IArrayTimeInfo; import org.openda.interfaces.ProposedITreeVector; import org.openda.utils.ProposedTreeVector; diff --git a/dotnet_bridge/java/src/org/openda/dotnet/ExchangeItemN2J.java b/dotnet_bridge/java/src/org/openda/dotnet/ExchangeItemN2J.java index a413e7fad..9953cc6b6 100644 --- a/dotnet_bridge/java/src/org/openda/dotnet/ExchangeItemN2J.java +++ b/dotnet_bridge/java/src/org/openda/dotnet/ExchangeItemN2J.java @@ -47,9 +47,9 @@ public Class getValueType() { return double[].class; } - public Role getRole() { + public PrevRole getPrevRole() { // for now, just always return in/out - return Role.InOut; + return PrevRole.InOut; } public Object getValues() { diff --git a/dotnet_bridge/java/src/org/openda/dotnet/ModelInstanceN2J.java b/dotnet_bridge/java/src/org/openda/dotnet/ModelInstanceN2J.java index b01c2e74d..967d3c125 100644 --- a/dotnet_bridge/java/src/org/openda/dotnet/ModelInstanceN2J.java +++ b/dotnet_bridge/java/src/org/openda/dotnet/ModelInstanceN2J.java @@ -237,7 +237,7 @@ public String[] getExchangeItemIDs() return _dotNetModelInstance.get_ExchangeItemIDs(); } - public String[] getExchangeItemIDs(org.openda.interfaces.IPrevExchangeItem.Role role) + public String[] getExchangeItemIDs(org.openda.interfaces.IExchangeItem.Role role) { return _dotNetModelInstance.GetExchangeItemIDs(role.ordinal()); } @@ -324,7 +324,7 @@ private cli.OpenDA.DotNet.Interfaces.IObservationDescriptions translateObservati cli.OpenDA.DotNet.Interfaces.IExchangeItem dotnetExchangeItem = new DoublesExchangeItem(javaExchangeItem.getId(), javaExchangeItem.getDescription(), - javaExchangeItem.getRole().ordinal(), 0d); + javaExchangeItem.getPrevRole().ordinal(), 0d); dotnetExchangeItem.set_Times(javaExchangeItem.getTimes()); dotnetExchangeItem.set_Values(javaExchangeItem.getValuesAsDoubles()); dotnetExchangeItems[i] = dotnetExchangeItem; diff --git a/dotnet_bridge/java/src/org/openda/dotnet/ObservationDescriptionsN2J.java b/dotnet_bridge/java/src/org/openda/dotnet/ObservationDescriptionsN2J.java index f00d33bfc..465ce54b2 100644 --- a/dotnet_bridge/java/src/org/openda/dotnet/ObservationDescriptionsN2J.java +++ b/dotnet_bridge/java/src/org/openda/dotnet/ObservationDescriptionsN2J.java @@ -41,7 +41,7 @@ public ObservationDescriptionsN2J(IObservationDescriptions javaObservationDescri cli.OpenDA.DotNet.Interfaces.IExchangeItem[javaExchangeItems.size()]; for (int i = 0; i < javaExchangeItems.size(); i++) { IPrevExchangeItem javaExchangeItem = javaExchangeItems.get(i); - int role = UtilsJ2NAndN2J.ExchangeItemRoleMapJ2N(javaExchangeItem.getRole()); + int role = UtilsJ2NAndN2J.ExchangeItemRoleMapJ2N(javaExchangeItem.getPrevRole()); IExchangeItem dotNetExchangeItem = new DoublesExchangeItem( javaExchangeItem.getId(), javaExchangeItem.getDescription(), role, diff --git a/dotnet_bridge/java/src/org/openda/dotnet/UtilsJ2NAndN2J.java b/dotnet_bridge/java/src/org/openda/dotnet/UtilsJ2NAndN2J.java index 24cd2b4b7..9a03ad081 100644 --- a/dotnet_bridge/java/src/org/openda/dotnet/UtilsJ2NAndN2J.java +++ b/dotnet_bridge/java/src/org/openda/dotnet/UtilsJ2NAndN2J.java @@ -39,14 +39,14 @@ public static int OutputLevelMapJ2N(IStochModelFactory.OutputLevel outputLevel) throw new RuntimeException("Unknown IStochModelFactory.OutputLevel type: " + outputLevel); } - public static int ExchangeItemRoleMapJ2N(IPrevExchangeItem.Role role) { - if (role == IPrevExchangeItem.Role.Input) { + public static int ExchangeItemRoleMapJ2N(IPrevExchangeItem.PrevRole role) { + if (role == IPrevExchangeItem.PrevRole.Input) { return 0; // TODO cli.OpenDA.DotNet.Interfaces.Role.Input; } - if (role == IPrevExchangeItem.Role.Output) { + if (role == IPrevExchangeItem.PrevRole.Output) { return 1; // TODO cli.OpenDA.DotNet.Interfaces.Role.Input; } - if (role == IPrevExchangeItem.Role.InOut) { + if (role == IPrevExchangeItem.PrevRole.InOut) { return 2; // TODO cli.OpenDA.DotNet.Interfaces.Role.Input; } throw new RuntimeException("Unknown IPrevExchangeItem.Role type: " + role); diff --git a/model_bmi/java/src/org/openda/model_bmi/BmiModelInstance.java b/model_bmi/java/src/org/openda/model_bmi/BmiModelInstance.java index 83d8160f1..c3e2aa288 100644 --- a/model_bmi/java/src/org/openda/model_bmi/BmiModelInstance.java +++ b/model_bmi/java/src/org/openda/model_bmi/BmiModelInstance.java @@ -33,7 +33,7 @@ import org.openda.exchange.TimeInfo; import org.openda.exchange.timeseries.TimeUtils; import org.openda.interfaces.*; -import org.openda.interfaces.IPrevExchangeItem.Role; +import org.openda.interfaces.IExchangeItem.Role; import org.openda.localization.LocalizationDomainsSimpleModel; import org.openda.utils.Instance; import org.openda.utils.Results; @@ -153,17 +153,17 @@ private static Map createExchangeItems(BMI model, double Map result = new HashMap(); for (String variable : inputVars) { - BmiOutputExchangeItem item = new BmiOutputExchangeItem(variable, IPrevExchangeItem.Role.Input, model, modelMissingValue); + BmiOutputExchangeItem item = new BmiOutputExchangeItem(variable, IExchangeItem.Role.Input, model, modelMissingValue); result.put(variable, item); } for (String variable : outputVars) { - BmiOutputExchangeItem item = new BmiOutputExchangeItem(variable, IPrevExchangeItem.Role.Output, model, modelMissingValue); + BmiOutputExchangeItem item = new BmiOutputExchangeItem(variable, IExchangeItem.Role.Output, model, modelMissingValue); result.put(variable, item); } for (String variable : inoutVars) { - BmiOutputExchangeItem item = new BmiOutputExchangeItem(variable, IPrevExchangeItem.Role.InOut, model, modelMissingValue); + BmiOutputExchangeItem item = new BmiOutputExchangeItem(variable, IExchangeItem.Role.InOut, model, modelMissingValue); result.put(variable, item); } return result; diff --git a/model_bmi/java/src/org/openda/model_bmi/BmiOutputExchangeItem.java b/model_bmi/java/src/org/openda/model_bmi/BmiOutputExchangeItem.java index ef792ec15..007c5deac 100644 --- a/model_bmi/java/src/org/openda/model_bmi/BmiOutputExchangeItem.java +++ b/model_bmi/java/src/org/openda/model_bmi/BmiOutputExchangeItem.java @@ -31,7 +31,6 @@ import org.openda.interfaces.IArray; import org.openda.interfaces.IExchangeItem; import org.openda.interfaces.IGeometryInfo; -import org.openda.interfaces.IPrevExchangeItem; import org.openda.interfaces.IQuantityInfo; import org.openda.interfaces.ITimeInfo; import org.openda.interfaces.IVector; @@ -52,7 +51,7 @@ public class BmiOutputExchangeItem implements IExchangeItem { private static final long serialVersionUID = 1L; private final String variableName; - private final IPrevExchangeItem.Role role; + private final IExchangeItem.Role role; private final String type; private final BMI model; private final IQuantityInfo quantityInfo; @@ -66,7 +65,7 @@ public class BmiOutputExchangeItem implements IExchangeItem { * @param model * @throws BMIModelException */ - public BmiOutputExchangeItem(String variableName, IPrevExchangeItem.Role role, BMI model, double modelMissingValue) throws BMIModelException { + public BmiOutputExchangeItem(String variableName, IExchangeItem.Role role, BMI model, double modelMissingValue) throws BMIModelException { this.modelMissingValue = modelMissingValue; if (variableName == null) throw new IllegalArgumentException("variableName == null"); if (role == null) throw new IllegalArgumentException("role == null"); @@ -137,6 +136,8 @@ public Role getRole() { return this.role; } + public PrevRole getPrevRole() { return null;} + public ITimeInfo getTimeInfo() { return new TimeInfo(getTimes()); } diff --git a/model_bmi/java/src/org/openda/model_bmi/BmiStateExchangeItem.java b/model_bmi/java/src/org/openda/model_bmi/BmiStateExchangeItem.java index bba49b528..e060058fd 100644 --- a/model_bmi/java/src/org/openda/model_bmi/BmiStateExchangeItem.java +++ b/model_bmi/java/src/org/openda/model_bmi/BmiStateExchangeItem.java @@ -70,6 +70,11 @@ public Role getRole() { return Role.InOut; } + @Override + public PrevRole getPrevRole() { + return null; + } + public String getId() { return "state"; } diff --git a/model_delft3d/java/src/org/openda/model_delft3d/D3dAstroExchangeItem.java b/model_delft3d/java/src/org/openda/model_delft3d/D3dAstroExchangeItem.java index 845ce8196..9a0296514 100644 --- a/model_delft3d/java/src/org/openda/model_delft3d/D3dAstroExchangeItem.java +++ b/model_delft3d/java/src/org/openda/model_delft3d/D3dAstroExchangeItem.java @@ -57,8 +57,8 @@ public Class getValueType() { return double.class; } - public Role getRole() { - return IPrevExchangeItem.Role.InOut; + public PrevRole getPrevRole() { + return IPrevExchangeItem.PrevRole.InOut; } public Object getValues() { diff --git a/model_delft3d/java/src/org/openda/model_delft3d/D3dField2DExchangeItem.java b/model_delft3d/java/src/org/openda/model_delft3d/D3dField2DExchangeItem.java index 8672a15f4..421cc10ef 100644 --- a/model_delft3d/java/src/org/openda/model_delft3d/D3dField2DExchangeItem.java +++ b/model_delft3d/java/src/org/openda/model_delft3d/D3dField2DExchangeItem.java @@ -49,8 +49,8 @@ public Class getValueType() { return D3dField2D.class; } - public Role getRole() { - return IPrevExchangeItem.Role.InOut; + public PrevRole getPrevRole() { + return IPrevExchangeItem.PrevRole.InOut; } public Object getValues() { diff --git a/model_delft3d/java/src/org/openda/model_delft3d/D3dMdFileDataObject.java b/model_delft3d/java/src/org/openda/model_delft3d/D3dMdFileDataObject.java index 520d115b8..cf8fb79bb 100644 --- a/model_delft3d/java/src/org/openda/model_delft3d/D3dMdFileDataObject.java +++ b/model_delft3d/java/src/org/openda/model_delft3d/D3dMdFileDataObject.java @@ -23,7 +23,6 @@ import org.openda.exchange.timeseries.TimeUtils; import org.openda.interfaces.IDataObject; import org.openda.interfaces.IExchangeItem; -import org.openda.interfaces.IPrevExchangeItem; import java.io.*; import java.util.*; @@ -84,7 +83,7 @@ public String[] getExchangeItemIDs() { } @java.lang.Override - public String[] getExchangeItemIDs(IPrevExchangeItem.Role role) { + public String[] getExchangeItemIDs(IExchangeItem.Role role) { List matchingExchangeItemIds = new ArrayList<>(); for(IExchangeItem exchangeItem : exchangeItems.values()) @@ -138,16 +137,16 @@ public void initialize(File workingDir, String[] arguments) { double valueAsDouble_D2 = Double.parseDouble(values_D[4].trim()); double valueAsDouble_D3 = Double.parseDouble(values_D[8].trim()); - exchangeItems.put(key1, new DoubleExchangeItem(key, IPrevExchangeItem.Role.InOut, valueAsDouble_D1)); - exchangeItems.put(key2, new DoubleExchangeItem(key, IPrevExchangeItem.Role.InOut, valueAsDouble_D2)); - exchangeItems.put(key3, new DoubleExchangeItem(key, IPrevExchangeItem.Role.InOut, valueAsDouble_D3)); + exchangeItems.put(key1, new DoubleExchangeItem(key, IExchangeItem.Role.InOut, valueAsDouble_D1)); + exchangeItems.put(key2, new DoubleExchangeItem(key, IExchangeItem.Role.InOut, valueAsDouble_D2)); + exchangeItems.put(key3, new DoubleExchangeItem(key, IExchangeItem.Role.InOut, valueAsDouble_D3)); } // for (int i = 0; i < allKeys.length; i++) { if (Arrays.asList(fileKeys).contains(key)) { double valueAsDouble = Double.parseDouble(value); - exchangeItems.put(key, new DoubleExchangeItem(key, IPrevExchangeItem.Role.InOut, valueAsDouble)); + exchangeItems.put(key, new DoubleExchangeItem(key, IExchangeItem.Role.InOut, valueAsDouble)); }else if (Arrays.asList(timeKeys).contains(key)) { @@ -157,10 +156,10 @@ public void initialize(File workingDir, String[] arguments) { this.mjdFactor = getTimeToMjdFactor(value); }else if(key.equalsIgnoreCase(PROPERTY_STARTTIME)){ StartTime = getMjdFromDiff(Double.parseDouble(value)); - exchangeItems.put(PROPERTY_STARTTIME, new DoubleExchangeItem(PROPERTY_STARTTIME, IPrevExchangeItem.Role.InOut, StartTime)); + exchangeItems.put(PROPERTY_STARTTIME, new DoubleExchangeItem(PROPERTY_STARTTIME, IExchangeItem.Role.InOut, StartTime)); }else if(key.equalsIgnoreCase(PROPERTY_STOPTIME)){ StopTime = getMjdFromDiff(Double.parseDouble(value)); - exchangeItems.put(PROPERTY_STOPTIME, new DoubleExchangeItem(PROPERTY_STOPTIME, IPrevExchangeItem.Role.InOut, StopTime)); + exchangeItems.put(PROPERTY_STOPTIME, new DoubleExchangeItem(PROPERTY_STOPTIME, IExchangeItem.Role.InOut, StopTime)); } } @@ -168,12 +167,12 @@ public void initialize(File workingDir, String[] arguments) { if (Arrays.asList(fileKeys).contains(Ccofuv) && key.equalsIgnoreCase(Ccofu)){ double valueAsDouble = Double.parseDouble(value); CcofuvInit = valueAsDouble; - exchangeItems.put(Ccofuv, new DoubleExchangeItem(Ccofuv, IPrevExchangeItem.Role.InOut, valueAsDouble)); + exchangeItems.put(Ccofuv, new DoubleExchangeItem(Ccofuv, IExchangeItem.Role.InOut, valueAsDouble)); }else if (Arrays.asList(fileKeys).contains(DVicouv) && key.equalsIgnoreCase(D_H)){ double valueAsDouble = Double.parseDouble(value); DVicouvInit = valueAsDouble; - exchangeItems.put(DVicouv, new DoubleExchangeItem(DVicouv, IPrevExchangeItem.Role.InOut, valueAsDouble)); + exchangeItems.put(DVicouv, new DoubleExchangeItem(DVicouv, IExchangeItem.Role.InOut, valueAsDouble)); } diff --git a/model_delft3d/java/src/org/openda/model_delft3d/D3dRoughParamsFileExchangeItem.java b/model_delft3d/java/src/org/openda/model_delft3d/D3dRoughParamsFileExchangeItem.java index 2b54fbff7..41053d4ec 100644 --- a/model_delft3d/java/src/org/openda/model_delft3d/D3dRoughParamsFileExchangeItem.java +++ b/model_delft3d/java/src/org/openda/model_delft3d/D3dRoughParamsFileExchangeItem.java @@ -104,8 +104,8 @@ public Class getValueType() { return this.classType; } - public Role getRole() { - return IPrevExchangeItem.Role.InOut; + public PrevRole getPrevRole() { + return IPrevExchangeItem.PrevRole.InOut; } public Object getValues() { diff --git a/model_delft3d/java/src/org/openda/model_delft3d/D3dWindExchangeItem.java b/model_delft3d/java/src/org/openda/model_delft3d/D3dWindExchangeItem.java index 161ff0e5d..1efaee1f9 100644 --- a/model_delft3d/java/src/org/openda/model_delft3d/D3dWindExchangeItem.java +++ b/model_delft3d/java/src/org/openda/model_delft3d/D3dWindExchangeItem.java @@ -89,9 +89,9 @@ public Class getValueType() { return List.class; } - public Role getRole() { - return Role.InOut; - } + public Role getRole() { return Role.InOut; } + + public PrevRole getPrevRole() { return null; } public Object getValues() { return valuesOnGrid2D; diff --git a/model_delft3d/java/src/org/openda/model_delft3d/D3dWindFile.java b/model_delft3d/java/src/org/openda/model_delft3d/D3dWindFile.java index 9aaf775d3..7a14f9340 100644 --- a/model_delft3d/java/src/org/openda/model_delft3d/D3dWindFile.java +++ b/model_delft3d/java/src/org/openda/model_delft3d/D3dWindFile.java @@ -24,7 +24,6 @@ import org.openda.exchange.timeseries.TimeUtils; import org.openda.interfaces.IDataObject; import org.openda.interfaces.IExchangeItem; -import org.openda.interfaces.IPrevExchangeItem; import java.io.*; import java.util.ArrayList; import java.util.Arrays; @@ -93,7 +92,7 @@ public String[] getExchangeItemIDs() { return new String[] {windExchangeItem.getId()}; } - public String[] getExchangeItemIDs(IPrevExchangeItem.Role role) { + public String[] getExchangeItemIDs(IExchangeItem.Role role) { if (windExchangeItem.getRole().equals(role)) { return new String[] {windExchangeItem.getId()}; } diff --git a/model_delwaq/java/src/org/openda/model_delwaq/ScientificNotationExchangeItem.java b/model_delwaq/java/src/org/openda/model_delwaq/ScientificNotationExchangeItem.java index d256ea6a5..a22efbe12 100644 --- a/model_delwaq/java/src/org/openda/model_delwaq/ScientificNotationExchangeItem.java +++ b/model_delwaq/java/src/org/openda/model_delwaq/ScientificNotationExchangeItem.java @@ -71,6 +71,10 @@ public Role getRole() { return role; } + public PrevRole getPrevRole() { + return null; + } + /** * The identifier for the exchangeItem (must be unique within the context of a model instance). * diff --git a/model_delwaq/java/src/org/openda/model_delwaq/delwaqBinaryFile.java b/model_delwaq/java/src/org/openda/model_delwaq/delwaqBinaryFile.java index 0b1bf3fcf..836359a15 100644 --- a/model_delwaq/java/src/org/openda/model_delwaq/delwaqBinaryFile.java +++ b/model_delwaq/java/src/org/openda/model_delwaq/delwaqBinaryFile.java @@ -20,7 +20,6 @@ package org.openda.model_delwaq; import org.openda.interfaces.IDataObject; import org.openda.interfaces.IExchangeItem; -import org.openda.interfaces.IPrevExchangeItem; import org.openda.utils.Time; import java.io.File; @@ -78,7 +77,7 @@ public String[] getExchangeItemIDs() { * @param role Input, Output, or InOut (i.e. both) * @return The array of exchange item identifiers. */ - public String[] getExchangeItemIDs(IPrevExchangeItem.Role role) { + public String[] getExchangeItemIDs(IExchangeItem.Role role) { return ids; // For now return all IDs. } @@ -121,7 +120,7 @@ private IExchangeItem findOrCreateExchangeItem(int index) { } catch (IOException e) { e.printStackTrace(); } - items.add(new delwaqSubstanceExchangeItem(ids[index], itemDescription, IPrevExchangeItem.Role.Input, values, this)); + items.add(new delwaqSubstanceExchangeItem(ids[index], itemDescription, IExchangeItem.Role.Input, values, this)); return items.get(items.size()-1); } diff --git a/model_delwaq/java/src/org/openda/model_delwaq/delwaqInpFile.java b/model_delwaq/java/src/org/openda/model_delwaq/delwaqInpFile.java index 7268e41ef..fcdb69d24 100644 --- a/model_delwaq/java/src/org/openda/model_delwaq/delwaqInpFile.java +++ b/model_delwaq/java/src/org/openda/model_delwaq/delwaqInpFile.java @@ -20,10 +20,8 @@ package org.openda.model_delwaq; import org.openda.interfaces.IDataObject; import org.openda.interfaces.IExchangeItem; -import org.openda.interfaces.IPrevExchangeItem; import java.io.File; -import java.io.IOException; import java.util.ArrayList; import java.util.List; import java.util.regex.Matcher; @@ -84,7 +82,7 @@ public String[] getExchangeItemIDs() { * @param role Input, Output, or InOut (i.e. both) * @return The array of exchange item identifiers. */ - public String[] getExchangeItemIDs(IPrevExchangeItem.Role role) { + public String[] getExchangeItemIDs(IExchangeItem.Role role) { ArrayList identifiers = null; for (IExchangeItem item : items) { if (item.getRole().equals(role)) { @@ -176,7 +174,7 @@ public void initialize(File workingDir, String[] arguments) { for (int i=0; i matchingExchangeItemIds = new ArrayList<>(); for(IExchangeItem exchangeItem : exchangeItems.values()) diff --git a/model_dflowfm_blackbox/java/src/org/openda/model_dflowfm/DFlowFMCalibrationFactorFile.java b/model_dflowfm_blackbox/java/src/org/openda/model_dflowfm/DFlowFMCalibrationFactorFile.java index 6afbfdd42..974c741e1 100644 --- a/model_dflowfm_blackbox/java/src/org/openda/model_dflowfm/DFlowFMCalibrationFactorFile.java +++ b/model_dflowfm_blackbox/java/src/org/openda/model_dflowfm/DFlowFMCalibrationFactorFile.java @@ -21,7 +21,6 @@ import org.openda.interfaces.IDataObject; import org.openda.interfaces.IExchangeItem; -import org.openda.interfaces.IPrevExchangeItem; import org.openda.utils.generalJavaUtils.StringUtilities; import org.openda.utils.io.AsciiFileUtils; @@ -50,7 +49,7 @@ public String[] getExchangeItemIDs() { } @Override - public String[] getExchangeItemIDs(IPrevExchangeItem.Role role) { + public String[] getExchangeItemIDs(IExchangeItem.Role role) { return getExchangeItemIDs(); } diff --git a/model_dflowfm_blackbox/java/src/org/openda/model_dflowfm/DFlowFMFrictionCoefExchangeItem.java b/model_dflowfm_blackbox/java/src/org/openda/model_dflowfm/DFlowFMFrictionCoefExchangeItem.java index 27f5a92c5..ef249aaca 100644 --- a/model_dflowfm_blackbox/java/src/org/openda/model_dflowfm/DFlowFMFrictionCoefExchangeItem.java +++ b/model_dflowfm_blackbox/java/src/org/openda/model_dflowfm/DFlowFMFrictionCoefExchangeItem.java @@ -93,6 +93,10 @@ public Role getRole() { return IExchangeItem.Role.InOut; } + public PrevRole getPrevRole() { + return null; + } + public Object getValues() { return this.value; } diff --git a/model_dflowfm_blackbox/java/src/org/openda/model_dflowfm/DFlowFMMeteoFile.java b/model_dflowfm_blackbox/java/src/org/openda/model_dflowfm/DFlowFMMeteoFile.java index a9ff404ea..3689d5827 100644 --- a/model_dflowfm_blackbox/java/src/org/openda/model_dflowfm/DFlowFMMeteoFile.java +++ b/model_dflowfm_blackbox/java/src/org/openda/model_dflowfm/DFlowFMMeteoFile.java @@ -21,12 +21,10 @@ package org.openda.model_dflowfm; import org.openda.exchange.ArrayExchangeItem; -import org.openda.exchange.ArrayGeometryInfo; import org.openda.exchange.TimeInfo; import org.openda.exchange.timeseries.TimeUtils; import org.openda.interfaces.IDataObject; import org.openda.interfaces.IExchangeItem; -import org.openda.interfaces.IPrevExchangeItem; import org.openda.utils.Vector; import java.io.*; @@ -209,7 +207,7 @@ public String[] getExchangeItemIDs() { return result; } - public String[] getExchangeItemIDs(IPrevExchangeItem.Role role) { + public String[] getExchangeItemIDs(IExchangeItem.Role role) { if (exchangeItem.getRole() == role) { String[] result = new String[1]; result[0] = exchangeItem.getId(); @@ -270,4 +268,4 @@ public void finish() { } -} \ No newline at end of file +} diff --git a/model_dflowfm_blackbox/java/src/org/openda/model_dflowfm/DFlowFMRestartFileWrapper.java b/model_dflowfm_blackbox/java/src/org/openda/model_dflowfm/DFlowFMRestartFileWrapper.java index 27c52a964..e39bdbac1 100644 --- a/model_dflowfm_blackbox/java/src/org/openda/model_dflowfm/DFlowFMRestartFileWrapper.java +++ b/model_dflowfm_blackbox/java/src/org/openda/model_dflowfm/DFlowFMRestartFileWrapper.java @@ -22,7 +22,6 @@ import org.openda.exchange.ExchangeItem; import org.openda.interfaces.IDataObject; import org.openda.interfaces.IExchangeItem; -import org.openda.interfaces.IPrevExchangeItem; import org.openda.utils.*; import org.openda.utils.Vector; @@ -218,7 +217,7 @@ public void initialize(File workingDir, String[] arguments) { return result; } - public String [] getExchangeItemIDs(IPrevExchangeItem.Role role) { + public String [] getExchangeItemIDs(IExchangeItem.Role role) { return getExchangeItemIDs(); } diff --git a/model_dflowfm_blackbox/java/src/org/openda/model_dflowfm/DFlowFMTimTimeSeriesFormatter.java b/model_dflowfm_blackbox/java/src/org/openda/model_dflowfm/DFlowFMTimTimeSeriesFormatter.java index fda357241..ac2a59bc5 100644 --- a/model_dflowfm_blackbox/java/src/org/openda/model_dflowfm/DFlowFMTimTimeSeriesFormatter.java +++ b/model_dflowfm_blackbox/java/src/org/openda/model_dflowfm/DFlowFMTimTimeSeriesFormatter.java @@ -30,7 +30,7 @@ import org.openda.exchange.timeseries.TimeSeries; import org.openda.exchange.timeseries.TimeSeriesFormatter; -import org.openda.interfaces.IPrevExchangeItem.Role; +import org.openda.interfaces.IExchangeItem.Role; public class DFlowFMTimTimeSeriesFormatter extends TimeSeriesFormatter { diff --git a/model_dflowfm_blackbox/java/src/org/openda/model_dflowfm/DFlowFMTimeInfo.java b/model_dflowfm_blackbox/java/src/org/openda/model_dflowfm/DFlowFMTimeInfo.java index f5d8ff513..9fca9bfb3 100644 --- a/model_dflowfm_blackbox/java/src/org/openda/model_dflowfm/DFlowFMTimeInfo.java +++ b/model_dflowfm_blackbox/java/src/org/openda/model_dflowfm/DFlowFMTimeInfo.java @@ -83,7 +83,7 @@ public String[] getExchangeItemIDs() { return exchangeItemIDs; } - public String[] getExchangeItemIDs(IPrevExchangeItem.Role role) { + public String[] getExchangeItemIDs(IExchangeItem.Role role) { return getExchangeItemIDs(); } diff --git a/model_dflowfm_blackbox/java/src/org/openda/model_dflowfm/DFlowFMTimeInfoExchangeItem.java b/model_dflowfm_blackbox/java/src/org/openda/model_dflowfm/DFlowFMTimeInfoExchangeItem.java index 199de8714..b9d691ef4 100644 --- a/model_dflowfm_blackbox/java/src/org/openda/model_dflowfm/DFlowFMTimeInfoExchangeItem.java +++ b/model_dflowfm_blackbox/java/src/org/openda/model_dflowfm/DFlowFMTimeInfoExchangeItem.java @@ -53,7 +53,12 @@ public ValueType getValuesType() { } public Role getRole() { - return IPrevExchangeItem.Role.InOut; + return IExchangeItem.Role.InOut; + } + + @Override + public PrevRole getPrevRole() { + return null; } public Object getValues() { diff --git a/model_dflowfm_blackbox/java/src/org/openda/model_dflowfm/DFlowFMTimeSeriesDataObject.java b/model_dflowfm_blackbox/java/src/org/openda/model_dflowfm/DFlowFMTimeSeriesDataObject.java index 79e482ea2..8497fdb63 100644 --- a/model_dflowfm_blackbox/java/src/org/openda/model_dflowfm/DFlowFMTimeSeriesDataObject.java +++ b/model_dflowfm_blackbox/java/src/org/openda/model_dflowfm/DFlowFMTimeSeriesDataObject.java @@ -27,7 +27,6 @@ import org.openda.exchange.timeseries.TimeSeriesSet; import org.openda.interfaces.IDataObject; import org.openda.interfaces.IExchangeItem; -import org.openda.interfaces.IPrevExchangeItem.Role; import org.openda.utils.Results; import java.io.*; @@ -138,7 +137,7 @@ public void parseConfigurationFiles(File mduFile) { String location = String.format("%s.%d" , locationId ,fileNr+1); String amplitudeId = location + idSeparator + quantity + "."+var+"_amplitude" ; double ampl = cmpfile.getAmplitude(var); - amplitude = new DoubleExchangeItem(amplitudeId, Role.InOut, ampl); + amplitude = new DoubleExchangeItem(amplitudeId, IExchangeItem.Role.InOut, ampl); amplitude.setQuantityInfo(new QuantityInfo(quantity + ".amplitude","m")); amplitude.setLatitude(lat); amplitude.setLongitude(lon); @@ -148,7 +147,7 @@ public void parseConfigurationFiles(File mduFile) { //phase String phaseId = location + idSeparator + quantity + "."+var+"_phase" ; double phi = cmpfile.getPhase(var); - phase = new DoubleExchangeItem(phaseId, Role.InOut, phi); + phase = new DoubleExchangeItem(phaseId, IExchangeItem.Role.InOut, phi); phase.setQuantityInfo(new QuantityInfo(quantity + ".phase","degrees")); phase.setLatitude(lat); phase.setLongitude(lon); diff --git a/model_dflowfm_blackbox/java/src/org/openda/model_dflowfm/DFlowFMTrachytopeFile.java b/model_dflowfm_blackbox/java/src/org/openda/model_dflowfm/DFlowFMTrachytopeFile.java index 64f17008c..26fd90b15 100644 --- a/model_dflowfm_blackbox/java/src/org/openda/model_dflowfm/DFlowFMTrachytopeFile.java +++ b/model_dflowfm_blackbox/java/src/org/openda/model_dflowfm/DFlowFMTrachytopeFile.java @@ -23,7 +23,6 @@ import org.openda.blackbox.interfaces.IoObjectInterface; import org.openda.interfaces.IDataObject; import org.openda.interfaces.IExchangeItem; -import org.openda.interfaces.IPrevExchangeItem.Role; import java.io.File; import java.util.ArrayList; @@ -168,8 +167,8 @@ public String[] getExchangeItemIDs() { } @Override - public String[] getExchangeItemIDs(Role role) { - if(role==Role.InOut){ + public String[] getExchangeItemIDs(IExchangeItem.Role role) { + if(role==IExchangeItem.Role.InOut){ return getExchangeItemIDs(); }else{ return new String[0]; diff --git a/model_dflowfm_blackbox/java/src/org/openda/model_dflowfm/DFlowFMXyzExchangeItem.java b/model_dflowfm_blackbox/java/src/org/openda/model_dflowfm/DFlowFMXyzExchangeItem.java index 166f89822..8259b9971 100644 --- a/model_dflowfm_blackbox/java/src/org/openda/model_dflowfm/DFlowFMXyzExchangeItem.java +++ b/model_dflowfm_blackbox/java/src/org/openda/model_dflowfm/DFlowFMXyzExchangeItem.java @@ -98,6 +98,10 @@ public Role getRole() { return IExchangeItem.Role.InOut; } + public PrevRole getPrevRole() { + return null; + } + public Object getValues() { return this.vector; } diff --git a/model_dflowfm_blackbox/java/src/org/openda/model_dflowfm/DFlowFMXyzFile.java b/model_dflowfm_blackbox/java/src/org/openda/model_dflowfm/DFlowFMXyzFile.java index f4a508cd0..401ced07a 100644 --- a/model_dflowfm_blackbox/java/src/org/openda/model_dflowfm/DFlowFMXyzFile.java +++ b/model_dflowfm_blackbox/java/src/org/openda/model_dflowfm/DFlowFMXyzFile.java @@ -21,7 +21,6 @@ import org.openda.interfaces.IDataObject; import org.openda.interfaces.IExchangeItem; -import org.openda.interfaces.IPrevExchangeItem.Role; import java.io.File; import java.util.ArrayList; @@ -157,7 +156,7 @@ public String[] getExchangeItemIDs() { } - public String[] getExchangeItemIDs(Role role) { + public String[] getExchangeItemIDs(IExchangeItem.Role role) { ArrayList exchangeItemIDs = new ArrayList(); for (IExchangeItem item : this.exchangeItems) { if (item.getRole().equals(role)) { diff --git a/model_dflowfm_blackbox/java/src/org/openda/model_dflowfm/DflowfmFrictionCoefficientFile.java b/model_dflowfm_blackbox/java/src/org/openda/model_dflowfm/DflowfmFrictionCoefficientFile.java index b9e51d59c..5dc1c71ef 100644 --- a/model_dflowfm_blackbox/java/src/org/openda/model_dflowfm/DflowfmFrictionCoefficientFile.java +++ b/model_dflowfm_blackbox/java/src/org/openda/model_dflowfm/DflowfmFrictionCoefficientFile.java @@ -21,7 +21,6 @@ import org.openda.interfaces.IDataObject; import org.openda.interfaces.IExchangeItem; -import org.openda.interfaces.IPrevExchangeItem.Role; import java.io.File; import java.util.ArrayList; @@ -109,7 +108,7 @@ public String[] getExchangeItemIDs() { } - public String[] getExchangeItemIDs(Role role) { + public String[] getExchangeItemIDs(IExchangeItem.Role role) { ArrayList exchangeItemIDs = new ArrayList(); for (IExchangeItem item : this.exchangeItems) { if (item.getRole().equals(role)) { diff --git a/model_dflowfm_blackbox/java/src/org/openda/model_dflowfm/DimrConfigFile.java b/model_dflowfm_blackbox/java/src/org/openda/model_dflowfm/DimrConfigFile.java index 9784f0a62..ebb309838 100644 --- a/model_dflowfm_blackbox/java/src/org/openda/model_dflowfm/DimrConfigFile.java +++ b/model_dflowfm_blackbox/java/src/org/openda/model_dflowfm/DimrConfigFile.java @@ -20,7 +20,6 @@ package org.openda.model_dflowfm; import org.openda.interfaces.IDataObject; import org.openda.interfaces.IExchangeItem; -import org.openda.interfaces.IPrevExchangeItem; import org.openda.utils.ConfigTree; import java.io.File; @@ -60,7 +59,7 @@ public String[] getExchangeItemIDs() return flowMdFile.getExchangeItemIDs(); } - public String[] getExchangeItemIDs(IPrevExchangeItem.Role role) + public String[] getExchangeItemIDs(IExchangeItem.Role role) { return flowMdFile.getExchangeItemIDs(role); } diff --git a/model_dflowfm_blackbox/java/src/org/openda/model_dflowfm/Flow1DTimeInfoExchangeItem.java b/model_dflowfm_blackbox/java/src/org/openda/model_dflowfm/Flow1DTimeInfoExchangeItem.java index 7bc08e988..f583b2095 100644 --- a/model_dflowfm_blackbox/java/src/org/openda/model_dflowfm/Flow1DTimeInfoExchangeItem.java +++ b/model_dflowfm_blackbox/java/src/org/openda/model_dflowfm/Flow1DTimeInfoExchangeItem.java @@ -44,7 +44,12 @@ public Flow1DTimeInfoExchangeItem(PropertyId id, double value) @Override public Role getRole() { - return IPrevExchangeItem.Role.InOut; + return IExchangeItem.Role.InOut; + } + + @Override + public PrevRole getPrevRole() { + return null; } @Override diff --git a/model_dflowfm_blackbox/java/src/org/openda/model_dflowfm/Md1dFile.java b/model_dflowfm_blackbox/java/src/org/openda/model_dflowfm/Md1dFile.java index 701a9501f..4b843f6b7 100644 --- a/model_dflowfm_blackbox/java/src/org/openda/model_dflowfm/Md1dFile.java +++ b/model_dflowfm_blackbox/java/src/org/openda/model_dflowfm/Md1dFile.java @@ -23,7 +23,6 @@ import org.openda.exchange.timeseries.TimeUtils; import org.openda.interfaces.IDataObject; import org.openda.interfaces.IExchangeItem; -import org.openda.interfaces.IPrevExchangeItem; import java.io.File; import java.io.IOException; @@ -116,7 +115,7 @@ public String[] getExchangeItemIDs() return exchangeItems.keySet().toArray(new String[exchangeItems.keySet().size()]); } - public String[] getExchangeItemIDs(IPrevExchangeItem.Role role) + public String[] getExchangeItemIDs(IExchangeItem.Role role) { List matchingExchangeItemIds = new ArrayList<>(); for(IExchangeItem exchangeItem : exchangeItems.values()) diff --git a/model_dflowfm_blackbox/java/src/org/openda/model_dflowfm/RtcToolsRuntimeConfigFile.java b/model_dflowfm_blackbox/java/src/org/openda/model_dflowfm/RtcToolsRuntimeConfigFile.java index 2f7b0d915..36352525a 100644 --- a/model_dflowfm_blackbox/java/src/org/openda/model_dflowfm/RtcToolsRuntimeConfigFile.java +++ b/model_dflowfm_blackbox/java/src/org/openda/model_dflowfm/RtcToolsRuntimeConfigFile.java @@ -21,7 +21,6 @@ import org.openda.exchange.timeseries.TimeUtils; import org.openda.interfaces.IDataObject; import org.openda.interfaces.IExchangeItem; -import org.openda.interfaces.IPrevExchangeItem; import org.openda.utils.ConfigTree; import java.io.File; @@ -91,7 +90,7 @@ public String[] getExchangeItemIDs() return exchangeItems.keySet().toArray(new String[exchangeItems.keySet().size()]); } - public String[] getExchangeItemIDs(IPrevExchangeItem.Role role) + public String[] getExchangeItemIDs(IExchangeItem.Role role) { List matchingExchangeItemIds = new ArrayList<>(); for(IExchangeItem exchangeItem : exchangeItems.values()) diff --git a/model_efdc/java/src/org/openda/model_efdc/EfdcGridTimeSeriesExchangeItem.java b/model_efdc/java/src/org/openda/model_efdc/EfdcGridTimeSeriesExchangeItem.java index 3f754377e..e7d041c5a 100644 --- a/model_efdc/java/src/org/openda/model_efdc/EfdcGridTimeSeriesExchangeItem.java +++ b/model_efdc/java/src/org/openda/model_efdc/EfdcGridTimeSeriesExchangeItem.java @@ -46,6 +46,7 @@ public Role getRole() { return Role.Output; } + public PrevRole getPrevRole() { return null; } @SuppressWarnings("rawtypes") public Class getValueType() { diff --git a/model_efdc/java/src/org/openda/model_efdc/EfdcTimeSeriesExchangeItem.java b/model_efdc/java/src/org/openda/model_efdc/EfdcTimeSeriesExchangeItem.java index db88d0d15..b9eb668dd 100644 --- a/model_efdc/java/src/org/openda/model_efdc/EfdcTimeSeriesExchangeItem.java +++ b/model_efdc/java/src/org/openda/model_efdc/EfdcTimeSeriesExchangeItem.java @@ -21,7 +21,7 @@ package org.openda.model_efdc; import org.openda.exchange.timeseries.TimeSeries; -import org.openda.interfaces.IPrevExchangeItem; +import org.openda.interfaces.IExchangeItem; /** * Exchange item for a time series stored in a .INP (EFDC input) file. @@ -36,6 +36,6 @@ public EfdcTimeSeriesExchangeItem() { public Role getRole() { - return IPrevExchangeItem.Role.Input; + return IExchangeItem.Role.Input; } } diff --git a/model_efdc_dll/java/src/org/openda/model_efdc_dll/EfdcGridExchangeItem.java b/model_efdc_dll/java/src/org/openda/model_efdc_dll/EfdcGridExchangeItem.java index ded47be48..4e097e0f6 100644 --- a/model_efdc_dll/java/src/org/openda/model_efdc_dll/EfdcGridExchangeItem.java +++ b/model_efdc_dll/java/src/org/openda/model_efdc_dll/EfdcGridExchangeItem.java @@ -86,6 +86,8 @@ public Role getRole() { return this.role; } + public PrevRole getPrevRole() { return null; } + public ITimeInfo getTimeInfo() { //return current time, since the efdc model only stores the current values in memory. return new TimeInfo(new double[]{this.modelDll.getCurrentTime()}); diff --git a/model_efdc_dll/java/src/org/openda/model_efdc_dll/EfdcModelInstance.java b/model_efdc_dll/java/src/org/openda/model_efdc_dll/EfdcModelInstance.java index bbd9ea68e..d87f5df85 100644 --- a/model_efdc_dll/java/src/org/openda/model_efdc_dll/EfdcModelInstance.java +++ b/model_efdc_dll/java/src/org/openda/model_efdc_dll/EfdcModelInstance.java @@ -27,7 +27,7 @@ import org.openda.blackbox.config.BBUtils; import org.openda.exchange.dataobjects.NetcdfDataObject; import org.openda.interfaces.*; -import org.openda.interfaces.IPrevExchangeItem.Role; +import org.openda.interfaces.IExchangeItem.Role; import org.openda.localization.LocalizationDomainsSimpleModel; import org.openda.model_efdc_dll.EfdcExchangeItemType.EfdcExchangeItemRole; import org.openda.utils.Instance; @@ -506,7 +506,7 @@ public String[] getExchangeItemIDs() { * @param role Input, Output, or InOut. * @return exchangeItemIds. */ - public String[] getExchangeItemIDs(IPrevExchangeItem.Role role) { + public String[] getExchangeItemIDs(IExchangeItem.Role role) { List ids = new ArrayList(); for (IExchangeItem exchangeItem : this.boundaryExchangeItems.values()) { if (exchangeItem.getRole() == role) { diff --git a/model_efdc_dll/java/src/org/openda/model_efdc_dll/EfdcScalarTimeSeriesExchangeItem.java b/model_efdc_dll/java/src/org/openda/model_efdc_dll/EfdcScalarTimeSeriesExchangeItem.java index 190c5847e..c70b1124c 100644 --- a/model_efdc_dll/java/src/org/openda/model_efdc_dll/EfdcScalarTimeSeriesExchangeItem.java +++ b/model_efdc_dll/java/src/org/openda/model_efdc_dll/EfdcScalarTimeSeriesExchangeItem.java @@ -88,6 +88,10 @@ public Role getRole() { return this.role; } + public PrevRole getPrevRole() { + return null; + } + public ITimeInfo getTimeInfo() { return new TimeInfo(this.modelDll.getTimesForExchangeItem(this.parameterNumber, this.locationNumber)); } diff --git a/model_example_blackbox/java/src/org/openda/blackbox/io/SimpleBbAsciiFile.java b/model_example_blackbox/java/src/org/openda/blackbox/io/SimpleBbAsciiFile.java index 1662c4b80..905da6c94 100644 --- a/model_example_blackbox/java/src/org/openda/blackbox/io/SimpleBbAsciiFile.java +++ b/model_example_blackbox/java/src/org/openda/blackbox/io/SimpleBbAsciiFile.java @@ -24,7 +24,7 @@ import org.openda.exchange.ExchangeItem; import org.openda.exchange.timeseries.TimeSeries; import org.openda.interfaces.*; -import org.openda.interfaces.IPrevExchangeItem.Role; +import org.openda.interfaces.IExchangeItem.Role; import org.openda.utils.Results; import java.io.BufferedReader; diff --git a/model_example_fortran/java/src/org/openda/examples/simplef90model/SimpleExchangeItem.java b/model_example_fortran/java/src/org/openda/examples/simplef90model/SimpleExchangeItem.java index 8c4a3a30c..d54987abf 100644 --- a/model_example_fortran/java/src/org/openda/examples/simplef90model/SimpleExchangeItem.java +++ b/model_example_fortran/java/src/org/openda/examples/simplef90model/SimpleExchangeItem.java @@ -30,7 +30,7 @@ public class SimpleExchangeItem implements IPrevExchangeItem{ private int indexInDLL; private Class valueType; private SimpleModelInstance SimpleModelInstance; - private IPrevExchangeItem.Role role; + private IPrevExchangeItem.PrevRole role; public SimpleExchangeItem(String id, int indexInDLL, Class valueType, SimpleModelInstance SimpleModelInstance) { @@ -42,9 +42,9 @@ public SimpleExchangeItem(String id, int indexInDLL, Class valueType, SimpleMode if (indexInDLL == SimpleModelDLL.gravity || indexInDLL == SimpleModelDLL.friction_on_grid || indexInDLL == SimpleModelDLL.discharge_on_laterals ) { - role = IPrevExchangeItem.Role.InOut; + role = IPrevExchangeItem.PrevRole.InOut; } else if (indexInDLL == SimpleModelDLL.waterlevel_on_grid) { - role = IPrevExchangeItem.Role.Output; + role = IPrevExchangeItem.PrevRole.Output; } else { throw new RuntimeException("Unknown role for exchange item: " + id); } @@ -62,7 +62,7 @@ public Class getValueType() { return valueType; } - public Role getRole() { + public PrevRole getPrevRole() { return role; } diff --git a/model_example_fortran/java/src/org/openda/examples/simplef90model/SimpleModelInstance.java b/model_example_fortran/java/src/org/openda/examples/simplef90model/SimpleModelInstance.java index c47afa0fc..fd1c2ece3 100644 --- a/model_example_fortran/java/src/org/openda/examples/simplef90model/SimpleModelInstance.java +++ b/model_example_fortran/java/src/org/openda/examples/simplef90model/SimpleModelInstance.java @@ -113,8 +113,8 @@ public String[] getExchangeItemIDs() { return exchangeItemIDs; } - public String[] getExchangeItemIDs(IPrevExchangeItem.Role role) { - if (role == IPrevExchangeItem.Role.InOut) { + public String[] getExchangeItemIDs(IExchangeItem.Role role) { + if (role == IExchangeItem.Role.InOut) { return getExchangeItemIDs(); } throw new UnsupportedOperationException("getExchangeItemIDs(role = in or out): Selection not yet implemented yet."); diff --git a/model_example_fortran/java/src/org/openda/examples/simplef90model/SimpleModelInstanceTestExe.java b/model_example_fortran/java/src/org/openda/examples/simplef90model/SimpleModelInstanceTestExe.java index 2829c0533..1cda022c9 100644 --- a/model_example_fortran/java/src/org/openda/examples/simplef90model/SimpleModelInstanceTestExe.java +++ b/model_example_fortran/java/src/org/openda/examples/simplef90model/SimpleModelInstanceTestExe.java @@ -21,10 +21,6 @@ import java.io.File; -import org.openda.interfaces.IPrevExchangeItem; -import org.openda.interfaces.IInstance; -import org.openda.interfaces.IModelInstance; - /** * Executable version (i.e. version with static main method) of SimpleModelInstanceTest */ diff --git a/model_hspf/java/src/org/openda/model_hspf/UciDataObject.java b/model_hspf/java/src/org/openda/model_hspf/UciDataObject.java index e5671c778..1759a3326 100644 --- a/model_hspf/java/src/org/openda/model_hspf/UciDataObject.java +++ b/model_hspf/java/src/org/openda/model_hspf/UciDataObject.java @@ -24,7 +24,6 @@ import org.openda.exchange.timeseries.TimeUtils; import org.openda.interfaces.IDataObject; import org.openda.interfaces.IExchangeItem; -import org.openda.interfaces.IPrevExchangeItem; import org.openda.utils.Results; import org.openda.utils.io.AsciiFileUtils; @@ -125,8 +124,8 @@ public String[] getExchangeItemIDs() { return new String[]{startTimeExchangeItem.getId(), endTimeExchangeItem.getId()}; } - public String[] getExchangeItemIDs(IPrevExchangeItem.Role role) { - if (role == IPrevExchangeItem.Role.Input || role == IPrevExchangeItem.Role.InOut) { + public String[] getExchangeItemIDs(IExchangeItem.Role role) { + if (role == IExchangeItem.Role.Input || role == IExchangeItem.Role.InOut) { return new String[]{startTimeExchangeItem.getId(), endTimeExchangeItem.getId()}; } return null; diff --git a/model_hspf/java/src/org/openda/model_hspf/UciStateDataObject.java b/model_hspf/java/src/org/openda/model_hspf/UciStateDataObject.java index 130e244d7..aae2f7138 100644 --- a/model_hspf/java/src/org/openda/model_hspf/UciStateDataObject.java +++ b/model_hspf/java/src/org/openda/model_hspf/UciStateDataObject.java @@ -132,7 +132,7 @@ public String[] getExchangeItemIDs() { return ids.toArray(new String[ids.size()]); } - public String[] getExchangeItemIDs(IPrevExchangeItem.Role role) { + public String[] getExchangeItemIDs(IExchangeItem.Role role) { //all exchange items have role InOut, so always return all items. return getExchangeItemIDs(); } diff --git a/model_hspf/java/src/org/openda/model_hspf/UciUtils.java b/model_hspf/java/src/org/openda/model_hspf/UciUtils.java index 364d57822..c925fdae5 100644 --- a/model_hspf/java/src/org/openda/model_hspf/UciUtils.java +++ b/model_hspf/java/src/org/openda/model_hspf/UciUtils.java @@ -325,7 +325,7 @@ private static void createExchangeItems(String moduleName, String tableName, Str String parameterId = parameterIds.get(n); String id = locationId + "." + parameterId; - DoubleExchangeItem newItem = new DoubleExchangeItem(id, IPrevExchangeItem.Role.InOut, values.get(n)); + DoubleExchangeItem newItem = new DoubleExchangeItem(id, IExchangeItem.Role.InOut, values.get(n)); newItem.setTime(stateTime); IExchangeItem previous = exchangeItems.put(id, newItem); if (previous != null) throw new IllegalArgumentException("Multiple exchange items with id '" + id + "' found in uci state file."); diff --git a/model_hspf/java/src/org/openda/model_hspf/WdmEnsembleTimeSeriesOutputDataObject.java b/model_hspf/java/src/org/openda/model_hspf/WdmEnsembleTimeSeriesOutputDataObject.java index b2285b91a..0cbf65d89 100644 --- a/model_hspf/java/src/org/openda/model_hspf/WdmEnsembleTimeSeriesOutputDataObject.java +++ b/model_hspf/java/src/org/openda/model_hspf/WdmEnsembleTimeSeriesOutputDataObject.java @@ -23,8 +23,6 @@ import org.openda.interfaces.IDataObject; import org.openda.interfaces.IEnsembleDataObject; import org.openda.interfaces.IExchangeItem; -import org.openda.interfaces.IPrevExchangeItem; -import org.openda.interfaces.IPrevExchangeItem.Role; import org.openda.utils.Results; import java.io.File; @@ -73,8 +71,8 @@ public void initialize(File workingDir, String[] arguments) { if (arguments.length < 4) { throw new IllegalArgumentException(getClass().getSimpleName() + ": No role argument specified. The third argument should be the role of this DataObject. Role must be 'output'."); } - Role role = WdmUtils.initializeRole(arguments[3]); - if (role == IPrevExchangeItem.Role.Input) { + IExchangeItem.Role role = WdmUtils.initializeRole(arguments[3]); + if (role == IExchangeItem.Role.Input) { throw new UnsupportedOperationException(getClass().getSimpleName() + " not implemented for role input."); } @@ -116,7 +114,7 @@ public String[] getExchangeItemIDs() { return new String[0]; } - public String[] getExchangeItemIDs(Role role) { + public String[] getExchangeItemIDs(IExchangeItem.Role role) { //ignore ensemble exchange items. return new String[0]; } diff --git a/model_hspf/java/src/org/openda/model_hspf/WdmTimeSeriesDataObject.java b/model_hspf/java/src/org/openda/model_hspf/WdmTimeSeriesDataObject.java index 5381b217a..c673c3ab4 100644 --- a/model_hspf/java/src/org/openda/model_hspf/WdmTimeSeriesDataObject.java +++ b/model_hspf/java/src/org/openda/model_hspf/WdmTimeSeriesDataObject.java @@ -23,7 +23,7 @@ import org.openda.interfaces.IDataObject; import org.openda.interfaces.IExchangeItem; import org.openda.interfaces.IPrevExchangeItem; -import org.openda.interfaces.IPrevExchangeItem.Role; +import org.openda.interfaces.IExchangeItem.Role; import java.io.File; import java.util.ArrayList; @@ -101,7 +101,7 @@ public String[] getExchangeItemIDs() { public String[] getExchangeItemIDs(Role role) { List exchangeItemIds = new ArrayList<>(); for (IPrevExchangeItem exchangeItem : wrappedIoObject.getExchangeItems()) { - if (exchangeItem.getRole().equals(role)) { + if (exchangeItem.getPrevRole().equals(role)) { exchangeItemIds.add(exchangeItem.getId()); } } diff --git a/model_hspf/java/src/org/openda/model_hspf/WdmTimeSeriesIoObject.java b/model_hspf/java/src/org/openda/model_hspf/WdmTimeSeriesIoObject.java index 97cf12f9f..4f6316251 100644 --- a/model_hspf/java/src/org/openda/model_hspf/WdmTimeSeriesIoObject.java +++ b/model_hspf/java/src/org/openda/model_hspf/WdmTimeSeriesIoObject.java @@ -28,7 +28,7 @@ import org.openda.exchange.DoubleExchangeItem; import org.openda.exchange.timeseries.TimeUtils; import org.openda.interfaces.IPrevExchangeItem; -import org.openda.interfaces.IPrevExchangeItem.Role; +import org.openda.interfaces.IExchangeItem.Role; import org.openda.utils.Results; /** @@ -152,7 +152,7 @@ public void initialize(File workingDir, String fileName, String[] arguments) { //Note: the timeInfoExchangeItems are also set after the input ioObjects have already been initialized, //but the timeInfoExchangeItems need only be created during ioObject initialization and can then be //used later, after they have been set. - if (this.role == IPrevExchangeItem.Role.Input) { + if (this.role == Role.Input) { //create exchange items. if (arguments.length < 6) { throw new IllegalArgumentException("No start/endTime exchange item ids arguments specified for " + getClass().getSimpleName() @@ -162,7 +162,7 @@ public void initialize(File workingDir, String fileName, String[] arguments) { this.startTimeExchangeItem = new DoubleExchangeItem(arguments[4], 0); this.endTimeExchangeItem = new DoubleExchangeItem(arguments[5], 0); - } else {//if this.role == IPrevExchangeItem.Role.Output. + } else { if (arguments.length < 6) { throw new IllegalArgumentException("No start/endTime arguments specified for " + getClass().getSimpleName() + ". For role OUTPUT the fifth and sixth arguments should be respectively the startTime and endTime of the model run."); @@ -240,7 +240,7 @@ public IPrevExchangeItem[] getExchangeItems() { * Updates the in-memory stored values and times by reading from the wdm file. */ private void readValuesAndTimesFromFile() { - if (this.role == IPrevExchangeItem.Role.Input) { + if (this.role == Role.Input) { return; } @@ -269,7 +269,7 @@ private void readValuesAndTimesFromFile() { * so that it can be used as input by the model. */ public void finish() { - if (this.role == IPrevExchangeItem.Role.Output) { + if (this.role == Role.Output) { return; } diff --git a/model_hspf/java/src/org/openda/model_hspf/WdmUtils.java b/model_hspf/java/src/org/openda/model_hspf/WdmUtils.java index 3afb5f3bf..c51adb404 100644 --- a/model_hspf/java/src/org/openda/model_hspf/WdmUtils.java +++ b/model_hspf/java/src/org/openda/model_hspf/WdmUtils.java @@ -23,7 +23,7 @@ import java.io.File; import java.util.*; -import org.openda.interfaces.IPrevExchangeItem; +import org.openda.interfaces.IExchangeItem; import org.openda.utils.Results; import org.openda.utils.Time; @@ -125,9 +125,9 @@ public static String initializeWdmMessageFilePath(File workingDir, String relati return wdmMessageFile.getAbsolutePath(); } - public static IPrevExchangeItem.Role initializeRole(String roleString) { - if ("input".equalsIgnoreCase(roleString)) return IPrevExchangeItem.Role.Input; - if ("output".equalsIgnoreCase(roleString)) return IPrevExchangeItem.Role.Output; + public static IExchangeItem.Role initializeRole(String roleString) { + if ("input".equalsIgnoreCase(roleString)) return IExchangeItem.Role.Input; + if ("output".equalsIgnoreCase(roleString)) return IExchangeItem.Role.Output; throw new IllegalArgumentException(WdmUtils.class.getSimpleName() + ": unknown role type '" + roleString + "' specified."); } @@ -510,7 +510,7 @@ public static void deleteTimesAndValues(WdmDll wdmDll, int wdmFileNumber) { /** * Creates an exchange item with the given role for each dataSet in the wdm file with the given unit number. */ - public static List createExchangeItemsFromFile(WdmDll wdmDll, int wdmFileNumber, IPrevExchangeItem.Role role) { + public static List createExchangeItemsFromFile(WdmDll wdmDll, int wdmFileNumber, IExchangeItem.Role role) { List exchangeItems = new ArrayList(); //get first existing dataSet and put its number in the variable dataSetNumber. @@ -543,7 +543,7 @@ public static List createExchangeItemsFromFile(WdmDll * Creates an exchange item with the given role for each dataSet in the wdm file that is also in the given timeSeriesIdList. */ public static List createExchangeItemsFromList(WdmDll wdmDll, int wdmFileNumber, String wdmFilePath, - IPrevExchangeItem.Role role, String[] timeSeriesIdList) { + IExchangeItem.Role role, String[] timeSeriesIdList) { if (timeSeriesIdList == null || timeSeriesIdList.length == 0) throw new IllegalArgumentException("timeSeriesIdList == null || timeSeriesIdList.length == 0"); Set timeSeriesIdSet = new HashSet(Arrays.asList(timeSeriesIdList)); diff --git a/model_hspf/java/test/org/openda/model_hspf/WdmUtilsTest.java b/model_hspf/java/test/org/openda/model_hspf/WdmUtilsTest.java index d3f658d72..a50d21d3e 100644 --- a/model_hspf/java/test/org/openda/model_hspf/WdmUtilsTest.java +++ b/model_hspf/java/test/org/openda/model_hspf/WdmUtilsTest.java @@ -27,7 +27,7 @@ import junit.framework.TestCase; import org.openda.blackbox.config.BBUtils; -import org.openda.interfaces.IPrevExchangeItem; +import org.openda.interfaces.IExchangeItem; import org.openda.utils.OpenDaTestSupport; import org.openda.utils.io.AsciiFileUtils; @@ -179,14 +179,14 @@ public void testCreateExchangeItemsFromFile() throws Exception { File wdmMessageFile = new File(testRunDataDir, relativeWdmMessageFilePath); WdmUtils.openWdmFile(wdmDll, wdmFileNumber, inputFile.getAbsolutePath(), wdmMessageFile.getAbsolutePath()); - List exchangeItems = WdmUtils.createExchangeItemsFromFile(wdmDll, wdmFileNumber, IPrevExchangeItem.Role.Input); + List exchangeItems = WdmUtils.createExchangeItemsFromFile(wdmDll, wdmFileNumber, IExchangeItem.Role.Input); //close wdm file. WdmUtils.closeWdmFile(wdmDll, wdmFileNumber); assertEquals(923, exchangeItems.size()); WdmTimeSeriesExchangeItem exchangeItem = exchangeItems.get(42); - assertEquals(IPrevExchangeItem.Role.Input, exchangeItem.getRole()); + assertEquals(IExchangeItem.Role.Input, exchangeItem.getRole()); assertEquals("48A0341.FLOW", exchangeItem.getId()); assertEquals("48A0341", exchangeItem.getLocation()); assertEquals("FLOW", exchangeItem.getQuantityId()); @@ -221,19 +221,19 @@ public void testCreateExchangeItemsFromList() throws Exception { WdmUtils.openWdmFile(wdmDll, wdmFileNumber, inputFile.getAbsolutePath(), wdmMessageFile.getAbsolutePath()); String[] timeSeriesIdList = new String[]{"48A0341.FLOW", "47A0211.ORP"}; - List exchangeItems = WdmUtils.createExchangeItemsFromList(wdmDll, wdmFileNumber, inputFile.getAbsolutePath(), IPrevExchangeItem.Role.Input, timeSeriesIdList); + List exchangeItems = WdmUtils.createExchangeItemsFromList(wdmDll, wdmFileNumber, inputFile.getAbsolutePath(), IExchangeItem.Role.Input, timeSeriesIdList); //close wdm file. WdmUtils.closeWdmFile(wdmDll, wdmFileNumber); assertEquals(2, exchangeItems.size()); WdmTimeSeriesExchangeItem exchangeItem1 = exchangeItems.get(0); - assertEquals(IPrevExchangeItem.Role.Input, exchangeItem1.getRole()); + assertEquals(IExchangeItem.Role.Input, exchangeItem1.getRole()); assertEquals("48A0341.FLOW", exchangeItem1.getId()); assertEquals("48A0341", exchangeItem1.getLocation()); assertEquals("FLOW", exchangeItem1.getQuantityId()); WdmTimeSeriesExchangeItem exchangeItem2 = exchangeItems.get(1); - assertEquals(IPrevExchangeItem.Role.Input, exchangeItem2.getRole()); + assertEquals(IExchangeItem.Role.Input, exchangeItem2.getRole()); assertEquals("47A0211.ORP", exchangeItem2.getId()); assertEquals("47A0211", exchangeItem2.getLocation()); assertEquals("ORP", exchangeItem2.getQuantityId()); diff --git a/model_metaswap/java/src/org/openda/model_metaswap/EsriAsciiGridSeriesDataObject.java b/model_metaswap/java/src/org/openda/model_metaswap/EsriAsciiGridSeriesDataObject.java index d8231ecb5..a8997e898 100644 --- a/model_metaswap/java/src/org/openda/model_metaswap/EsriAsciiGridSeriesDataObject.java +++ b/model_metaswap/java/src/org/openda/model_metaswap/EsriAsciiGridSeriesDataObject.java @@ -123,7 +123,7 @@ public void initialize(File workingDir, String[] arguments) { } System.arraycopy(exchangeItemValues, 0 , allValues, i*exchangeItemValues.length, exchangeItemValues.length); } - exchangeItem = new ArrayExchangeItem(exchangeItemId, IPrevExchangeItem.Role.InOut); + exchangeItem = new ArrayExchangeItem(exchangeItemId, IExchangeItem.Role.InOut); exchangeItem.setGeometryInfo(geometryInfo); IArray array = new Array(allValues, new int[]{ filesCount, geometryInfo.getLongitudeArray().length(), geometryInfo.getLatitudeArray().length()}, @@ -137,7 +137,7 @@ public String[] getExchangeItemIDs() { } - public String[] getExchangeItemIDs(IPrevExchangeItem.Role role) { + public String[] getExchangeItemIDs(IExchangeItem.Role role) { return getExchangeItemIDs(); } diff --git a/model_metaswap/java/src/org/openda/model_metaswap/SwapResultExchangeItem.java b/model_metaswap/java/src/org/openda/model_metaswap/SwapResultExchangeItem.java index d1384ad67..c36a1f595 100644 --- a/model_metaswap/java/src/org/openda/model_metaswap/SwapResultExchangeItem.java +++ b/model_metaswap/java/src/org/openda/model_metaswap/SwapResultExchangeItem.java @@ -22,6 +22,11 @@ public Role getRole() { return null; } + @Override + public PrevRole getPrevRole() { + return null; + } + @Override public double[] getValuesAsDoubles() { return values; @@ -109,4 +114,4 @@ public Object getValues() { public Class getValueType() { return null; } -} \ No newline at end of file +} diff --git a/model_metaswap/java/src/org/openda/model_metaswap/SwapResultFile.java b/model_metaswap/java/src/org/openda/model_metaswap/SwapResultFile.java index 2e319acf2..30907c850 100644 --- a/model_metaswap/java/src/org/openda/model_metaswap/SwapResultFile.java +++ b/model_metaswap/java/src/org/openda/model_metaswap/SwapResultFile.java @@ -23,7 +23,7 @@ public String[] getExchangeItemIDs() { } @Override - public String[] getExchangeItemIDs(IPrevExchangeItem.Role role) { + public String[] getExchangeItemIDs(IExchangeItem.Role role) { return getExchangeItemIDs(); } diff --git a/model_metaswap/java/src/org/openda/model_metaswap/SwapStateExchangeItem.java b/model_metaswap/java/src/org/openda/model_metaswap/SwapStateExchangeItem.java index 16ec65cc3..d8b561e18 100644 --- a/model_metaswap/java/src/org/openda/model_metaswap/SwapStateExchangeItem.java +++ b/model_metaswap/java/src/org/openda/model_metaswap/SwapStateExchangeItem.java @@ -15,7 +15,12 @@ public SwapStateExchangeItem(String id, double[] values) { } @Override - public IPrevExchangeItem.Role getRole() { + public IExchangeItem.Role getRole() { + return null; + } + + @Override + public IPrevExchangeItem.PrevRole getPrevRole() { return null; } diff --git a/model_metaswap/java/src/org/openda/model_metaswap/SwapStateFile.java b/model_metaswap/java/src/org/openda/model_metaswap/SwapStateFile.java index cf46268ee..e737764fd 100644 --- a/model_metaswap/java/src/org/openda/model_metaswap/SwapStateFile.java +++ b/model_metaswap/java/src/org/openda/model_metaswap/SwapStateFile.java @@ -34,7 +34,7 @@ public String[] getExchangeItemIDs() { } @Override - public String[] getExchangeItemIDs(IPrevExchangeItem.Role role) { + public String[] getExchangeItemIDs(IExchangeItem.Role role) { return getExchangeItemIDs(); } diff --git a/model_nemo/java/src/org/openda/exchange/nemo_exchangeItem.java b/model_nemo/java/src/org/openda/exchange/nemo_exchangeItem.java index f07a9fdc0..cd129a333 100644 --- a/model_nemo/java/src/org/openda/exchange/nemo_exchangeItem.java +++ b/model_nemo/java/src/org/openda/exchange/nemo_exchangeItem.java @@ -36,6 +36,8 @@ public nemo_exchangeItem(String id) { super(id); } + public PrevRole getPrevRole() { return null; } + public void setVector(IVector vector){ this.vector=vector; } diff --git a/model_openfoam/java/src/org/openda/model_openfoam/CsvTimeSeriesDataObject.java b/model_openfoam/java/src/org/openda/model_openfoam/CsvTimeSeriesDataObject.java index e46540a8e..aa9db3c57 100644 --- a/model_openfoam/java/src/org/openda/model_openfoam/CsvTimeSeriesDataObject.java +++ b/model_openfoam/java/src/org/openda/model_openfoam/CsvTimeSeriesDataObject.java @@ -29,7 +29,7 @@ import org.openda.exchange.timeseries.TimeSeriesSet; import org.openda.exchange.timeseries.TimeSeries; import org.openda.interfaces.IExchangeItem; -import org.openda.interfaces.IPrevExchangeItem.Role; +import org.openda.interfaces.IExchangeItem.Role; import java.io.File; import java.util.Iterator; diff --git a/model_openfoam/java/src/org/openda/model_openfoam/CsvTimeSeriesFormatter.java b/model_openfoam/java/src/org/openda/model_openfoam/CsvTimeSeriesFormatter.java index 9acce7603..02d5196f4 100644 --- a/model_openfoam/java/src/org/openda/model_openfoam/CsvTimeSeriesFormatter.java +++ b/model_openfoam/java/src/org/openda/model_openfoam/CsvTimeSeriesFormatter.java @@ -2,7 +2,7 @@ import org.openda.exchange.timeseries.TimeSeries; import org.openda.exchange.timeseries.TimeSeriesFormatter; -import org.openda.interfaces.IPrevExchangeItem.Role; +import org.openda.interfaces.IExchangeItem.Role; import org.openda.exchange.timeseries.TimeUtils; import java.io.*; diff --git a/model_openfoam/java/src/org/openda/model_openfoam/DictionaryDataObject.java b/model_openfoam/java/src/org/openda/model_openfoam/DictionaryDataObject.java index 4e37c2d9e..ae1eacb1c 100755 --- a/model_openfoam/java/src/org/openda/model_openfoam/DictionaryDataObject.java +++ b/model_openfoam/java/src/org/openda/model_openfoam/DictionaryDataObject.java @@ -213,7 +213,7 @@ public String[] getExchangeItemIDs() { /** {@inheritDoc} */ - public String[] getExchangeItemIDs(IPrevExchangeItem.Role role) { + public String[] getExchangeItemIDs(IExchangeItem.Role role) { //TODO: select on role return items.keySet().toArray(new String[items.size()]); } diff --git a/model_openfoam/java/src/org/openda/model_openfoam/DictionaryNoisyDataObject.java b/model_openfoam/java/src/org/openda/model_openfoam/DictionaryNoisyDataObject.java index 10dfd6fe4..a22e88eaa 100755 --- a/model_openfoam/java/src/org/openda/model_openfoam/DictionaryNoisyDataObject.java +++ b/model_openfoam/java/src/org/openda/model_openfoam/DictionaryNoisyDataObject.java @@ -281,7 +281,7 @@ public String[] getExchangeItemIDs() { /** {@inheritDoc} */ - public String[] getExchangeItemIDs(IPrevExchangeItem.Role role) { + public String[] getExchangeItemIDs(IExchangeItem.Role role) { //TODO: select on role return this.getExchangeItemIDs(); } diff --git a/model_openfoam/java/src/org/openda/model_openfoam/DictionaryTimeSeriesDataObject.java b/model_openfoam/java/src/org/openda/model_openfoam/DictionaryTimeSeriesDataObject.java index f99b80086..72d5f9b93 100755 --- a/model_openfoam/java/src/org/openda/model_openfoam/DictionaryTimeSeriesDataObject.java +++ b/model_openfoam/java/src/org/openda/model_openfoam/DictionaryTimeSeriesDataObject.java @@ -239,7 +239,7 @@ public IExchangeItem getDataObjectExchangeItem(String exchangeItemID) { /** {@inheritDoc} */ - public String [] getExchangeItemIDs(IPrevExchangeItem.Role role) { + public String [] getExchangeItemIDs(IExchangeItem.Role role) { return getExchangeItemIDs(); } diff --git a/model_openfoam/java/src/org/openda/model_openfoam/MeshDataObject.java b/model_openfoam/java/src/org/openda/model_openfoam/MeshDataObject.java index 77df05378..bab99abe2 100755 --- a/model_openfoam/java/src/org/openda/model_openfoam/MeshDataObject.java +++ b/model_openfoam/java/src/org/openda/model_openfoam/MeshDataObject.java @@ -33,7 +33,7 @@ import org.openda.interfaces.IArray; import org.openda.interfaces.IDataObject; import org.openda.interfaces.IExchangeItem; -import org.openda.interfaces.IPrevExchangeItem.Role; +import org.openda.interfaces.IExchangeItem.Role; import org.openda.utils.Array; diff --git a/model_openfoam/java/src/org/openda/model_openfoam/ProbeDataObject.java b/model_openfoam/java/src/org/openda/model_openfoam/ProbeDataObject.java index a221ab6ec..8776638cd 100755 --- a/model_openfoam/java/src/org/openda/model_openfoam/ProbeDataObject.java +++ b/model_openfoam/java/src/org/openda/model_openfoam/ProbeDataObject.java @@ -30,7 +30,7 @@ import org.openda.interfaces.IComposableDataObject; import org.openda.interfaces.IExchangeItem; -import org.openda.interfaces.IPrevExchangeItem.Role; +import org.openda.interfaces.IExchangeItem.Role; import java.io.*; import java.util.*; diff --git a/model_openfoam/java/test/org/openda/model_openfoam/MeshDataObjectTest.java b/model_openfoam/java/test/org/openda/model_openfoam/MeshDataObjectTest.java index 29ed73ce5..6b07f4307 100755 --- a/model_openfoam/java/test/org/openda/model_openfoam/MeshDataObjectTest.java +++ b/model_openfoam/java/test/org/openda/model_openfoam/MeshDataObjectTest.java @@ -50,11 +50,11 @@ public void testGetExchangeItemIDs() { public void testGetExchangeItemIDs1() { IDataObject scalarObject = new MeshDataObject(); scalarObject.initialize(testRunDataDir, new String[]{"results/OPENFOAM_TIME_DIR/T"} ); - String[] ids = scalarObject.getExchangeItemIDs(IPrevExchangeItem.Role.InOut); + String[] ids = scalarObject.getExchangeItemIDs(IExchangeItem.Role.InOut); assertEquals("T", ids[0]); IDataObject vectorObject = new MeshDataObject(); vectorObject.initialize(testRunDataDir, new String[]{"results/OPENFOAM_TIME_DIR/U"} ); - ids = vectorObject.getExchangeItemIDs(IPrevExchangeItem.Role.InOut); + ids = vectorObject.getExchangeItemIDs(IExchangeItem.Role.InOut); Arrays.sort(ids); assertEquals("U1", ids[0]); assertEquals("U2", ids[1]); diff --git a/model_swan/java/src/org/openda/model_swan/SwanCalibWrapper.java b/model_swan/java/src/org/openda/model_swan/SwanCalibWrapper.java index 131c76902..ef1945d62 100644 --- a/model_swan/java/src/org/openda/model_swan/SwanCalibWrapper.java +++ b/model_swan/java/src/org/openda/model_swan/SwanCalibWrapper.java @@ -442,8 +442,8 @@ public String[] getExchangeItemIDs() { throw new UnsupportedOperationException("org.openda.model_swan.SwanCalibWrapper: Method not implemented yet."); } - public String[] getExchangeItemIDs(IPrevExchangeItem.Role role) { - if (role == IPrevExchangeItem.Role.InOut) { + public String[] getExchangeItemIDs(IExchangeItem.Role role) { + if (role == IExchangeItem.Role.InOut) { return getExchangeItemIDs(); } throw new UnsupportedOperationException("org.openda.model_swan.SwanCalibWrapper.getExchangeItemIDs(): Role selection not implemented yet."); diff --git a/model_swan/java/src/org/openda/model_swan/SwanField2DFile.java b/model_swan/java/src/org/openda/model_swan/SwanField2DFile.java index f64f73475..ecb200a35 100644 --- a/model_swan/java/src/org/openda/model_swan/SwanField2DFile.java +++ b/model_swan/java/src/org/openda/model_swan/SwanField2DFile.java @@ -332,7 +332,7 @@ public String[] getExchangeItemIDs() { return new String[] {exchangeItems[0].getId()}; } - public String[] getExchangeItemIDs(IPrevExchangeItem.Role role) { + public String[] getExchangeItemIDs(IExchangeItem.Role role) { return getExchangeItemIDs(); } diff --git a/model_swan/java/src/org/openda/model_swan/SwanField2DFileExchangeItem.java b/model_swan/java/src/org/openda/model_swan/SwanField2DFileExchangeItem.java index 69bed3ad0..3bed0853c 100644 --- a/model_swan/java/src/org/openda/model_swan/SwanField2DFileExchangeItem.java +++ b/model_swan/java/src/org/openda/model_swan/SwanField2DFileExchangeItem.java @@ -47,8 +47,8 @@ public Class getValueType() { return double[].class; } - public IPrevExchangeItem.Role getRole(){ - return IPrevExchangeItem.Role.InOut; + public PrevRole getPrevRole(){ + return PrevRole.InOut; } public Object getValues() { diff --git a/model_swan/java/src/org/openda/model_swan/SwanField2DXYFile.java b/model_swan/java/src/org/openda/model_swan/SwanField2DXYFile.java index 270965b34..373e87315 100644 --- a/model_swan/java/src/org/openda/model_swan/SwanField2DXYFile.java +++ b/model_swan/java/src/org/openda/model_swan/SwanField2DXYFile.java @@ -28,8 +28,6 @@ import org.openda.interfaces.IDataObject; import org.openda.interfaces.IPrevExchangeItem; import org.openda.interfaces.IQuantityInfo; -import org.openda.interfaces.IPrevExchangeItem.Role; -import org.openda.model_swan.SwanParameters; import org.openda.utils.Array; import org.openda.utils.IMyObservable; import org.openda.utils.IMyObserver; @@ -121,7 +119,7 @@ public void initialize(File workingDir, String[] arguments) { yValues.scale(valuesScaling); // create exchangeItems - XYTGridExchangeItem windX = new XYTGridExchangeItem("wind.x", Role.InOut); + XYTGridExchangeItem windX = new XYTGridExchangeItem("wind.x", IExchangeItem.Role.InOut); IArray xGrid = Array.Range1(this.xInp,this.mXInp,this.dXInp); IArray yGrid = Array.Range1(this.yInp,this.mYInp,this.dYInp); windX.setXYGrid(xGrid, yGrid); @@ -133,7 +131,7 @@ public void initialize(File workingDir, String[] arguments) { windX.addObserver(this); this.exchangeItems.put("wind.x", windX); - XYTGridExchangeItem windY = new XYTGridExchangeItem("wind.y", Role.InOut); + XYTGridExchangeItem windY = new XYTGridExchangeItem("wind.y", IExchangeItem.Role.InOut); xGrid = Array.Range1(this.xInp,this.mXInp,this.dXInp); yGrid = Array.Range1(this.yInp,this.mYInp,this.dYInp); windY.setXYGrid(xGrid, yGrid); @@ -212,7 +210,7 @@ public String[] getExchangeItemIDs() { return result; } - public String[] getExchangeItemIDs(IPrevExchangeItem.Role role) { + public String[] getExchangeItemIDs(IExchangeItem.Role role) { return getExchangeItemIDs(); } diff --git a/model_swan/java/src/org/openda/model_swan/SwanField2DXYFileExchangeItem.java b/model_swan/java/src/org/openda/model_swan/SwanField2DXYFileExchangeItem.java index 909868f7d..8517d6aac 100644 --- a/model_swan/java/src/org/openda/model_swan/SwanField2DXYFileExchangeItem.java +++ b/model_swan/java/src/org/openda/model_swan/SwanField2DXYFileExchangeItem.java @@ -54,11 +54,13 @@ public ValueType getValuesType() { return ValueType.doublesType; } - public IPrevExchangeItem.Role getRole(){ - return IPrevExchangeItem.Role.InOut; + public IExchangeItem.Role getRole(){ + return IExchangeItem.Role.InOut; } - public Object getValues() { + public IPrevExchangeItem.PrevRole getPrevRole(){ return null; } + + public Object getValues() { return getValuesAsDoubles(); } diff --git a/model_swan/java/src/org/openda/model_swan/SwanField2DXYFileExchangeItem_bak.java b/model_swan/java/src/org/openda/model_swan/SwanField2DXYFileExchangeItem_bak.java deleted file mode 100644 index d0f1dab6c..000000000 --- a/model_swan/java/src/org/openda/model_swan/SwanField2DXYFileExchangeItem_bak.java +++ /dev/null @@ -1,164 +0,0 @@ -/* MOD_V2.0 - * Copyright (c) 2012 OpenDA Association - * All rights reserved. - * - * This file is part of OpenDA. - * - * OpenDA is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as - * published by the Free Software Foundation, either version 3 of - * the License, or (at your option) any later version. - * - * OpenDA is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with OpenDA. If not, see . - */ - -package org.openda.model_swan; - -import org.openda.interfaces.*; - -/** - * Exchange item of vector components (XY) input/output SWAN, each in 2D field data format. - */ -public class SwanField2DXYFileExchangeItem_bak implements IExchangeItem { - private String id; - private SwanField2DXYFile_bak swanWindFile; -// private String direction; - private Integer iTimeX = -1; - private Integer iTimeY = -1; - private Integer iTimeXY = -1; - - public SwanField2DXYFileExchangeItem_bak(String id, SwanField2DXYFile_bak swanWindFile){ - this.id = id; - this.swanWindFile = swanWindFile; - } - - public String getId(){ - return id; - } - - public String getDescription(){ - return null; // no description - } - - public Class getValueType() { - return double[].class; - } - - public ValueType getValuesType() { - return ValueType.doublesType; - } - - public IPrevExchangeItem.Role getRole(){ - return IPrevExchangeItem.Role.InOut; - } - - public Object getValues() { - return getValuesAsDoubles(); - } - - public double[] getValuesAsDoubles() { - double[] obValues = null; - int nTimeMax = swanWindFile.getNTimes(); - if (id.equalsIgnoreCase("wind.x")) { - iTimeX++; - if (iTimeX==swanWindFile.getNTimes()){ - throw new RuntimeException("Data at iTime>"+nTimeMax+" is not available: org.openda.model_swan.SwanWindFileExchangeItem.getValuesAsDoubles"); - } - obValues = swanWindFile.getXComp(iTimeX); - } else if (id.equalsIgnoreCase("wind.y")) { - iTimeY++; - if (iTimeY==swanWindFile.getNTimes()){ - throw new RuntimeException("Data at iTime>"+nTimeMax+" is not available: org.openda.model_swan.SwanWindFileExchangeItem.getValuesAsDoubles"); - } - obValues = swanWindFile.getYComp(iTimeY); - } else if (id.equalsIgnoreCase("wind.xy")) { - iTimeXY++; - if (iTimeY==swanWindFile.getNTimes()){ - throw new RuntimeException("Data at iTime>"+nTimeMax+" is not available: org.openda.model_swan.SwanWindFileExchangeItem.getValuesAsDoubles"); - } - obValues = swanWindFile.getXYComp(iTimeXY); - } - return obValues; - } - - public void axpyOnValues(double alpha, double[] axpyValues) { - if (id.equalsIgnoreCase("wind.x")) { - swanWindFile.axpyXComp(iTimeX,alpha,axpyValues); - } else if (id.equalsIgnoreCase("wind.y")) { - swanWindFile.axpyYComp(iTimeY,alpha,axpyValues); - } else if (id.equalsIgnoreCase("wind.xy")) { - swanWindFile.axpyXYComp(iTimeXY,alpha,axpyValues); - } - } - - public void multiplyValues(double[] multiplicationFactors) { - if (id.equalsIgnoreCase("wind.x")) { - swanWindFile.multiplyXComp(iTimeX,multiplicationFactors); - } else if (id.equalsIgnoreCase("wind.y")) { - swanWindFile.multiplyYComp(iTimeY,multiplicationFactors); - } else if (id.equalsIgnoreCase("wind.xy")) { - swanWindFile.multiplyXYComp(iTimeXY,multiplicationFactors); - } - } - - public void setValues(Object values) { - if (!(values instanceof double[])) { - throw new RuntimeException("SetValues for" + this.getId() + ": unexpected object type: " + values.getClass().getName()); - } - setValuesAsDoubles((double[]) values); - } - - public void setValuesAsDoubles(double[] values) { - if (id.equalsIgnoreCase("wind.x")) { - swanWindFile.setXComp(iTimeX,values); - } else if (id.equalsIgnoreCase("wind.y")) { - swanWindFile.setYComp(iTimeY,values); - } else if (id.equalsIgnoreCase("wind.xy")) { - swanWindFile.setXYComp(iTimeXY,values); - } - } - - public double[] getTimes() { - throw new UnsupportedOperationException("org.openda.model_swan.SwanStateFileExchangeItem.getTimes(): Not implemented yet."); - } - - public void setTimes(double[] times) { - throw new UnsupportedOperationException("org.openda.model_swan.SwanStateFileExchangeItem.setTimes(): Not implemented yet."); - } - - public void resetTimeCounter() { - if (id.equalsIgnoreCase("wind.x")) { - iTimeX = -1; - } else if (id.equalsIgnoreCase("wind.y")) { - iTimeY = -1; - } else if (id.equalsIgnoreCase("wind.xy")) { - iTimeXY = -1; - } - } - - - public void copyValuesFromItem(IExchangeItem sourceItem) { - throw new UnsupportedOperationException("org.openda.model_swan.SwanField2DXYFileExchangeItem.copyValuesFromItem(): Not implemented yet."); - } - - - public ITimeInfo getTimeInfo() { - throw new UnsupportedOperationException("org.openda.model_swan.SwanField2DXYFileExchangeItem.getTimeInfo(): Not implemented yet."); - } - - - public IQuantityInfo getQuantityInfo() { - throw new UnsupportedOperationException("org.openda.model_swan.SwanField2DXYFileExchangeItem.getQuantityInfo(): Not implemented yet."); - } - - - public IGeometryInfo getGeometryInfo() { - return null; - } -} diff --git a/model_swan/java/src/org/openda/model_swan/SwanField2DXYFile_bak.java b/model_swan/java/src/org/openda/model_swan/SwanField2DXYFile_bak.java deleted file mode 100644 index ea321b4aa..000000000 --- a/model_swan/java/src/org/openda/model_swan/SwanField2DXYFile_bak.java +++ /dev/null @@ -1,500 +0,0 @@ -/* MOD_V2.0 - * Copyright (c) 2012 OpenDA Association - * All rights reserved. - * - * This file is part of OpenDA. - * - * OpenDA is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as - * published by the Free Software Foundation, either version 3 of - * the License, or (at your option) any later version. - * - * OpenDA is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with OpenDA. If not, see . - */ - -package org.openda.model_swan; - -import org.openda.blackbox.config.BBUtils; -import org.openda.interfaces.IExchangeItem; -import org.openda.interfaces.IDataObject; -import org.openda.interfaces.IPrevExchangeItem; -import org.openda.model_swan.SwanParameters; - -import java.io.*; -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Date; -import java.util.Locale; - -/** - * Reading and writing vector components (XY) input/output files of SWAN, each in 2D field data format. - */ -public class SwanField2DXYFile_bak implements IDataObject { - - private static String[] knownFileTypes = {"WIND", "CURRENT"}; - private IExchangeItem[] exchangeItems; - - private File field2dXYFile; - private File field2dXYSeriesFile =null; - private ArrayList listWindFiles = new ArrayList(); -// private ArrayList lines = new ArrayList(); -// private ArrayList field2dXYVal = new ArrayList(); - private Field2dXYValuesPerTimeLevel field2dXYSeriesVal; - private int mXInp; - private int mYInp; - private int mnMax; - private int nTimeLevelField2DXY; - private double facField2DXY; - private int nhedfField2DXY; - private int nhedtField2DXY; - private int nhedvecField2DXY; - private int nDataFirstLine; - private int idlaField2DXY; - private String[] swanField2DXYFileId = new String[]{"wind.x","wind.y","wind.xy"}; - - public int getNTimes(){ - return nTimeLevelField2DXY; - } - - public double[] getXYComp(int tIndexField2DXY) { - double[] xComp = getXComp(tIndexField2DXY); - double[] yComp = getYComp(tIndexField2DXY); - double[] xyComp = new double[xComp.length+yComp.length]; - System.arraycopy(xComp,0,xyComp,0,xComp.length); - System.arraycopy(yComp,0,xyComp,xComp.length,yComp.length); - return xyComp; - } - - public double[] getXComp(int tIndexField2DXY) { - double[] xComp; -// if (isField2DXYSeries) { - readField2DXYFile(tIndexField2DXY); - xComp= field2dXYSeriesVal.xComp; -// } else { -// valueField2D= field2dXYVal.get(tIndexField2DXY).valueField2D; -// } - return xComp; - } - - public double[] getYComp(int tIndexField2DXY) { - double[] yComp; -// if (isField2DXYSeries) { - readField2DXYFile(tIndexField2DXY); - yComp= field2dXYSeriesVal.yComp; -// } else { -// yComp= field2dXYVal.get(tIndexField2DXY).yComp; -// } - return yComp; - } - - public void multiplyXYComp(int tIndexField2DXY, double[] alpha) { - if (tIndexField2DXY!= field2dXYSeriesVal.intTime) { - throw new RuntimeException("Wind data at time index "+tIndexField2DXY+" is not yet loaded."); - } - double[] xComp = getXComp(tIndexField2DXY); - double[] yComp = getYComp(tIndexField2DXY); - for (int i = 0; i < xComp.length; i++) { - xComp[i] = alpha[0] * xComp[i]; - yComp[i] = alpha[0] * yComp[i]; - } - System.arraycopy(xComp,0, field2dXYSeriesVal.xComp,0,xComp.length); - System.arraycopy(yComp,0, field2dXYSeriesVal.yComp,0,yComp.length); - writeField2DXYFile(); - } - - public void multiplyXComp(int tIndexField2DXY, double[] alpha) { - if (tIndexField2DXY!= field2dXYSeriesVal.intTime) { - throw new RuntimeException("Wind data at time index "+tIndexField2DXY+" is not yet loaded."); - } - double[] xComp = getXComp(tIndexField2DXY); - for (int i = 0; i < xComp.length; i++) { - xComp[i] = alpha[0] * xComp[i]; - } - System.arraycopy(xComp,0, field2dXYSeriesVal.xComp,0,xComp.length); - writeField2DXYFile(); - } - - public void multiplyYComp(int tIndexField2DXY, double[] alpha) { - if (tIndexField2DXY!= field2dXYSeriesVal.intTime) { - throw new RuntimeException("Wind data at time index "+tIndexField2DXY+" is not yet loaded."); - } - double[] yComp = getYComp(tIndexField2DXY); - for (int i = 0; i < yComp.length; i++) { - yComp[i] = alpha[0] * yComp[i]; - } - System.arraycopy(yComp,0, field2dXYSeriesVal.yComp,0,yComp.length); - writeField2DXYFile(); - } - - public void axpyXYComp(int tIndexField2DXY, double alpha, double[] axpyXComp, double[] axpyYComp) { - if (tIndexField2DXY!= field2dXYSeriesVal.intTime) { - throw new RuntimeException("Wind data at time index "+tIndexField2DXY+" is not yet loaded."); - } - double[] xComp = getXComp(tIndexField2DXY); - double[] yComp = getYComp(tIndexField2DXY); - for (int i = 0; i < xComp.length; i++) { - xComp[i] += alpha * axpyXComp[i]; - yComp[i] += alpha * axpyYComp[i]; - } - System.arraycopy(xComp,0, field2dXYSeriesVal.xComp,0,xComp.length); - System.arraycopy(yComp,0, field2dXYSeriesVal.yComp,0,yComp.length); - writeField2DXYFile(); - } - - public void axpyXYComp(int tIndexField2DXY, double alpha, double[] axpyXYValues) { - int lengthX = getXComp(tIndexField2DXY).length; - int lengthY = getYComp(tIndexField2DXY).length; - double[] xComp = new double[lengthX]; - double[] yComp = new double[lengthY]; - System.arraycopy(axpyXYValues,0,xComp,0,lengthX); - System.arraycopy(axpyXYValues,lengthX,yComp,0,lengthY); - axpyXYComp(tIndexField2DXY,alpha,xComp,yComp); - } - - public void axpyXComp(int tIndexField2DXY, double alpha, double[] axpyXComp) { - double[] yComp = new double[axpyXComp.length]; - for (int i=0; imnMax) { - throw new RuntimeException("Number of X-component of grid data is larger than grid points: " + this.field2dXYFile.getAbsolutePath()); - } - if (iYCompmnMax) { - throw new RuntimeException("Number of Y-component of grid data is larger than grid points: " + this.field2dXYFile.getAbsolutePath()); - } - if (nData<2*mnMax){ - throw new RuntimeException("Number of grid data is not complete: " + this.field2dXYFile.getAbsolutePath()); - } else if (nData>2*mnMax) { - throw new RuntimeException("Number of grid data is larger than grid points: " + this.field2dXYFile.getAbsolutePath()); - } - windFileBufferedReader.close(); - } catch (IOException e) { - throw new RuntimeException("Could not read swan wind file " + this.field2dXYFile.getAbsolutePath()); - } - field2dXYSeriesVal = new Field2dXYValuesPerTimeLevel(tIndexField2DXY,xComp,yComp); - } - - private void readListField2DXYSeries() { - try { - BufferedReader windSeriesFileBufferedReader = new BufferedReader(new FileReader(this.field2dXYSeriesFile)); - String line = windSeriesFileBufferedReader.readLine(); - while (line != null) { - listWindFiles.add(line); - line = windSeriesFileBufferedReader.readLine(); - } - windSeriesFileBufferedReader.close(); - } catch (IOException e) { - throw new RuntimeException("Could not read swan wind file " + this.field2dXYSeriesFile.getAbsolutePath()); - } - - if (listWindFiles.size() thisSeries=values[iLoc*nQuants+iQuant]; diff --git a/model_swan/java/src/org/openda/model_swan/SwanStateFile.java b/model_swan/java/src/org/openda/model_swan/SwanStateFile.java index 7ca90e865..039e8f8f4 100644 --- a/model_swan/java/src/org/openda/model_swan/SwanStateFile.java +++ b/model_swan/java/src/org/openda/model_swan/SwanStateFile.java @@ -22,7 +22,6 @@ import org.openda.interfaces.IExchangeItem; import org.openda.interfaces.IDataObject; -import org.openda.interfaces.IPrevExchangeItem; import java.io.File; import java.io.IOException; @@ -76,7 +75,7 @@ public String[] getExchangeItemIDs() { return new String[] {exchangeItems[0].getId()}; } - public String[] getExchangeItemIDs(IPrevExchangeItem.Role role) { + public String[] getExchangeItemIDs(IExchangeItem.Role role) { return getExchangeItemIDs(); } diff --git a/model_swan/java/src/org/openda/model_swan/SwanStateFileExchangeItem.java b/model_swan/java/src/org/openda/model_swan/SwanStateFileExchangeItem.java index 516cdaa7b..99b8ede8d 100644 --- a/model_swan/java/src/org/openda/model_swan/SwanStateFileExchangeItem.java +++ b/model_swan/java/src/org/openda/model_swan/SwanStateFileExchangeItem.java @@ -53,10 +53,14 @@ public ValueType getValuesType() { } public Role getRole(){ - return IPrevExchangeItem.Role.InOut; + return Role.InOut; } - public Object getValues() { + public PrevRole getPrevRole(){ + return null; + } + + public Object getValues() { return getValuesAsDoubles(); } diff --git a/model_swan/java/src/org/openda/model_swan/SwanTimeInfo.java b/model_swan/java/src/org/openda/model_swan/SwanTimeInfo.java index f4d6daea8..f91c711f6 100644 --- a/model_swan/java/src/org/openda/model_swan/SwanTimeInfo.java +++ b/model_swan/java/src/org/openda/model_swan/SwanTimeInfo.java @@ -24,7 +24,6 @@ import org.openda.exchange.timeseries.TimeUtils; import org.openda.interfaces.IDataObject; import org.openda.interfaces.IExchangeItem; -import org.openda.interfaces.IPrevExchangeItem; import java.io.*; import java.text.ParseException; @@ -226,7 +225,7 @@ private void initialize(File workingDir, String fileName, String[] arguments) { exchangeItems[2] = new SwanTimeInfoExchangeItem(swanTimeInfoId[2],this); } - public IPrevExchangeItem[] getExchangeItems() { + public IExchangeItem[] getExchangeItems() { return exchangeItems; } @@ -234,7 +233,7 @@ public String[] getExchangeItemIDs() { return new String[] {exchangeItems[0].getId(),exchangeItems[1].getId(),exchangeItems[2].getId()}; } - public String[] getExchangeItemIDs(IPrevExchangeItem.Role role) { + public String[] getExchangeItemIDs(IExchangeItem.Role role) { return getExchangeItemIDs(); } diff --git a/model_swan/java/src/org/openda/model_swan/SwanTimeInfoExchangeItem.java b/model_swan/java/src/org/openda/model_swan/SwanTimeInfoExchangeItem.java index 209ba48d2..17b23dda0 100644 --- a/model_swan/java/src/org/openda/model_swan/SwanTimeInfoExchangeItem.java +++ b/model_swan/java/src/org/openda/model_swan/SwanTimeInfoExchangeItem.java @@ -51,9 +51,11 @@ public ValueType getValuesType() { } public Role getRole() { - return IPrevExchangeItem.Role.InOut; + return Role.InOut; } + public PrevRole getPrevRole() { return null; } + public Object getValues() { double time; if (this.id.equals("start_time")) { diff --git a/model_swan/java/test/org/openda/model_swan/SwanWLevelField2DFileTest.java b/model_swan/java/test/org/openda/model_swan/SwanWLevelField2DFileTest.java index c83868825..cec0e49d5 100644 --- a/model_swan/java/test/org/openda/model_swan/SwanWLevelField2DFileTest.java +++ b/model_swan/java/test/org/openda/model_swan/SwanWLevelField2DFileTest.java @@ -49,7 +49,7 @@ public void testSwanWLevelField2DFile() throws IOException { String exchangeItemID = swanWLevelFile.getExchangeItemIDs()[0]; IPrevExchangeItem swnWLevelExchItem = swanWLevelFile.getExchangeItem(exchangeItemID); // System.out.println("Number of exchangeItems: "+ swnWLevelExchItem.length); - System.out.println("swnWLevelExchItem[0].getRole(): "+ swnWLevelExchItem.getRole()); + System.out.println("swnWLevelExchItem[0].getRole(): "+ swnWLevelExchItem.getPrevRole()); System.out.println("swnWLevelExchItem[0].getId(): "+ swnWLevelExchItem.getId()); // for (int i=0;i< swnWLevelExchItem.;i++){ // System.out.println("swnWLevelExchItem["+i+"].id: "+ swnWLevelExchItem[i].getId()); diff --git a/model_wflow/java/src/org/openda/model_wflow/Wflow2DMapStateExchangeItem.java b/model_wflow/java/src/org/openda/model_wflow/Wflow2DMapStateExchangeItem.java index e6f8e18d3..c0c20da9a 100644 --- a/model_wflow/java/src/org/openda/model_wflow/Wflow2DMapStateExchangeItem.java +++ b/model_wflow/java/src/org/openda/model_wflow/Wflow2DMapStateExchangeItem.java @@ -41,7 +41,7 @@ */ public class Wflow2DMapStateExchangeItem implements IExchangeItem { private final String variableName; - private final IPrevExchangeItem.Role role; + private final IExchangeItem.Role role; private final ITime timeHorizon; private final WflowPythonToJavaAdapter adapter; private final IQuantityInfo quantityInfo; @@ -56,7 +56,7 @@ public class Wflow2DMapStateExchangeItem implements IExchangeItem { * @param timeHorizon * @param adapter */ - public Wflow2DMapStateExchangeItem(String variableName, IPrevExchangeItem.Role role, + public Wflow2DMapStateExchangeItem(String variableName, IExchangeItem.Role role, IQuantityInfo quantityInfo, ArrayGeometryInfo geometryInfo, ITime timeHorizon, WflowPythonToJavaAdapter adapter) { this.variableName = variableName; this.role = role; @@ -82,6 +82,8 @@ public Role getRole() { return this.role; } + public PrevRole getPrevRole() { return null; } + public ITimeInfo getTimeInfo() { return new TimeInfo(getTimes()); } diff --git a/model_wflow/java/src/org/openda/model_wflow/WflowModelInstance.java b/model_wflow/java/src/org/openda/model_wflow/WflowModelInstance.java index de033e21d..5e9ab1075 100644 --- a/model_wflow/java/src/org/openda/model_wflow/WflowModelInstance.java +++ b/model_wflow/java/src/org/openda/model_wflow/WflowModelInstance.java @@ -30,7 +30,7 @@ import org.openda.exchange.iotools.DataCopier; import org.openda.exchange.timeseries.TimeUtils; import org.openda.interfaces.*; -import org.openda.interfaces.IPrevExchangeItem.Role; +import org.openda.interfaces.IExchangeItem.Role; import org.openda.localization.LocalizationDomainsSimpleModel; import org.openda.utils.Array; import org.openda.utils.Instance; @@ -222,7 +222,7 @@ private void createModelExchangeItems() { // 1 = is output (from the model) // 2 = input/output (state information) // 3 = model parameter - IPrevExchangeItem.Role role; + IExchangeItem.Role role; switch (variableRole) { case 0: //boundary condition. @@ -472,7 +472,7 @@ public IVector[] getObservedLocalization(IObservationDescriptions observationDes * * @param observationDescriptions * @param distance characteristic distance for Cohn's formula. - * @param selector selector to specify the domain. + * @param iDomain integer to specify the domain. * @return weight vector for each observation location. */ public IVector[] getObservedLocalization(IObservationDescriptions observationDescriptions, double distance, int iDomain) { @@ -614,7 +614,7 @@ public String[] getExchangeItemIDs() { * @param role Input, Output, or InOut. * @return exchangeItemIds. */ - public String[] getExchangeItemIDs(IPrevExchangeItem.Role role) { + public String[] getExchangeItemIDs(IExchangeItem.Role role) { List ids = new ArrayList(); for (IExchangeItem exchangeItem : this.modelExchangeItems.values()) { if (exchangeItem.getRole() == role) { diff --git a/models/java/src/org/openda/models/biasAwareObservations/BiasAwareObservationsModelInstance.java b/models/java/src/org/openda/models/biasAwareObservations/BiasAwareObservationsModelInstance.java index baae49669..12fa39d82 100644 --- a/models/java/src/org/openda/models/biasAwareObservations/BiasAwareObservationsModelInstance.java +++ b/models/java/src/org/openda/models/biasAwareObservations/BiasAwareObservationsModelInstance.java @@ -358,7 +358,7 @@ public String[] getExchangeItemIDs() { } - public String[] getExchangeItemIDs(IPrevExchangeItem.Role role) { + public String[] getExchangeItemIDs(IExchangeItem.Role role) { return new String[0]; //To change body of implemented methods use File | Settings | File Templates. } diff --git a/models/java/src/org/openda/models/circularAdvection/CircularAdvectionInstance.java b/models/java/src/org/openda/models/circularAdvection/CircularAdvectionInstance.java index d36baeb20..9afab0d33 100644 --- a/models/java/src/org/openda/models/circularAdvection/CircularAdvectionInstance.java +++ b/models/java/src/org/openda/models/circularAdvection/CircularAdvectionInstance.java @@ -441,7 +441,7 @@ public String[] getExchangeItemIDs() { } @Override - public String[] getExchangeItemIDs(IPrevExchangeItem.Role role) { + public String[] getExchangeItemIDs(IExchangeItem.Role role) { throw new RuntimeException("not implemented"); } diff --git a/models/java/src/org/openda/models/circularAdvection1000/CircularAdvection1000Instance.java b/models/java/src/org/openda/models/circularAdvection1000/CircularAdvection1000Instance.java index 0324c65ae..64e115697 100644 --- a/models/java/src/org/openda/models/circularAdvection1000/CircularAdvection1000Instance.java +++ b/models/java/src/org/openda/models/circularAdvection1000/CircularAdvection1000Instance.java @@ -444,7 +444,7 @@ public String[] getExchangeItemIDs() { } @Override - public String[] getExchangeItemIDs(IPrevExchangeItem.Role role) { + public String[] getExchangeItemIDs(IExchangeItem.Role role) { throw new RuntimeException("not implemented"); } diff --git a/models/java/src/org/openda/models/simpleModel/SimpleStochModelInstance.java b/models/java/src/org/openda/models/simpleModel/SimpleStochModelInstance.java index ac0719bc6..cb100e2e0 100644 --- a/models/java/src/org/openda/models/simpleModel/SimpleStochModelInstance.java +++ b/models/java/src/org/openda/models/simpleModel/SimpleStochModelInstance.java @@ -652,8 +652,8 @@ public String[] getExchangeItemIDs() { throw new UnsupportedOperationException("org.openda.models.simpleModel.SimpleStochModelInstance.getExchangeItemIDs(): Not implemented yet."); } - public String[] getExchangeItemIDs(IPrevExchangeItem.Role role) { - if (role == IPrevExchangeItem.Role.InOut) { + public String[] getExchangeItemIDs(IExchangeItem.Role role) { + if (role == IExchangeItem.Role.InOut) { return getExchangeItemIDs(); } throw new UnsupportedOperationException("org.openda.models.simpleModel.SimpleOscillatorStochModelInstance.getExchangeItemIDs(): Role selection not implemented yet."); diff --git a/models/java/src/org/openda/models/simultaneousGroupModel/SimultaneousGroupStochModelInstance.java b/models/java/src/org/openda/models/simultaneousGroupModel/SimultaneousGroupStochModelInstance.java index bd94635d8..55e32eed6 100644 --- a/models/java/src/org/openda/models/simultaneousGroupModel/SimultaneousGroupStochModelInstance.java +++ b/models/java/src/org/openda/models/simultaneousGroupModel/SimultaneousGroupStochModelInstance.java @@ -30,7 +30,7 @@ import org.openda.localization.LocalizationDomainsSimpleModel; import org.openda.observationOperators.ObservationOperatorDeprecatedModel; import org.openda.interfaces.*; -import org.openda.interfaces.IPrevExchangeItem.Role; +import org.openda.interfaces.IExchangeItem.Role; import org.openda.observers.GroupObservationDesrciptions; import org.openda.utils.Instance; import org.openda.utils.StochVector; diff --git a/models/java/src/org/openda/models/smootherModel/smootherModelInstance.java b/models/java/src/org/openda/models/smootherModel/smootherModelInstance.java index a5a8cd952..a1ef26cb9 100644 --- a/models/java/src/org/openda/models/smootherModel/smootherModelInstance.java +++ b/models/java/src/org/openda/models/smootherModel/smootherModelInstance.java @@ -233,7 +233,7 @@ public String[] getExchangeItemIDs() { } - public String[] getExchangeItemIDs(IPrevExchangeItem.Role role) { + public String[] getExchangeItemIDs(IExchangeItem.Role role) { return new String[0]; //To change body of implemented methods use File | Settings | File Templates. } diff --git a/observers/java/src/org/openda/observers/IoObjectStochObserver.java b/observers/java/src/org/openda/observers/IoObjectStochObserver.java index c7a1224b8..75ee1ebc0 100644 --- a/observers/java/src/org/openda/observers/IoObjectStochObserver.java +++ b/observers/java/src/org/openda/observers/IoObjectStochObserver.java @@ -851,7 +851,11 @@ public ValueType getValuesType() { } public Role getRole() { - return exchangeItem.getRole(); + return null; + } + + public PrevRole getPrevRole() { + return exchangeItem.getPrevRole(); } public Object getValues() { diff --git a/observers/java/src/org/openda/observers/NonMissingStochObserverExchangeItem.java b/observers/java/src/org/openda/observers/NonMissingStochObserverExchangeItem.java index cd856e520..d52aa6231 100644 --- a/observers/java/src/org/openda/observers/NonMissingStochObserverExchangeItem.java +++ b/observers/java/src/org/openda/observers/NonMissingStochObserverExchangeItem.java @@ -140,9 +140,10 @@ public ValueType getValuesType() { public Role getRole() { - return this.ioExchangeItem.getRole(); + return null; } + public PrevRole getPrevRole() { return this.ioExchangeItem.getPrevRole();} public Object getValues() { return this.values; From 97ad26dc16482c6c29a486c7983351bec5f26fc6 Mon Sep 17 00:00:00 2001 From: Alja Vrieling Date: Tue, 3 Sep 2019 16:00:41 +0200 Subject: [PATCH 002/188] removed model_delft3d from build.xml --- build.xml | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/build.xml b/build.xml index b9cc7a170..884d5e103 100644 --- a/build.xml +++ b/build.xml @@ -72,7 +72,6 @@ - @@ -110,7 +109,6 @@ - @@ -154,7 +152,6 @@ - @@ -263,7 +260,6 @@ - @@ -353,7 +349,6 @@ - @@ -427,7 +422,6 @@ - @@ -476,7 +470,6 @@ - @@ -524,7 +517,6 @@ - @@ -557,7 +549,6 @@ - @@ -577,8 +568,7 @@ - - + @@ -760,7 +750,6 @@ - From 7171979230f93e5e9abfec0b81b10348918b6349 Mon Sep 17 00:00:00 2001 From: Alja Vrieling Date: Tue, 3 Sep 2019 16:02:29 +0200 Subject: [PATCH 003/188] eliminated all direct implementations of IPrevExchangeItem --- .../DudWithObservationFilterTest.java | 2 +- ...nstantLimitsRangeValidationConstraint.java | 4 +- .../config/RangeValidationConstraint.java | 4 +- .../blackbox/io/BaseTemplateDataObject.java | 15 ++- .../blackbox/io/TreeVectorIoObject.java | 30 +++++- .../wrapper/BBStochModelInstance.java | 12 +-- .../src/org/openda/costa/CtaOpenDaModel.java | 2 +- ...tantLimitsRangeValidationExchangeItem.java | 31 +++++-- .../org/openda/interfaces/IModelInstance.java | 2 +- .../openda/interfaces/IPrevExchangeItem.java | 7 +- .../noiseModels/MapsNoiseModelInstance.java | 2 +- .../TimeSeriesNoiseModelInstance.java | 2 +- .../uncertaintyModels/ParameterDrawer.java | 2 +- .../blackbox/wrapper/DummyAstroIoObject.java | 45 ++++++--- .../wrapper/DummyModelForTestingNoise.java | 4 +- .../wrapper/DummyParametersIoObject.java | 43 ++++++--- .../openda/blackbox/wrapper/DummySeries.java | 43 ++++++--- .../openda/blackbox/wrapper/DummyState.java | 8 +- .../wrapper/DummyTestStochObserver.java | 8 +- .../wrapper/DummyTimeInfoIoObject.java | 91 ++----------------- .../org/openda/dotnet/ExchangeItemN2J.java | 30 +++++- .../org/openda/dotnet/ModelInstanceN2J.java | 2 +- .../openda/model_bmi/BmiModelInstance.java | 2 +- .../model_efdc_dll/EfdcModelInstance.java | 2 +- .../simplef90model/SimpleExchangeItem.java | 35 +++++-- .../simplef90model/SimpleModelInstance.java | 4 +- .../openda/model_swan/SwanCalibWrapper.java | 2 +- .../SwanField2DFileExchangeItem.java | 26 +++++- .../org/openda/model_swan/SwanInputFile.java | 4 +- .../model_swan/SwanInputFileExchangeItem.java | 25 ++++- .../model_swan/SwanTemplateDataObject.java | 7 +- .../model_wflow/WflowModelInstance.java | 4 +- .../BiasAwareObservationsModelInstance.java | 2 +- .../CircularAdvectionInstance.java | 2 +- .../CircularAdvection1000Instance.java | 2 +- .../models/rmiModel/IRmiIStochModel.java | 2 +- .../rmiModel/RmiClientStochModelInstance.java | 4 +- .../org/openda/models/rmiModel/Server.java | 2 +- .../simpleModel/SimpleStochModelInstance.java | 2 +- .../SimultaneousGroupStochModelInstance.java | 2 +- .../smootherModel/smootherModelInstance.java | 2 +- .../threadModel/ThreadStochModelInstance.java | 2 +- 42 files changed, 301 insertions(+), 221 deletions(-) diff --git a/algorithms/java/test/org/openda/algorithms/DudWithObservationFilterTest.java b/algorithms/java/test/org/openda/algorithms/DudWithObservationFilterTest.java index d3b0357c3..a9ff9815c 100644 --- a/algorithms/java/test/org/openda/algorithms/DudWithObservationFilterTest.java +++ b/algorithms/java/test/org/openda/algorithms/DudWithObservationFilterTest.java @@ -250,7 +250,7 @@ public IExchangeItem getDataObjectExchangeItem(String exchangeItemID) { throw new UnsupportedOperationException("org.openda.algorithms.DudWithObservationFilterTest.DummyModelInstance.getDataObjectExchangeItem(): Not implemented yet."); } - public IPrevExchangeItem getExchangeItem(String exchangeItemID) { + public IExchangeItem getExchangeItem(String exchangeItemID) { throw new UnsupportedOperationException("org.openda.algorithms.DudWithObservationFilterTest.DummyModelInstance.getExchangeItem(): Not implemented yet."); } diff --git a/core/java/src/org/openda/blackbox/config/ConstantLimitsRangeValidationConstraint.java b/core/java/src/org/openda/blackbox/config/ConstantLimitsRangeValidationConstraint.java index 7f033c104..04c05c3ec 100644 --- a/core/java/src/org/openda/blackbox/config/ConstantLimitsRangeValidationConstraint.java +++ b/core/java/src/org/openda/blackbox/config/ConstantLimitsRangeValidationConstraint.java @@ -20,7 +20,7 @@ package org.openda.blackbox.config; import org.openda.exchange.ConstantLimitsRangeValidationExchangeItem; -import org.openda.interfaces.IPrevExchangeItem; +import org.openda.interfaces.IExchangeItem; /** * Constraint that limits the range of the values of an exchangeItem using a constant lower and/or upper limit. @@ -107,7 +107,7 @@ public String getAffectedExchangeItemId() { * @param affectedExchangeItem the item to be wrapped. * @return rangeValidationExchangeItem that wraps the given item. */ - public IPrevExchangeItem wrapAffectedExchangeItem(IPrevExchangeItem affectedExchangeItem) { + public IExchangeItem wrapAffectedExchangeItem(IExchangeItem affectedExchangeItem) { if (affectedExchangeItem == null) { throw new IllegalArgumentException("affectedExchangeItem is null."); } diff --git a/core/java/src/org/openda/blackbox/config/RangeValidationConstraint.java b/core/java/src/org/openda/blackbox/config/RangeValidationConstraint.java index 144a9ea8e..20ae37cc5 100644 --- a/core/java/src/org/openda/blackbox/config/RangeValidationConstraint.java +++ b/core/java/src/org/openda/blackbox/config/RangeValidationConstraint.java @@ -19,7 +19,7 @@ */ package org.openda.blackbox.config; -import org.openda.interfaces.IPrevExchangeItem; +import org.openda.interfaces.IExchangeItem; /** * Interface to be implemented by classes that can wrap an exchange item in a rangeValidationExchangeItem @@ -53,5 +53,5 @@ public interface RangeValidationConstraint { * @param affectedExchangeItem the item to be wrapped. * @return rangeValidationExchangeItem that wraps the given item. */ - public IPrevExchangeItem wrapAffectedExchangeItem(IPrevExchangeItem affectedExchangeItem); + public IExchangeItem wrapAffectedExchangeItem(IExchangeItem affectedExchangeItem); } diff --git a/core/java/src/org/openda/blackbox/io/BaseTemplateDataObject.java b/core/java/src/org/openda/blackbox/io/BaseTemplateDataObject.java index f40aa9bc8..e762cb3a2 100644 --- a/core/java/src/org/openda/blackbox/io/BaseTemplateDataObject.java +++ b/core/java/src/org/openda/blackbox/io/BaseTemplateDataObject.java @@ -23,7 +23,6 @@ import org.openda.exchange.TemplateKeyExchangeItem; import org.openda.interfaces.IExchangeItem; import org.openda.interfaces.IDataObject; -import org.openda.interfaces.IPrevExchangeItem; import java.io.File; import java.io.FileOutputStream; @@ -63,17 +62,17 @@ public void initialize(File workingDir, String fileName, String[] arguments) { } } - public IPrevExchangeItem[] getExchangeItems() { + public IExchangeItem[] getExchangeItems() { return exchangeItems; } public String[] getExchangeItemIDs() { - if (exchangeItems == null) return new String[]{}; - IPrevExchangeItem[] items = getExchangeItems(); + if (exchangeItems == null) return new String[]{}; + IExchangeItem[] items = getExchangeItems(); String[] ids = new String[items.length]; int k=0; - for (IPrevExchangeItem exchangeItem : items) { + for (IExchangeItem exchangeItem : items) { ids[k++] = exchangeItem.getId(); } return ids; @@ -88,7 +87,7 @@ public String[] getExchangeItemIDs(IExchangeItem.Role role) { public IExchangeItem getDataObjectExchangeItem(String exchangeItemID) { int indexExchangeItem = Integer.MAX_VALUE; - IPrevExchangeItem[] items = getExchangeItems(); + IExchangeItem[] items = getExchangeItems(); for (int i = 0; i < items.length; i++) { if (exchangeItemID.equals(items[i].getId())) { indexExchangeItem = i; @@ -101,7 +100,7 @@ public IExchangeItem getDataObjectExchangeItem(String exchangeItemID) { if (!(items[indexExchangeItem] instanceof IExchangeItem)) { throw new RuntimeException("Found exchange item is not instance of IExchangeItem " + exchangeItemID); } - return (IExchangeItem)items[indexExchangeItem]; + return items[indexExchangeItem]; } } @@ -149,7 +148,7 @@ public void writeValuesFile(String filename, boolean overwriteExistingFiles) { } public void writeValuesFile(PrintWriter printer) { - for (IPrevExchangeItem exchangeItem: exchangeItems) { + for (IExchangeItem exchangeItem: exchangeItems) { printer.println(exchangeItem.getId() + "=" + exchangeItem.getValues()); } diff --git a/core/java/src/org/openda/blackbox/io/TreeVectorIoObject.java b/core/java/src/org/openda/blackbox/io/TreeVectorIoObject.java index 9dee7b77a..8ff23dad2 100644 --- a/core/java/src/org/openda/blackbox/io/TreeVectorIoObject.java +++ b/core/java/src/org/openda/blackbox/io/TreeVectorIoObject.java @@ -20,6 +20,10 @@ package org.openda.blackbox.io; import org.openda.blackbox.interfaces.IoObjectInterface; import org.openda.interfaces.IPrevExchangeItem; +import org.openda.interfaces.IExchangeItem; +import org.openda.interfaces.ITimeInfo; +import org.openda.interfaces.IQuantityInfo; +import org.openda.interfaces.IGeometryInfo; import org.openda.interfaces.ITreeVector; import org.openda.utils.Vector; import org.openda.utils.io.TreeVectorReader; @@ -87,11 +91,11 @@ public String toString() { return treeVectorFile.toString(); } - private class TreeVectorIoObjectExchangeItem implements IPrevExchangeItem { + private class TreeVectorIoObjectExchangeItem implements IExchangeItem { private ITreeVector treeVector; - public TreeVectorIoObjectExchangeItem(ITreeVector treeVector) { + private TreeVectorIoObjectExchangeItem(ITreeVector treeVector) { this.treeVector = treeVector; } @@ -103,10 +107,20 @@ public String getDescription() { return treeVector.getDescription(); } + public IQuantityInfo getQuantityInfo() { return null; } + + public IGeometryInfo getGeometryInfo() { return null; } + public Class getValueType() { return double[].class; } + public ValueType getValuesType() { return ValueType.doublesType; } + + public IExchangeItem.Role getRole() { + return IExchangeItem.Role.InOut; + } + public IPrevExchangeItem.PrevRole getPrevRole() { return IPrevExchangeItem.PrevRole.InOut; } @@ -135,10 +149,20 @@ public void setValues(Object values) { setValuesAsDoubles((double[]) values); } - public void setValuesAsDoubles(double[] values) { + public void copyValuesFromItem(IExchangeItem sourceItem) { + ValueType sourceType=sourceItem.getValuesType(); + if(sourceType != ValueType.doublesType){ + throw new RuntimeException("TreeVectorIoObjectExchangeItem.copyValuesFromItem(): unknown type: " + sourceType ); + } + this.setValues(sourceItem.getValues()); + } + + public void setValuesAsDoubles(double[] values) { treeVector.setValues(values); } + public ITimeInfo getTimeInfo() { return null; } + public double[] getTimes() { return null; } diff --git a/core/java/src/org/openda/blackbox/wrapper/BBStochModelInstance.java b/core/java/src/org/openda/blackbox/wrapper/BBStochModelInstance.java index be9b6f7ac..e46ca23d7 100644 --- a/core/java/src/org/openda/blackbox/wrapper/BBStochModelInstance.java +++ b/core/java/src/org/openda/blackbox/wrapper/BBStochModelInstance.java @@ -100,7 +100,7 @@ public IObservationOperator getObservationOperator(){ * when it is first requested in method BBStochModelInstance.getExchangeItem. This is needed because * some (e.g. output) exchangeItems are not initialized when the model has not run yet. */ - private Map constraintExchangeItems = new LinkedHashMap(); + private Map constraintExchangeItems = new LinkedHashMap(); private IObservationDescriptions observationDescriptions; public BBStochModelInstance(File configRootDir, IModelInstance model, @@ -397,9 +397,9 @@ public IExchangeItem getDataObjectExchangeItem(String exchangeItemId) { * Get ExchangeItems through old interface of IModelInstance. * NOTE: all methods in the stochmodel now use the OLD interface. TODO move to new interface. */ - public IPrevExchangeItem getExchangeItem(String exchangeItemId) { + public IExchangeItem getExchangeItem(String exchangeItemId) { //check if exchangeItem with given id is a constraintExchangeItem and has already been constructed. - IPrevExchangeItem constraintExchangeItem = this.constraintExchangeItems.get(exchangeItemId); + IExchangeItem constraintExchangeItem = this.constraintExchangeItems.get(exchangeItemId); if (constraintExchangeItem != null) { return constraintExchangeItem; } @@ -409,7 +409,7 @@ public IPrevExchangeItem getExchangeItem(String exchangeItemId) { if (constraint != null) { //construct constraintExchangeItem. //the wrapping constraintExchangeItem always has a different unique id from the original wrapped exchangeItem. - IPrevExchangeItem affectedExchangeItem = getExchangeItem(constraint.getAffectedExchangeItemId()); + IExchangeItem affectedExchangeItem = getExchangeItem(constraint.getAffectedExchangeItemId()); constraintExchangeItem = constraint.wrapAffectedExchangeItem(affectedExchangeItem); this.constraintExchangeItems.put(exchangeItemId, constraintExchangeItem); return constraintExchangeItem; @@ -419,8 +419,8 @@ public IPrevExchangeItem getExchangeItem(String exchangeItemId) { return getExchangeItemDirectlyFromModel(exchangeItemId); } - private IPrevExchangeItem getExchangeItemDirectlyFromModel(String exchangeItemId) { - IPrevExchangeItem exchangeItem = this.model.getExchangeItem(exchangeItemId); + private IExchangeItem getExchangeItemDirectlyFromModel(String exchangeItemId) { + IExchangeItem exchangeItem = this.model.getExchangeItem(exchangeItemId); if (exchangeItem == null) { String allItems = ""; diff --git a/core/java/src/org/openda/costa/CtaOpenDaModel.java b/core/java/src/org/openda/costa/CtaOpenDaModel.java index a4171b845..84b325fa4 100644 --- a/core/java/src/org/openda/costa/CtaOpenDaModel.java +++ b/core/java/src/org/openda/costa/CtaOpenDaModel.java @@ -176,7 +176,7 @@ public IExchangeItem getDataObjectExchangeItem(String exchangeItemID) { throw new UnsupportedOperationException("org.openda.costa.CtaOpenDaModel.getDataObjectExchangeItem(): Not implemented yet."); } - public IPrevExchangeItem getExchangeItem(String exchangeItemID) { + public IExchangeItem getExchangeItem(String exchangeItemID) { throw new UnsupportedOperationException("org.costa.CtaOpenDaModel.getExchangeItem(): Not implemented yet."); } diff --git a/core/java/src/org/openda/exchange/ConstantLimitsRangeValidationExchangeItem.java b/core/java/src/org/openda/exchange/ConstantLimitsRangeValidationExchangeItem.java index 849a720be..749843b75 100644 --- a/core/java/src/org/openda/exchange/ConstantLimitsRangeValidationExchangeItem.java +++ b/core/java/src/org/openda/exchange/ConstantLimitsRangeValidationExchangeItem.java @@ -21,10 +21,7 @@ package org.openda.exchange; import org.openda.blackbox.config.BBUtils; -import org.openda.interfaces.IArray; -import org.openda.interfaces.IExchangeItem.Role; -import org.openda.interfaces.IPrevExchangeItem; -import org.openda.interfaces.IVector; +import org.openda.interfaces.*; /** * This exchangeItem wraps another exchangeItem and applies constant range validation limits @@ -33,13 +30,13 @@ * @author Arno Kockx */ @SuppressWarnings("serial") -public class ConstantLimitsRangeValidationExchangeItem implements IPrevExchangeItem { +public class ConstantLimitsRangeValidationExchangeItem implements IExchangeItem { /** * Id of this constraintExchangeItem. */ private final String constraintExchangeItemId; - private final IPrevExchangeItem wrappedExchangeItem; + private final IExchangeItem wrappedExchangeItem; /** * This is Double.NaN if not set. @@ -60,7 +57,7 @@ public class ConstantLimitsRangeValidationExchangeItem implements IPrevExchangeI * @param upperLimit Double.NaN means not set. */ public ConstantLimitsRangeValidationExchangeItem(String constraintExchangeItemId, - IPrevExchangeItem exchangeItem, double lowerLimit, double upperLimit) { + IExchangeItem exchangeItem, double lowerLimit, double upperLimit) { if (constraintExchangeItemId == null || constraintExchangeItemId.isEmpty()) { throw new IllegalArgumentException("constraintExchangeItemId is empty."); @@ -89,14 +86,24 @@ public String getDescription() { return this.wrappedExchangeItem.getDescription(); } + public IQuantityInfo getQuantityInfo() { return this.wrappedExchangeItem.getQuantityInfo(); } + + public IGeometryInfo getGeometryInfo() { return this.wrappedExchangeItem.getGeometryInfo(); } + + public Role getRole() { return this.wrappedExchangeItem.getRole(); } + public PrevRole getPrevRole() { - return this.wrappedExchangeItem.getPrevRole(); + return null; } public Class getValueType() { return this.wrappedExchangeItem.getValueType(); } + public ValueType getValuesType() { return this.wrappedExchangeItem.getValuesType(); } + + public ITimeInfo getTimeInfo() { return this.wrappedExchangeItem.getTimeInfo(); } + public double[] getTimes() { return this.wrappedExchangeItem.getTimes(); } @@ -139,6 +146,14 @@ public void multiplyValues(double[] multiplicationFactors) { setValuesAsDoubles(values); } + public void copyValuesFromItem(IExchangeItem sourceItem) { + ValueType sourceType=sourceItem.getValuesType(); + if(sourceType != ValueType.doublesType){ + throw new RuntimeException("TreeVectorIoObjectExchangeItem.copyValuesFromItem(): unknown type: " + sourceType ); + } + this.setValues(sourceItem.getValues()); + } + public void setValues(Object values) { //need to convert the given values from Object to double array, because method applyLimits only works for a double array. double[] doubles = convertValuesToDoubles(values); diff --git a/core/java/src/org/openda/interfaces/IModelInstance.java b/core/java/src/org/openda/interfaces/IModelInstance.java index 383969c05..5d6305029 100644 --- a/core/java/src/org/openda/interfaces/IModelInstance.java +++ b/core/java/src/org/openda/interfaces/IModelInstance.java @@ -39,7 +39,7 @@ public interface IModelInstance extends IDataObject, IInstance { * @param exchangeItemID The exchange item identifier. * @return The required exchange item. */ - IPrevExchangeItem getExchangeItem(String exchangeItemID); + IExchangeItem getExchangeItem(String exchangeItemID); /************************************* *** Time information / Computing diff --git a/core/java/src/org/openda/interfaces/IPrevExchangeItem.java b/core/java/src/org/openda/interfaces/IPrevExchangeItem.java index c6a9500b0..1af828412 100644 --- a/core/java/src/org/openda/interfaces/IPrevExchangeItem.java +++ b/core/java/src/org/openda/interfaces/IPrevExchangeItem.java @@ -26,7 +26,10 @@ /** * Item for which the values can be retrieved from or provided to the model. * The model tells which exchange items it has, after which the exchange item is used to access the values. - * This version of the exchange item is called the 'previous' version. It will become deprecated not too + * This version of the exchange item is called the 'previous' version. + * @deprecated + * This class is replaced by the generic DFlowFMXynExchangeItem class + * * long from now, so new model and data object developers should implement * @see IExchangeItem */ @@ -95,7 +98,7 @@ public enum PrevRole { /** * Set the values of the exchange item - * @param values The values to be set, ccording the type as defined in getValueType() + * @param values The values to be set, according the type as defined in getValueType() */ public void setValues(Object values); diff --git a/core/java/src/org/openda/noiseModels/MapsNoiseModelInstance.java b/core/java/src/org/openda/noiseModels/MapsNoiseModelInstance.java index f0dba5781..c3e7d18a2 100644 --- a/core/java/src/org/openda/noiseModels/MapsNoiseModelInstance.java +++ b/core/java/src/org/openda/noiseModels/MapsNoiseModelInstance.java @@ -398,7 +398,7 @@ private void addSystemNoiseChild(StochTreeVector systemNoise, String id, Coordin systemNoise.addChild(spatialCorrelationStochVector); } - public IPrevExchangeItem getExchangeItem(String exchangeItemID) { + public IExchangeItem getExchangeItem(String exchangeItemID) { return outputSeries.get(exchangeItemID); } diff --git a/core/java/src/org/openda/noiseModels/TimeSeriesNoiseModelInstance.java b/core/java/src/org/openda/noiseModels/TimeSeriesNoiseModelInstance.java index fdfa809e3..5f0fbe461 100644 --- a/core/java/src/org/openda/noiseModels/TimeSeriesNoiseModelInstance.java +++ b/core/java/src/org/openda/noiseModels/TimeSeriesNoiseModelInstance.java @@ -328,7 +328,7 @@ public void initialize(File workingDir, String[] arguments) { this.sysNoiseIntensity = new StochVector(new Vector(seriesTrees.length) , this.standardDeviation); } - public IPrevExchangeItem getExchangeItem(String exchangeItemID) { + public IExchangeItem getExchangeItem(String exchangeItemID) { return outputSeries.get(exchangeItemID); } diff --git a/core/java/src/org/openda/uncertaintyModels/ParameterDrawer.java b/core/java/src/org/openda/uncertaintyModels/ParameterDrawer.java index c14ff07b9..3d0f088de 100644 --- a/core/java/src/org/openda/uncertaintyModels/ParameterDrawer.java +++ b/core/java/src/org/openda/uncertaintyModels/ParameterDrawer.java @@ -145,7 +145,7 @@ public IVector[] getStateScaling(IObservationDescriptions observationDescription } - public IPrevExchangeItem getExchangeItem(String exchangeItemID) { + public IExchangeItem getExchangeItem(String exchangeItemID) { throw new UnsupportedOperationException("org.openda.uncertaintyModels.ParameterDrawer.getExchangeItem(): Not implemented yet."); } diff --git a/core/java/test/org/openda/blackbox/wrapper/DummyAstroIoObject.java b/core/java/test/org/openda/blackbox/wrapper/DummyAstroIoObject.java index 5bb9a843b..732457483 100644 --- a/core/java/test/org/openda/blackbox/wrapper/DummyAstroIoObject.java +++ b/core/java/test/org/openda/blackbox/wrapper/DummyAstroIoObject.java @@ -22,7 +22,10 @@ package org.openda.blackbox.wrapper; import org.openda.blackbox.interfaces.IoObjectInterface; -import org.openda.interfaces.IPrevExchangeItem; +import org.openda.interfaces.IExchangeItem; +import org.openda.interfaces.IGeometryInfo; +import org.openda.interfaces.IQuantityInfo; +import org.openda.interfaces.ITimeInfo; import java.io.File; @@ -31,10 +34,10 @@ */ public class DummyAstroIoObject implements IoObjectInterface { - private IPrevExchangeItem[] exchangeItems; + private IExchangeItem[] exchangeItems; public void initialize(File workingDir, String fileName, String[] arguments) { - exchangeItems = new IPrevExchangeItem[10]; + exchangeItems = new IExchangeItem[10]; exchangeItems[0] = new DummyExchangeItem("locA.Ampl", .6); exchangeItems[1] = new DummyExchangeItem("locA.Phase", 145); exchangeItems[2] = new DummyExchangeItem("locB.Ampl", .8); @@ -47,16 +50,16 @@ public void initialize(File workingDir, String fileName, String[] arguments) { exchangeItems[9] = new DummyExchangeItem("locE.Phase", 185); } - public IPrevExchangeItem[] getExchangeItems() { + public IExchangeItem[] getExchangeItems() { return exchangeItems; } - private class DummyExchangeItem implements IPrevExchangeItem { + private class DummyExchangeItem implements IExchangeItem { private String exchangeItemId; private Double value; - public DummyExchangeItem(String exchangeItemId, double value) { + DummyExchangeItem(String exchangeItemId, double value) { this.exchangeItemId = exchangeItemId; this.value = value; } @@ -69,22 +72,22 @@ public String getDescription() { return null; // no description } - public String getQuantityId() { - return exchangeItemId; - } + public IQuantityInfo getQuantityInfo() { return null; } - public String getUnitId() { - return "-"; - } + public IGeometryInfo getGeometryInfo() { return null; } public Class getValueType() { return Double.TYPE; } - public PrevRole getPrevRole() { - return PrevRole.InOut; + public ValueType getValuesType() { + return ValueType.doubleType; } + public Role getRole() { return Role.InOut; } + + public PrevRole getPrevRole() { return PrevRole.InOut; } + public Object getValues() { return value; } @@ -107,7 +110,15 @@ public void multiplyValues(double[] multiplicationFactors) { this.value *= multiplicationFactors[0]; } - public void setValues(Object values) { + public void copyValuesFromItem(IExchangeItem sourceItem) { + ValueType sourceType=sourceItem.getValuesType(); + if(sourceType != ValueType.doublesType){ + throw new RuntimeException("DummyAstroDataObject.DummyExchangeItem.setValues(): unknown type: " + sourceType ); + } + this.setValues(sourceItem.getValues()); + } + + public void setValues(Object values) { if (!(values instanceof Double)) { throw new RuntimeException("DummyAstroIoObject.DummyExchangeItem.setValues(): unknown object type: " + values.getClass() ); } @@ -121,6 +132,10 @@ public void setValuesAsDoubles(double[] values) { value = values[0]; } + public ITimeInfo getTimeInfo() { + return null; + } + public double[] getTimes() { return null; } diff --git a/core/java/test/org/openda/blackbox/wrapper/DummyModelForTestingNoise.java b/core/java/test/org/openda/blackbox/wrapper/DummyModelForTestingNoise.java index a55062b9d..5e861f028 100644 --- a/core/java/test/org/openda/blackbox/wrapper/DummyModelForTestingNoise.java +++ b/core/java/test/org/openda/blackbox/wrapper/DummyModelForTestingNoise.java @@ -38,7 +38,7 @@ */ public class DummyModelForTestingNoise implements IModelInstance { - private HashMap exchangeItems = new HashMap(); + private HashMap exchangeItems = new HashMap(); private Time simulationTime; private Time currentTime; private ArrayList exchangeItemsIdsTS; @@ -87,7 +87,7 @@ public String[] getExchangeItemIDs() { return exchangeItems.keySet().toArray(new String[exchangeItems.size()]); } - public IPrevExchangeItem getExchangeItem(String exchangeItemID) { + public IExchangeItem getExchangeItem(String exchangeItemID) { return exchangeItems.get(exchangeItemID); } diff --git a/core/java/test/org/openda/blackbox/wrapper/DummyParametersIoObject.java b/core/java/test/org/openda/blackbox/wrapper/DummyParametersIoObject.java index eb24f1ceb..fe84996c5 100644 --- a/core/java/test/org/openda/blackbox/wrapper/DummyParametersIoObject.java +++ b/core/java/test/org/openda/blackbox/wrapper/DummyParametersIoObject.java @@ -22,7 +22,10 @@ package org.openda.blackbox.wrapper; import org.openda.blackbox.interfaces.IoObjectInterface; -import org.openda.interfaces.IPrevExchangeItem; +import org.openda.interfaces.IExchangeItem; +import org.openda.interfaces.IGeometryInfo; +import org.openda.interfaces.IQuantityInfo; +import org.openda.interfaces.ITimeInfo; import java.io.File; @@ -31,10 +34,10 @@ */ public class DummyParametersIoObject implements IoObjectInterface { - private IPrevExchangeItem[] exchangeItems; + private IExchangeItem[] exchangeItems; public void initialize(File workingDir, String fileName, String[] arguments) { - exchangeItems = new IPrevExchangeItem[10]; + exchangeItems = new IExchangeItem[10]; exchangeItems[0] = new DummyExchangeItem("locA.Par1", 101.d); exchangeItems[1] = new DummyExchangeItem("locA.Par2", 102.d); exchangeItems[2] = new DummyExchangeItem("locB.Par1", 201.d); @@ -47,16 +50,16 @@ public void initialize(File workingDir, String fileName, String[] arguments) { exchangeItems[9] = new DummyExchangeItem("locE.Par_n", 502.d); } - public IPrevExchangeItem[] getExchangeItems() { + public IExchangeItem[] getExchangeItems() { return exchangeItems; } - private class DummyExchangeItem implements IPrevExchangeItem { + private class DummyExchangeItem implements IExchangeItem { private String exchangeItemId; private Double value; - public DummyExchangeItem(String exchangeItemId, double value) { + DummyExchangeItem(String exchangeItemId, double value) { this.exchangeItemId = exchangeItemId; this.value = value; } @@ -69,22 +72,22 @@ public String getDescription() { return null; // no description } - public String getQuantityId() { - return exchangeItemId; - } + public IQuantityInfo getQuantityInfo() { return null; } - public String getUnitId() { - return "-"; - } + public IGeometryInfo getGeometryInfo() { return null; } public Class getValueType() { return Double.TYPE; } - public PrevRole getPrevRole() { - return PrevRole.InOut; + public ValueType getValuesType() { + return ValueType.doubleType; } + public Role getRole() { return Role.InOut; } + + public PrevRole getPrevRole() { return PrevRole.InOut; } + public Object getValues() { return value; } @@ -107,6 +110,14 @@ public void multiplyValues(double[] multiplicationFactors) { this.value *= multiplicationFactors[0]; } + public void copyValuesFromItem(IExchangeItem sourceItem) { + ValueType sourceType=sourceItem.getValuesType(); + if(sourceType != ValueType.doublesType){ + throw new RuntimeException("DummyAstroDataObject.DummyExchangeItem.setValues(): unknown type: " + sourceType ); + } + this.setValues(sourceItem.getValues()); + } + public void setValues(Object values) { if (!(values instanceof Double)) { throw new RuntimeException("DummyAstroIoObject.DummyExchangeItem.setValues(): unknown object type: " + values.getClass() ); @@ -121,6 +132,10 @@ public void setValuesAsDoubles(double[] values) { value = values[0]; } + public ITimeInfo getTimeInfo() { + return null; + } + public double[] getTimes() { return null; } diff --git a/core/java/test/org/openda/blackbox/wrapper/DummySeries.java b/core/java/test/org/openda/blackbox/wrapper/DummySeries.java index ca8cc67d5..e45003300 100644 --- a/core/java/test/org/openda/blackbox/wrapper/DummySeries.java +++ b/core/java/test/org/openda/blackbox/wrapper/DummySeries.java @@ -22,7 +22,10 @@ package org.openda.blackbox.wrapper; import org.openda.blackbox.interfaces.IoObjectInterface; -import org.openda.interfaces.IPrevExchangeItem; +import org.openda.interfaces.IExchangeItem; +import org.openda.interfaces.IGeometryInfo; +import org.openda.interfaces.IQuantityInfo; +import org.openda.interfaces.ITimeInfo; import java.io.File; @@ -30,26 +33,26 @@ * Dummy Series object for testing purposes */ public class DummySeries implements IoObjectInterface { - private IPrevExchangeItem[] exchangeItems; + private IExchangeItem[] exchangeItems; public void initialize(File workingDir, String fileName, String[] arguments) { String[] exchangeItemIds = fileName.split(";"); - exchangeItems = new IPrevExchangeItem[exchangeItemIds.length]; + exchangeItems = new IExchangeItem[exchangeItemIds.length]; for (int i = 0; i < exchangeItemIds.length; i++) { exchangeItems[i] = new DummyExchangeItem(exchangeItemIds[i], (i+1)*1000); } } - public IPrevExchangeItem[] getExchangeItems() { + public IExchangeItem[] getExchangeItems() { return exchangeItems; } - private class DummyExchangeItem implements IPrevExchangeItem { + private class DummyExchangeItem implements IExchangeItem { private String exchangeItemId; private Double value; - public DummyExchangeItem(String exchangeItemId, double value) { + DummyExchangeItem(String exchangeItemId, double value) { this.exchangeItemId = exchangeItemId; this.value = value; } @@ -62,22 +65,22 @@ public String getDescription() { return null; // no description } - public String getQuantityId() { - return exchangeItemId; - } + public IQuantityInfo getQuantityInfo() { return null; } - public String getUnitId() { - return "-"; - } + public IGeometryInfo getGeometryInfo() { return null; } public Class getValueType() { return Double.TYPE; } - public PrevRole getPrevRole() { - return IPrevExchangeItem.PrevRole.InOut; + public ValueType getValuesType() { + return ValueType.doubleType; } + public Role getRole() { return Role.InOut; } + + public PrevRole getPrevRole() { return PrevRole.InOut; } + public Object getValues() { return value; } @@ -100,6 +103,14 @@ public void multiplyValues(double[] multiplicationFactors) { this.value *= multiplicationFactors[0]; } + public void copyValuesFromItem(IExchangeItem sourceItem) { + ValueType sourceType=sourceItem.getValuesType(); + if(sourceType != ValueType.doublesType){ + throw new RuntimeException("DummyAstroDataObject.DummyExchangeItem.setValues(): unknown type: " + sourceType ); + } + this.setValues(sourceItem.getValues()); + } + public void setValues(Object values) { if (!(values instanceof Double)) { throw new RuntimeException("DummySeries.DummyExchangeItem.setValues(): unknown object type: " + values.getClass() ); @@ -114,6 +125,10 @@ public void setValuesAsDoubles(double[] values) { value = values[0]; } + public ITimeInfo getTimeInfo() { + return null; + } + public double[] getTimes() { return null; } diff --git a/core/java/test/org/openda/blackbox/wrapper/DummyState.java b/core/java/test/org/openda/blackbox/wrapper/DummyState.java index bd21914ec..7439397ca 100644 --- a/core/java/test/org/openda/blackbox/wrapper/DummyState.java +++ b/core/java/test/org/openda/blackbox/wrapper/DummyState.java @@ -23,7 +23,7 @@ import org.openda.blackbox.interfaces.IoObjectInterface; import org.openda.exchange.DoublesExchangeItem; -import org.openda.interfaces.IPrevExchangeItem; +import org.openda.interfaces.IExchangeItem; import org.openda.interfaces.IExchangeItem.Role; import java.io.*; @@ -35,7 +35,7 @@ */ public class DummyState implements IoObjectInterface { - private IPrevExchangeItem[] exchangeItems = null; + private IExchangeItem[] exchangeItems = null; private File stateFile = null; public void initialize(File workingDir, String fileName, String[] arguments) { @@ -60,10 +60,10 @@ public void initialize(File workingDir, String fileName, String[] arguments) { for (int i = 0, valuesLength = values.length; i < valuesLength; i++) { values[i] = Double.parseDouble(lines.get(i)); } - exchangeItems = new IPrevExchangeItem[]{new DoublesExchangeItem("state", Role.InOut, values)}; + exchangeItems = new IExchangeItem[]{new DoublesExchangeItem("state", Role.InOut, values)}; } - public IPrevExchangeItem[] getExchangeItems() { + public IExchangeItem[] getExchangeItems() { return exchangeItems; } diff --git a/core/java/test/org/openda/blackbox/wrapper/DummyTestStochObserver.java b/core/java/test/org/openda/blackbox/wrapper/DummyTestStochObserver.java index 74142b411..28ad88475 100644 --- a/core/java/test/org/openda/blackbox/wrapper/DummyTestStochObserver.java +++ b/core/java/test/org/openda/blackbox/wrapper/DummyTestStochObserver.java @@ -107,9 +107,9 @@ public void free() { private class DummyTestObservationDescriptions implements IObservationDescriptions { - private List exchangeItems = new ArrayList(); + private List exchangeItems = new ArrayList<>(); - public DummyTestObservationDescriptions(String[] arguments) { + DummyTestObservationDescriptions(String[] arguments) { for (String argument : arguments) { String[] ids = argument.trim().split(";"); for (String id : ids) { @@ -146,9 +146,9 @@ public ITime[] getTimes() { return null; } - private class DummyTestExchangeItem extends ExchangeItem implements IPrevExchangeItem { + private class DummyTestExchangeItem extends ExchangeItem { - public DummyTestExchangeItem(String argument) { + DummyTestExchangeItem(String argument) { super(argument); } diff --git a/core/java/test/org/openda/blackbox/wrapper/DummyTimeInfoIoObject.java b/core/java/test/org/openda/blackbox/wrapper/DummyTimeInfoIoObject.java index 88abc3410..5a615b694 100644 --- a/core/java/test/org/openda/blackbox/wrapper/DummyTimeInfoIoObject.java +++ b/core/java/test/org/openda/blackbox/wrapper/DummyTimeInfoIoObject.java @@ -21,7 +21,7 @@ import org.openda.blackbox.interfaces.IoObjectInterface; import org.openda.exchange.DoubleExchangeItem; -import org.openda.interfaces.IPrevExchangeItem; +import org.openda.interfaces.IExchangeItem; import org.openda.utils.Time; import java.io.File; @@ -35,7 +35,7 @@ */ public class DummyTimeInfoIoObject implements IoObjectInterface { - private IPrevExchangeItem[] exchangeItems = null; + private IExchangeItem[] exchangeItems = null; public void initialize(File workingDir, String fileName, String[] arguments) { if (arguments.length != 2) { @@ -46,13 +46,13 @@ public void initialize(File workingDir, String fileName, String[] arguments) { Date endDate; try { - startDate = (Date) formatter.parse(arguments[0]); + startDate = formatter.parse(arguments[0]); } catch (ParseException e) { throw new RuntimeException(this.getClass().getName() + ": could not parse start time from argument \"" + arguments[0] + "\""); } try { - endDate = (Date) formatter.parse(arguments[1]); + endDate = formatter.parse(arguments[1]); } catch (ParseException e) { throw new RuntimeException(this.getClass().getName() + ": could not parse end time from argument \"" + arguments[1] + "\""); @@ -60,94 +60,15 @@ public void initialize(File workingDir, String fileName, String[] arguments) { double startTimeAsMjd = new Time(startDate).getMJD(); double endTimeAsMjd = new Time(endDate).getMJD(); - exchangeItems = new IPrevExchangeItem[2]; + exchangeItems = new IExchangeItem[2]; exchangeItems[0] = new DoubleExchangeItem("start_time", startTimeAsMjd); exchangeItems[1] = new DoubleExchangeItem("end_time", endTimeAsMjd); } - public IPrevExchangeItem[] getExchangeItems() { + public IExchangeItem[] getExchangeItems() { return exchangeItems; } - private class DummyExchangeItem implements IPrevExchangeItem { - - private String exchangeItemId; - private Double value; - - public DummyExchangeItem(String exchangeItemId, double value) { - this.exchangeItemId = exchangeItemId; - this.value = value; - } - - public String getId() { - return exchangeItemId; - } - - public String getDescription() { - return null; // no description - } - - public String getQuantityId() { - return exchangeItemId; - } - - public String getUnitId() { - return "-"; - } - - public Class getValueType() { - return Double.TYPE; - } - - public PrevRole getPrevRole() { - return PrevRole.InOut; - } - - public Object getValues() { - return value; - } - - public double[] getValuesAsDoubles() { - return new double[]{value}; - } - - public void axpyOnValues(double alpha, double[] axpyValues) { - if (axpyValues.length !=1){ - throw new UnsupportedOperationException("Length of axpy value array must be 1"); - } - this.value += alpha * axpyValues[0]; - } - - public void multiplyValues(double[] multiplicationFactors) { - if (multiplicationFactors.length !=1){ - throw new UnsupportedOperationException("Length of multiplication factors array must be 1"); - } - this.value *= multiplicationFactors[0]; - } - - public void setValues(Object values) { - if (!(values instanceof Double)) { - throw new RuntimeException("DummyAstroIoObject.DummyExchangeItem.setValues(): unknown object type: " + values.getClass()); - } - value = (Double) values; - } - - public void setValuesAsDoubles(double[] values) { - if (values.length != 1) { - throw new RuntimeException("DummyAstroIoObject.DummyExchangeItem.setValuesAsDoubles(): values size > 1 : " + values.length); - } - value = values[0]; - } - - public double[] getTimes() { - return null; - } - - public void setTimes(double[] times) { - throw new RuntimeException(this.getClass().getName() + " does not have timeStamps"); - } - } - public void finish() { // no action needed } diff --git a/dotnet_bridge/java/src/org/openda/dotnet/ExchangeItemN2J.java b/dotnet_bridge/java/src/org/openda/dotnet/ExchangeItemN2J.java index 9953cc6b6..1eefe05d7 100644 --- a/dotnet_bridge/java/src/org/openda/dotnet/ExchangeItemN2J.java +++ b/dotnet_bridge/java/src/org/openda/dotnet/ExchangeItemN2J.java @@ -21,12 +21,15 @@ package org.openda.dotnet; -import org.openda.interfaces.IPrevExchangeItem; +import org.openda.interfaces.IExchangeItem; +import org.openda.interfaces.IGeometryInfo; +import org.openda.interfaces.IQuantityInfo; +import org.openda.interfaces.ITimeInfo; /** * Java wrapper around .net class for an Exchange Item */ -public class ExchangeItemN2J implements IPrevExchangeItem { +public class ExchangeItemN2J implements IExchangeItem { private cli.OpenDA.DotNet.Interfaces.IExchangeItem dotNotExchangeItem; @@ -42,16 +45,23 @@ public String getDescription() { return dotNotExchangeItem.get_Description(); } + public IQuantityInfo getQuantityInfo() { throw new UnsupportedOperationException("org.openda.dotnet.ExchangeItemN2J.getQuantityInfo(): Not implemented yet."); } + + public IGeometryInfo getGeometryInfo() { throw new UnsupportedOperationException("org.openda.dotnet.ExchangeItemN2J.getGeometryInfo(): Not implemented yet."); } + public Class getValueType() { // for now, just always return an array of doubles, no matter wat the dotnet object's value type is return double[].class; } - public PrevRole getPrevRole() { - // for now, just always return in/out - return PrevRole.InOut; + public ValueType getValuesType() { + return ValueType.doublesType; } + public Role getRole() { return Role.InOut; } + + public PrevRole getPrevRole() { return null; } + public Object getValues() { // for now, just always return an array of doubles, no matter wat the dotnet object's value type is return dotNotExchangeItem.get_ValuesAsDoubles(); @@ -61,6 +71,14 @@ public double[] getValuesAsDoubles() { return dotNotExchangeItem.get_ValuesAsDoubles(); } + public void copyValuesFromItem(IExchangeItem sourceItem) { + ValueType sourceType=sourceItem.getValuesType(); + if(sourceType != ValueType.doublesType){ + throw new RuntimeException("DummyAstroDataObject.DummyExchangeItem.setValues(): unknown type: " + sourceType ); + } + this.setValues(sourceItem.getValues()); + } + public void axpyOnValues(double alpha, double[] axpyValues) { dotNotExchangeItem.AxpyOnValues(alpha, axpyValues); } @@ -77,6 +95,8 @@ public void setValuesAsDoubles(double[] values) { dotNotExchangeItem.set_ValuesAsDoubles(values); } + public ITimeInfo getTimeInfo() { throw new UnsupportedOperationException("org.openda.dotnet.ExchangeItemN2J.getTimeInfo(): Not implemented yet."); } + public double[] getTimes() { return dotNotExchangeItem.get_Times(); } diff --git a/dotnet_bridge/java/src/org/openda/dotnet/ModelInstanceN2J.java b/dotnet_bridge/java/src/org/openda/dotnet/ModelInstanceN2J.java index 967d3c125..06ad52379 100644 --- a/dotnet_bridge/java/src/org/openda/dotnet/ModelInstanceN2J.java +++ b/dotnet_bridge/java/src/org/openda/dotnet/ModelInstanceN2J.java @@ -246,7 +246,7 @@ public IExchangeItem getDataObjectExchangeItem(String exchangeItemID) { throw new UnsupportedOperationException("org.openda.dotnet.ModelInstanceN2J.getDataObjectExchangeItem(): Not implemented yet."); } - public IPrevExchangeItem getExchangeItem(String str) + public IExchangeItem getExchangeItem(String str) { return new ExchangeItemN2J(_dotNetModelInstance.GetExchangeItem(str)); } diff --git a/model_bmi/java/src/org/openda/model_bmi/BmiModelInstance.java b/model_bmi/java/src/org/openda/model_bmi/BmiModelInstance.java index c3e2aa288..ff1ad0976 100644 --- a/model_bmi/java/src/org/openda/model_bmi/BmiModelInstance.java +++ b/model_bmi/java/src/org/openda/model_bmi/BmiModelInstance.java @@ -262,7 +262,7 @@ public IExchangeItem getDataObjectExchangeItem(String exchangeItemId) { return exchangeItem; } - public IPrevExchangeItem getExchangeItem(String exchangeItemID) { + public IExchangeItem getExchangeItem(String exchangeItemID) { if (inOutputMode && bufferedExchangeItems !=null && bufferedExchangeItems.containsKey(exchangeItemID)) { return bufferedExchangeItems.get(exchangeItemID); } diff --git a/model_efdc_dll/java/src/org/openda/model_efdc_dll/EfdcModelInstance.java b/model_efdc_dll/java/src/org/openda/model_efdc_dll/EfdcModelInstance.java index d87f5df85..9a0908510 100644 --- a/model_efdc_dll/java/src/org/openda/model_efdc_dll/EfdcModelInstance.java +++ b/model_efdc_dll/java/src/org/openda/model_efdc_dll/EfdcModelInstance.java @@ -548,7 +548,7 @@ public IExchangeItem getDataObjectExchangeItem(String exchangeItemId) { //TODO this method is only present for backwards compatibility. This method should be removed //once all ioObjects and exchange items have been migrated to the new IDataObject/IExchangeItem approach. AK @Deprecated - public IPrevExchangeItem getExchangeItem(String exchangeItemId) { + public IExchangeItem getExchangeItem(String exchangeItemId) { //delegate to new getDataObjectExchangeItem method. return getDataObjectExchangeItem(exchangeItemId); } diff --git a/model_example_fortran/java/src/org/openda/examples/simplef90model/SimpleExchangeItem.java b/model_example_fortran/java/src/org/openda/examples/simplef90model/SimpleExchangeItem.java index d54987abf..188f702c1 100644 --- a/model_example_fortran/java/src/org/openda/examples/simplef90model/SimpleExchangeItem.java +++ b/model_example_fortran/java/src/org/openda/examples/simplef90model/SimpleExchangeItem.java @@ -19,18 +19,21 @@ */ package org.openda.examples.simplef90model; -import org.openda.interfaces.IPrevExchangeItem; +import org.openda.interfaces.IExchangeItem; +import org.openda.interfaces.IGeometryInfo; +import org.openda.interfaces.IQuantityInfo; +import org.openda.interfaces.ITimeInfo; /** * Exchange item for a DLL based model */ -public class SimpleExchangeItem implements IPrevExchangeItem{ +public class SimpleExchangeItem implements IExchangeItem{ private String id; private int indexInDLL; private Class valueType; private SimpleModelInstance SimpleModelInstance; - private IPrevExchangeItem.PrevRole role; + private IExchangeItem.Role role; public SimpleExchangeItem(String id, int indexInDLL, Class valueType, SimpleModelInstance SimpleModelInstance) { @@ -42,9 +45,9 @@ public SimpleExchangeItem(String id, int indexInDLL, Class valueType, SimpleMode if (indexInDLL == SimpleModelDLL.gravity || indexInDLL == SimpleModelDLL.friction_on_grid || indexInDLL == SimpleModelDLL.discharge_on_laterals ) { - role = IPrevExchangeItem.PrevRole.InOut; + role = IExchangeItem.Role.InOut; } else if (indexInDLL == SimpleModelDLL.waterlevel_on_grid) { - role = IPrevExchangeItem.PrevRole.Output; + role = IExchangeItem.Role.Output; } else { throw new RuntimeException("Unknown role for exchange item: " + id); } @@ -58,12 +61,20 @@ public String getDescription() { return null; // no description } + public IQuantityInfo getQuantityInfo() { return null; } + + public IGeometryInfo getGeometryInfo() { return null; } + public Class getValueType() { return valueType; } + public ValueType getValuesType() { return null; } + + public Role getRole() { return role; } + public PrevRole getPrevRole() { - return role; + return null; } public Object getValues() { @@ -96,7 +107,15 @@ public void multiplyValues(double[] multiplicationFactors) { setValuesAsDoubles(values); } - public void setValues(Object o) { + public void copyValuesFromItem(IExchangeItem sourceItem) { + ValueType sourceType = sourceItem.getValuesType(); + if (sourceType != ValueType.doublesType) { + throw new RuntimeException("ConstantLimitsRangeValidationExchangeItem.copyValuesFromItem(): unknown type: " + sourceType); + } + this.setValues(sourceItem.getValues()); + } + + public void setValues(Object o) { if (o instanceof double[]) { if (valueType != double[].class) { throw new RuntimeException("Incompatible object type in setValues: " + @@ -118,6 +137,8 @@ public void setValues(Object o) { public void setValuesAsDoubles(double[] doubles) { } + public ITimeInfo getTimeInfo() { return null; } + public double[] getTimes() { return SimpleModelInstance.getTimes(); } diff --git a/model_example_fortran/java/src/org/openda/examples/simplef90model/SimpleModelInstance.java b/model_example_fortran/java/src/org/openda/examples/simplef90model/SimpleModelInstance.java index fd1c2ece3..3b75d3127 100644 --- a/model_example_fortran/java/src/org/openda/examples/simplef90model/SimpleModelInstance.java +++ b/model_example_fortran/java/src/org/openda/examples/simplef90model/SimpleModelInstance.java @@ -124,8 +124,8 @@ public IExchangeItem getDataObjectExchangeItem(String exchangeItemID) { throw new UnsupportedOperationException("org.openda.examples.simplef90model.SimpleModelInstance.getDataObjectExchangeItem(): Not implemented yet."); } - public IPrevExchangeItem getExchangeItem(String exchangeItemId) { - IPrevExchangeItem exchangeItem = exchangeItems.get(exchangeItemId); + public IExchangeItem getExchangeItem(String exchangeItemId) { + IExchangeItem exchangeItem = exchangeItems.get(exchangeItemId); if (exchangeItem == null) { throw new RuntimeException("Invalid exchange item id: " + exchangeItemId); } diff --git a/model_swan/java/src/org/openda/model_swan/SwanCalibWrapper.java b/model_swan/java/src/org/openda/model_swan/SwanCalibWrapper.java index ef1945d62..f267b8aa4 100644 --- a/model_swan/java/src/org/openda/model_swan/SwanCalibWrapper.java +++ b/model_swan/java/src/org/openda/model_swan/SwanCalibWrapper.java @@ -454,7 +454,7 @@ public IExchangeItem getDataObjectExchangeItem(String exchangeItemID) { } // OpenDA - public IPrevExchangeItem getExchangeItem(String exchangeItemID) { + public IExchangeItem getExchangeItem(String exchangeItemID) { throw new UnsupportedOperationException("org.openda.model_swan.SwanCalibWrapper: Method not implemented yet."); } diff --git a/model_swan/java/src/org/openda/model_swan/SwanField2DFileExchangeItem.java b/model_swan/java/src/org/openda/model_swan/SwanField2DFileExchangeItem.java index 3bed0853c..077652444 100644 --- a/model_swan/java/src/org/openda/model_swan/SwanField2DFileExchangeItem.java +++ b/model_swan/java/src/org/openda/model_swan/SwanField2DFileExchangeItem.java @@ -20,12 +20,12 @@ package org.openda.model_swan; -import org.openda.interfaces.IPrevExchangeItem; +import org.openda.interfaces.*; /** * Exchange item of SWAN with scalar 2D field data format. */ -public class SwanField2DFileExchangeItem implements IPrevExchangeItem { +public class SwanField2DFileExchangeItem implements IExchangeItem { private String id; private SwanField2DFile swanField2DFile; private Integer iTime = -1; @@ -47,8 +47,16 @@ public Class getValueType() { return double[].class; } + public ValueType getValuesType() { return ValueType.doublesType; } + + public Role getRole() {return Role.InOut; } + + public IQuantityInfo getQuantityInfo() { return null; } + + public IGeometryInfo getGeometryInfo() { return null; } + public PrevRole getPrevRole(){ - return PrevRole.InOut; + return null; } public Object getValues() { @@ -100,7 +108,15 @@ public void multiplyValues(double[] multiplicationFactors) { // } } - public void setValues(Object values) { + public void copyValuesFromItem(IExchangeItem sourceItem) { + ValueType sourceType=sourceItem.getValuesType(); + if(sourceType != ValueType.doublesType){ + throw new RuntimeException("TreeVectorIoObjectExchangeItem.copyValuesFromItem(): unknown type: " + sourceType ); + } + this.setValues(sourceItem.getValues()); + } + + public void setValues(Object values) { if (!(values instanceof double[])) { throw new RuntimeException("SetValues for" + this.getId() + ": unexpected object type: " + values.getClass().getName()); } @@ -117,6 +133,8 @@ public void setValuesAsDoubles(double[] values) { // } } + public ITimeInfo getTimeInfo() { throw new UnsupportedOperationException("org.openda.model_swan.SwanStateFileExchangeItem.getTimeInfo(): Not implemented yet.");} + public double[] getTimes() { throw new UnsupportedOperationException("org.openda.model_swan.SwanStateFileExchangeItem.getTimes(): Not implemented yet."); } diff --git a/model_swan/java/src/org/openda/model_swan/SwanInputFile.java b/model_swan/java/src/org/openda/model_swan/SwanInputFile.java index a149c0e67..8ee56ec65 100644 --- a/model_swan/java/src/org/openda/model_swan/SwanInputFile.java +++ b/model_swan/java/src/org/openda/model_swan/SwanInputFile.java @@ -34,7 +34,7 @@ */ public class SwanInputFile implements IDataObject { - private IPrevExchangeItem[] exchangeItems; + private IExchangeItem[] exchangeItems; private SwanParameters swanParameter; private File swnFile; @@ -218,7 +218,7 @@ public IExchangeItem getDataObjectExchangeItem(String exchangeItemID) { throw new UnsupportedOperationException("org.openda.model_swan.SwanInputFile.getDataObjectExchangeItem(): Not implemented yet."); } - public IPrevExchangeItem getExchangeItem(String exchangeItemID) { + public IExchangeItem getExchangeItem(String exchangeItemID) { if (!exchangeItemID.equals(swanInputFileId)) { throw new RuntimeException("unknown exchange item: " + exchangeItemID); } diff --git a/model_swan/java/src/org/openda/model_swan/SwanInputFileExchangeItem.java b/model_swan/java/src/org/openda/model_swan/SwanInputFileExchangeItem.java index 092cceb91..1438e588d 100644 --- a/model_swan/java/src/org/openda/model_swan/SwanInputFileExchangeItem.java +++ b/model_swan/java/src/org/openda/model_swan/SwanInputFileExchangeItem.java @@ -20,12 +20,15 @@ package org.openda.model_swan; -import org.openda.interfaces.IPrevExchangeItem; +import org.openda.interfaces.IExchangeItem; +import org.openda.interfaces.IGeometryInfo; +import org.openda.interfaces.IQuantityInfo; +import org.openda.interfaces.ITimeInfo; /** * Exchange item for reading and writing SWAN main input file. */ -public class SwanInputFileExchangeItem implements IPrevExchangeItem { +public class SwanInputFileExchangeItem implements IExchangeItem { private SwanInputFile swanInputFile; private String id; @@ -46,8 +49,12 @@ public Class getValueType() { throw new UnsupportedOperationException("org.openda.model_swan.SwanInputFileExchangeItem.getValueType(): Not implemented yet."); } + public ValueType getValuesType() { return ValueType.doublesType; } + + public Role getRole() { throw new UnsupportedOperationException("org.openda.model_swan.SwanInputFileExchangeItem.getRole(): Not implemented yet."); } + public PrevRole getPrevRole() { - throw new UnsupportedOperationException("org.openda.model_swan.SwanInputFileExchangeItem.getRole(): Not implemented yet."); + throw new UnsupportedOperationException("org.openda.model_swan.SwanInputFileExchangeItem.getPrevRole(): Not implemented yet."); } public Object getValues() { @@ -70,11 +77,19 @@ public void setValues(Object values) { throw new UnsupportedOperationException("org.openda.model_swan.SwanInputFileExchangeItem.setValues(): Not implemented yet."); } - public void setValuesAsDoubles(double[] values) { + public void setValuesAsDoubles(double[] values) { throw new UnsupportedOperationException("org.openda.model_swan.SwanInputFileExchangeItem.setValuesAsDoubles(): Not implemented yet."); } - public double[] getTimes() { + public void copyValuesFromItem(IExchangeItem sourceItem) { throw new UnsupportedOperationException("org.openda.model_swan.SwanInputFileExchangeItem.copyValuesFromItem(): Not implemented yet.");} + + public ITimeInfo getTimeInfo() { throw new UnsupportedOperationException("org.openda.model_swan.SwanInputFileExchangeItem.getTimeInfo(): Not implemented yet."); } + + public IQuantityInfo getQuantityInfo() { throw new UnsupportedOperationException("org.openda.model_swan.SwanInputFileExchangeItem.getQuantityInfo(): Not implemented yet."); } + + public IGeometryInfo getGeometryInfo() { return null; } + + public double[] getTimes() { double[] times = new double[2]; times[0] = swanInputFile.getDblTStartSimulation(); times[1] = swanInputFile.getDblTStopSimulation(); diff --git a/model_swan/java/src/org/openda/model_swan/SwanTemplateDataObject.java b/model_swan/java/src/org/openda/model_swan/SwanTemplateDataObject.java index 7688773c6..10a860b68 100644 --- a/model_swan/java/src/org/openda/model_swan/SwanTemplateDataObject.java +++ b/model_swan/java/src/org/openda/model_swan/SwanTemplateDataObject.java @@ -27,7 +27,6 @@ import org.openda.exchange.SwanRestartTemplateKeyExchangeItem; import org.openda.exchange.TemplateKeyExchangeItem; import org.openda.interfaces.IExchangeItem; -import org.openda.interfaces.IPrevExchangeItem; import org.openda.utils.io.FileSupport; import java.io.File; @@ -56,8 +55,8 @@ public class SwanTemplateDataObject extends BaseTemplateDataObject { - public IPrevExchangeItem[] getExchangeItems() { - IPrevExchangeItem[] tempExchangeItems = super.getExchangeItems(); + public IExchangeItem[] getExchangeItems() { + IExchangeItem[] tempExchangeItems = super.getExchangeItems(); exchangeItems = new IExchangeItem[tempExchangeItems.length + numberOfExtraExchangeItems]; int length = tempExchangeItems.length; arraycopy(tempExchangeItems, 0, exchangeItems, 0, length); @@ -126,7 +125,7 @@ public void writeValuesFile(PrintWriter printer) { String restartValue = restartExchangeItem.calculateValue(); String ncRestartValue = ncRestartExchangeItem.calculateValue(); - for (IPrevExchangeItem exchangeItem: exchangeItems) { + for (IExchangeItem exchangeItem: exchangeItems) { if (exchangeItem != null && exchangeItem instanceof TemplateKeyExchangeItem) { TemplateKeyExchangeItem keyExchangeItem = (TemplateKeyExchangeItem) exchangeItem; if (keyExchangeItem.getId().equals(RESTART_ID)) continue; diff --git a/model_wflow/java/src/org/openda/model_wflow/WflowModelInstance.java b/model_wflow/java/src/org/openda/model_wflow/WflowModelInstance.java index 5e9ab1075..3e5f1dfc4 100644 --- a/model_wflow/java/src/org/openda/model_wflow/WflowModelInstance.java +++ b/model_wflow/java/src/org/openda/model_wflow/WflowModelInstance.java @@ -642,12 +642,12 @@ public IExchangeItem getDataObjectExchangeItem(String exchangeItemId) { * Returns the exchange item with the given exchangeItemId, if it exists. * * @param exchangeItemId - * @return IPrevExchangeItem. + * @return IExchangeItem. */ //TODO this method is only present for backwards compatibility. This should be replaced by the IDataObject.getDataObjectExchangeItem //method once all ioObjects and exchange items have been migrated to the new IDataObject/IExchangeItem approach. AK @Deprecated - public IPrevExchangeItem getExchangeItem(String exchangeItemId) { + public IExchangeItem getExchangeItem(String exchangeItemId) { //delegate to new getDataObjectExchangeItem method. return getDataObjectExchangeItem(exchangeItemId); } diff --git a/models/java/src/org/openda/models/biasAwareObservations/BiasAwareObservationsModelInstance.java b/models/java/src/org/openda/models/biasAwareObservations/BiasAwareObservationsModelInstance.java index 12fa39d82..a00b3b8ef 100644 --- a/models/java/src/org/openda/models/biasAwareObservations/BiasAwareObservationsModelInstance.java +++ b/models/java/src/org/openda/models/biasAwareObservations/BiasAwareObservationsModelInstance.java @@ -256,7 +256,7 @@ public IVector[] getStateScaling(IObservationDescriptions observationDescription return new IVector[0]; //To change body of implemented methods use File | Settings | File Templates. } - public IPrevExchangeItem getExchangeItem(String exchangeItemID) { + public IExchangeItem getExchangeItem(String exchangeItemID) { return null; //To change body of implemented methods use File | Settings | File Templates. } diff --git a/models/java/src/org/openda/models/circularAdvection/CircularAdvectionInstance.java b/models/java/src/org/openda/models/circularAdvection/CircularAdvectionInstance.java index 9afab0d33..9d4951bb7 100644 --- a/models/java/src/org/openda/models/circularAdvection/CircularAdvectionInstance.java +++ b/models/java/src/org/openda/models/circularAdvection/CircularAdvectionInstance.java @@ -263,7 +263,7 @@ public IVector[] getStateScaling(IObservationDescriptions observationDescription } - public IPrevExchangeItem getExchangeItem(String exchangeItemID) { + public IExchangeItem getExchangeItem(String exchangeItemID) { throw new RuntimeException("not implemented"); //return null; } diff --git a/models/java/src/org/openda/models/circularAdvection1000/CircularAdvection1000Instance.java b/models/java/src/org/openda/models/circularAdvection1000/CircularAdvection1000Instance.java index 64e115697..b67e8674d 100644 --- a/models/java/src/org/openda/models/circularAdvection1000/CircularAdvection1000Instance.java +++ b/models/java/src/org/openda/models/circularAdvection1000/CircularAdvection1000Instance.java @@ -283,7 +283,7 @@ public IVector[] getStateScaling(IObservationDescriptions observationDescription } - public IPrevExchangeItem getExchangeItem(String exchangeItemID) { + public IExchangeItem getExchangeItem(String exchangeItemID) { throw new RuntimeException("not implemented"); //return null; } diff --git a/models/java/src/org/openda/models/rmiModel/IRmiIStochModel.java b/models/java/src/org/openda/models/rmiModel/IRmiIStochModel.java index 806fbd0cc..c12594448 100644 --- a/models/java/src/org/openda/models/rmiModel/IRmiIStochModel.java +++ b/models/java/src/org/openda/models/rmiModel/IRmiIStochModel.java @@ -58,7 +58,7 @@ public interface IRmiIStochModel extends Remote { // The methods from IModelInstance but now with RemoteException - IPrevExchangeItem getExchangeItem(String exchangeItemID) throws RemoteException; + IExchangeItem getExchangeItem(String exchangeItemID) throws RemoteException; ITime getTimeHorizon() throws RemoteException; ITime getCurrentTime() throws RemoteException; void compute(ITime targetTime) throws RemoteException; diff --git a/models/java/src/org/openda/models/rmiModel/RmiClientStochModelInstance.java b/models/java/src/org/openda/models/rmiModel/RmiClientStochModelInstance.java index bcdd0458a..88661793b 100644 --- a/models/java/src/org/openda/models/rmiModel/RmiClientStochModelInstance.java +++ b/models/java/src/org/openda/models/rmiModel/RmiClientStochModelInstance.java @@ -390,8 +390,8 @@ public IVector[] getStateScaling(IObservationDescriptions observationDescription return retVal; } - public IPrevExchangeItem getExchangeItem(String exchangeItemID) { - IPrevExchangeItem retVal=null; + public IExchangeItem getExchangeItem(String exchangeItemID) { + IExchangeItem retVal=null; try { retVal=rmiModel.getExchangeItem(exchangeItemID); } diff --git a/models/java/src/org/openda/models/rmiModel/Server.java b/models/java/src/org/openda/models/rmiModel/Server.java index e47628cc5..4a095fe27 100644 --- a/models/java/src/org/openda/models/rmiModel/Server.java +++ b/models/java/src/org/openda/models/rmiModel/Server.java @@ -193,7 +193,7 @@ public IVector[] getStateScaling(IObservationDescriptions observationDescription return getStateScaling(observationDescriptions); } - public IPrevExchangeItem getExchangeItem(String exchangeItemID) { + public IExchangeItem getExchangeItem(String exchangeItemID) { return stochModel.getExchangeItem(exchangeItemID); } diff --git a/models/java/src/org/openda/models/simpleModel/SimpleStochModelInstance.java b/models/java/src/org/openda/models/simpleModel/SimpleStochModelInstance.java index cb100e2e0..cace6b283 100644 --- a/models/java/src/org/openda/models/simpleModel/SimpleStochModelInstance.java +++ b/models/java/src/org/openda/models/simpleModel/SimpleStochModelInstance.java @@ -663,7 +663,7 @@ public IExchangeItem getDataObjectExchangeItem(String exchangeItemID) { throw new UnsupportedOperationException("org.openda.models.simpleModel.SimpleOscillatorStochModelInstance.getDataObjectExchangeItem(): Not implemented yet."); } - public IPrevExchangeItem getExchangeItem(String exchangeItemID){ + public IExchangeItem getExchangeItem(String exchangeItemID){ throw new UnsupportedOperationException("org.openda.models.simpleModel.SimpleOscillatorStochModelInstance.getExchangeItem(): Not implemented yet."); } diff --git a/models/java/src/org/openda/models/simultaneousGroupModel/SimultaneousGroupStochModelInstance.java b/models/java/src/org/openda/models/simultaneousGroupModel/SimultaneousGroupStochModelInstance.java index 55e32eed6..e001b486b 100644 --- a/models/java/src/org/openda/models/simultaneousGroupModel/SimultaneousGroupStochModelInstance.java +++ b/models/java/src/org/openda/models/simultaneousGroupModel/SimultaneousGroupStochModelInstance.java @@ -416,7 +416,7 @@ public ITime getTimeHorizon() { - public IPrevExchangeItem getExchangeItem(String exchangeItemID) { + public IExchangeItem getExchangeItem(String exchangeItemID) { throw new UnsupportedOperationException("org.openda.models.simultaneousGroupModel.SimultaneousGroupStochModelInstance.getExchangeItem(String exchangeItemID): Not implemented yet."); } diff --git a/models/java/src/org/openda/models/smootherModel/smootherModelInstance.java b/models/java/src/org/openda/models/smootherModel/smootherModelInstance.java index a1ef26cb9..69e850b64 100644 --- a/models/java/src/org/openda/models/smootherModel/smootherModelInstance.java +++ b/models/java/src/org/openda/models/smootherModel/smootherModelInstance.java @@ -165,7 +165,7 @@ public IVector[] getStateScaling(IObservationDescriptions observationDescription } - public IPrevExchangeItem getExchangeItem(String exchangeItemID) { + public IExchangeItem getExchangeItem(String exchangeItemID) { return null; //To change body of implemented methods use File | Settings | File Templates. } diff --git a/models/java/src/org/openda/models/threadModel/ThreadStochModelInstance.java b/models/java/src/org/openda/models/threadModel/ThreadStochModelInstance.java index 1045ec8e1..7f1eee533 100644 --- a/models/java/src/org/openda/models/threadModel/ThreadStochModelInstance.java +++ b/models/java/src/org/openda/models/threadModel/ThreadStochModelInstance.java @@ -229,7 +229,7 @@ public IVector[] getStateScaling(IObservationDescriptions observationDescription } - public IPrevExchangeItem getExchangeItem(String exchangeItemID) { + public IExchangeItem getExchangeItem(String exchangeItemID) { block(); return threadModel.getExchangeItem(exchangeItemID); } From 237eae83879d3bab3e6358f2e290d259bdba6430 Mon Sep 17 00:00:00 2001 From: Erik Pelgrim <39620557+erikpelgrim@users.noreply.github.com> Date: Mon, 25 Nov 2019 14:19:12 +0100 Subject: [PATCH 004/188] Initial code model external socket --- .../bin_external/bin_external_to_bin.test | 0 model_external_socket/build.xml | 157 +++++++++ model_external_socket/build_castor.xml | 138 ++++++++ .../ExternalModelParameterComplexType.class | Bin 0 -> 2446 bytes ...odelParameterComplexTypeDescriptor$1.class | Bin 0 -> 2055 bytes ...odelParameterComplexTypeDescriptor$2.class | Bin 0 -> 2080 bytes ...odelParameterComplexTypeDescriptor$3.class | Bin 0 -> 2133 bytes ...odelParameterComplexTypeDescriptor$4.class | Bin 0 -> 2133 bytes ...lModelParameterComplexTypeDescriptor.class | Bin 0 -> 3886 bytes ...ernalModelStochModelFactoryConfigXML.class | Bin 0 -> 3738 bytes ...ochModelFactoryConfigXMLDescriptor$1.class | Bin 0 -> 2138 bytes ...ochModelFactoryConfigXMLDescriptor$2.class | Bin 0 -> 2146 bytes ...StochModelFactoryConfigXMLDescriptor.class | Bin 0 -> 3637 bytes .../io/castorgenerated/Parameter.class | Bin 0 -> 1799 bytes .../castorgenerated/ParameterDescriptor.class | Bin 0 -> 1772 bytes .../ExternalModelParameterComplexType.java | 243 ++++++++++++++ ...alModelParameterComplexTypeDescriptor.java | 302 ++++++++++++++++++ ...ternalModelStochModelFactoryConfigXML.java | 235 ++++++++++++++ ...lStochModelFactoryConfigXMLDescriptor.java | 220 +++++++++++++ .../io/castorgenerated/Parameter.java | 106 ++++++ .../castorgenerated/ParameterDescriptor.java | 134 ++++++++ model_external_socket/doc/.gitkeep | 0 .../java/model_external_socket.iml | 43 +++ .../openda/model_external_socket_castor.jar | Bin 0 -> 16576 bytes .../model_external_socket_castor_schemas.zip | Bin 0 -> 600 bytes .../model_external_socket_castor_src.zip | Bin 0 -> 9132 bytes .../java/resources/resources_to_bin.test | 0 .../ExternalModelStochModelFactory.java | 50 +++ ...nalModelStochModelFactoryConfigReader.java | 53 +++ .../ExternalModelStochModelInstance.java | 234 ++++++++++++++ .../openda/externalsocket/SocketClient.java | 29 ++ .../SocketClientServerTest.java | 29 ++ .../externalsocket/TestSocketServer.java | 33 ++ model_external_socket/java/unit_test_info.txt | 6 + model_external_socket/module.properties | 31 ++ model_external_socket/native/.gitkeep | 0 model_external_socket/tests/run_test.sh | 3 + model_external_socket/unit_test_info.txt | 6 + model_external_socket/xmlSchemas/.gitkeep | 0 .../externalModelStochModelFactory.xsd | 16 + openda.ipr | 19 +- 41 files changed, 2071 insertions(+), 16 deletions(-) create mode 100644 model_external_socket/bin_external/bin_external_to_bin.test create mode 100644 model_external_socket/build.xml create mode 100644 model_external_socket/build_castor.xml create mode 100644 model_external_socket/castor_temp_build/org/openda/model_external_socket/io/castorgenerated/ExternalModelParameterComplexType.class create mode 100644 model_external_socket/castor_temp_build/org/openda/model_external_socket/io/castorgenerated/ExternalModelParameterComplexTypeDescriptor$1.class create mode 100644 model_external_socket/castor_temp_build/org/openda/model_external_socket/io/castorgenerated/ExternalModelParameterComplexTypeDescriptor$2.class create mode 100644 model_external_socket/castor_temp_build/org/openda/model_external_socket/io/castorgenerated/ExternalModelParameterComplexTypeDescriptor$3.class create mode 100644 model_external_socket/castor_temp_build/org/openda/model_external_socket/io/castorgenerated/ExternalModelParameterComplexTypeDescriptor$4.class create mode 100644 model_external_socket/castor_temp_build/org/openda/model_external_socket/io/castorgenerated/ExternalModelParameterComplexTypeDescriptor.class create mode 100644 model_external_socket/castor_temp_build/org/openda/model_external_socket/io/castorgenerated/ExternalModelStochModelFactoryConfigXML.class create mode 100644 model_external_socket/castor_temp_build/org/openda/model_external_socket/io/castorgenerated/ExternalModelStochModelFactoryConfigXMLDescriptor$1.class create mode 100644 model_external_socket/castor_temp_build/org/openda/model_external_socket/io/castorgenerated/ExternalModelStochModelFactoryConfigXMLDescriptor$2.class create mode 100644 model_external_socket/castor_temp_build/org/openda/model_external_socket/io/castorgenerated/ExternalModelStochModelFactoryConfigXMLDescriptor.class create mode 100644 model_external_socket/castor_temp_build/org/openda/model_external_socket/io/castorgenerated/Parameter.class create mode 100644 model_external_socket/castor_temp_build/org/openda/model_external_socket/io/castorgenerated/ParameterDescriptor.class create mode 100644 model_external_socket/castor_temp_src/org/openda/model_external_socket/io/castorgenerated/ExternalModelParameterComplexType.java create mode 100644 model_external_socket/castor_temp_src/org/openda/model_external_socket/io/castorgenerated/ExternalModelParameterComplexTypeDescriptor.java create mode 100644 model_external_socket/castor_temp_src/org/openda/model_external_socket/io/castorgenerated/ExternalModelStochModelFactoryConfigXML.java create mode 100644 model_external_socket/castor_temp_src/org/openda/model_external_socket/io/castorgenerated/ExternalModelStochModelFactoryConfigXMLDescriptor.java create mode 100644 model_external_socket/castor_temp_src/org/openda/model_external_socket/io/castorgenerated/Parameter.java create mode 100644 model_external_socket/castor_temp_src/org/openda/model_external_socket/io/castorgenerated/ParameterDescriptor.java create mode 100644 model_external_socket/doc/.gitkeep create mode 100644 model_external_socket/java/model_external_socket.iml create mode 100644 model_external_socket/java/resources/openda/model_external_socket_castor.jar create mode 100644 model_external_socket/java/resources/openda/model_external_socket_castor_schemas.zip create mode 100644 model_external_socket/java/resources/openda/model_external_socket_castor_src.zip create mode 100644 model_external_socket/java/resources/resources_to_bin.test create mode 100644 model_external_socket/java/src/org/openda/externalsocket/ExternalModelStochModelFactory.java create mode 100644 model_external_socket/java/src/org/openda/externalsocket/ExternalModelStochModelFactoryConfigReader.java create mode 100644 model_external_socket/java/src/org/openda/externalsocket/ExternalModelStochModelInstance.java create mode 100644 model_external_socket/java/src/org/openda/externalsocket/SocketClient.java create mode 100644 model_external_socket/java/test/org/openda/externalsocket/SocketClientServerTest.java create mode 100644 model_external_socket/java/test/org/openda/externalsocket/TestSocketServer.java create mode 100644 model_external_socket/java/unit_test_info.txt create mode 100644 model_external_socket/module.properties create mode 100644 model_external_socket/native/.gitkeep create mode 100644 model_external_socket/tests/run_test.sh create mode 100644 model_external_socket/unit_test_info.txt create mode 100644 model_external_socket/xmlSchemas/.gitkeep create mode 100644 model_external_socket/xmlSchemas/externalModelStochModelFactory.xsd diff --git a/model_external_socket/bin_external/bin_external_to_bin.test b/model_external_socket/bin_external/bin_external_to_bin.test new file mode 100644 index 000000000..e69de29bb diff --git a/model_external_socket/build.xml b/model_external_socket/build.xml new file mode 100644 index 000000000..9ca19203a --- /dev/null +++ b/model_external_socket/build.xml @@ -0,0 +1,157 @@ + + + + + ant help --> print this help + ant build --> compile, make jar and copy resources + ant build-test --> compile test classes + ant clean --> remove output + ant javadoc --> build javadoc + + + + + + + + + module=${module} + srcdir=${srcdir} + jarname=${jarname} + builddir=${builddir} + bindir=${bindir} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Subversion Revision: ${svn.revision} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/model_external_socket/build_castor.xml b/model_external_socket/build_castor.xml new file mode 100644 index 000000000..98c975c62 --- /dev/null +++ b/model_external_socket/build_castor.xml @@ -0,0 +1,138 @@ + + + + + Build castor jar in 2 steps: + - target castor-src + - target castor-jar + See "NOTE:" in build_castor.xml (this file) + ant help --> print this help + ant castor --> rebuild castor parsers from xml + + + + + + + + + + + + + + + + + + module=${module} + srcdir=${srcdir} + openda_castor_jar=${openda_castor_jar} + openda_castor_schemas=${openda_castor_schemas} + openda_castor_src=${openda_castor_src} + castor_temp_srcdir=${castor_temp_srcdir} + castor_temp_builddir=${castor_temp_builddir} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Generate Castor XML based on ${schema} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/model_external_socket/castor_temp_build/org/openda/model_external_socket/io/castorgenerated/ExternalModelParameterComplexType.class b/model_external_socket/castor_temp_build/org/openda/model_external_socket/io/castorgenerated/ExternalModelParameterComplexType.class new file mode 100644 index 0000000000000000000000000000000000000000..f038781c8d4ac16bb768b77fed7ecebc8d5f0768 GIT binary patch literal 2446 zcmcIkOK%%h6#lMX<5wOnZFrUv9&O@42WWVv6xt*W6sHL|4FZ9ziG7t$JMmcKu`w)J zvt-Ehmz zfByQMF5w>Gr5W^Fi(9IUzx%UQQPTlQfv<6p8n3U5?hZ_{+!y4AGI zEfP3&-S@TEvYdLyZCug5X}e~_>iEplE$vypZkmf>%CZ1fEzjE0#LT-}ZAbUl-fQbQ zg>fD+T8)$#hAu{`8rjr-G=-&5!UChUP&3JhBJ$j?57Zu^&@nLOE-*R-bG--5eF!#e zS=m%R-P3)AnLr8McO7dZEZFRCIcAV#`L^3y>^F2<7OZZh=39*`%T_y(lcT{gs%T~`S<31cI<8B--<6bd$;f^vU#M~q1pqM-5;EMdl&Hafo0Mn~c-L^uP)-Sj7Wel?O?f#Dm-^JTxSjWu_41D(P!T#Tnj47VktDazloPlNr)+ zh9((wBEus%#xF||W_X8ey|ea-KE!!LY0`~uTMURgcO=O?{- zCYdxVr1@K8KOp^{q(6}K$9+hj4N0F%Cd~iO{(&t0cxnxp9NDJ|s z{z}r{Nc#Ieq^Cks{%KQq(eymMv~lz%%5Uyqq&mZXj>dWaV59!T2>y!jj)t=4`L<8v TMT+_oc{21R{?2fn!r6ZSe2u7` literal 0 HcmV?d00001 diff --git a/model_external_socket/castor_temp_build/org/openda/model_external_socket/io/castorgenerated/ExternalModelParameterComplexTypeDescriptor$1.class b/model_external_socket/castor_temp_build/org/openda/model_external_socket/io/castorgenerated/ExternalModelParameterComplexTypeDescriptor$1.class new file mode 100644 index 0000000000000000000000000000000000000000..549378260ffcd8edaee42669109350311791f23b GIT binary patch literal 2055 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 L(Ula;e)9Pn{&X@e literal 0 HcmV?d00001 diff --git a/model_external_socket/castor_temp_build/org/openda/model_external_socket/io/castorgenerated/ExternalModelStochModelFactoryConfigXMLDescriptor$2.class b/model_external_socket/castor_temp_build/org/openda/model_external_socket/io/castorgenerated/ExternalModelStochModelFactoryConfigXMLDescriptor$2.class new file mode 100644 index 0000000000000000000000000000000000000000..4b17e53bc7127207e5c77af6b92e5478cf259a4d GIT binary patch literal 2146 zcmcgt+iuiW6kTU-HpVH#CD1|%6aviTf@vBqZ9)p9i5h7pAO%GrgwToSFmdqMBin)D zr4=pWANmD-Ee}m3kP6RyRK+@WMhwc-VI9}+uGES(c0u{+bwVb&vm8LdWNuIL3zTLFQQ$zs3)JFzXGKMK<%&ms+xNiNM3pnFgU-b3Ipe6E6(NnHlGKT=|E4mO;x` zk-(W9=x;{t^$v@lCm^8q1hzo2rn}hYwB^(b+^W?d>}v9IA8dYGwp#gG`~06CHBK`L zmy(E0EpVjPf3RdyMjh;*+%0K+8K?Qp8Q|wfRI7Rb_*UY-ii6-0#J3p~cmdYP=-&_{ zn<%{Is({11SEvKTIKunUObdfJ#ufEbZ-N?M;w$cHUk$E`dT;bSip{YNl>Xu>^JS&> z&-h*IrT$K5ntlF`;{@%?yuQXsY7f!2M2X4&Ddv&I_=9#jgCQMbaeVAO${VQsiR$88 znD@swux}IAyVtY<^RDuXT1;~}&TN2R=>1p9f9K8%a_}1?y-e{;rjgAwc9Aa;Cj1fzVGFotm!Ll=OZ#wULt0ho+eX#fBK literal 0 HcmV?d00001 diff --git a/model_external_socket/castor_temp_build/org/openda/model_external_socket/io/castorgenerated/ExternalModelStochModelFactoryConfigXMLDescriptor.class b/model_external_socket/castor_temp_build/org/openda/model_external_socket/io/castorgenerated/ExternalModelStochModelFactoryConfigXMLDescriptor.class new file mode 100644 index 0000000000000000000000000000000000000000..b60e7a173126124f0a38249ae01d97ede712567d GIT binary patch literal 3637 zcmcgu+iw(A82_E_wzJ(%DGYa11g)^$r5(A5+9Fs>D+}9FX(<%YI-NP)PMMuqW@dXq z5%KciEo!1KCdQEXV&a1k*+!d~_^59_`p+1@Gkafl8zjNqXY%nad1HYC&7nR7V)r_c6xxJ)%MPxOEO5y8EZ_-a6*^{w|&!J zVTh+3H?8tz$I@n1UGsd$Rf$i%IGP$Uxn-Q>p6;4iB9o-HW2SBT#~DJgo+*a#kYkXv zu9Ru>v0P@ByOY|iMHD6F=$bX9xu!T5iJksRmQQJxX=o&k;cyepizOCMP1-(BbGHm4 z6T<$yNj|3ou#@Gsp{W@%!Df*M<6fMo?hB{ni85MvD-_hrT zrx8sji&lmld(KRg<262q4T?Z>YjeKYC|Jo%)*@@AdCfK~PTuZs;%zC;rwWXO*)S*K zUiO(`UlVAMpE4gIJJZ}B)OGH8!Yzhatfv7qqh+&H7;1%+pizQ~=-37Yw|8A!PL75kTv6+z?=LEu(5I?{)wuetS-@FSSUkU%0?j36+BcSB3{)7@ea# zCv-gWE7yHcs9Th=gk>2kxGv)@ye;E~Sl+=+hVI6`)?No0@8VX|xGXmBF*4r6`(pWk z;iZT1cwBR-P^lNuRi4R~4k^>~8QRO||1F${WWgr8!;fJ^Fl08|Hv zbYm}l>UGlxXc#S^Yei2jVlD(bHT+4It_5th$+R#eW)%Yq{Txq$7P+SS$ zLu)*bHkM+eY-|nE^j$=hb|rcj9jlO2Yv`ON{tcsv19@~Ml$Ja;Cc=4aN`&%I;)y&q zuVKsdDz=XG5_#Jiw$oupf4Fxi9d{;r^VlV%Dvv3TD^HY#?iNCyyk96`8VC)f+zA|0 zX}wM#zQBtVfPO?VfQ>j#U&|-34KHH{2C)mTlG~^79CYF^h{`dHIh;lsXR&|_xQZ*t z5Y?uqEd5>FqB-_4KEmg;evMD?4L-$p_zd6U3;c*LaR*-^Pj8+j%||GVoPv1}hsXvB zC=L@1r2jVQJWAo-LD=W<0wrb_z9mch5hCgUjulct)-n21;@D4Oh488^pxh2L$c48> zxin|U!yt+4Ab)6xJVD+UkSgs$XKVat?5S6KrwZI!Ry&ASieOPg0vuBI)E~NU0{K5zQ zqDB+rXMdFO%yubFgN@NNojZ?v&pmVR+4=eF>vsT?xM^Y+&X`DJ!hmJsEY9iSynzcQ zkEaY=G?CFB8C)`O*}$|w`ikw^;WdHe*!Yq_YTm0Tf!?C+st4=UlJcL*lEa<8qF0vA zlJsr8jyF@`svQW-6+M5&@@mShNUKT!XIa%l<-5{Z4!rUk6YgJ@aky2lI#%Q=L)&w2)yt};C&cJk3}yMv zf~-a4SOLOTr5~(HM_}(*aZPSW&EvUm>!kX&NpC$A*xi04U^amR12Y1{V-XddJdky3 z-g86chIge~abhTAwXqNw>f~yGOuN_JCb7rc#GWWw(P;l&&9omOwcaeo7RYSqI4X8(OdV+>b9-*kZZPYLKilR9^|qZLr!2^tKqM@X5dN|gSe^(O7QA` z$;iN57AJ6>-Reld^EJ;K0?+;>-K|*I3tHyQ8q9munxpDZ-_}@~eOpRfRQy^T`(5J; zI=M5eg@#0%f}>Wq;_p3d**)4ZoH7&`jkV-Rcg1>GT2tk4wq4s=_UCr;)9@YieQf9S z&$g5t5twQPo_AyrZ0B#PJGxyfMS=d-xS06(5=Qux?Sep-&s&<7664s*)dgBX+m-(e z@sX1Rc5^gofm2Aa!FxE%Hk{Chyb6s`8n=073v9_eCoGqo9cr(ht-pT-+N z7sn~$O>_4W-_6U+F%w}AFh0Zo0QN_5**MDqMi@xkF>o-!gFzgklTLY!R;Nto3ty0G zCw-f#?lgh*eH*0pYzT*mbVSDzVVLAJ?$MoayV`M|5O?tpxFa|g<7S9?JVNf~Co~!( zPtxitn|oQrFb;r+*vk2$AkbtMXnO5pTwJ{GK6 literal 0 HcmV?d00001 diff --git a/model_external_socket/castor_temp_build/org/openda/model_external_socket/io/castorgenerated/ParameterDescriptor.class b/model_external_socket/castor_temp_build/org/openda/model_external_socket/io/castorgenerated/ParameterDescriptor.class new file mode 100644 index 0000000000000000000000000000000000000000..23cb6e7c0d04814643bd9fdda40566a6b605a22a GIT binary patch literal 1772 zcmbtUYflqF6g|@iEoA{I4^i=fFG_{34}9=4F({^{5VTlDKagQNmX+=9W_OViKl+C- z5luAltBF6#cxPF5OKnKhFLP(6_ndp?p4+5#_Q<%*lhKUp=Gw4Pk4YiZv^)znC zcvJp(OYWxR?sf`yd2%%Sn>FM4sL%w7=HB~e$gKwxBcRkBdDNlX5R9e)9QGF;}&CzYTCZ>)#-PFDN z4DsA}g(0zERf(;)q?=-SyS^cuRlZ@+O}1od+^BFzm*?Oz;ce#(}e3T`ATxR@ixz?bK9m) zs8J?8B}33hRM)JMrpaS*3kG-HBXzq7Tnt-yJo?Wrc9%V_Z7p#-XpBN^PsldE4nseQ ziCpwANpF^tq9H)M&V#= zGG%Mq(Zr%IJsxgjNkQsXFn~dZbvajmYqNAjPJ*=42n#G&b=wdPsV%ZW!8B$V1~)y= zo>A4Eot?r#wE`7Za00yyo%Z3_DCk44g0ncMAd7wl=W&5y{$DhPvJ~{lB9H%zBzh3F z)D36yh3;)y+uowVJ(^KDp=|~`_@DYC67kHAS1?K+hZucU610*?+Qno?{78-PBej8I zCz$k$)*(7o5T_k5lK%ph|AyEa#m|W6vx$8q^VyDlq(1uSle7*YN$WIKnIX;7}!f84&x*rK@Oi+|HVr);YkW3x^O|c0X3z6hmfK&rylGLSJ!B3mO$q-C7 z2jEfw?#q8d=MSWbBeN&>k|^%0=%EO#A%$0@|8)~#UqCqO=Q8=Yi?|dpPX^5KY*(u& zt%)NZin@#|0W^BiCn&ApttN2vqN{De$yTu27CeSrP&srV-->+Sgp6DmZ(BCi3jWXp Mjx^_~Z82Q?4O;w(SpWb4 literal 0 HcmV?d00001 diff --git a/model_external_socket/castor_temp_src/org/openda/model_external_socket/io/castorgenerated/ExternalModelParameterComplexType.java b/model_external_socket/castor_temp_src/org/openda/model_external_socket/io/castorgenerated/ExternalModelParameterComplexType.java new file mode 100644 index 000000000..95711940a --- /dev/null +++ b/model_external_socket/castor_temp_src/org/openda/model_external_socket/io/castorgenerated/ExternalModelParameterComplexType.java @@ -0,0 +1,243 @@ +/* + * This class was automatically generated with + * Castor 0.9.4.3, using an XML + * Schema. + * $Id$ + */ + +package org.openda.model_external_socket.io.castorgenerated; + + //---------------------------------/ + //- Imported classes and packages -/ +//---------------------------------/ + +import java.io.Reader; +import java.io.Serializable; +import java.io.Writer; +import org.exolab.castor.xml.Marshaller; +import org.exolab.castor.xml.Unmarshaller; +import org.exolab.castor.xml.ValidationException; + +/** + * Class ExternalModelParameterComplexType. + * + * @version $Revision$ $Date$ + */ +public abstract class ExternalModelParameterComplexType implements java.io.Serializable { + + + //--------------------------/ + //- Class/Member Variables -/ + //--------------------------/ + + /** + * Field _value + */ + private double _value; + + /** + * keeps track of state for field: _value + */ + private boolean _has_value; + + /** + * Field _stdDev + */ + private double _stdDev; + + /** + * keeps track of state for field: _stdDev + */ + private boolean _has_stdDev; + + /** + * Field _lowerBound + */ + private double _lowerBound; + + /** + * keeps track of state for field: _lowerBound + */ + private boolean _has_lowerBound; + + /** + * Field _upperBound + */ + private double _upperBound; + + /** + * keeps track of state for field: _upperBound + */ + private boolean _has_upperBound; + + + //----------------/ + //- Constructors -/ + //----------------/ + + public ExternalModelParameterComplexType() { + super(); + } //-- org.openda.model_external_socket.io.castorgenerated.ExternalModelParameterComplexType() + + + //-----------/ + //- Methods -/ + //-----------/ + + /** + * Method deleteLowerBound + */ + public void deleteLowerBound() + { + this._has_lowerBound= false; + } //-- void deleteLowerBound() + + /** + * Method deleteUpperBound + */ + public void deleteUpperBound() + { + this._has_upperBound= false; + } //-- void deleteUpperBound() + + /** + * Returns the value of field 'lowerBound'. + * + * @return the value of field 'lowerBound'. + */ + public double getLowerBound() + { + return this._lowerBound; + } //-- double getLowerBound() + + /** + * Returns the value of field 'stdDev'. + * + * @return the value of field 'stdDev'. + */ + public double getStdDev() + { + return this._stdDev; + } //-- double getStdDev() + + /** + * Returns the value of field 'upperBound'. + * + * @return the value of field 'upperBound'. + */ + public double getUpperBound() + { + return this._upperBound; + } //-- double getUpperBound() + + /** + * Returns the value of field 'value'. + * + * @return the value of field 'value'. + */ + public double getValue() + { + return this._value; + } //-- double getValue() + + /** + * Method hasLowerBound + */ + public boolean hasLowerBound() + { + return this._has_lowerBound; + } //-- boolean hasLowerBound() + + /** + * Method hasStdDev + */ + public boolean hasStdDev() + { + return this._has_stdDev; + } //-- boolean hasStdDev() + + /** + * Method hasUpperBound + */ + public boolean hasUpperBound() + { + return this._has_upperBound; + } //-- boolean hasUpperBound() + + /** + * Method hasValue + */ + public boolean hasValue() + { + return this._has_value; + } //-- boolean hasValue() + + /** + * Method isValid + */ + public boolean isValid() + { + try { + validate(); + } + catch (org.exolab.castor.xml.ValidationException vex) { + return false; + } + return true; + } //-- boolean isValid() + + /** + * Sets the value of field 'lowerBound'. + * + * @param lowerBound the value of field 'lowerBound'. + */ + public void setLowerBound(double lowerBound) + { + this._lowerBound = lowerBound; + this._has_lowerBound = true; + } //-- void setLowerBound(double) + + /** + * Sets the value of field 'stdDev'. + * + * @param stdDev the value of field 'stdDev'. + */ + public void setStdDev(double stdDev) + { + this._stdDev = stdDev; + this._has_stdDev = true; + } //-- void setStdDev(double) + + /** + * Sets the value of field 'upperBound'. + * + * @param upperBound the value of field 'upperBound'. + */ + public void setUpperBound(double upperBound) + { + this._upperBound = upperBound; + this._has_upperBound = true; + } //-- void setUpperBound(double) + + /** + * Sets the value of field 'value'. + * + * @param value the value of field 'value'. + */ + public void setValue(double value) + { + this._value = value; + this._has_value = true; + } //-- void setValue(double) + + /** + * Method validate + */ + public void validate() + throws org.exolab.castor.xml.ValidationException + { + org.exolab.castor.xml.Validator validator = new org.exolab.castor.xml.Validator(); + validator.validate(this); + } //-- void validate() + +} diff --git a/model_external_socket/castor_temp_src/org/openda/model_external_socket/io/castorgenerated/ExternalModelParameterComplexTypeDescriptor.java b/model_external_socket/castor_temp_src/org/openda/model_external_socket/io/castorgenerated/ExternalModelParameterComplexTypeDescriptor.java new file mode 100644 index 000000000..716594bc9 --- /dev/null +++ b/model_external_socket/castor_temp_src/org/openda/model_external_socket/io/castorgenerated/ExternalModelParameterComplexTypeDescriptor.java @@ -0,0 +1,302 @@ +/* + * This class was automatically generated with + * Castor 0.9.4.3, using an XML + * Schema. + * $Id$ + */ + +package org.openda.model_external_socket.io.castorgenerated; + + //---------------------------------/ + //- Imported classes and packages -/ +//---------------------------------/ + +import org.exolab.castor.mapping.AccessMode; +import org.exolab.castor.xml.TypeValidator; +import org.exolab.castor.xml.XMLFieldDescriptor; +import org.exolab.castor.xml.validators.*; + +/** + * Class ExternalModelParameterComplexTypeDescriptor. + * + * @version $Revision$ $Date$ + */ +public class ExternalModelParameterComplexTypeDescriptor extends org.exolab.castor.xml.util.XMLClassDescriptorImpl { + + + //--------------------------/ + //- Class/Member Variables -/ + //--------------------------/ + + /** + * Field nsPrefix + */ + private java.lang.String nsPrefix; + + /** + * Field nsURI + */ + private java.lang.String nsURI; + + /** + * Field xmlName + */ + private java.lang.String xmlName; + + /** + * Field identity + */ + private org.exolab.castor.xml.XMLFieldDescriptor identity; + + + //----------------/ + //- Constructors -/ + //----------------/ + + public ExternalModelParameterComplexTypeDescriptor() { + super(); + nsURI = "http://www.openda.org"; + xmlName = "ExternalModelParameterComplexType"; + org.exolab.castor.xml.util.XMLFieldDescriptorImpl desc = null; + org.exolab.castor.xml.XMLFieldHandler handler = null; + org.exolab.castor.xml.FieldValidator fieldValidator = null; + //-- initialize attribute descriptors + + //-- _value + desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.Double.TYPE, "_value", "value", org.exolab.castor.xml.NodeType.Attribute); + handler = (new org.exolab.castor.xml.XMLFieldHandler() { + public java.lang.Object getValue( java.lang.Object object ) + throws IllegalStateException + { + ExternalModelParameterComplexType target = (ExternalModelParameterComplexType) object; + if(!target.hasValue()) + return null; + return new Double(target.getValue()); + } + public void setValue( java.lang.Object object, java.lang.Object value) + throws IllegalStateException, IllegalArgumentException + { + try { + ExternalModelParameterComplexType target = (ExternalModelParameterComplexType) object; + // ignore null values for non optional primitives + if (value == null) return; + + target.setValue( ((Double)value).doubleValue()); + } + catch (java.lang.Exception ex) { + throw new IllegalStateException(ex.toString()); + } + } + public java.lang.Object newInstance( java.lang.Object parent ) { + return null; + } + } ); + desc.setHandler(handler); + desc.setRequired(true); + addFieldDescriptor(desc); + + //-- validation code for: _value + fieldValidator = new org.exolab.castor.xml.FieldValidator(); + fieldValidator.setMinOccurs(1); + { //-- local scope + DoubleValidator typeValidator = new DoubleValidator(); + fieldValidator.setValidator(typeValidator); + } + desc.setValidator(fieldValidator); + //-- _stdDev + desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.Double.TYPE, "_stdDev", "stdDev", org.exolab.castor.xml.NodeType.Attribute); + handler = (new org.exolab.castor.xml.XMLFieldHandler() { + public java.lang.Object getValue( java.lang.Object object ) + throws IllegalStateException + { + ExternalModelParameterComplexType target = (ExternalModelParameterComplexType) object; + if(!target.hasStdDev()) + return null; + return new Double(target.getStdDev()); + } + public void setValue( java.lang.Object object, java.lang.Object value) + throws IllegalStateException, IllegalArgumentException + { + try { + ExternalModelParameterComplexType target = (ExternalModelParameterComplexType) object; + // ignore null values for non optional primitives + if (value == null) return; + + target.setStdDev( ((Double)value).doubleValue()); + } + catch (java.lang.Exception ex) { + throw new IllegalStateException(ex.toString()); + } + } + public java.lang.Object newInstance( java.lang.Object parent ) { + return null; + } + } ); + desc.setHandler(handler); + desc.setRequired(true); + addFieldDescriptor(desc); + + //-- validation code for: _stdDev + fieldValidator = new org.exolab.castor.xml.FieldValidator(); + fieldValidator.setMinOccurs(1); + { //-- local scope + DoubleValidator typeValidator = new DoubleValidator(); + fieldValidator.setValidator(typeValidator); + } + desc.setValidator(fieldValidator); + //-- _lowerBound + desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.Double.TYPE, "_lowerBound", "lowerBound", org.exolab.castor.xml.NodeType.Attribute); + handler = (new org.exolab.castor.xml.XMLFieldHandler() { + public java.lang.Object getValue( java.lang.Object object ) + throws IllegalStateException + { + ExternalModelParameterComplexType target = (ExternalModelParameterComplexType) object; + if(!target.hasLowerBound()) + return null; + return new Double(target.getLowerBound()); + } + public void setValue( java.lang.Object object, java.lang.Object value) + throws IllegalStateException, IllegalArgumentException + { + try { + ExternalModelParameterComplexType target = (ExternalModelParameterComplexType) object; + // if null, use delete method for optional primitives + if (value == null) { + target.deleteLowerBound(); + return; + } + target.setLowerBound( ((Double)value).doubleValue()); + } + catch (java.lang.Exception ex) { + throw new IllegalStateException(ex.toString()); + } + } + public java.lang.Object newInstance( java.lang.Object parent ) { + return null; + } + } ); + desc.setHandler(handler); + addFieldDescriptor(desc); + + //-- validation code for: _lowerBound + fieldValidator = new org.exolab.castor.xml.FieldValidator(); + { //-- local scope + DoubleValidator typeValidator = new DoubleValidator(); + fieldValidator.setValidator(typeValidator); + } + desc.setValidator(fieldValidator); + //-- _upperBound + desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.Double.TYPE, "_upperBound", "upperBound", org.exolab.castor.xml.NodeType.Attribute); + handler = (new org.exolab.castor.xml.XMLFieldHandler() { + public java.lang.Object getValue( java.lang.Object object ) + throws IllegalStateException + { + ExternalModelParameterComplexType target = (ExternalModelParameterComplexType) object; + if(!target.hasUpperBound()) + return null; + return new Double(target.getUpperBound()); + } + public void setValue( java.lang.Object object, java.lang.Object value) + throws IllegalStateException, IllegalArgumentException + { + try { + ExternalModelParameterComplexType target = (ExternalModelParameterComplexType) object; + // if null, use delete method for optional primitives + if (value == null) { + target.deleteUpperBound(); + return; + } + target.setUpperBound( ((Double)value).doubleValue()); + } + catch (java.lang.Exception ex) { + throw new IllegalStateException(ex.toString()); + } + } + public java.lang.Object newInstance( java.lang.Object parent ) { + return null; + } + } ); + desc.setHandler(handler); + addFieldDescriptor(desc); + + //-- validation code for: _upperBound + fieldValidator = new org.exolab.castor.xml.FieldValidator(); + { //-- local scope + DoubleValidator typeValidator = new DoubleValidator(); + fieldValidator.setValidator(typeValidator); + } + desc.setValidator(fieldValidator); + //-- initialize element descriptors + + } //-- org.openda.model_external_socket.io.castorgenerated.ExternalModelParameterComplexTypeDescriptor() + + + //-----------/ + //- Methods -/ + //-----------/ + + /** + * Method getAccessMode + */ + public org.exolab.castor.mapping.AccessMode getAccessMode() + { + return null; + } //-- org.exolab.castor.mapping.AccessMode getAccessMode() + + /** + * Method getExtends + */ + public org.exolab.castor.mapping.ClassDescriptor getExtends() + { + return null; + } //-- org.exolab.castor.mapping.ClassDescriptor getExtends() + + /** + * Method getIdentity + */ + public org.exolab.castor.mapping.FieldDescriptor getIdentity() + { + return identity; + } //-- org.exolab.castor.mapping.FieldDescriptor getIdentity() + + /** + * Method getJavaClass + */ + public java.lang.Class getJavaClass() + { + return org.openda.model_external_socket.io.castorgenerated.ExternalModelParameterComplexType.class; + } //-- java.lang.Class getJavaClass() + + /** + * Method getNameSpacePrefix + */ + public java.lang.String getNameSpacePrefix() + { + return nsPrefix; + } //-- java.lang.String getNameSpacePrefix() + + /** + * Method getNameSpaceURI + */ + public java.lang.String getNameSpaceURI() + { + return nsURI; + } //-- java.lang.String getNameSpaceURI() + + /** + * Method getValidator + */ + public org.exolab.castor.xml.TypeValidator getValidator() + { + return this; + } //-- org.exolab.castor.xml.TypeValidator getValidator() + + /** + * Method getXMLName + */ + public java.lang.String getXMLName() + { + return xmlName; + } //-- java.lang.String getXMLName() + +} diff --git a/model_external_socket/castor_temp_src/org/openda/model_external_socket/io/castorgenerated/ExternalModelStochModelFactoryConfigXML.java b/model_external_socket/castor_temp_src/org/openda/model_external_socket/io/castorgenerated/ExternalModelStochModelFactoryConfigXML.java new file mode 100644 index 000000000..ef0e7cb19 --- /dev/null +++ b/model_external_socket/castor_temp_src/org/openda/model_external_socket/io/castorgenerated/ExternalModelStochModelFactoryConfigXML.java @@ -0,0 +1,235 @@ +/* + * This class was automatically generated with + * Castor 0.9.4.3, using an XML + * Schema. + * $Id$ + */ + +package org.openda.model_external_socket.io.castorgenerated; + + //---------------------------------/ + //- Imported classes and packages -/ +//---------------------------------/ + +import java.io.Reader; +import java.io.Serializable; +import java.io.Writer; +import java.util.ArrayList; +import java.util.Enumeration; +import org.exolab.castor.xml.Marshaller; +import org.exolab.castor.xml.Unmarshaller; +import org.exolab.castor.xml.ValidationException; + +/** + * Class ExternalModelStochModelFactoryConfigXML. + * + * @version $Revision$ $Date$ + */ +public abstract class ExternalModelStochModelFactoryConfigXML implements java.io.Serializable { + + + //--------------------------/ + //- Class/Member Variables -/ + //--------------------------/ + + /** + * Field _portNumber + */ + private int _portNumber; + + /** + * keeps track of state for field: _portNumber + */ + private boolean _has_portNumber; + + /** + * Field _parameterList + */ + private java.util.ArrayList _parameterList; + + + //----------------/ + //- Constructors -/ + //----------------/ + + public ExternalModelStochModelFactoryConfigXML() { + super(); + _parameterList = new ArrayList(); + } //-- org.openda.model_external_socket.io.castorgenerated.ExternalModelStochModelFactoryConfigXML() + + + //-----------/ + //- Methods -/ + //-----------/ + + /** + * Method addParameter + * + * @param vParameter + */ + public void addParameter(org.openda.model_external_socket.io.castorgenerated.Parameter vParameter) + throws java.lang.IndexOutOfBoundsException + { + _parameterList.add(vParameter); + } //-- void addParameter(org.openda.model_external_socket.io.castorgenerated.Parameter) + + /** + * Method addParameter + * + * @param index + * @param vParameter + */ + public void addParameter(int index, org.openda.model_external_socket.io.castorgenerated.Parameter vParameter) + throws java.lang.IndexOutOfBoundsException + { + _parameterList.add(index, vParameter); + } //-- void addParameter(int, org.openda.model_external_socket.io.castorgenerated.Parameter) + + /** + * Method clearParameter + */ + public void clearParameter() + { + _parameterList.clear(); + } //-- void clearParameter() + + /** + * Method enumerateParameter + */ + public java.util.Enumeration enumerateParameter() + { + return new org.exolab.castor.util.IteratorEnumeration(_parameterList.iterator()); + } //-- java.util.Enumeration enumerateParameter() + + /** + * Method getParameter + * + * @param index + */ + public org.openda.model_external_socket.io.castorgenerated.Parameter getParameter(int index) + throws java.lang.IndexOutOfBoundsException + { + //-- check bounds for index + if ((index < 0) || (index > _parameterList.size())) { + throw new IndexOutOfBoundsException(); + } + + return (org.openda.model_external_socket.io.castorgenerated.Parameter) _parameterList.get(index); + } //-- org.openda.model_external_socket.io.castorgenerated.Parameter getParameter(int) + + /** + * Method getParameter + */ + public org.openda.model_external_socket.io.castorgenerated.Parameter[] getParameter() + { + int size = _parameterList.size(); + org.openda.model_external_socket.io.castorgenerated.Parameter[] mArray = new org.openda.model_external_socket.io.castorgenerated.Parameter[size]; + for (int index = 0; index < size; index++) { + mArray[index] = (org.openda.model_external_socket.io.castorgenerated.Parameter) _parameterList.get(index); + } + return mArray; + } //-- org.openda.model_external_socket.io.castorgenerated.Parameter[] getParameter() + + /** + * Method getParameterCount + */ + public int getParameterCount() + { + return _parameterList.size(); + } //-- int getParameterCount() + + /** + * Returns the value of field 'portNumber'. + * + * @return the value of field 'portNumber'. + */ + public int getPortNumber() + { + return this._portNumber; + } //-- int getPortNumber() + + /** + * Method hasPortNumber + */ + public boolean hasPortNumber() + { + return this._has_portNumber; + } //-- boolean hasPortNumber() + + /** + * Method isValid + */ + public boolean isValid() + { + try { + validate(); + } + catch (org.exolab.castor.xml.ValidationException vex) { + return false; + } + return true; + } //-- boolean isValid() + + /** + * Method removeParameter + * + * @param vParameter + */ + public boolean removeParameter(org.openda.model_external_socket.io.castorgenerated.Parameter vParameter) + { + boolean removed = _parameterList.remove(vParameter); + return removed; + } //-- boolean removeParameter(org.openda.model_external_socket.io.castorgenerated.Parameter) + + /** + * Method setParameter + * + * @param index + * @param vParameter + */ + public void setParameter(int index, org.openda.model_external_socket.io.castorgenerated.Parameter vParameter) + throws java.lang.IndexOutOfBoundsException + { + //-- check bounds for index + if ((index < 0) || (index > _parameterList.size())) { + throw new IndexOutOfBoundsException(); + } + _parameterList.set(index, vParameter); + } //-- void setParameter(int, org.openda.model_external_socket.io.castorgenerated.Parameter) + + /** + * Method setParameter + * + * @param parameterArray + */ + public void setParameter(org.openda.model_external_socket.io.castorgenerated.Parameter[] parameterArray) + { + //-- copy array + _parameterList.clear(); + for (int i = 0; i < parameterArray.length; i++) { + _parameterList.add(parameterArray[i]); + } + } //-- void setParameter(org.openda.model_external_socket.io.castorgenerated.Parameter) + + /** + * Sets the value of field 'portNumber'. + * + * @param portNumber the value of field 'portNumber'. + */ + public void setPortNumber(int portNumber) + { + this._portNumber = portNumber; + this._has_portNumber = true; + } //-- void setPortNumber(int) + + /** + * Method validate + */ + public void validate() + throws org.exolab.castor.xml.ValidationException + { + org.exolab.castor.xml.Validator validator = new org.exolab.castor.xml.Validator(); + validator.validate(this); + } //-- void validate() + +} diff --git a/model_external_socket/castor_temp_src/org/openda/model_external_socket/io/castorgenerated/ExternalModelStochModelFactoryConfigXMLDescriptor.java b/model_external_socket/castor_temp_src/org/openda/model_external_socket/io/castorgenerated/ExternalModelStochModelFactoryConfigXMLDescriptor.java new file mode 100644 index 000000000..d2112b617 --- /dev/null +++ b/model_external_socket/castor_temp_src/org/openda/model_external_socket/io/castorgenerated/ExternalModelStochModelFactoryConfigXMLDescriptor.java @@ -0,0 +1,220 @@ +/* + * This class was automatically generated with + * Castor 0.9.4.3, using an XML + * Schema. + * $Id$ + */ + +package org.openda.model_external_socket.io.castorgenerated; + + //---------------------------------/ + //- Imported classes and packages -/ +//---------------------------------/ + +import org.exolab.castor.mapping.AccessMode; +import org.exolab.castor.xml.TypeValidator; +import org.exolab.castor.xml.XMLFieldDescriptor; +import org.exolab.castor.xml.validators.*; + +/** + * Class ExternalModelStochModelFactoryConfigXMLDescriptor. + * + * @version $Revision$ $Date$ + */ +public class ExternalModelStochModelFactoryConfigXMLDescriptor extends org.exolab.castor.xml.util.XMLClassDescriptorImpl { + + + //--------------------------/ + //- Class/Member Variables -/ + //--------------------------/ + + /** + * Field nsPrefix + */ + private java.lang.String nsPrefix; + + /** + * Field nsURI + */ + private java.lang.String nsURI; + + /** + * Field xmlName + */ + private java.lang.String xmlName; + + /** + * Field identity + */ + private org.exolab.castor.xml.XMLFieldDescriptor identity; + + + //----------------/ + //- Constructors -/ + //----------------/ + + public ExternalModelStochModelFactoryConfigXMLDescriptor() { + super(); + nsURI = "http://www.openda.org"; + xmlName = "ExternalModelStochModelFactoryConfigXML"; + + //-- set grouping compositor + setCompositorAsSequence(); + org.exolab.castor.xml.util.XMLFieldDescriptorImpl desc = null; + org.exolab.castor.xml.XMLFieldHandler handler = null; + org.exolab.castor.xml.FieldValidator fieldValidator = null; + //-- initialize attribute descriptors + + //-- initialize element descriptors + + //-- _portNumber + desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.Integer.TYPE, "_portNumber", "portNumber", org.exolab.castor.xml.NodeType.Element); + handler = (new org.exolab.castor.xml.XMLFieldHandler() { + public java.lang.Object getValue( java.lang.Object object ) + throws IllegalStateException + { + ExternalModelStochModelFactoryConfigXML target = (ExternalModelStochModelFactoryConfigXML) object; + if(!target.hasPortNumber()) + return null; + return new Integer(target.getPortNumber()); + } + public void setValue( java.lang.Object object, java.lang.Object value) + throws IllegalStateException, IllegalArgumentException + { + try { + ExternalModelStochModelFactoryConfigXML target = (ExternalModelStochModelFactoryConfigXML) object; + // ignore null values for non optional primitives + if (value == null) return; + + target.setPortNumber( ((Integer)value).intValue()); + } + catch (java.lang.Exception ex) { + throw new IllegalStateException(ex.toString()); + } + } + public java.lang.Object newInstance( java.lang.Object parent ) { + return null; + } + } ); + desc.setHandler(handler); + desc.setNameSpaceURI("http://www.openda.org"); + desc.setRequired(true); + desc.setMultivalued(false); + addFieldDescriptor(desc); + + //-- validation code for: _portNumber + fieldValidator = new org.exolab.castor.xml.FieldValidator(); + fieldValidator.setMinOccurs(1); + { //-- local scope + IntegerValidator typeValidator = new IntegerValidator(); + fieldValidator.setValidator(typeValidator); + } + desc.setValidator(fieldValidator); + //-- _parameterList + desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(org.openda.model_external_socket.io.castorgenerated.Parameter.class, "_parameterList", "parameter", org.exolab.castor.xml.NodeType.Element); + handler = (new org.exolab.castor.xml.XMLFieldHandler() { + public java.lang.Object getValue( java.lang.Object object ) + throws IllegalStateException + { + ExternalModelStochModelFactoryConfigXML target = (ExternalModelStochModelFactoryConfigXML) object; + return target.getParameter(); + } + public void setValue( java.lang.Object object, java.lang.Object value) + throws IllegalStateException, IllegalArgumentException + { + try { + ExternalModelStochModelFactoryConfigXML target = (ExternalModelStochModelFactoryConfigXML) object; + target.addParameter( (org.openda.model_external_socket.io.castorgenerated.Parameter) value); + } + catch (java.lang.Exception ex) { + throw new IllegalStateException(ex.toString()); + } + } + public java.lang.Object newInstance( java.lang.Object parent ) { + return new org.openda.model_external_socket.io.castorgenerated.Parameter(); + } + } ); + desc.setHandler(handler); + desc.setNameSpaceURI("http://www.openda.org"); + desc.setRequired(true); + desc.setMultivalued(true); + addFieldDescriptor(desc); + + //-- validation code for: _parameterList + fieldValidator = new org.exolab.castor.xml.FieldValidator(); + fieldValidator.setMinOccurs(1); + { //-- local scope + } + desc.setValidator(fieldValidator); + } //-- org.openda.model_external_socket.io.castorgenerated.ExternalModelStochModelFactoryConfigXMLDescriptor() + + + //-----------/ + //- Methods -/ + //-----------/ + + /** + * Method getAccessMode + */ + public org.exolab.castor.mapping.AccessMode getAccessMode() + { + return null; + } //-- org.exolab.castor.mapping.AccessMode getAccessMode() + + /** + * Method getExtends + */ + public org.exolab.castor.mapping.ClassDescriptor getExtends() + { + return null; + } //-- org.exolab.castor.mapping.ClassDescriptor getExtends() + + /** + * Method getIdentity + */ + public org.exolab.castor.mapping.FieldDescriptor getIdentity() + { + return identity; + } //-- org.exolab.castor.mapping.FieldDescriptor getIdentity() + + /** + * Method getJavaClass + */ + public java.lang.Class getJavaClass() + { + return org.openda.model_external_socket.io.castorgenerated.ExternalModelStochModelFactoryConfigXML.class; + } //-- java.lang.Class getJavaClass() + + /** + * Method getNameSpacePrefix + */ + public java.lang.String getNameSpacePrefix() + { + return nsPrefix; + } //-- java.lang.String getNameSpacePrefix() + + /** + * Method getNameSpaceURI + */ + public java.lang.String getNameSpaceURI() + { + return nsURI; + } //-- java.lang.String getNameSpaceURI() + + /** + * Method getValidator + */ + public org.exolab.castor.xml.TypeValidator getValidator() + { + return this; + } //-- org.exolab.castor.xml.TypeValidator getValidator() + + /** + * Method getXMLName + */ + public java.lang.String getXMLName() + { + return xmlName; + } //-- java.lang.String getXMLName() + +} diff --git a/model_external_socket/castor_temp_src/org/openda/model_external_socket/io/castorgenerated/Parameter.java b/model_external_socket/castor_temp_src/org/openda/model_external_socket/io/castorgenerated/Parameter.java new file mode 100644 index 000000000..cd99d5d08 --- /dev/null +++ b/model_external_socket/castor_temp_src/org/openda/model_external_socket/io/castorgenerated/Parameter.java @@ -0,0 +1,106 @@ +/* + * This class was automatically generated with + * Castor 0.9.4.3, using an XML + * Schema. + * $Id$ + */ + +package org.openda.model_external_socket.io.castorgenerated; + + //---------------------------------/ + //- Imported classes and packages -/ +//---------------------------------/ + +import java.io.IOException; +import java.io.Reader; +import java.io.Serializable; +import java.io.Writer; +import org.exolab.castor.xml.MarshalException; +import org.exolab.castor.xml.Marshaller; +import org.exolab.castor.xml.Unmarshaller; +import org.exolab.castor.xml.ValidationException; +import org.xml.sax.ContentHandler; + +/** + * Class Parameter. + * + * @version $Revision$ $Date$ + */ +public class Parameter extends ExternalModelParameterComplexType +implements java.io.Serializable +{ + + + //----------------/ + //- Constructors -/ + //----------------/ + + public Parameter() { + super(); + } //-- org.openda.model_external_socket.io.castorgenerated.Parameter() + + + //-----------/ + //- Methods -/ + //-----------/ + + /** + * Method isValid + */ + public boolean isValid() + { + try { + validate(); + } + catch (org.exolab.castor.xml.ValidationException vex) { + return false; + } + return true; + } //-- boolean isValid() + + /** + * Method marshal + * + * @param out + */ + public void marshal(java.io.Writer out) + throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException + { + + Marshaller.marshal(this, out); + } //-- void marshal(java.io.Writer) + + /** + * Method marshal + * + * @param handler + */ + public void marshal(org.xml.sax.ContentHandler handler) + throws java.io.IOException, org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException + { + + Marshaller.marshal(this, handler); + } //-- void marshal(org.xml.sax.ContentHandler) + + /** + * Method unmarshal + * + * @param reader + */ + public static org.openda.model_external_socket.io.castorgenerated.Parameter unmarshal(java.io.Reader reader) + throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException + { + return (org.openda.model_external_socket.io.castorgenerated.Parameter) Unmarshaller.unmarshal(org.openda.model_external_socket.io.castorgenerated.Parameter.class, reader); + } //-- org.openda.model_external_socket.io.castorgenerated.Parameter unmarshal(java.io.Reader) + + /** + * Method validate + */ + public void validate() + throws org.exolab.castor.xml.ValidationException + { + org.exolab.castor.xml.Validator validator = new org.exolab.castor.xml.Validator(); + validator.validate(this); + } //-- void validate() + +} diff --git a/model_external_socket/castor_temp_src/org/openda/model_external_socket/io/castorgenerated/ParameterDescriptor.java b/model_external_socket/castor_temp_src/org/openda/model_external_socket/io/castorgenerated/ParameterDescriptor.java new file mode 100644 index 000000000..67ef70964 --- /dev/null +++ b/model_external_socket/castor_temp_src/org/openda/model_external_socket/io/castorgenerated/ParameterDescriptor.java @@ -0,0 +1,134 @@ +/* + * This class was automatically generated with + * Castor 0.9.4.3, using an XML + * Schema. + * $Id$ + */ + +package org.openda.model_external_socket.io.castorgenerated; + + //---------------------------------/ + //- Imported classes and packages -/ +//---------------------------------/ + +import org.exolab.castor.mapping.AccessMode; +import org.exolab.castor.xml.TypeValidator; +import org.exolab.castor.xml.XMLFieldDescriptor; +import org.exolab.castor.xml.validators.*; + +/** + * Class ParameterDescriptor. + * + * @version $Revision$ $Date$ + */ +public class ParameterDescriptor extends ExternalModelParameterComplexTypeDescriptor { + + + //--------------------------/ + //- Class/Member Variables -/ + //--------------------------/ + + /** + * Field nsPrefix + */ + private java.lang.String nsPrefix; + + /** + * Field nsURI + */ + private java.lang.String nsURI; + + /** + * Field xmlName + */ + private java.lang.String xmlName; + + /** + * Field identity + */ + private org.exolab.castor.xml.XMLFieldDescriptor identity; + + + //----------------/ + //- Constructors -/ + //----------------/ + + public ParameterDescriptor() { + super(); + setExtendsWithoutFlatten(new ExternalModelParameterComplexTypeDescriptor()); + nsURI = "http://www.openda.org"; + xmlName = "parameter"; + } //-- org.openda.model_external_socket.io.castorgenerated.ParameterDescriptor() + + + //-----------/ + //- Methods -/ + //-----------/ + + /** + * Method getAccessMode + */ + public org.exolab.castor.mapping.AccessMode getAccessMode() + { + return null; + } //-- org.exolab.castor.mapping.AccessMode getAccessMode() + + /** + * Method getExtends + */ + public org.exolab.castor.mapping.ClassDescriptor getExtends() + { + return super.getExtends(); + } //-- org.exolab.castor.mapping.ClassDescriptor getExtends() + + /** + * Method getIdentity + */ + public org.exolab.castor.mapping.FieldDescriptor getIdentity() + { + if (identity == null) + return super.getIdentity(); + return identity; + } //-- org.exolab.castor.mapping.FieldDescriptor getIdentity() + + /** + * Method getJavaClass + */ + public java.lang.Class getJavaClass() + { + return org.openda.model_external_socket.io.castorgenerated.Parameter.class; + } //-- java.lang.Class getJavaClass() + + /** + * Method getNameSpacePrefix + */ + public java.lang.String getNameSpacePrefix() + { + return nsPrefix; + } //-- java.lang.String getNameSpacePrefix() + + /** + * Method getNameSpaceURI + */ + public java.lang.String getNameSpaceURI() + { + return nsURI; + } //-- java.lang.String getNameSpaceURI() + + /** + * Method getValidator + */ + public org.exolab.castor.xml.TypeValidator getValidator() + { + return this; + } //-- org.exolab.castor.xml.TypeValidator getValidator() + + /** + * Method getXMLName + */ + public java.lang.String getXMLName() + { + return xmlName; + } //-- java.lang.String getXMLName() + +} diff --git a/model_external_socket/doc/.gitkeep b/model_external_socket/doc/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/model_external_socket/java/model_external_socket.iml b/model_external_socket/java/model_external_socket.iml new file mode 100644 index 000000000..60483840b --- /dev/null +++ b/model_external_socket/java/model_external_socket.iml @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/model_external_socket/java/resources/openda/model_external_socket_castor.jar b/model_external_socket/java/resources/openda/model_external_socket_castor.jar new file mode 100644 index 0000000000000000000000000000000000000000..a8aca755d8c69ec57dd60c082730c1c39cd45631 GIT binary patch literal 16576 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 literal 0 HcmV?d00001 diff --git a/model_external_socket/java/resources/openda/model_external_socket_castor_src.zip b/model_external_socket/java/resources/openda/model_external_socket_castor_src.zip new file mode 100644 index 0000000000000000000000000000000000000000..bc9ce17d7f30d867e2c9efc5c4ce57cfdeb36d08 GIT binary patch literal 9132 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 + + + + + + + + + + + + + + + diff --git a/openda.ipr b/openda.ipr index 8ce1ee0a9..04830ef91 100644 --- a/openda.ipr +++ b/openda.ipr @@ -10,6 +10,7 @@ + - + @@ -143,21 +144,6 @@ \ No newline at end of file diff --git a/model_external_socket/java/resources/openda/model_external_socket_castor.jar b/model_external_socket/java/resources/openda/model_external_socket_castor.jar deleted file mode 100644 index c2f66948c0a4b80f44a83e3191abd16d7fd1824a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15173 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 diff --git a/model_external_socket/java/resources/openda/model_external_socket_castor_schemas.zip b/model_external_socket/java/resources/openda/model_external_socket_castor_schemas.zip deleted file mode 100644 index f47cbfae720ef02ecc2d93bc70b7aebd6463e0d4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 703 zcmWIWW@h1HVBp|j=nk&(-|$t_iIs_gL7J6;L5V?xA+@3;wJ0w!$2UJEH7B?vKRE-; za!X7u$uFwZt0+!kWDo$WW&i?^P7qic;@f}AKwxk9tNIzgwp2GbRA&m7EOnX~_9`#D z$!o7vxP9keOY&k_svE2w{LuU+LakIrh0F^ zd-llouSFl??$p-&&H9yQz~Ez=$hCAC&p!K_NKy71`(=CW95jvI>pAu*awx6(|V4m)=nr72TuGTMarb|jL_AJ&~*!p&9r^K?8Ggq8* zF3MZ9vefWj*VOQp1`%s5*X!M?_t1V&{N(Ae$!q-d*O+~~@xv;PZ+nLKj>ld_ycIqV zZY{Nwo&8L|jOEFuU#mjCER0*(+imu=)$14MT#kILy*B^M7Iz>1y}Kml6W^VfSpC*3 zM|&SS@zi`<>4%r<0p5&E iBFwmw79^p7$R&*+l5j!`@MdKLsbmDg03aO+PHX_lPAm=p diff --git a/model_external_socket/java/resources/openda/model_external_socket_castor_src.zip b/model_external_socket/java/resources/openda/model_external_socket_castor_src.zip index b5fee88fd2603b1c7af325bc6c6116ed7bfecac5..aeab766e67b1f702f4620fc076e9a9ab8a6cbda1 100644 GIT binary patch delta 6124 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 A+5i9m diff --git a/model_external_socket/java/src/org/openda/externalsocket/ExternalModelStochModelInstance.java b/model_external_socket/java/src/org/openda/externalsocket/ExternalModelStochModelInstance.java deleted file mode 100644 index 7f4c1e7c0..000000000 --- a/model_external_socket/java/src/org/openda/externalsocket/ExternalModelStochModelInstance.java +++ /dev/null @@ -1,235 +0,0 @@ -package org.openda.externalsocket; - -import org.openda.interfaces.*; -import org.openda.observationOperators.ObservationOperatorDeprecatedModel; -import org.openda.utils.StochVector; -import org.openda.utils.Time; -import org.openda.utils.Vector; - -import java.io.File; - -public class ExternalModelStochModelInstance implements IStochModelInstance, IStochModelInstanceDeprecated, Cloneable { - - private int portNumber; - private Vector parameterVector; - private Vector modelResults; - private final double[] lowerBounds; - private final double[] upperBounds; - private final StochVector parameterUncertainties; - - public ExternalModelStochModelInstance(int portNumber, double[] parameterValues, double[] standardDeviations, double[] lowerBounds, double[] upperBounds) { - this.portNumber = portNumber; - this.parameterVector = new Vector(parameterValues); - this.lowerBounds = lowerBounds; - this.upperBounds = upperBounds; - this.parameterUncertainties = new StochVector(parameterValues, standardDeviations); - } - - public IVector getState() { - throw new RuntimeException("org.openda.geolab.CalLibStochModelInstance.getState() not implemented yet"); - - } - - public IVector getState(int iDomain) { - throw new RuntimeException("org.openda.geolab.CalLibStochModelInstance.getState() not implemented yet"); - - } - - public void axpyOnState(double alpha, IVector vector) { - throw new RuntimeException("org.openda.geolab.CalLibStochModelInstance.axpyOnState() not implemented yet"); - - } - - public void axpyOnState(double alpha, IVector vector, int iDomain) { - throw new RuntimeException("org.openda.geolab.CalLibStochModelInstance.axpyOnState() not implemented yet"); - - } - - public IVector getParameters() { - if (parameterVector == null) { - throw new RuntimeException("CalLibStochModelInstance.getParameters(): initialParameterVector == null"); - } - return parameterVector; - } - - public void setParameters(IVector parameters) { - parameterVector = new Vector(parameters.getValues()); - } - - public void axpyOnParameters(double alpha, IVector vector) { - Vector parameterVector = new Vector(this.parameterVector.getValues()); - parameterVector.axpy(alpha, vector); - this.parameterVector = parameterVector.clone(); - } - - public IStochVector getStateUncertainty() { - throw new RuntimeException("org.openda.geolab.CalLibStochModelInstance.getStateUncertainty() not implemented yet"); - - } - - public IStochVector getParameterUncertainty() { - return parameterUncertainties; - } - - public IStochVector[] getWhiteNoiseUncertainty(ITime time) { - throw new RuntimeException("org.openda.geolab.CalLibStochModelInstance.getWhiteNoiseUncertainty() not implemented yet"); - - } - - public boolean isWhiteNoiseStationary() { - throw new RuntimeException("org.openda.geolab.CalLibStochModelInstance.isWhiteNoiseStationary() not implemented yet"); - - } - - public ITime[] getWhiteNoiseTimes(ITime timeSpan) { - throw new RuntimeException("org.openda.geolab.CalLibStochModelInstance.getWhiteNoiseTimes() not implemented yet"); - - } - - public IVector[] getWhiteNoise(ITime timeSpan) { - throw new RuntimeException("org.openda.geolab.CalLibStochModelInstance.getWhiteNoise() not implemented yet"); - - } - - public void setWhiteNoise(IVector[] whiteNoise) { - throw new RuntimeException("org.openda.geolab.CalLibStochModelInstance.setWhiteNoise() not implemented yet"); - - } - - public void axpyOnWhiteNoise(double alpha, IVector[] vector) { - throw new RuntimeException("org.openda.geolab.CalLibStochModelInstance.axpyOnWhiteNoise() not implemented yet"); - - } - - public void setAutomaticNoiseGeneration(boolean value) { - throw new RuntimeException("org.openda.geolab.CalLibStochModelInstance.setAutomaticNoiseGeneration() not implemented yet"); - - } - - public IObservationOperator getObservationOperator() { - return new ObservationOperatorDeprecatedModel(this); - - } - - public void announceObservedValues(IObservationDescriptions observationDescriptions) { - - } - - public IVector getStateScaling() { - throw new RuntimeException("org.openda.geolab.CalLibStochModelInstance.getStateScaling() not implemented yet"); - - } - - public IVector[] getStateScaling(IObservationDescriptions observationDescriptions) { - throw new RuntimeException("org.openda.geolab.CalLibStochModelInstance.getStateScaling() not implemented yet"); - - } - - public IPrevExchangeItem getExchangeItem(String exchangeItemID) { - throw new RuntimeException("org.openda.geolab.CalLibStochModelInstance.getExchangeItem() not implemented yet"); - - } - - public ITime getTimeHorizon() { - // Fake time - return new Time(58119, 58120, 1d / 24d); - } - - public ITime getCurrentTime() { - throw new RuntimeException("org.openda.geolab.CalLibStochModelInstance.getCurrentTime() not implemented yet"); - - } - - public void compute(ITime targetTime) { - // No action needed (modelResults are se externally - } - - public ILocalizationDomains getLocalizationDomains() { - throw new RuntimeException("org.openda.geolab.CalLibStochModelInstance.getLocalizationDomains() not implemented yet"); - - } - - public IVector[] getObservedLocalization(IObservationDescriptions observationDescriptions, double distance) { - throw new RuntimeException("org.openda.geolab.CalLibStochModelInstance.getObservedLocalization() not implemented yet"); - - } - - public IVector[] getObservedLocalization(IObservationDescriptions observationDescriptions, double distance, int iDomain) { - throw new RuntimeException("org.openda.geolab.CalLibStochModelInstance.getObservedLocalization() not implemented yet"); - - } - - public IModelState saveInternalState() { - throw new RuntimeException("org.openda.geolab.CalLibStochModelInstance.saveInternalState() not implemented yet"); - - } - - public void restoreInternalState(IModelState savedInternalState) { - throw new RuntimeException("org.openda.geolab.CalLibStochModelInstance.restoreInternalState() not implemented yet"); - - } - - public void releaseInternalState(IModelState savedInternalState) { - throw new RuntimeException("org.openda.geolab.CalLibStochModelInstance.releaseInternalState() not implemented yet"); - - } - - public IModelState loadPersistentState(File persistentStateFile) { - throw new RuntimeException("org.openda.geolab.CalLibStochModelInstance.loadPersistentState() not implemented yet"); - - } - - public File getModelRunDir() { - throw new RuntimeException("org.openda.geolab.CalLibStochModelInstance.getModelRunDir() not implemented yet"); - - } - - public String[] getExchangeItemIDs() { - throw new RuntimeException("org.openda.geolab.CalLibStochModelInstance.getExchangeItemIDs() not implemented yet"); - - } - - public String[] getExchangeItemIDs(IPrevExchangeItem.Role role) { - throw new RuntimeException("org.openda.geolab.CalLibStochModelInstance.getExchangeItemIDs() not implemented yet"); - - } - - public IExchangeItem getDataObjectExchangeItem(String exchangeItemID) { - throw new RuntimeException("org.openda.geolab.CalLibStochModelInstance.getDataObjectExchangeItem() not implemented yet"); - - } - - public void finish() { - // no action needed (yet) - - } - - public void initialize(File workingDir, String[] arguments) { - throw new RuntimeException("org.openda.geolab.CalLibStochModelInstance.initialize() not implemented yet"); - - } - - public IInstance getParent() { - throw new RuntimeException("org.openda.geolab.CalLibStochModelInstance.getParent() not implemented yet"); - - } - - public IVector getObservedValues(IObservationDescriptions observationDescriptions) { - SocketClient socketClient = new SocketClient(portNumber); - int size = parameterVector.getSize(); - StringBuilder stringBuilder = new StringBuilder(10); - stringBuilder.append("Z:"); - for (int i = 0; i < size; i++) { - stringBuilder.append(parameterVector.getValue(i)); - stringBuilder.append(';'); - } - String received = socketClient.sendAndReceive(stringBuilder.toString()); - String[] split = received.split(";"); - double[] receivedValues = new double[split.length]; - for (int i = 0; i < split.length; i++) { - receivedValues[i] = Double.parseDouble(split[i]); - } - modelResults = new Vector(receivedValues); - return modelResults; - } -} diff --git a/model_external_socket/java/src/org/openda/externalsocket/ExternalModelStochModelFactory.java b/model_external_socket/java/src/org/openda/externalsocket/ExternalSocketModelFactory.java similarity index 63% rename from model_external_socket/java/src/org/openda/externalsocket/ExternalModelStochModelFactory.java rename to model_external_socket/java/src/org/openda/externalsocket/ExternalSocketModelFactory.java index 70c14e6c4..f7142e9aa 100644 --- a/model_external_socket/java/src/org/openda/externalsocket/ExternalModelStochModelFactory.java +++ b/model_external_socket/java/src/org/openda/externalsocket/ExternalSocketModelFactory.java @@ -7,13 +7,18 @@ import java.io.File; -public class ExternalModelStochModelFactory implements IModelFactory, ITimeHorizonConsumer { +public class ExternalSocketModelFactory implements IModelFactory, ITimeHorizonConsumer { - private ExternalModelStochModelFactoryConfigReader configReader; + private ExternalSocketModelFactoryConfigReader configReader; + private File dummyModelDir; + + public ExternalSocketModelFactory() { + + } @Override - public ExternalModelStochModelInstance getInstance(String[] arguments, IStochModelFactory.OutputLevel outputLevel) { - return new ExternalModelStochModelInstance(configReader.getPortNumber(), configReader.getValues(), configReader.getStdDev(), configReader.getLowerBounds(), configReader.getUpperBounds()); + public ExternalSocketModelInstance getInstance(String[] arguments, IStochModelFactory.OutputLevel outputLevel) { + return new ExternalSocketModelInstance(configReader.getPortNumber(), configReader.getValues(), configReader.getStdDev(), configReader.getLowerBounds(), configReader.getUpperBounds(), dummyModelDir); } @Override @@ -34,12 +39,13 @@ public void initialize(File workingDir, String[] arguments) { throw new IllegalArgumentException(getClass().getSimpleName() + ": First argument should be: relative bmiModelFactoryConfig file path."); } + dummyModelDir = new File(workingDir, "dummyModelDir"); File externalModelFactoryConfigFile = new File(workingDir, arguments[0]); if (!externalModelFactoryConfigFile.exists()) { throw new IllegalArgumentException(getClass().getSimpleName() + ": Cannot find bmiModelFactoryConfig file " + externalModelFactoryConfigFile.getAbsolutePath()); } - configReader = new ExternalModelStochModelFactoryConfigReader(externalModelFactoryConfigFile); + configReader = new ExternalSocketModelFactoryConfigReader(externalModelFactoryConfigFile); } } diff --git a/model_external_socket/java/src/org/openda/externalsocket/ExternalModelStochModelFactoryConfigReader.java b/model_external_socket/java/src/org/openda/externalsocket/ExternalSocketModelFactoryConfigReader.java similarity index 77% rename from model_external_socket/java/src/org/openda/externalsocket/ExternalModelStochModelFactoryConfigReader.java rename to model_external_socket/java/src/org/openda/externalsocket/ExternalSocketModelFactoryConfigReader.java index 679ce065d..c81db4fd5 100644 --- a/model_external_socket/java/src/org/openda/externalsocket/ExternalModelStochModelFactoryConfigReader.java +++ b/model_external_socket/java/src/org/openda/externalsocket/ExternalSocketModelFactoryConfigReader.java @@ -1,12 +1,12 @@ package org.openda.externalsocket; import org.openda.model_external_socket.io.castorgenerated.ExternalModelParameterComplexType; -import org.openda.model_external_socket.io.castorgenerated.ExternalModelStochModelFactoryConfigXML; +import org.openda.model_external_socket.io.castorgenerated.ExternalSocketModelFactoryConfigXML; import org.openda.utils.io.CastorUtils; import java.io.File; -public class ExternalModelStochModelFactoryConfigReader { +public class ExternalSocketModelFactoryConfigReader { private final int portNumber; private final double[] values; @@ -14,8 +14,8 @@ public class ExternalModelStochModelFactoryConfigReader { private final double[] lowerBounds; private final double[] upperBounds; - public ExternalModelStochModelFactoryConfigReader(File configFile) { - ExternalModelStochModelFactoryConfigXML castor = (ExternalModelStochModelFactoryConfigXML) CastorUtils.parse(configFile,ExternalModelStochModelFactoryConfigXML.class); + public ExternalSocketModelFactoryConfigReader(File configFile) { + ExternalSocketModelFactoryConfigXML castor = (ExternalSocketModelFactoryConfigXML) CastorUtils.parse(configFile, ExternalSocketModelFactoryConfigXML.class); portNumber = castor.getPortNumber(); int parameterCount = castor.getParameterCount(); values = new double[parameterCount]; @@ -24,7 +24,7 @@ public ExternalModelStochModelFactoryConfigReader(File configFile) { upperBounds = new double[parameterCount]; for (int i = 0; i < parameterCount; i++) { ExternalModelParameterComplexType parameter = castor.getParameter(i); - values[i] = parameter.getValue(); + values[i] = parameter.getStartValue(); stdDev[i] = parameter.getStdDev(); lowerBounds[i] = parameter.hasLowerBound() ? parameter.getLowerBound() : Double.NaN; upperBounds[i] = parameter.hasUpperBound() ? parameter.getUpperBound() : Double.NaN; diff --git a/model_external_socket/java/src/org/openda/externalsocket/ExternalSocketModelInstance.java b/model_external_socket/java/src/org/openda/externalsocket/ExternalSocketModelInstance.java new file mode 100644 index 000000000..025f11724 --- /dev/null +++ b/model_external_socket/java/src/org/openda/externalsocket/ExternalSocketModelInstance.java @@ -0,0 +1,249 @@ +package org.openda.externalsocket; + +import org.openda.exchange.DoubleExchangeItem; +import org.openda.interfaces.*; +import org.openda.observationOperators.ObservationOperatorDeprecatedModel; +import org.openda.utils.StochVector; +import org.openda.utils.Time; +import org.openda.utils.Vector; + +import java.io.File; +import java.util.LinkedHashMap; + +public class ExternalSocketModelInstance implements IStochModelInstance, IStochModelInstanceDeprecated, Cloneable { + + private int portNumber; + private Vector parameterVector; + private Vector modelResults; + private final double[] lowerBounds; + private final double[] upperBounds; + private File dummyModelDir; + private final StochVector parameterUncertainties; + private LinkedHashMap exchangeItems = new LinkedHashMap<>(); + private Time fakeTime = new Time(58119,58120,1d/24d); + + public ExternalSocketModelInstance(int portNumber, double[] parameterValues, double[] standardDeviations, double[] lowerBounds, double[] upperBounds, File dummyModelDir) { + this.portNumber = portNumber; + this.parameterVector = new Vector(parameterValues); + this.lowerBounds = lowerBounds; + this.upperBounds = upperBounds; + this.dummyModelDir = dummyModelDir; + this.parameterUncertainties = new StochVector(parameterValues, standardDeviations); + for (int i = 0; i < parameterValues.length; i++) { + String paramId = "External_Socket_paramEI_" + i; + DoubleExchangeItem paramEI = new DoubleExchangeItem(paramId, parameterValues[i]); + //paramEI.setTime(fakeTime.getMJD()); + exchangeItems.put(paramId, paramEI); + String resultId = "External_Socket_resultEI_" + i; + DoubleExchangeItem resultEI = new DoubleExchangeItem(resultId, i * 100); + //resultEI.setTime(fakeTime.getMJD()); + exchangeItems.put(resultId, resultEI); + } + } + + public IVector getState() { + throw new RuntimeException("org.openda.externalsocket.ExternalSocketModelInstance.getState() not implemented yet"); + + } + + public IVector getState(int iDomain) { + throw new RuntimeException("org.openda.externalsocket.ExternalSocketModelInstance.getState() not implemented yet"); + + } + + public void axpyOnState(double alpha, IVector vector) { + throw new RuntimeException("org.openda.externalsocket.ExternalSocketModelInstance.axpyOnState() not implemented yet"); + + } + + public void axpyOnState(double alpha, IVector vector, int iDomain) { + throw new RuntimeException("org.openda.externalsocket.ExternalSocketModelInstance.axpyOnState() not implemented yet"); + + } + + public IVector getParameters() { + if (parameterVector == null) { + throw new RuntimeException("CalLibStochModelInstance.getParameters(): initialParameterVector == null"); + } + return parameterVector; + } + + public void setParameters(IVector parameters) { + parameterVector = new Vector(parameters.getValues()); + } + + public void axpyOnParameters(double alpha, IVector vector) { + Vector parameterVector = new Vector(this.parameterVector.getValues()); + parameterVector.axpy(alpha, vector); + this.parameterVector = parameterVector.clone(); + } + + public IStochVector getStateUncertainty() { + throw new RuntimeException("org.openda.externalsocket.ExternalSocketModelInstance.getStateUncertainty() not implemented yet"); + + } + + public IStochVector getParameterUncertainty() { + return parameterUncertainties; + } + + public IStochVector[] getWhiteNoiseUncertainty(ITime time) { + throw new RuntimeException("org.openda.externalsocket.ExternalSocketModelInstance.getWhiteNoiseUncertainty() not implemented yet"); + + } + + public boolean isWhiteNoiseStationary() { + throw new RuntimeException("org.openda.externalsocket.ExternalSocketModelInstance.isWhiteNoiseStationary() not implemented yet"); + + } + + public ITime[] getWhiteNoiseTimes(ITime timeSpan) { + throw new RuntimeException("org.openda.externalsocket.ExternalSocketModelInstance.getWhiteNoiseTimes() not implemented yet"); + + } + + public IVector[] getWhiteNoise(ITime timeSpan) { + throw new RuntimeException("org.openda.externalsocket.ExternalSocketModelInstance.getWhiteNoise() not implemented yet"); + + } + + public void setWhiteNoise(IVector[] whiteNoise) { + throw new RuntimeException("org.openda.externalsocket.ExternalSocketModelInstance.setWhiteNoise() not implemented yet"); + + } + + public void axpyOnWhiteNoise(double alpha, IVector[] vector) { + throw new RuntimeException("org.openda.externalsocket.ExternalSocketModelInstance.axpyOnWhiteNoise() not implemented yet"); + + } + + public void setAutomaticNoiseGeneration(boolean value) { + throw new RuntimeException("org.openda.externalsocket.ExternalSocketModelInstance.setAutomaticNoiseGeneration() not implemented yet"); + + } + + public IObservationOperator getObservationOperator() { + return new ObservationOperatorDeprecatedModel(this); + + } + + public void announceObservedValues(IObservationDescriptions observationDescriptions) { + + } + + public IVector getStateScaling() { + throw new RuntimeException("org.openda.externalsocket.ExternalSocketModelInstance.getStateScaling() not implemented yet"); + + } + + public IVector[] getStateScaling(IObservationDescriptions observationDescriptions) { + throw new RuntimeException("org.openda.externalsocket.ExternalSocketModelInstance.getStateScaling() not implemented yet"); + + } + + public IPrevExchangeItem getExchangeItem(String exchangeItemID) { + return exchangeItems.get(exchangeItemID); + } + + public ITime getTimeHorizon() { + return fakeTime; + } + + public ITime getCurrentTime() { + return fakeTime; + } + + public void compute(ITime targetTime) { + // No action needed (modelResults are se externally + } + + public ILocalizationDomains getLocalizationDomains() { + throw new RuntimeException("org.openda.externalsocket.ExternalSocketModelInstance.getLocalizationDomains() not implemented yet"); + + } + + public IVector[] getObservedLocalization(IObservationDescriptions observationDescriptions, double distance) { + throw new RuntimeException("org.openda.externalsocket.ExternalSocketModelInstance.getObservedLocalization() not implemented yet"); + + } + + public IVector[] getObservedLocalization(IObservationDescriptions observationDescriptions, double distance, int iDomain) { + throw new RuntimeException("org.openda.externalsocket.ExternalSocketModelInstance.getObservedLocalization() not implemented yet"); + + } + + public IModelState saveInternalState() { + throw new RuntimeException("org.openda.externalsocket.ExternalSocketModelInstance.saveInternalState() not implemented yet"); + + } + + public void restoreInternalState(IModelState savedInternalState) { + throw new RuntimeException("org.openda.externalsocket.ExternalSocketModelInstance.restoreInternalState() not implemented yet"); + + } + + public void releaseInternalState(IModelState savedInternalState) { + throw new RuntimeException("org.openda.externalsocket.ExternalSocketModelInstance.releaseInternalState() not implemented yet"); + + } + + public IModelState loadPersistentState(File persistentStateFile) { + throw new RuntimeException("org.openda.externalsocket.ExternalSocketModelInstance.loadPersistentState() not implemented yet"); + + } + + public File getModelRunDir() { + return dummyModelDir; + } + + public String[] getExchangeItemIDs() { + return exchangeItems.keySet().toArray(new String[0]); + } + + public String[] getExchangeItemIDs(IPrevExchangeItem.Role role) { + throw new RuntimeException("org.openda.externalsocket.ExternalSocketModelInstance.getExchangeItemIDs() not implemented yet"); + + } + + public IExchangeItem getDataObjectExchangeItem(String exchangeItemID) { + return exchangeItems.get(exchangeItemID); + + } + + public void finish() { + // TODO EP socket client send final parameters + + } + + public void initialize(File workingDir, String[] arguments) { + throw new RuntimeException("org.openda.externalsocket.ExternalSocketModelInstance.initialize() not implemented yet"); + + } + + public IInstance getParent() { + throw new RuntimeException("org.openda.externalsocket.ExternalSocketModelInstance.getParent() not implemented yet"); + + } + + public IVector getObservedValues(IObservationDescriptions observationDescriptions) { + SocketClient socketClient = new SocketClient(portNumber); + int size = parameterVector.getSize(); + StringBuilder stringBuilder = new StringBuilder(10); + stringBuilder.append("Z:"); + for (int i = 0; i < size; i++) { + stringBuilder.append(parameterVector.getValue(i)); + stringBuilder.append(';'); + } + String received = socketClient.sendAndReceive(stringBuilder.toString()); + String[] split = received.split(";"); + double[] receivedValues = new double[split.length]; + for (int i = 0; i < split.length; i++) { + double parsedModelResult = Double.parseDouble(split[i]); + receivedValues[i] = parsedModelResult; + String resultId = "External_Socket_resultEI_" + i; + exchangeItems.get(resultId).setValuesAsDoubles(new double[]{parsedModelResult}); + } + modelResults = new Vector(receivedValues); + return modelResults; + } +} diff --git a/model_external_socket/java/test/org/openda/externalsocket/ExternalModelStochModelFactoryTest.java b/model_external_socket/java/test/org/openda/externalsocket/ExternalModelStochModelFactoryTest.java index 44eb54cd1..115caeb6d 100644 --- a/model_external_socket/java/test/org/openda/externalsocket/ExternalModelStochModelFactoryTest.java +++ b/model_external_socket/java/test/org/openda/externalsocket/ExternalModelStochModelFactoryTest.java @@ -19,9 +19,9 @@ protected void setUp() { public void testReadConfig() { - ExternalModelStochModelFactory externalModelStochModelFactory = new ExternalModelStochModelFactory(); - externalModelStochModelFactory.initialize(testRunDataDir, new String[]{"ExternalModelStochModelFactory.xml"}); - ExternalModelStochModelInstance stochModelInstance = externalModelStochModelFactory.getInstance(new String[0], IStochModelFactory.OutputLevel.Suppress); + ExternalSocketModelFactory externalModelStochModelFactory = new ExternalSocketModelFactory(); + externalModelStochModelFactory.initialize(testRunDataDir, new String[]{"ExternalSocketModelFactory.xml"}); + ExternalSocketModelInstance stochModelInstance = externalModelStochModelFactory.getInstance(new String[0], IStochModelFactory.OutputLevel.Suppress); IVector parameters = stochModelInstance.getParameters(); int size = parameters.getSize(); assertEquals(3, size); diff --git a/model_external_socket/java/test/org/openda/externalsocket/testData/ExternalModelStochModelFactory.xml b/model_external_socket/java/test/org/openda/externalsocket/testData/ExternalModelStochModelFactory.xml deleted file mode 100644 index 5e55049b4..000000000 --- a/model_external_socket/java/test/org/openda/externalsocket/testData/ExternalModelStochModelFactory.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - 8124 - - - - diff --git a/model_external_socket/java/test/org/openda/externalsocket/testData/ExternalSocketModelFactory.xml b/model_external_socket/java/test/org/openda/externalsocket/testData/ExternalSocketModelFactory.xml new file mode 100644 index 000000000..33d67a0d1 --- /dev/null +++ b/model_external_socket/java/test/org/openda/externalsocket/testData/ExternalSocketModelFactory.xml @@ -0,0 +1,7 @@ + + + 8124 + + + + diff --git a/model_external_socket/xmlSchemas/externalModelStochModelFactory.xsd b/model_external_socket/xmlSchemas/externalSocketModelFactory.xsd similarity index 81% rename from model_external_socket/xmlSchemas/externalModelStochModelFactory.xsd rename to model_external_socket/xmlSchemas/externalSocketModelFactory.xsd index 41d7b584a..fe5ab088c 100644 --- a/model_external_socket/xmlSchemas/externalModelStochModelFactory.xsd +++ b/model_external_socket/xmlSchemas/externalSocketModelFactory.xsd @@ -1,19 +1,19 @@ - + Configuration for an external model factory. It contains information on the socket port number and parameter initialisation values - + - + diff --git a/openda.ipr b/openda.ipr index 04830ef91..b51653c7a 100644 --- a/openda.ipr +++ b/openda.ipr @@ -377,6 +377,19 @@ + + + + +