Package javax.naming.spi

Examples of javax.naming.spi.ObjectFactory


                if (className.equals("org.apache.openejb.core.ivm.naming.java.javaURLContextFactory"))
                    continue;
                try {
                    ClassLoader cl = ClassLoaderUtil.getContextClassLoader();
                    Class factoryClass = Class.forName(className, true, cl);
                    ObjectFactory factoryInstance = (ObjectFactory) factoryClass.newInstance();
                    factories.add(factoryInstance);
                } catch (ClassNotFoundException cnfe) {

                } catch (Throwable e) {
                    NamingException ne = new NamingException("Federation failed: Cannot instantiate " + className);
View Full Code Here


                                                               Name name,
                                                               Context nameCtx,
                                                               Hashtable<?, ?> environment,
                                                               Attributes attrs)
        throws Exception {
        ObjectFactory factory = null;
        try {
            ServiceReference[] refs = callerContext.getServiceReferences(ObjectFactoryBuilder.class.getName(), null);
            if (refs != null) {
                Arrays.sort(refs, Utils.SERVICE_REFERENCE_COMPARATOR);
                for (ServiceReference ref : refs) {
                    ObjectFactoryBuilder builder = (ObjectFactoryBuilder) callerContext.getService(ref);
                    try {
                        factory = builder.createObjectFactory(obj, environment);
                    } catch (NamingException e) {
                        // TODO: log it
                    } finally {
                        callerContext.ungetService(ref);
                    }
                    if (factory != null) {
                        break;
                    }
                }
            }
        } catch (InvalidSyntaxException e) {
            // should not happen
            throw new RuntimeException("Invalid filter", e);
        }

        Object result = null;
       
        if (factory != null) {
            if (factory instanceof DirObjectFactory) {      
                result = ((DirObjectFactory) factory).getObjectInstance(obj, name, nameCtx, environment, attrs);
            } else {
                result = factory.getObjectInstance(obj, name, nameCtx, environment);
            }
        }
       
        return (result == null) ? obj : result;
    }
View Full Code Here

        throws NamingException {
     
        ServicePair<ObjectFactory> urlObjectFactory = getURLObjectFactory(context, urlScheme, env);
       
        if (urlObjectFactory != null) {
            ObjectFactory factory = urlObjectFactory.get();
           
            if (factory != null) {
                return new URLContextProvider(context, urlObjectFactory.getReference(), factory, env);
            }
        }
View Full Code Here

       
        if (refs != null) {
          for (ServiceReference finderRef : refs) {
            URLObjectFactoryFinder finder = (URLObjectFactoryFinder) ctx.getService(finderRef);
            if (finder != null) {
              ObjectFactory f = finder.findFactory(urlScheme, environment);
             
              if (f != null) {
                result = new ServicePair<ObjectFactory>(ctx, finderRef, f);
                break;
              } else {
View Full Code Here

        try {
            ServiceReference[] refs = callerContext.getServiceReferences(ObjectFactory.class.getName(), null);
            if (refs != null) {
                Arrays.sort(refs, Utils.SERVICE_REFERENCE_COMPARATOR);
                for (ServiceReference ref : refs) {
                    ObjectFactory factory = (ObjectFactory) callerContext.getService(ref);

                    try {
                        result = factory.getObjectInstance(obj, name, nameCtx, environment);
                    } finally {
                        callerContext.ungetService(ref);
                    }

                    // if the result comes back and is not null and not the reference
View Full Code Here

                String urlScheme = getUrlScheme( (String) address.getContent() );
               
                ServicePair<ObjectFactory> factoryService = ContextHelper.getURLObjectFactory(callerContext, urlScheme, environment);
               
                if (factoryService != null) {
                    ObjectFactory factory = factoryService.get();
                   
                    String value = (String) address.getContent();
                    try {
                        result = factory.getObjectInstance(value, name, nameCtx, environment);
                    } finally {
                        factoryService.unget();
                    }
                   
                    // if the result comes back and is not null and not the reference
View Full Code Here

        }

        Object result = null;
       
        if (serviceReference != null) {
            ObjectFactory factory = (ObjectFactory) defaultContext.getService(serviceReference);
            try {
                result = factory.getObjectInstance(reference, name, nameCtx, environment);
            } finally {
                defaultContext.ungetService(serviceReference);
            }
        }
View Full Code Here

    private Object getObjectInstanceUsingObjectFactoryBuilders(Object obj,
                                                               Name name,
                                                               Context nameCtx,
                                                               Hashtable<?, ?> environment)
        throws Exception {
        ObjectFactory factory = null;
        try {
            ServiceReference[] refs = callerContext.getServiceReferences(ObjectFactoryBuilder.class.getName(), null);
            if (refs != null) {
                Arrays.sort(refs, Utils.SERVICE_REFERENCE_COMPARATOR);
                for (ServiceReference ref : refs) {
                    ObjectFactoryBuilder builder = (ObjectFactoryBuilder) callerContext.getService(ref);
                    try {
                        factory = builder.createObjectFactory(obj, environment);
                    } catch (NamingException e) {
                        // TODO: log it
                    } finally {
                        callerContext.ungetService(ref);
                    }
                    if (factory != null) {
                        break;
                    }
                }
            }
        } catch (InvalidSyntaxException e) {
            // should not happen
            throw new RuntimeException("Invalid filter", e);
        }

        Object result = null;
       
        if (factory != null) {
            result = factory.getObjectInstance(obj, name, nameCtx, environment);
        }
       
        return (result == null) ? obj : result;
    }
View Full Code Here

  {
    ServiceReference ref = bc.getServiceReference(ObjectFactory.class.getName());
   
    assertNotNull("The aries url context object factory was not registered", ref);
   
    ObjectFactory factory = (ObjectFactory) bc.getService(ref);
   
    assertNotNull("The aries url context object factory was null", factory);
  }
View Full Code Here

        {
            Reference ref = (Reference) o;
            try
            {
                Class factoryClass = Class.forName(ref.getFactoryClassName());
                ObjectFactory fac = (ObjectFactory) factoryClass.newInstance();
                Object result = fac.getObjectInstance(ref, null, this, null);
                return result;
            }
            catch (Exception e)
            {
                throw new NamingException("Unable to dereference to object: " + e);
View Full Code Here

TOP

Related Classes of javax.naming.spi.ObjectFactory

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.