use of com.opensimulationplatform.core.model.systemstructure.Simulator in project osp-validator by open-simulation-platform.
the class Validator method getModelDescriptionErrorMessages.
private List<String> getModelDescriptionErrorMessages(File ospSystemStructureFile, OspSystemStructure ospSystemStructureElement) {
List<String> errorMessages = new ArrayList<>();
for (Simulators.Simulator simulator : ospSystemStructureElement.getSimulators().getSimulator()) {
FmuLocator fmuLocator = new DefaultFmuLocator(ospSystemStructureFile);
URI fmu = fmuLocator.get(simulator);
OspModelDescriptionLocator ospModelDescriptionLocator = new DefaultOspModelDescriptionLocator(ospSystemStructureFile, fmuLocator);
Optional<File> ospModelDescriptionXml = ospModelDescriptionLocator.get(simulator);
if (ospModelDescriptionXml.isPresent()) {
OspModelDescriptionParser parser = new OspModelDescriptionParser();
OspModelDescriptionType ospModelDescriptionElement = parser.parse(ospModelDescriptionXml.get());
Map<Object, Location> locations = parser.getLocations();
ModelDescriptionFactory factory = new ModelDescriptionFactory();
ModelDescription modelDescription = factory.create(ospModelDescriptionXml.get(), fmu);
Simulator s = new Simulator();
s.setName(simulator.getName());
s.setModelDescription(modelDescription);
SystemStructure systemStructure = new SystemStructure();
systemStructure.getSimulators().add(s);
ModelDescriptionValidator validator = new ModelDescriptionValidator();
List<ValidationDiagnostic<Object>> diagnostics = validator.validate(systemStructure);
Map<Object, Object> coreToJaxb = createModelDescriptionMap(ospModelDescriptionElement, modelDescription);
errorMessages.addAll(getErrorMessages(ospModelDescriptionXml.get(), locations, diagnostics, coreToJaxb));
}
}
return errorMessages;
}
use of com.opensimulationplatform.core.model.systemstructure.Simulator 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.Simulator 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.Simulator in project osp-validator by open-simulation-platform.
the class SystemStructureUtil method getVariableGroupConnectionByPartNames.
public static Optional<VariableGroupConnection> getVariableGroupConnectionByPartNames(SystemStructure systemStructure, String simulatorAName, String variableGroupAName, String simulatorBName, String variableGroupBName) {
List<VariableGroupConnection> variableGroupConnections = systemStructure.getVariableGroupConnections();
for (VariableGroupConnection variableGroupConnection : variableGroupConnections) {
Simulator simulatorA = variableGroupConnection.getSimulatorA();
VariableGroup variableA = variableGroupConnection.getVariableGroupA();
Simulator simulatorB = variableGroupConnection.getSimulatorB();
VariableGroup variableB = variableGroupConnection.getVariableGroupB();
if (simulatorAName.equals(simulatorA.getName().get()) && variableGroupAName.equals(variableA.getName().get()) && simulatorBName.equals(simulatorB.getName().get()) && variableGroupBName.equals(variableB.getName().get())) {
return Optional.of(variableGroupConnection);
}
}
return Optional.empty();
}
use of com.opensimulationplatform.core.model.systemstructure.Simulator in project osp-validator by open-simulation-platform.
the class ValidatorContextFactory method create.
public ValidatorContext create(ModelDescription modelDescription) {
Simulator simulator = new Simulator();
simulator.setModelDescription(modelDescription);
OwlBuilderContext builderContext = new OwlBuilderContext();
builderContext.owl = new OWLConfig();
builderContext.owl.removeNakedVariables = false;
SimulatorOwlBuilder builder = new SimulatorOwlBuilder();
builder.setContext(builderContext);
builder.build(simulator);
builder.complete();
ValidatorContext validatorContext = new ValidatorContext();
validatorContext.owl = builderContext.owl;
validatorContext.invalidIndividuals = builderContext.invalidIndividuals;
validatorContext.names = builderContext.names;
validatorContext.units = builderContext.units;
validatorContext.variables = builderContext.variables;
validatorContext.variableGroups = builderContext.variableGroups;
validatorContext.simulators = builderContext.simulators;
return validatorContext;
}
Aggregations