Examples of MetadataManager


Examples of org.datanucleus.metadata.MetaDataManager

        {
            return null;
        }

        JDOPersistenceManagerFactory myPMF = (JDOPersistenceManagerFactory)pmf;
        MetaDataManager mdmgr = myPMF.getNucleusContext().getMetaDataManager();
        return (ClassMetaData)mdmgr.getMetaDataForClass(cls, myPMF.getNucleusContext().getClassLoaderResolver(null));
    }
View Full Code Here

Examples of org.datanucleus.metadata.MetaDataManager

     * Metadata can be created using the method {@link #newMetadata}.
     * @param metadata The Metadata to register.
     */
    public void registerMetadata(javax.jdo.metadata.JDOMetadata metadata)
    {
        MetaDataManager mmgr = nucleusContext.getMetaDataManager();
        FileMetaData filemd = ((JDOMetadataImpl)metadata).getInternal();

        // Check if already defined
        for (int i=0;i<filemd.getNoOfPackages();i++)
        {
            PackageMetaData pmd = filemd.getPackage(i);
            for (int j=0;j<pmd.getNoOfClasses();j++)
            {
                ClassMetaData cmd = pmd.getClass(j);
                if (mmgr.hasMetaDataForClass(cmd.getFullClassName()))
                {
                    throw new JDOUserException("Cannot redefine metadata for " + cmd.getFullClassName());
                }
            }
            for (int j=0;j<pmd.getNoOfInterfaces();j++)
            {
                InterfaceMetaData imd = pmd.getInterface(j);
                if (mmgr.hasMetaDataForClass(imd.getFullClassName()))
                {
                    throw new JDOUserException("Cannot redefine metadata for " + imd.getFullClassName());
                }
            }
        }

        mmgr.loadUserMetaData(filemd, null);
    }
View Full Code Here

Examples of org.datanucleus.metadata.MetaDataManager

     * metadata defined for that class.
     * @return The metadata
     */
    public javax.jdo.metadata.TypeMetadata getMetadata(String className)
    {
        MetaDataManager mmgr = nucleusContext.getMetaDataManager();
        AbstractClassMetaData acmd = mmgr.getMetaDataForClass(className,
            nucleusContext.getClassLoaderResolver(null));
        if (acmd == null)
        {
            return null;
        }
View Full Code Here

Examples of org.datanucleus.metadata.MetaDataManager

     * Accessor for the classes that are managed (have metadata loaded).
     * @return Collection of classes
     */
    public Collection<Class> getManagedClasses()
    {
        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();
View Full Code Here

Examples of org.datanucleus.metadata.MetaDataManager

                StringUtils.objectArrayToString(types)));
        }

        // Check if classes are detachable
        NucleusContext nucleusCtxSource = ((JDOPersistenceManagerFactory)pmfSource).getNucleusContext();
        MetaDataManager mmgr = nucleusCtxSource.getMetaDataManager();
        ClassLoaderResolver clr = nucleusCtxSource.getClassLoaderResolver(null);
        for (int i=0;i<types.length;i++)
        {
            AbstractClassMetaData cmd = mmgr.getMetaDataForClass(types[i], clr);
            if (!cmd.isDetachable())
            {
                throw new JDOUserException("Class " + types[i] + " is not detachable so cannot replicate");
            }
        }

        Object[] detachedObjects = null;

        // Detach from datastore 1
        if (NucleusLogger.PERSISTENCE.isDebugEnabled())
        {
            NucleusLogger.PERSISTENCE.debug(LOCALISER_JDO.msg("012053"));
        }
        PersistenceManager pm1 = pmfSource.getPersistenceManager();
        Transaction tx1 = pm1.currentTransaction();
        if (getBooleanProperty("datanucleus.replicateObjectGraph"))
        {
            pm1.getFetchPlan().setGroup(javax.jdo.FetchPlan.ALL);
            pm1.getFetchPlan().setMaxFetchDepth(-1);
        }
        try
        {
            tx1.begin();

            ArrayList objects = new ArrayList();
            for (int i=0;i<types.length;i++)
            {
                AbstractClassMetaData cmd = mmgr.getMetaDataForClass(types[i], clr);
                if (!cmd.isEmbeddedOnly())
                {
                    Extent ex = pm1.getExtent(types[i]);
                    Iterator iter = ex.iterator();
                    while (iter.hasNext())
View Full Code Here

Examples of org.datanucleus.metadata.MetaDataManager

                StringUtils.objectArrayToString(classNames)));
        }

        // Check if classes are detachable
        NucleusContext nucleusCtxSource = ((JDOPersistenceManagerFactory)pmfSource).getNucleusContext();
        MetaDataManager mmgr = nucleusCtxSource.getMetaDataManager();
        ClassLoaderResolver clr = nucleusCtxSource.getClassLoaderResolver(null);
        for (int i=0;i<classNames.length;i++)
        {
            AbstractClassMetaData cmd = mmgr.getMetaDataForClass(classNames[i], clr);
            if (!cmd.isDetachable())
            {
                throw new JDOUserException("Class " + classNames[i] + " is not detachable so cannot replicate");
            }
        }

        Object[] detachedObjects = null;

        // Detach from datastore 1
        if (NucleusLogger.PERSISTENCE.isDebugEnabled())
        {
            NucleusLogger.PERSISTENCE.debug(LOCALISER_JDO.msg("012053"));
        }
        PersistenceManager pm1 = pmfSource.getPersistenceManager();
        Transaction tx1 = pm1.currentTransaction();
        if (getBooleanProperty("datanucleus.replicateObjectGraph"))
        {
            pm1.getFetchPlan().setGroup(javax.jdo.FetchPlan.ALL);
            pm1.getFetchPlan().setMaxFetchDepth(-1);
        }
        try
        {
            tx1.begin();

            clr = ((JDOPersistenceManager)pm1).getObjectManager().getClassLoaderResolver();
            ArrayList objects = new ArrayList();
            for (int i=0;i<classNames.length;i++)
            {
                Class cls = clr.classForName(classNames[i]);
                AbstractClassMetaData cmd = mmgr.getMetaDataForClass(cls, clr);
                if (!cmd.isEmbeddedOnly())
                {
                    Extent ex = pm1.getExtent(cls);
                    Iterator iter = ex.iterator();
                    while (iter.hasNext())
View Full Code Here

Examples of org.datanucleus.metadata.MetaDataManager

     * Method to perform the replication for all objects registered in the pmf source.
     */
    public void replicateRegisteredClasses()
    {
        ClassLoaderResolver clr = ((JDOPersistenceManager)pmfSource.getPersistenceManager()).getObjectManager().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));
            }
        }
View Full Code Here

Examples of org.datanucleus.metadata.MetaDataManager

public class MetaDataValidatorTest extends JDOTestCase {

  public void testIgnorableMapping_NoConfig() {
    setIgnorableMetaDataBehavior(null);
    NucleusContext nucContext = ((JDOPersistenceManagerFactory)pmf).getNucleusContext();
    MetaDataManager mdm = nucContext.getMetaDataManager();
    final String[] loggedMsg = {null};
    AbstractClassMetaData acmd =
        mdm.getMetaDataForClass(Flight.class, nucContext.getClassLoaderResolver(getClass().getClassLoader()));
    MetaDataValidator mdv = new MetaDataValidator((DatastoreManager) nucContext.getStoreManager(), mdm, null) {
      @Override
      void warn(String msg) {
        loggedMsg[0] = msg;
      }
View Full Code Here

Examples of org.datanucleus.metadata.MetaDataManager

  }

  public void testIgnorableMapping_NoneConfig() {
    setIgnorableMetaDataBehavior(MetaDataValidator.IgnorableMetaDataBehavior.NONE.name());
    NucleusContext nucContext = ((JDOPersistenceManagerFactory)pmf).getNucleusContext();
    MetaDataManager mdm = nucContext.getMetaDataManager();
    MetaDataValidator mdv = new MetaDataValidator((DatastoreManager) nucContext.getStoreManager(), mdm, null) {
      @Override
      void warn(String msg) {
        fail("shouldn't have been called");
      }
View Full Code Here

Examples of org.datanucleus.metadata.MetaDataManager

  }

  public void testIgnorableMapping_WarningConfig() {
    setIgnorableMetaDataBehavior(MetaDataValidator.IgnorableMetaDataBehavior.WARN.name());
    NucleusContext nucContext = ((JDOPersistenceManagerFactory)pmf).getNucleusContext();
    MetaDataManager mdm = nucContext.getMetaDataManager();
    final String[] loggedMsg = {null};
    AbstractClassMetaData acmd =
        mdm.getMetaDataForClass(Flight.class, nucContext.getClassLoaderResolver(getClass().getClassLoader()));
    MetaDataValidator mdv = new MetaDataValidator((DatastoreManager) nucContext.getStoreManager(), mdm, null) {
      @Override
      void warn(String msg) {
        loggedMsg[0] = msg;
      }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.