public EPackage[] getEPackages(boolean loadOnDemand) { List<EPackage> result = new ArrayList<EPackage>(); for (InternalCDOPackageInfo packageInfo : packageInfos) { EPackage ePackage = packageInfo.getEPackage(loadOnDemand); if (ePackage != null) { result.add(ePackage); } } return result.toArray(new EPackage[result.size()]); }
private void mapPackageInfos(InternalCDOPackageInfo[] packageInfos, Connection connection, boolean unmap) { for (InternalCDOPackageInfo packageInfo : packageInfos) { EPackage ePackage = packageInfo.getEPackage(); EClass[] persistentClasses = EMFUtil.getPersistentClasses(ePackage); mapClasses(connection, unmap, persistentClasses); } }
private byte[] getEPackageBytes(InternalCDOPackageUnit packageUnit) { EPackage ePackage = packageUnit.getTopLevelPackageInfo().getEPackage(); return EMFUtil.getEPackageBytes(ePackage, ZIP_PACKAGE_BYTES, getPackageRegistry()); }
private void checkPackageRegistrationProblems(InternalCDOSession session, EClass eClass) { if (session.options().isGeneratedPackageEmulationEnabled()) { // Check that there are no multiple EPackages with the same URI in system. Bug 335004 String packageURI = eClass.getEPackage().getNsURI(); Object packageObject = session.getPackageRegistry().get(packageURI); if (packageObject instanceof InternalCDOPackageInfo) { packageObject = ((InternalCDOPackageInfo)packageObject).getEPackage(false); } if (packageObject instanceof EPackage && packageObject != eClass.getEPackage()) { throw new IllegalStateException(MessageFormat.format( "Global EPackage {0} for EClass {1} is different from EPackage found in CDOPackageRegistry", packageURI, eClass)); } } }
private void checkPackageRegistrationProblems(InternalCDOSession session, EClass eClass) { if (session.options().isGeneratedPackageEmulationEnabled()) { // Check that there are no multiple EPackages with the same URI in system. Bug 335004 String packageURI = eClass.getEPackage().getNsURI(); Object packageObject = session.getPackageRegistry().get(packageURI); if (packageObject instanceof InternalCDOPackageInfo) { packageObject = ((InternalCDOPackageInfo)packageObject).getEPackage(false); } if (packageObject instanceof EPackage && packageObject != eClass.getEPackage()) { throw new IllegalStateException(MessageFormat.format( "Global EPackage {0} for EClass {1} is different from EPackage found in CDOPackageRegistry", packageURI, eClass)); } } } }
public void writePackageUnits(MongoDBStoreAccessor mongoDBStoreAccessor, InternalCDOPackageUnit[] packageUnits, OMMonitor monitor) { // This must be the first commit into the repo. systemPackageUnits = packageUnits; for (int i = 0; i < packageUnits.length; i++) { InternalCDOPackageUnit packageUnit = packageUnits[i]; InternalCDOPackageInfo[] packageInfos = packageUnit.getPackageInfos(); for (int j = 0; j < packageInfos.length; j++) { InternalCDOPackageInfo packageInfo = packageInfos[j]; for (EClassifier classifier : packageInfo.getEPackage().getEClassifiers()) { store.getClasses().mapNewClassifier(classifier); } } } }
protected String showPackage(InternalCDOPackageInfo info, InternalCDOPackageRegistry packageRegistry, CDOServerBrowser browser, String param, PrintStream out, String prefix) EPackage ePackage = info.getEPackage(); out.println("<h3>" + prefix + ePackage.getName() + " [" + ePackage.getNsURI() + "]</h3>");
@Override public synchronized void putPackageUnit(InternalCDOPackageUnit packageUnit) { LifecycleUtil.checkActive(this); packageUnit.setPackageRegistry(this); for (InternalCDOPackageInfo packageInfo : packageUnit.getPackageInfos()) { EPackage ePackage = packageInfo.getEPackage(); basicPut(ePackage.getNsURI(), ePackage); } resetInternalCaches(); }
public Type getType() { if (getOriginalType() == Type.DYNAMIC) { type = Type.DYNAMIC; } else if (type == null || type == Type.UNKNOWN) { if (state == State.PROXY) { type = CDOPackageTypeRegistry.INSTANCE.lookup(getID()); } else { InternalCDOPackageInfo packageInfo = getTopLevelPackageInfo(); EPackage ePackage = packageInfo.getEPackage(); type = CDOPackageTypeRegistry.INSTANCE.lookup(ePackage); } if (type == null) { type = Type.UNKNOWN; } } return type; }
private DBObject[] marshallPackages(InternalCDOPackageInfo[] packageInfos) { DBObject[] result = new DBObject[packageInfos.length]; for (int i = 0; i < packageInfos.length; i++) { InternalCDOPackageInfo packageInfo = packageInfos[i]; DBObject doc = new BasicDBObject(); doc.put(PACKAGES_URI, packageInfo.getPackageURI()); String parent = packageInfo.getParentURI(); if (!StringUtil.isEmpty(parent)) { doc.put(PACKAGES_PARENT, parent); } for (EClassifier classifier : packageInfo.getEPackage().getEClassifiers()) { int classifierID = store.getClasses().mapNewClassifier(classifier); doc.put(CLASSIFIER_PREFIX + classifierID, classifier.getName()); } result[i] = doc; } return result; }
public void write(CDODataOutput out, boolean withPackages) throws IOException { if (TRACER.isEnabled()) { TRACER.format("Writing {0}", this); //$NON-NLS-1$ } out.writeBoolean(withPackages); if (withPackages) { CDOModelUtil.writePackage(out, packageInfos[0].getEPackage(), true, packageRegistry); } out.writeCDOPackageUnitType(originalType); out.writeLong(timeStamp); out.writeInt(packageInfos.length); for (InternalCDOPackageInfo packageInfo : packageInfos) { out.writeCDOPackageInfo(packageInfo); } }
protected void exportPackages(OUT out) throws Exception { InternalCDOPackageRegistry packageRegistry = repository.getPackageRegistry(false); InternalCDOPackageUnit[] packageUnits = packageRegistry.getPackageUnits(false); for (InternalCDOPackageUnit packageUnit : packageUnits) { String id = packageUnit.getID(); CDOPackageUnit.Type type = packageUnit.getOriginalType(); long time = packageUnit.getTimeStamp(); EPackage ePackage = packageUnit.getTopLevelPackageInfo().getEPackage(); String data = new String(EMFUtil.getEPackageBytes(ePackage, false, packageRegistry)); startPackageUnit(out, id, type, time, data); for (InternalCDOPackageInfo packageInfo : packageUnit.getPackageInfos()) { String packageURI = packageInfo.getPackageURI(); exportPackageInfo(out, packageURI); } endPackageUnit(out); } }
private void createAllClassMappings() { InternalRepository repository = (InternalRepository)getStore().getRepository(); InternalCDOPackageRegistry packageRegistry = repository.getPackageRegistry(false); for (InternalCDOPackageInfo packageInfo : packageRegistry.getPackageInfos()) { if (!packageInfo.isSystemPackage()) { for (EClassifier eClassifier : packageInfo.getEPackage().getEClassifiers()) { if (eClassifier instanceof EClass) { EClass eClass = (EClass)eClassifier; if (isMapped(eClass)) { getClassMapping(eClass); // Get or create it } } } } } }
private DBObject[] marshallUnits(InternalCDOPackageUnit[] packageUnits) { DBObject[] result = new DBObject[packageUnits.length]; InternalCDOPackageRegistry packageRegistry = store.getRepository().getPackageRegistry(); for (int i = 0; i < packageUnits.length; i++) { InternalCDOPackageUnit packageUnit = packageUnits[i]; EPackage ePackage = packageUnit.getTopLevelPackageInfo().getEPackage(); byte[] bytes = EMFUtil.getEPackageBytes(ePackage, ZIP_PACKAGE_BYTES, packageRegistry); DBObject[] packages = marshallPackages(packageUnit.getPackageInfos()); DBObject doc = new BasicDBObject(); doc.put(UNITS_ID, packageUnit.getID()); doc.put(UNITS_TYPE, packageUnit.getOriginalType().toString()); doc.put(UNITS_DATA, bytes); doc.put(PACKAGES, packages); result[i] = doc; } return result; }
public synchronized void putPackageUnit(InternalCDOPackageUnit packageUnit) { LifecycleUtil.checkActive(this); packageUnit.setPackageRegistry(this); for (InternalCDOPackageInfo packageInfo : packageUnit.getPackageInfos()) { EPackage ePackage = packageInfo.getEPackage(false); if (ePackage != null) { registerPackageInfo(ePackage, packageInfo); basicPut(ePackage.getNsURI(), ePackage); } else { basicPut(packageInfo.getPackageURI(), packageInfo); } } resetInternalCaches(); }
if (oldPackageInfo.getEPackage(false) == null)