use of com.opensimulationplatform.core.model.systemstructure.VariableConnection in project osp-validator by open-simulation-platform.
the class OspOwlBuilder method variableExistsInConnection.
private boolean variableExistsInConnection(Variable variable) {
Collection<VariableConnection> variableConnections = context.variableConnections.values();
for (VariableConnection variableConnection : variableConnections) {
Variable variableA = variableConnection.getVariableA();
Variable variableB = variableConnection.getVariableB();
if (variableA.equals(variable) || variableB.equals(variable)) {
return true;
}
}
return false;
}
use of com.opensimulationplatform.core.model.systemstructure.VariableConnection in project osp-validator by open-simulation-platform.
the class OspSystemStructureConverter method convert.
@Override
public SystemStructure convert(OspSystemStructure ospSystemStructureElement) {
SystemStructure systemStructure = context.systemStructure;
List<Simulators.Simulator> simulatorElements = ospSystemStructureElement.getSimulators().getSimulator();
List<Simulator> simulators = context.simulatorConverter.convert(simulatorElements);
systemStructure.getSimulators().addAll(simulators);
List<Object> connectionElements = ospSystemStructureElement.getConnections().getVariableConnectionOrSignalConnectionOrVariableGroupConnection();
List<Connections.VariableConnection> variableConnectionElements = new ArrayList<>();
List<Connections.VariableGroupConnection> variableGroupConnectionElements = new ArrayList<>();
for (Object connectionElement : connectionElements) {
if (connectionElement instanceof Connections.VariableConnection) {
variableConnectionElements.add((Connections.VariableConnection) connectionElement);
} else if (connectionElement instanceof Connections.VariableGroupConnection) {
variableGroupConnectionElements.add((Connections.VariableGroupConnection) connectionElement);
}
}
List<VariableConnection> variableConnections = context.variableConnectionConverter.convert(variableConnectionElements);
systemStructure.getVariableConnections().addAll(variableConnections);
List<VariableGroupConnection> variableGroupConnections = context.variableGroupConnectionConverter.convert(variableGroupConnectionElements);
systemStructure.getVariableGroupConnections().addAll(variableGroupConnections);
return systemStructure;
}
use of com.opensimulationplatform.core.model.systemstructure.VariableConnection in project osp-validator by open-simulation-platform.
the class SystemStructureUtil method getVariableConnectionByPartNames.
public static Optional<VariableConnection> getVariableConnectionByPartNames(SystemStructure systemStructure, String simulatorAName, String variableAName, String simulatorBName, String variableBName) {
List<VariableConnection> variableConnections = systemStructure.getVariableConnections();
for (VariableConnection variableConnection : variableConnections) {
Simulator simulatorA = variableConnection.getSimulatorA();
Variable variableA = variableConnection.getVariableA();
Simulator simulatorB = variableConnection.getSimulatorB();
Variable variableB = variableConnection.getVariableB();
if (simulatorAName.equals(simulatorA.getName().get()) && variableAName.equals(variableA.getName().get()) && simulatorBName.equals(simulatorB.getName().get()) && variableBName.equals(variableB.getName().get())) {
return Optional.of(variableConnection);
}
}
return Optional.empty();
}
use of com.opensimulationplatform.core.model.systemstructure.VariableConnection in project osp-validator by open-simulation-platform.
the class SystemStructureValidatorTest method invalid.
@Test
public void invalid() {
Simulator s1 = new Simulator();
s1.setName("s1");
s1.setModelDescription(createInvalidModelDescription());
Simulator s2 = new Simulator();
s2.setName("s2");
s2.setModelDescription(createInvalidModelDescription());
SystemStructure systemStructure = new SystemStructure();
systemStructure.getSimulators().add(s1);
systemStructure.getSimulators().add(s2);
VariableConnection vc1 = new VariableConnection();
vc1.setSimulatorA(s1);
vc1.setSimulatorB(s2);
vc1.setVariableA(ModelDescriptionUtil.getVariableByName(s1.getModelDescription(), "v3"));
vc1.setVariableB(ModelDescriptionUtil.getVariableByName(s1.getModelDescription(), "v4"));
VariableConnection vc2 = new VariableConnection();
vc2.setSimulatorA(s1);
vc2.setSimulatorB(s2);
vc2.setVariableA(ModelDescriptionUtil.getVariableByName(s1.getModelDescription(), "v3"));
vc2.setVariableB(ModelDescriptionUtil.getVariableByName(s1.getModelDescription(), "v5"));
VariableConnection vc3 = new VariableConnection();
vc3.setSimulatorA(s1);
vc3.setSimulatorB(s2);
vc3.setVariableA(ModelDescriptionUtil.getVariableByName(s1.getModelDescription(), "v3"));
vc3.setVariableB(ModelDescriptionUtil.getVariableByName(s2.getModelDescription(), "v6"));
systemStructure.getVariableConnections().add(vc1);
systemStructure.getVariableConnections().add(vc2);
systemStructure.getVariableConnections().add(vc3);
VariableGroupConnection vgc1 = new VariableGroupConnection();
vgc1.setSimulatorA(s1);
vgc1.setSimulatorB(s2);
vgc1.setVariableGroupA(ModelDescriptionUtil.getVariableGroupByName(s1.getModelDescription(), "f3"));
vgc1.setVariableGroupB(ModelDescriptionUtil.getVariableGroupByName(s2.getModelDescription(), "lv1"));
systemStructure.getVariableGroupConnections().add(vgc1);
SystemStructureValidator v = new SystemStructureValidator();
List<ValidationDiagnostic<Object>> diagnostics = v.validate(systemStructure);
assertEquals(32, diagnostics.size());
}
use of com.opensimulationplatform.core.model.systemstructure.VariableConnection in project osp-validator by open-simulation-platform.
the class VE_VariableConnection_1_Test method valid.
@Test
public void valid() {
Variable va = new Variable();
va.setName("va");
va.setType(Variable.Type.REAL);
va.setCausality(Variable.Causality.INPUT);
Variable vb = new Variable();
vb.setName("vb");
vb.setType(Variable.Type.REAL);
vb.setCausality(Variable.Causality.INPUT);
VariableConnection vc = new VariableConnection();
vc.setVariableA(va);
vc.setVariableB(vb);
vc.setSimulatorA(new Simulator());
vc.setSimulatorB(new Simulator());
builder.build(vc);
builder.complete();
List<ValidationDiagnostic<VariableConnection>> diagnostics = validationError.validate();
assertTrue(diagnostics.isEmpty());
}
Aggregations