public Set<EClass> getAllEClassesThatHaveInverses() { // TODO cache Set<EClass> result = new HashSet<>(); for (EClassifier eClassifier : getEPackage().getEClassifiers()) { if (eClassifier instanceof EClass) { EClass eClass = (EClass)eClassifier; for (EReference eReference : eClass.getEReferences()) { if (hasInverse(eReference)) { result.add(eClass); continue; } } } } return result; }
public <T extends IdEObject> T create(Class<T> clazz) throws IfcModelInterfaceException, ObjectAlreadyExistsException { EClassifier eClassifier = getPackageMetaData().getEPackage().getEClassifier(clazz.getSimpleName()); if (eClassifier == null) { eClassifier = GeometryPackage.eINSTANCE.getEClassifier(clazz.getSimpleName()); } if (eClassifier == null) { throw new IfcModelInterfaceException("EClass not found " + clazz); } return create((EClass) eClassifier); }
objectIdmCache = new HashMap<EClass, ObjectIDM>(); for (PackageMetaData packageMetaData : metaDataManager.getAllIfc()) { final HideAllInversesObjectIDM hideAllInverse = new HideAllInversesObjectIDM(Collections.singleton(packageMetaData.getEPackage()), packageMetaData); hideAllInverseMap.put(packageMetaData.getEPackage(), hideAllInverse); for (final EClass onlyIncludeRepresentationForThisClass : packageMetaData.getAllSubClasses(packageMetaData.getEClass("IfcProduct"))) { ObjectIDM objectIdm = new ObjectIDM() {
public SummaryMap(PackageMetaData packageMetaData, RevisionSummary revisionSummary) { this.packageMetaData = packageMetaData; this.summaryMap = new TreeMap<EClass, Integer>(new EClassNameComparator()); for (RevisionSummaryContainer revisionSummaryContainer : revisionSummary.getList()) { for (RevisionSummaryType revisionSummaryType : revisionSummaryContainer.getTypes()) { summaryMap.put((EClass)packageMetaData.getEPackage().getEClassifier(revisionSummaryType.getName()), revisionSummaryType.getCount()); } } }
private void initDependencies() { for (PackageMetaData packageMetaData : ePackages.values()) { for (EClassifier eClassifier : packageMetaData.getEPackage().getEClassifiers()) { if (eClassifier instanceof EClass) { EClass eClass = (EClass)eClassifier; for (EReference eReference : eClass.getEReferences()) { if (eReference.getEType().getEPackage() != packageMetaData.getEPackage()) { packageMetaData.addDependency(getPackageMetaData(eReference.getEType().getEPackage().getName())); } } } } } }
public void convert() throws SchemaConverterException, IfcModelInterfaceException { if (getSource().getPackageMetaData().getEPackage() != Ifc2x3tc1Package.eINSTANCE) { throw new SchemaConverterException("Source model should be Ifc2x3tc1"); } if (getTarget().getPackageMetaData().getEPackage() != Ifc4Package.eINSTANCE) { throw new SchemaConverterException("Target model should be Ifc4"); } for (IdEObject idEObject : getSource().getValues()) { copy(idEObject); } }
public void convert() throws SchemaConverterException, IfcModelInterfaceException { if (getSource().getPackageMetaData().getEPackage() != Ifc4Package.eINSTANCE) { throw new SchemaConverterException("Source model should be Ifc4"); } if (getTarget().getPackageMetaData().getEPackage() != Ifc2x3tc1Package.eINSTANCE) { throw new SchemaConverterException("Target model should be Ifc2x3tc1"); } for (IdEObject idEObject : getSource().getValues()) { copy(idEObject); } }
if (((EClass) packageMetaData.getEPackage().getEClassifier("IfcObject")).isSuperTypeOf(eClass)) { subMap = revisionSummaryContainerEntities; } else if (((EClass) packageMetaData.getEPackage().getEClassifier("IfcRelationship")).isSuperTypeOf(eClass)) { subMap = revisionSummaryContainerRelations; } else if (eClass.getEAnnotation("wrapped") != null) {
return null; EClass eClass = (EClass) target.getPackageMetaData().getEPackage().getEClassifier(original.eClass().getName()); if (eClass == null) { LOGGER.info("No class " + original.eClass().getName() + " in " + target.getPackageMetaData().getEPackage().getName()); return null;
HideAllInversesObjectIDM idm = new HideAllInversesObjectIDM(CollectionUtils.singleSet(packageMetaData.getEPackage()), model.getPackageMetaData()); OidProvider oidProvider = new OidProvider(){ @Override
OldQuery query = new OldQuery(packageMetaData, concreteRevision.getProject().getId(), concreteRevision.getId(), -1, null, Deep.NO, highestStopId); lastPackageMetaData = packageMetaData; IfcModelInterface subModel = getDatabaseSession().getAllOfType(packageMetaData.getEPackage().getName(), className, query); subModel.getModelMetaData().setDate(concreteRevision.getDate()); ifcModelSet.add(subModel);
@Override public Long createObject(Long tid, String className, Boolean generateGuid) throws UserException, ServerException { requireAuthenticationAndRunningServer(); try { LongTransaction longTransaction = getBimServer().getLongTransactionManager().get(tid); if (longTransaction == null) { throw new UserException("No transaction with tid " + tid + " was found"); } try { EClass eClass = ((Database) getBimServer().getDatabase()).getEClass(longTransaction.getPackageMetaData().getEPackage().getName(), className); Long oid = getBimServer().getDatabase().newOid(eClass); CreateObjectChange createObject = new CreateObjectChange(className, oid, eClass, generateGuid); longTransaction.add(createObject); return oid; } catch (BimserverDatabaseException e) { throw new UserException("Unknown type: \"" + className + "\""); } } catch (Exception e) { return handleException(e); } }