Examples of JDOClass


Examples of org.apache.jdo.model.jdo.JDOClass

        if (trace)
            logger.trace("  <field>"); //NOI18N
        JDOField jdoField = null;
        try {
            // get the current JDOClass from context stack
            JDOClass jdoClass = (JDOClass)context.peek();
            String fieldName = meta.getValue("", "name"); //NOI18N
            jdoField =  jdoClass.createJDOField(fieldName);
            for (int i = 0; i < meta.getLength(); i++ ) {
                String name = meta.getLocalName(i);
                String value = meta.getValue(i);
                if (trace)
                    logger.trace("    " + name + " = " + value); //NOI18N
View Full Code Here

Examples of org.apache.jdo.model.jdo.JDOClass

     * @exception ModelException if impossible
     */
    public synchronized JDOClass createJDOClass(String className,
                                                boolean loadXMLMetadata)
        throws ModelException {
        JDOClass jdoClass = getJDOClass(className, loadXMLMetadata);
        if (jdoClass == null) {
            if (logger.isDebugEnabled())
                logger.debug("JDOModel.createJDOClass: " + //NOI18N
                             "create new JDOClass instance " + className); //NOI18N
            jdoClass = newJDOClassInstance(className);
            jdoClass.setDeclaringModel(this);
            jdoClasses.put(className, jdoClass);
            // create the corresponding JDOPackage
            jdoClass.setJDOPackage(createJDOPackage(getPackageName(className)));
        }
        return jdoClass;
    }
View Full Code Here

Examples of org.apache.jdo.model.jdo.JDOClass

                logger.trace("JDOModel.getJDOClass: " + className + //NOI18N
                             " known to be non-persistence-capable"); //NOI18N
            return null;
        }

        JDOClass jdoClass = (JDOClass)jdoClasses.get(className);
        if (trace)
            logger.trace("JDOModel.getJDOClass: " + className + //NOI18N
                         ((jdoClass != null) ? " cached" : " not cached")); //NOI18N

        // check for XML metatdata
        if (loadXMLMetadata) {
            if (jdoClass == null)
                jdoClass = lookupXMLMetadata(className);
            else if (!jdoClass.isXMLMetadataLoaded())
                jdoClass = lookupXMLMetadata(jdoClass);

            if (jdoClass == null) {
                // we loaded XML metadata, but there is no metadata
                // for this class => known to be non persistence-capable
View Full Code Here

Examples of org.apache.jdo.model.jdo.JDOClass

    public synchronized JDOClass getJDOClassForShortName(String shortName) {
        if (StringHelper.isEmpty(shortName))
            return null;

        for (Iterator i = jdoClasses.values().iterator(); i.hasNext();) {
            JDOClass jdoClass = (JDOClass)i.next();
            if (shortName.equals(jdoClass.getShortName()))
                // found => return
                return jdoClass;
        }

        return null;
View Full Code Here

Examples of org.apache.jdo.model.jdo.JDOClass

                         "check objectIdClass " +objectIdClass); //NOI18N
                       
        if (objectIdClass == null)
            return null;

        JDOClass jdoClass = null;
        String objectIdClassName = objectIdClass.getName();
        // check all JDOClasses for this JDOModel instance
        List classesToActivate = new ArrayList();
        while (true) {
            try {
                for (Iterator i = jdoClasses.values().iterator(); i.hasNext();) {
                    JDOClass next = (JDOClass)i.next();
                    if (next.isXMLMetadataLoaded()) {
                        // XML metadata is loaded => check the objectIdClass
                        if (objectIdClassName.equals(
                                next.getDeclaredObjectIdClassName())) {
                            // found => return
                            return next;
                        }
                    }
                    else {
                        // XML metadata is NOT loaded =>
                        // store the class for later processing.
                        // Do not load the XML metadata here. This might create
                        // new JDOClass instances in this model for other pc
                        // classes listed in the same .jdo file. This would
                        // change the jdoClasses map while its values are
                        // iterated => ConcurrentModificationException
                        classesToActivate.add(next);
                    }
                }
                // No ConcurrentModificationException => break the loop
                break;
            }
            catch (ConcurrentModificationException ex) {
                // ConcurrentModificationException means a JDOClass was
                // added to the JDOModel in parallel =>
                // start the loop again.
            }
        }
               
        // None of the activated JDOClasses knows the objectIdClass =>
        // activate the classes that were registered but not activated
        // and check these classes
        for (Iterator i = classesToActivate.iterator(); i.hasNext();) {
            JDOClass next = (JDOClass)i.next();
            lookupXMLMetadata(next);

            if (objectIdClass.equals(next.getDeclaredObjectIdClassName())) {
                // found => return
                return next;
            }
        }
View Full Code Here

Examples of org.apache.jdo.model.jdo.JDOClass

     * <code>null</code>.
     */
    private JDOClass lookupXMLMetadata(JDOClass jdoClass)
        throws ModelFatalException, NullPointerException {
        String className = jdoClass.getName();
        JDOClass activated = lookupXMLMetadata(className);
        if (activated == null) {
            throw new ModelFatalException(msg.msg(
                "EXC_MissingJDOMetadata", className)); //NOI18N
        }
        else if (activated != jdoClass) {
View Full Code Here

Examples of org.apache.jdo.model.jdo.JDOClass

     * @return the JDOClass instance for the specified class name or
     * <code>null</code> if there is no XML metadata.
     */
    private JDOClass lookupXMLMetadata(String className) {
        boolean debug = xmlLogger.isDebugEnabled();
        JDOClass jdoClass = null;
       
        if (debug)
            xmlLogger.debug("JDOModel.lookupXMLMetadata:" + // NOI18N
                            " lookup XML for class " + className); // NOI18N
        // Iterate possible resources to find JDO metadata for className
View Full Code Here

Examples of org.apache.jdo.model.jdo.JDOClass

     * @return the JDOClass instance for the specified class name or
     * <code>null</code> if the specified resource has no XML metadata.
     */
    private JDOClass loadXMLResource(String resource, String className) {
        boolean debug = xmlLogger.isDebugEnabled();
        JDOClass jdoClass = null;
        InputStream stream = javaModel.getInputStreamForResource(resource);
        if (stream == null) {
            if (debug)
                xmlLogger.debug("  XML " + resource + " not available"); //NOI18N
        }
        else {
            // resource exists => parse it
            // Store all pc classes specified in this resource in this
            // JDOModel instance => pass this to the handler
            JDOHandler handler = new JDOHandlerImpl(this);
            JDOParser parser = new JDOParser(handler);
            try {
                if (debug)
                    xmlLogger.debug("  XML " + resource +  //NOI18N
                                    " found, start parsing ..."); //NOI18N
                parser.parse(new InputSource(new InputStreamReader(stream)));
            }
            catch (SAXException ex) {
                throw new ModelFatalException(
                    msg.msg("EXC_XMLError", resource), ex); //NOI18N
            }
            catch (ParserConfigurationException ex) {
                throw new ModelFatalException(
                    msg.msg("EXC_XMLError", resource), ex); //NOI18N
            }
            catch (IOException ex) {
                throw new ModelFatalException(
                    msg.msg("EXC_XMLError", resource), ex); //NOI18N
            }
            finally {
                try { stream.close(); }
                catch (IOException ex) {
                    // ignore close exception, stream will be nullified anyway
                }
            }
            stream = null;
           
            // post process loaded JDOClasses
            Collection newJDOClasses = handler.handledJDOClasses();
            if (debug)
                xmlLogger.debug("  XML " + resource + //NOI18N
                                " has JDO metadata for class(es) " + //NOI18N
                                newJDOClasses);
            for (Iterator i = newJDOClasses.iterator(); i.hasNext();) {
                JDOClass next = (JDOClass)i.next();
                if (className.equals(next.getName())) {
                    jdoClass = next;
                }
                checkSuperclass(next);
            }
            if (jdoClass == null)
View Full Code Here

Examples of org.apache.jdo.model.jdo.JDOClass

     * superclasses.
     * @param jdoClass the class to be checked
     */
    private void checkSuperclass(JDOClass jdoClass) {
        if (jdoClass != null) {
            JDOClass superclass = jdoClass.getPersistenceCapableSuperclass();
            checkSuperclass(superclass);
        }
    }
View Full Code Here

Examples of org.apache.jdo.model.jdo.JDOClass

     */
    public synchronized JavaField getDeclaredJavaField(String fieldName)
    {
        JavaField javaField = (JavaField)declaredJavaFields.get(fieldName);
        if (javaField == null) {
            JDOClass jdoClass = getJDOClass();
            if (jdoClass != null) {
                // pc class => look for JDOField first
                if (jdoClass.getDeclaredField(fieldName) != null) {
                    // Use JDO metadata and create a JavaField skeleton to
                    // avoid unnecessary reflection access.
                    javaField = newJavaFieldInstance(fieldName, null);
                    declaredJavaFields.put(fieldName, javaField);
                }
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.