use of org.osate.ba.declarative.DeclarativeReferenceValue in project osate2 by osate.
the class AadlBaParserVisitor method clonePropertyExpression.
private PropertyExpression clonePropertyExpression(PropertyExpression sourcePropertyExpression) {
PropertyExpression targetPropertyExpression = null;
if (sourcePropertyExpression instanceof ListValue) {
ListValue sourceLV = (ListValue) sourcePropertyExpression;
ListValue targetLV = _coreFact.createListValue();
for (PropertyExpression propInList : sourceLV.getOwnedListElements()) {
targetLV.getOwnedListElements().add(clonePropertyExpression(propInList));
}
targetPropertyExpression = targetLV;
} else if (sourcePropertyExpression instanceof StringLiteral) {
StringLiteral sourceSL = (StringLiteral) sourcePropertyExpression;
StringLiteral targetSL = _coreFact.createStringLiteral();
targetSL.setValue(sourceSL.getValue());
targetPropertyExpression = targetSL;
} else if (sourcePropertyExpression instanceof IntegerLiteral) {
IntegerLiteral sourceIL = (IntegerLiteral) sourcePropertyExpression;
IntegerLiteral targetIL = _coreFact.createIntegerLiteral();
targetIL.setValue(sourceIL.getValue());
targetIL.setUnit(sourceIL.getUnit());
targetPropertyExpression = targetIL;
} else if (sourcePropertyExpression instanceof RealLiteral) {
RealLiteral sourceRL = (RealLiteral) sourcePropertyExpression;
RealLiteral targetRL = _coreFact.createRealLiteral();
targetRL.setValue(sourceRL.getValue());
targetRL.setUnit(sourceRL.getUnit());
targetPropertyExpression = targetRL;
} else if (sourcePropertyExpression instanceof RecordValue) {
RecordValue sourceRV = (RecordValue) sourcePropertyExpression;
RecordValue targetRV = _coreFact.createRecordValue();
targetRV.getOwnedFieldValues().addAll(sourceRV.getOwnedFieldValues());
targetPropertyExpression = targetRV;
} else if (sourcePropertyExpression instanceof BooleanLiteral) {
BooleanLiteral sourceBL = (BooleanLiteral) sourcePropertyExpression;
BooleanLiteral targetBL = _coreFact.createBooleanLiteral();
targetBL.setValue(sourceBL.getValue());
targetPropertyExpression = targetBL;
} else if (sourcePropertyExpression instanceof RangeValue) {
RangeValue sourceRV = (RangeValue) sourcePropertyExpression;
RangeValue targetRV = _coreFact.createRangeValue();
targetRV.setMinimum(clonePropertyExpression(sourceRV.getMinimum()));
targetRV.setMaximum(clonePropertyExpression(sourceRV.getMaximum()));
targetPropertyExpression = targetRV;
} else if (sourcePropertyExpression instanceof DeclarativeReferenceValue) {
DeclarativeReferenceValue sourceDRV = (DeclarativeReferenceValue) sourcePropertyExpression;
ReferenceValue targetRV = _coreFact.createReferenceValue();
targetRV.setPath(sourceDRV.getRef());
targetPropertyExpression = targetRV;
} else if (sourcePropertyExpression instanceof DeclarativeClassifierValue) {
DeclarativeClassifierValue sourceDCV = (DeclarativeClassifierValue) sourcePropertyExpression;
ClassifierValue targetCV = _coreFact.createClassifierValue();
targetCV.setClassifier(sourceDCV.getClassifier());
targetPropertyExpression = targetCV;
}
return targetPropertyExpression;
}
Aggregations