@Override public void set(String name, Object value) throws BimserverDatabaseException { EStructuralFeature eStructuralFeature = eClass.getEStructuralFeature(name); map.put(eStructuralFeature, value); }
public boolean has(String key) { EStructuralFeature eStructuralFeature = eClass.getEStructuralFeature(key); return map.containsKey(eStructuralFeature) && map.get(eStructuralFeature) != null; }
static void set(EObject object, String featureName, Object value) { EStructuralFeature feature = object.eClass().getEStructuralFeature(featureName); if (feature != null) { object.eSet(feature, value); } }
public EAttribute getEAttribute(String className, String attributeName) { EClassifier eClassifier = ePackage.getEClassifier(className); if (eClassifier instanceof EClass) { EClass eClass = (EClass)eClassifier; EStructuralFeature eStructuralFeature = eClass.getEStructuralFeature(attributeName); if (eStructuralFeature instanceof EAttribute) { return (EAttribute) eStructuralFeature; } } return null; }
public EReference getEReference(String className, String referenceName) { EClassifier eClassifier = ePackage.getEClassifier(className); if (eClassifier instanceof EClass) { EClass eClass = (EClass)eClassifier; EStructuralFeature eStructuralFeature = eClass.getEStructuralFeature(referenceName); if (eStructuralFeature instanceof EReference) { return (EReference) eStructuralFeature; } } return null; }
@Override public void set(String name, Object value) throws BimserverDatabaseException { setAttribute(eClass.getEStructuralFeature(name), value); }
@Override public void set(String name, Object val) throws BimserverDatabaseException { setAttribute(eClass.getEStructuralFeature(name), val); }
@Override public void migrate(Schema schema, DatabaseSession databaseSession) { EClass ifcClassificationReference = schema.getEClass("ifc2x3tc1", "IfcClassificationReference"); EClass ifcRelAssociatesClassification = schema.getEClass("ifc2x3tc1", "IfcRelAssociatesClassification"); // // // This opposite/inverse is obviously missing from ifc2x3tc1 // // We can however not call this an opposite because of a mismatch // EReference associatesClassification = schema.createEReference(ifcClassificationReference, "associatesClassification", ifcRelAssociatesClassification); // associatesClassification.getEAnnotations().add(createHiddenAnnotation()); schema.addIndex(ifcClassificationReference.getEStructuralFeature("ItemReference")); schema.addIndex(ifcRelAssociatesClassification.getEStructuralFeature("RelatingClassification")); }
protected EStructuralFeature getEStructuralFeature(String className, String fieldName) { for (EPackage ePackage : packages) { if (ePackage.getEClassifier(className) != null) { EClass eClass = (EClass)ePackage.getEClassifier(className); return eClass.getEStructuralFeature(fieldName); } } return null; }
@Override public void migrate(Schema schema, DatabaseSession databaseSession) { EClass userClass = schema.getEClass("store", "User"); schema.addIndex(userClass.getEStructuralFeature("username")); EClass projectClass = schema.getEClass("store", "Project"); schema.addIndex(projectClass.getEStructuralFeature("id")); EClass pluginDescriptor = schema.getEClass("store", "PluginDescriptor"); schema.createEAttribute(pluginDescriptor, "identifier", EcorePackage.eINSTANCE.getEString()); schema.addIndex(pluginDescriptor.getEStructuralFeature("pluginClassName")); schema.addIndex(pluginDescriptor.getEStructuralFeature("identifier")); }
private void indexGuid(IdEObject idEObject) { EClass ifcRootEclass = packageMetaData.getEClass("IfcRoot"); EStructuralFeature guidFeature = ifcRootEclass.getEStructuralFeature("GlobalId"); if (ifcRootEclass.isSuperTypeOf(idEObject.eClass())) { Object guid = idEObject.eGet(guidFeature); if (guid != null) { guidIndexed.put((String)guid, idEObject); } } }
@Override public void eSet(int featureID, Object newValue) { if (model != null) { model.set(this, eClass().getEStructuralFeature(featureID), newValue); } super.eSet(featureID, newValue); } }
private int comparePrimitives(IdEObject o1, IdEObject o2) { EClass eClass = o1.eClass(); EStructuralFeature eStructuralFeature = eClass.getEStructuralFeature("wrappedValue"); Object val1 = o1.eGet(eStructuralFeature); Object val2 = o2.eGet(eStructuralFeature); if (eStructuralFeature.getEType() == EcorePackage.eINSTANCE.getEString()) { return ((String) val1).compareTo((String) val2); } else if (eStructuralFeature.getEType() == EcorePackage.eINSTANCE.getEInt()) { return ((Integer) val1).compareTo((Integer) val2); } else { throw new RuntimeException("ni"); } }
@SuppressWarnings("unchecked") private void createPresentationStyleAssignmentStyles(IfcModelInterface model, String representationIdentifier, IdEObject ifcPresentationStyleAssignment, IdEObject color) throws IfcModelInterfaceException { if (representationIdentifier.equals("Body")) { IdEObject ifcPresentationStyleSelect = model.create(model.getPackageMetaData().getEClass("IfcSurfaceStyle")); EStructuralFeature stylesFeature = ifcPresentationStyleAssignment.eClass().getEStructuralFeature("Styles"); List<IdEObject> list = (List<IdEObject>) ifcPresentationStyleAssignment.eGet(stylesFeature); list.add(ifcPresentationStyleSelect); createSurfaceStyleStyles(model, representationIdentifier, ifcPresentationStyleSelect, color); } else { // Unimplemented } }
@SuppressWarnings("unchecked") private void createSurfaceStyleStyles(IfcModelInterface model, String representationIdentifier, IdEObject ifcSurfaceStyle, IdEObject color) throws IfcModelInterfaceException { EClass ifcSurfaceStyleRenderingClass = model.getPackageMetaData().getEClass("IfcSurfaceStyleRendering"); IdEObject ifcSurfaceStyleRendering = model.create(ifcSurfaceStyleRenderingClass); EStructuralFeature stylesFeature = ifcSurfaceStyle.eClass().getEStructuralFeature("Styles"); ((List<IdEObject>)(ifcSurfaceStyle.eGet(stylesFeature))).add(ifcSurfaceStyleRendering); setColour(color, ifcSurfaceStyleRendering); }
@SuppressWarnings("unchecked") private void createStyledByItems(IfcModelInterface model, IdEObject ifcRepresentationItem, String representationIdentifier, IdEObject color) throws IfcModelInterfaceException { IdEObject ifcStyledItem = model.create(model.getPackageMetaData().getEClass("IfcStyledItem")); EStructuralFeature styledByItemFeature = ifcStyledItem.eClass().getEStructuralFeature("StyledByItem"); List<IdEObject> list = (List<IdEObject>) ifcRepresentationItem.eGet(styledByItemFeature); list.add(ifcStyledItem); createStyledItemStyles(model, representationIdentifier, ifcStyledItem, color); }
@SuppressWarnings("unchecked") private void createStyledItemStyles(IfcModelInterface model, String representationIdentifier, IdEObject ifcStyledItem, IdEObject color) throws IfcModelInterfaceException { IdEObject ifcPresentationStyleAssignment = model.create(model.getPackageMetaData().getEClass("IfcPresentationStyleAssignment")); EStructuralFeature stylesFeature = ifcStyledItem.eClass().getEStructuralFeature("Styles"); List<IdEObject> list = (List<IdEObject>) ifcStyledItem.eGet(stylesFeature); list.add(ifcPresentationStyleAssignment); createPresentationStyleAssignmentStyles(model, representationIdentifier, ifcPresentationStyleAssignment, color); }
@Override public void migrate(Schema schema, DatabaseSession databaseSession) { EClass oAuthAuthorizationCodeClass = schema.getEClass("store", "OAuthAuthorizationCode"); EClass userClass = schema.getEClass("store", "User"); EReference codeToUser = schema.createEReference(oAuthAuthorizationCodeClass, "user", userClass); EReference codes = (EReference) userClass.getEStructuralFeature("oAuthIssuedAuthorizationCodes"); codeToUser.setEOpposite(codes); codes.setEOpposite(codeToUser); }
private HashMapWrappedVirtualObject readWrappedValue(EStructuralFeature feature, ByteBuffer buffer, EClass eClass) throws BimserverDatabaseException { EStructuralFeature eStructuralFeature = eClass.getEStructuralFeature("wrappedValue"); Object primitiveValue = readPrimitiveValue(eStructuralFeature.getEType(), buffer); HashMapWrappedVirtualObject eObject = new HashMapWrappedVirtualObject(eClass); eObject.setAttribute(eStructuralFeature, primitiveValue); if (eStructuralFeature.getEType() == EcorePackage.eINSTANCE.getEDouble() || eStructuralFeature.getEType() == EcorePackage.eINSTANCE.getEDoubleObject()) { EStructuralFeature strFeature = eClass.getEStructuralFeature("wrappedValueAsString"); Object stringVal = readPrimitiveValue(EcorePackage.eINSTANCE.getEString(), buffer); eObject.setAttribute(strFeature, stringVal); } return eObject; }
private void write(IdEObject object) throws IOException { if (object.eClass().getEAnnotation("wrapped") != null) { EStructuralFeature wrappedFeature = object.eClass().getEStructuralFeature("wrappedValue"); print("{"); print("\"_t\":\"" + object.eClass().getName() + "\","); print("\"_v\":"); writePrimitive(wrappedFeature, object.eGet(wrappedFeature)); print("}"); } else { print("" + object.getOid()); } }