Package org.ow2.easybeans.persistence.api

Examples of org.ow2.easybeans.persistence.api.PersistenceXmlFileAnalyzerException


        List<EZBJNDIData> jndiDataList = null;
        try {
            jndiDataList = getJNDIResolver().getMessageDestinationJNDINames(messageDestinationName);
        } catch (RemoteException re) {
            // No Remote JNDI resolver, so throw first exception
            throw new ArchiveInjectionException("Unable to get JNDI Name for '" + messageDestinationName + "'", re);
        }

        // Data is here, check if it is empty or not
        if (jndiDataList.size() == 0) {
            throw new ArchiveInjectionException("Unable to get JNDI Name for message destination '" + messageDestinationName
                    + "', no data was found on the remote side.");
        } else if (jndiDataList.size() > 1) {
            // too many entries
            logger.warn("There may be a problem for message destination '" + messageDestinationName + "', too many answers : '"
                    + jndiDataList + "'. Using the first entry");
View Full Code Here


        List<EZBJNDIBeanData> jndiDataList = null;
        try {
            jndiDataList = getJNDIResolver().getEJBJNDINames(interfaceName, beanName);
        } catch (RemoteException re) {
            // No Remote JNDI resolver, so throw first exception
            throw new ArchiveInjectionException("Unable to get JNDI Name for '" + interfaceName + "'/'" + beanName + "'", re);
        }

        // Data is here, check if it is empty or not
        if (jndiDataList.size() == 0) {
            throw new ArchiveInjectionException("Unable to get JNDI Name for '" + interfaceName + "'/'" + beanName
                    + "', no data was found on the remote side.");
        } else if (jndiDataList.size() > 1) {
            // too many entries
            logger.warn("There may be a problem for bean '" + interfaceName + "'/'" + beanName + "', too many answers : '"
                    + jndiDataList + "'. Using the first entry");
View Full Code Here

        // Create classloader with these URLs
        URL[] arrayURLs = urls.toArray(new URL[urls.size()]);

        // Child of the EAR classloader with RARs
        ClassLoader ejbClassLoader = new EasyBeansClassLoader(arrayURLs, earClassLoader);

        // Get Persistence unit manager
        PersistenceUnitManager persistenceUnitManager = getPersistenceUnitManager(earDeployable, ejbClassLoader);

        // Get Extra libraries
View Full Code Here

            if (this.warService == null) {
                logger.warn("There are WAR files in the EAR ''{0}'' but the 'web' service is not available", earDeployable);
            } else {

                // Build context for sending parameters
                Context ctx = new ContextImpl(earURL.toExternalForm());
                try {
                    ctx.rebind("earURL", earURL);
                } catch (NamingException e) {
                    throw new DeployerException("Cannot add the EAR URL parameter '" + earURL + "'", e);
                }
                // Get URLS of the wars and context-root
                List<URL> urls = new LinkedList<URL>();
                List<String> ctxRoots = new LinkedList<String>();
                for (WARDeployable warDeployable : wars) {

                    // URL
                    URL url = null;
                    try {
                        url = warDeployable.getArchive().getURL();
                    } catch (ArchiveException e) {
                        throw new DeployerException("Cannot get the URL for the archive '" + warDeployable.getArchive() + "'",
                                e);
                    }
                    urls.add(url);

                    // Context-root
                    ctxRoots.add(warDeployable.getContextRoot());

                }
                try {
                    ctx.rebind("urls", urls.toArray(new URL[urls.size()]));
                } catch (NamingException e) {
                    throw new DeployerException("Cannot add the urls parameter '" + urls + "'", e);
                }

                // Bind the parent classloader of the web application
                try {
                    ctx.rebind("parentClassLoader", parentClassLoader);
                } catch (NamingException e) {
                    throw new DeployerException("Cannot add the parentClassLoader parameter '" + parentClassLoader + "'", e);
                }

                // Bind the earClassLoader of the web application
                try {
                    ctx.rebind("earClassLoader", earClassLoader);
                } catch (NamingException e) {
                    throw new DeployerException("Cannot add the earClassLoader parameter '" + earClassLoader + "'", e);
                }

                // No alt-dd yet, give an empty array
                try {
                    ctx.rebind("altDDs", new URL[urls.size()]);
                } catch (NamingException e) {
                    throw new DeployerException("Cannot add the altDDs parameter.'", e);
                }

                // Build context roots
                try {
                    ctx.rebind("contextRoots", ctxRoots.toArray(new String[ctxRoots.size()]));
                } catch (NamingException e) {
                    throw new DeployerException("Cannot add the contextRoots parameter '" + urls + "'", e);
                }

                try {
View Full Code Here

        List<RARDeployable> rars = earDeployable.getRARDeployables();
        if (rars.size() > 0) {
            if (this.rarService == null) {
                logger.warn("There are RAR files in the EAR ''{0}'' but the resource service is not available", earDeployable);
            } else {
                Context ctx = new ContextImpl(earURL.toExternalForm());
                try {
                    ctx.rebind("earUrl", earURL);
                } catch (NamingException e) {
                    throw new DeployerException("Cannot add the EAR URL parameter '" + earURL + "'", e);
                }
                List<URL> urls = new ArrayList<URL>();
                for (RARDeployable rarDeployable : rars) {
                    try {
                        urls.add(rarDeployable.getArchive().getURL());
                    } catch (ArchiveException e) {
                        throw new DeployerException("Cannot get the URL for the archive '" + rarDeployable.getArchive() + "'",
                                e);
                    }
                }
                try {
                    ctx.rebind("urls", urls.toArray(new URL[urls.size()]));
                } catch (NamingException e) {
                    throw new DeployerException("Cannot add the urls parameter '" + urls + "'", e);
                }
                try {
                    ctx.rebind("earClassLoader", earClassLoader);
                } catch (NamingException e) {
                    throw new DeployerException("Cannot add the earClassLoader parameter '" + earClassLoader + "'", e);
                }
                try {
                    ctx.rebind("altDDs", new URL[urls.size()]);
                } catch (NamingException e) {
                    throw new DeployerException("Cannot add the altDDs parameter.'", e);
                }

                try {
View Full Code Here

                    }
                }


                // Deploy EJB 2.1 on JOnAS service
                Context ctx = new ContextImpl(earURL.toExternalForm());
                try {
                    ctx.rebind("earUrl", earURL);
                    ctx.rebind("earRootUrl", earURL);
                } catch (NamingException e) {
                    throw new DeployerException("Cannot add the EAR URL parameter '" + earURL + "'", e);
                }

                try {
                    ctx.rebind("jarURLs", urls.toArray(new URL[urls.size()]));
                } catch (NamingException e) {
                    throw new DeployerException("Cannot add the urls parameter '" + urls + "'", e);
                }
                try {
                    ctx.rebind("earClassLoader", earClassLoader);
                } catch (NamingException e) {
                    throw new DeployerException("Cannot add the earClassLoader parameter '" + earClassLoader + "'", e);
                }

                // Bind the EJB classloader
                try {
                    ctx.rebind("ejbClassLoader", ejbClassLoader);
                } catch (NamingException e) {
                    throw new DeployerException("Cannot add the ejbClassLoader parameter '" + ejbClassLoader + "'", e);
                }

                // Role names
                try {
                    ctx.rebind("roleNames", new String[0]);
                } catch (NamingException e) {
                    throw new DeployerException("Cannot add the altDDs parameter.'", e);
                }

                try {
View Full Code Here

        // Child of the EAR classloader with RARs
        ClassLoader ejbClassLoader = new EasyBeansClassLoader(arrayURLs, earClassLoader);

        // Get Persistence unit manager
        PersistenceUnitManager persistenceUnitManager = getPersistenceUnitManager(earDeployable, ejbClassLoader);

        // Get Extra libraries
        List<IArchive> libArchives = getLibArchives(earDeployable);

View Full Code Here

        URL persistenceXmlURL = null;

        try {
            persistenceXmlURL = archive.getResource(DIRECTORY_PERSISTENCE_XML_FILE + '/' + PERSISTENCE_XML_FILE);
        } catch (ArchiveException e) {
            throw new PersistenceXmlFileAnalyzerException("Cannot check if entry '" + DIRECTORY_PERSISTENCE_XML_FILE
                    + '/' + PERSISTENCE_XML_FILE + "' is present on the file '" + archive.getName() + "'.", e);
        }

        URL ormXmlURL = null;
        try {
            ormXmlURL = archive.getResource(DIRECTORY_PERSISTENCE_XML_FILE + '/' + ORM_XML_FILE);
        } catch (ArchiveException e) {
            throw new PersistenceXmlFileAnalyzerException("Cannot check if entry '" + DIRECTORY_PERSISTENCE_XML_FILE
                    + '/' + ORM_XML_FILE + "' is present on the file '" + archive.getName() + "'.", e);
        }

        URL persistenceXmlURLWeb = null;
        try {
            persistenceXmlURLWeb = archive.getResource(WEB_DIRECTORY_PERSISTENCE_XML_FILE + '/' + PERSISTENCE_XML_FILE);
        } catch (ArchiveException e) {
            throw new PersistenceXmlFileAnalyzerException("Cannot check if entry '" + WEB_DIRECTORY_PERSISTENCE_XML_FILE
                    + '/' + PERSISTENCE_XML_FILE + "' is present on the file '" + archive.getName() + "'.", e);
        }


        // Now, do the parsing and fill the structure.
        boolean found = false;
        List<JPersistenceUnitInfo> persistenceUnitInfos = null;
        if (persistenceXmlURL != null) {
            try {
                persistenceUnitInfos = JPersistenceUnitInfoHelper.getPersistenceUnitInfoList(persistenceXmlURL);
            } catch (JPersistenceUnitInfoException e) {
                throw new PersistenceXmlFileAnalyzerException("Cannot parse the URL '" + persistenceXmlURL + "'.", e);
            }
            found = true;
        }
        List<JPersistenceUnitInfo> persistenceUnitInfosWeb = null;
        if (persistenceXmlURLWeb != null) {
            try {
                persistenceUnitInfosWeb = JPersistenceUnitInfoHelper.getPersistenceUnitInfoList(persistenceXmlURLWeb);
            } catch (JPersistenceUnitInfoException e) {
                throw new PersistenceXmlFileAnalyzerException("Cannot parse the URL '" + persistenceXmlURLWeb + "'.", e);
            }
            if (persistenceUnitInfos != null) {
                persistenceUnitInfos.addAll(persistenceUnitInfosWeb);
            } else {
                persistenceUnitInfos = persistenceUnitInfosWeb;
                found = true;
            }
        }
        if (found) {
            int i = 0;
            JPersistenceUnitInfo[] persistenceUnitInfosTab = new JPersistenceUnitInfo[persistenceUnitInfos.size()];
            for (JPersistenceUnitInfo persistenceUnitInfo : persistenceUnitInfos) {
                persistenceUnitInfosTab[i++] = persistenceUnitInfo;
                try {
                    // Set the root url
                    persistenceUnitInfo.setPersistenceUnitRootUrl(archive.getURL());
                } catch (ArchiveException e) {
                    throw new PersistenceXmlFileAnalyzerException("Cannot get the URL on the jar file '" + archive.getName()
                            + "'.", e);
                }

                // Add mapping file
                if (ormXmlURL != null) {
View Full Code Here

                    if (persistenceProviders != null && persistenceProviders.size() > 0) {
                        PersistenceProvider provider = persistenceProviders.get(0);
                        persistenceUnitInfo.setPersistenceProvider(provider);
                        persistenceUnitInfo.setPersistenceProviderClassName(provider.getClass().getName());
                    } else {
                        throw new PersistenceXmlFileAnalyzerException("No Persistence provider has been set");
                    }
                } catch (Error e) {
                    throw new PersistenceXmlFileAnalyzerException(
                            "No Persistence provider has been set and no JPA 2.0 API found so no access to "
                                    + "PersistenceProviderResolverHolder.getPersistenceProviderResolver().getPersistenceProviders() was available");
                }


            }

            // Instatiate only if this was not already done
            if (persistenceUnitInfo.getPersistenceProvider() == null) {

                // instantiate persistence provider
                Class<?> persistenceProviderClass;
                try {
                    persistenceProviderClass = ClassUtils.forName(persistenceUnitInfo
                            .getPersistenceProviderClassName(), PersistenceXmlFileAnalyzer.class);
                } catch (ClassNotFoundException e) {
                    throw new PersistenceXmlFileAnalyzerException("Cannot load the persistence provider class '"
                            + persistenceUnitInfo.getPersistenceProviderClassName() + "'.");
                }
                PersistenceProvider persistenceProvider;
                try {
                    persistenceProvider = (PersistenceProvider) persistenceProviderClass.newInstance();
                } catch (InstantiationException e) {
                    throw new PersistenceXmlFileAnalyzerException("Cannot instantiate the persistence provider class '"
                            + persistenceUnitInfo.getPersistenceProviderClassName() + "'.", e);
                } catch (IllegalAccessException e) {
                    throw new PersistenceXmlFileAnalyzerException("Cannot instantiate the persistence provider class '"
                            + persistenceUnitInfo.getPersistenceProviderClassName() + "'.", e);
                }

                // Set persistence provider
                persistenceUnitInfo.setPersistenceProvider(persistenceProvider);
View Full Code Here

        for (EJBDeployable ejb : ejb3s) {
            containers.add(getEmbedded().createContainer(ejb));
        }

        // Create Resolver for EAR
        EZBApplicationJNDIResolver applicationJNDIResolver = new ApplicationJNDIResolver();

        // Create EasyBeans injection Holder
        InjectionHolder ejbInjectionHolder = new InjectionHolder();
        ejbInjectionHolder.setPersistenceUnitManager(persistenceUnitManager);
        ejbInjectionHolder.setJNDIResolver(applicationJNDIResolver);


        // Configure containers
        for (EZBContainer container : containers) {
            // Set the classloader that needs to be used
            container.setClassLoader(ejbClassLoader);

            // Set application name
            container.setApplicationName(earDeployable.getModuleName());

            // Add persistence context found
            container.setPersistenceUnitManager(persistenceUnitManager);

            // Add the metadata
            container.setExtraArchives(libArchives);

            // set parent JNDI Resolver
            EZBContainerJNDIResolver containerJNDIResolver = container.getConfiguration().getContainerJNDIResolver();
            containerJNDIResolver.setApplicationJNDIResolver(applicationJNDIResolver);

            // Add child on application JNDI Resolver
            applicationJNDIResolver.addContainerJNDIResolver(containerJNDIResolver);


            // Resolve container
            try {
                container.resolve();
View Full Code Here

TOP

Related Classes of org.ow2.easybeans.persistence.api.PersistenceXmlFileAnalyzerException

Copyright © 2018 www.massapicom. 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.