/** * Method to generate a set of class names using the input list. * If no input class names are provided then uses the list of classes known to have metadata. * @param ctx NucleusContext * @param inputClassNames Class names to start from * @return The set of class names */ protected static Set<String> cleanInputClassNames(NucleusContext ctx, Set<String> inputClassNames) { Set<String> classNames = new TreeSet<>(); if (inputClassNames == null || inputClassNames.size() == 0) { // Use all "known" persistable classes classNames.addAll(ctx.getMetaDataManager().getClassesWithMetaData()); } else { // Use all input classes classNames.addAll(inputClassNames); } return classNames; } }
/** * Accessor for the names of the classes that have MetaData for this PMF. * @param pmf The PMF * @return The class names */ public static String[] getClassesWithMetaData(PersistenceManagerFactory pmf) { if (pmf == null || !(pmf instanceof JDOPersistenceManagerFactory)) { return null; } JDOPersistenceManagerFactory myPMF = (JDOPersistenceManagerFactory)pmf; Collection classes = myPMF.getNucleusContext().getMetaDataManager().getClassesWithMetaData(); return (String[])classes.toArray(new String[classes.size()]); }
/** * Accessor for the classes that are managed (have metadata loaded). * @return Collection of classes */ public Collection<Class> getManagedClasses() { checkJDOPermission(JDOPermission.GET_METADATA); MetaDataManager mmgr = nucleusContext.getMetaDataManager(); Collection<String> classNames = mmgr.getClassesWithMetaData(); Collection<Class> classes = new HashSet<Class>(); if (classNames != null) { ClassLoaderResolver clr = nucleusContext.getClassLoaderResolver(null); Iterator<String> iter = classNames.iterator(); while (iter.hasNext()) { try { Class cls = clr.classForName(iter.next()); classes.add(cls); } catch (ClassNotResolvedException cnre) { // Do nothing } } } return classes; }
/** * Method to perform the replication for all objects registered in the pmf source. */ public void replicateRegisteredClasses() { ClassLoaderResolver clr = ((JDOPersistenceManager)pmfSource.getPersistenceManager()).getExecutionContext().getClassLoaderResolver(); MetaDataManager mmgr = ((JDOPersistenceManagerFactory)pmfSource).getNucleusContext().getMetaDataManager(); Collection classNames = mmgr.getClassesWithMetaData(); ArrayList arrayTypes = new ArrayList(); Iterator iterator = classNames.iterator(); while (iterator.hasNext()) { String className = (String) iterator.next(); AbstractClassMetaData cmd = mmgr.getMetaDataForClass(className, clr); if (!cmd.isEmbeddedOnly()) // Omit embedded-only classes since can't replicate those { arrayTypes.add(clr.classForName(className)); } } replicate((Class[])arrayTypes.toArray(new Class[arrayTypes.size()])); }
ClassLoaderResolver clr = nucCtx.getClassLoaderResolver(null); AbstractClassMetaData cmd = nucCtx.getMetaDataManager().getMetaDataForClass(cls, clr); Collection<String> mdClasses = nucCtx.getMetaDataManager().getClassesWithMetaData(); storeMgr.addClasses(mdClasses.toArray(new String[mdClasses.size()]), clr); // Make sure all classes are in store
Collection<String> loadedClasses = omfCtx.getMetaDataManager().getClassesWithMetaData(); omfCtx.getStoreManager().addClasses(loadedClasses.toArray(new String[loadedClasses.size()]), omfCtx.getClassLoaderResolver(null));
MetaDataManager mmgr = nucleusContext.getMetaDataManager(); mmgr.registerListener(metadataListener); Collection<String> classNamesLoaded = mmgr.getClassesWithMetaData(); if (classNamesLoaded != null && !classNamesLoaded.isEmpty())
Collection<String> classesWithMetaData = mdm.getClassesWithMetaData(); StringBuilder sb = new StringBuilder(); for (String className : classesWithMetaData)
ClassLoaderResolver clr = nucCtx.getClassLoaderResolver(null); AbstractClassMetaData cmd = nucCtx.getMetaDataManager().getMetaDataForClass(cls, clr); Collection<String> mdClasses = nucCtx.getMetaDataManager().getClassesWithMetaData(); storeMgr.addClasses(mdClasses.toArray(new String[mdClasses.size()]), clr); // Make sure all classes are in store if (cmd.hasDiscriminatorStrategy()) {
private void applyUniqueFieldValueConstraints(Configuration config) { AbstractStoreManager sm = (AbstractStoreManager) storeMgr; MetaDataManager mdm = sm.getMetaDataManager(); Collection<String> classesWithMetaData = mdm.getClassesWithMetaData(); for (String className : classesWithMetaData) { ClassLoaderResolver clr = storeMgr.getNucleusContext().getClassLoaderResolver(getClass().getClassLoader()); AbstractClassMetaData cmd = mdm.getMetaDataForClass(className, clr); String fullClassName = cmd.getFullClassName(); AbstractMemberMetaData[] fmds = cmd.getManagedMembers(); for (AbstractMemberMetaData memberMetaData : fmds) { if (memberMetaData.isPrimaryKey()) { String fieldName = memberMetaData.getName(); config.objectClass(fullClassName).objectField(fieldName).indexed(true); config.add(new UniqueFieldValueConstraint(fullClassName, fieldName)); } } } }
Collection<String> classesWithMetaData = mdm.getClassesWithMetaData(); for (String className : classesWithMetaData)
Collection<String> classesWithMetaData = mdm.getClassesWithMetaData(); for (String className : classesWithMetaData)