Refine search
@Override public Object getObjectInstance(final Object obj, final Name name, final Context nameCtx, final Hashtable<?, ?> environment) throws Exception { return factory.getObjectInstance(url, name, nameCtx, environment); } }
if (obj instanceof Reference) { Reference ref = (Reference)obj; String classname = ref.getClassName(); RefAddr rfac = ref.get(RCF); if (rfac == null || !(rfac instanceof StringRefAddr)) { throw new Exception("Address type " + RCF + " missing or of wrong class: " + rfac); RefAddr rclas = ref.get(RCC); if (rclas == null || !(rclas instanceof StringRefAddr)) { throw new Exception("Address type " + RCC + " missing or of wrong class: " + rclas); Object config = of.getObjectInstance(newref, name, nameCtx, environment); if (! (config instanceof RepositoryConfig)) { throw new Exception(config + " must implement RepositoryConfig");
Reference ref = (Reference) obj; ObjectFactory factory = null; RefAddr factoryRefAddr = ref.get(Constants.FACTORY); if (factoryRefAddr != null) { return factory.getObjectInstance (obj, name, nameCtx, environment); } else {
@Test public void testJNDIReference() throws Exception { final EntityManagerFactory emf = Persistence.createEntityManagerFactory( "ogm", TestHelper.getDefaultTestSettings() ); SessionFactory factory = (SessionFactory) emf; Reference reference = factory.getReference(); assertThat( reference.getClassName() ).isEqualTo( OgmSessionFactoryImpl.class.getName() ); assertThat( reference.getFactoryClassName() ).isEqualTo( ObjectFactoryImpl.class.getName() ); assertThat( reference.get( 0 ) ).isNotNull(); assertThat( reference.getFactoryClassLocation() ).isNull(); ObjectFactory objFactory = new ObjectFactoryImpl(); SessionFactory factoryFromRegistry = (SessionFactory) objFactory.getObjectInstance( reference, null, null, null ); assertThat( factoryFromRegistry.getClass() ).isEqualTo( OgmSessionFactoryImpl.class ); assertThat( factoryFromRegistry.getReference() ).isEqualTo( factory.getReference() ); emf.close(); }
assertThat(ref.getClassName(), is(FederatedRepositorySource.class.getName())); assertThat(ref.getFactoryClassName(), is(FederatedRepositorySource.class.getName())); Enumeration<RefAddr> enumeration = ref.getAll(); while (enumeration.hasMoreElements()) { RefAddr addr = enumeration.nextElement(); Context context = mock(Context.class); Hashtable<?, ?> env = new Hashtable<Object, Object>(); FederatedRepositorySource recoveredSource = (FederatedRepositorySource)factory.getObjectInstance(ref, name, context, env); assertThat(recoveredSource, is(notNullValue()));
private Object dereference(Reference ref) throws Exception { ObjectFactory objFactory = (ObjectFactory) Class.forName( ref.getFactoryClassName()).newInstance(); return objFactory.getObjectInstance(ref, null, null, null); }
String fClassName = ref.getFactoryClassName(); String fClassLocation = ref.getFactoryClassLocation(); return of.getObjectInstance( ref, name, nameCtx, env );
public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { Context contextProxy = (Context) proxy; final String methodName = method.getName(); if (log.isDebugEnabled()) { log.debug("invoking [ " + methodName + "(" + argsString(args) + ") ] on [ " + delegate + " ]"); } if ("createSubContext".equals(methodName)) { Context context = (Context) method.invoke(delegate, args); return new JNDIContextHandler(context); } else { final Object result = method.invoke(delegate, args); if (result instanceof Reference) { Reference ref = (Reference) result; ObjectFactory f = (ObjectFactory) contextProxy.lookup(ref.getFactoryClassLocation()); final Object res = f.getObjectInstance(ref, null, null, null); System.out.println(res); return res; } else { return result; } } }
if (obj instanceof Reference) { Reference ref = (Reference)obj; String classname = ref.getClassName(); RefAddr rfac = ref.get(RCF); if (rfac == null || !(rfac instanceof StringRefAddr)) { throw new Exception("Address type " + RCF + " missing or of wrong class: " + rfac); RefAddr rclas = ref.get(RCC); if (rclas == null || !(rclas instanceof StringRefAddr)) { throw new Exception("Address type " + RCC + " missing or of wrong class: " + rclas); Object config = of.getObjectInstance(newref, name, nameCtx, environment); if (! (config instanceof RepositoryConfig)) { throw new Exception(config + " must implement RepositoryConfig");
Reference ref = (Reference) obj; ObjectFactory factory = null; RefAddr factoryRefAddr = ref.get(Constants.FACTORY); if (factoryRefAddr != null) { return factory.getObjectInstance (obj, name, nameCtx, environment); } else {
@Test public void testGetReferenceImplementation() throws Exception { final Session session = openSession(); SessionFactory factory = session.getSessionFactory(); assertThat( factory.getClass() ).isEqualTo( OgmSessionFactoryImpl.class ); Reference reference = factory.getReference(); assertThat( reference.getClassName() ).isEqualTo( OgmSessionFactoryImpl.class.getName() ); assertThat( reference.getFactoryClassName() ).isEqualTo( ObjectFactoryImpl.class.getName() ); assertThat( reference.get( 0 ) ).isNotNull(); assertThat( reference.getFactoryClassLocation() ).isNull(); ObjectFactory objFactory = new ObjectFactoryImpl(); SessionFactory factoryFromRegistry = (SessionFactory) objFactory.getObjectInstance( reference, null, null, null ); assertThat( factoryFromRegistry.getClass() ).isEqualTo( OgmSessionFactoryImpl.class ); assertThat( factoryFromRegistry.getReference() ).isEqualTo( factory.getReference() ); session.close(); }
private Object dereference(Reference ref) throws Exception { ObjectFactory objFactory = (ObjectFactory) Class.forName( ref.getFactoryClassName()).newInstance(); return objFactory.getObjectInstance(ref, null, null, null); }
String fClassName = ref.getFactoryClassName(); String fClassLocation = ref.getFactoryClassLocation(); return of.getObjectInstance( ref, name, nameCtx, env );
Reference ref = (Reference) obj; ObjectFactory factory = null; RefAddr factoryRefAddr = ref.get(Constants.FACTORY); if (factoryRefAddr != null) { return factory.getObjectInstance (obj, name, nameCtx, environment); } else {
private Object getObjectInstance(final Reference reference, final Name name, final Hashtable<?, ?> environment) throws NamingException { try { final Class<?> factoryClass = Thread.currentThread().getContextClassLoader().loadClass(reference.getFactoryClassName()); ObjectFactory factory = ObjectFactory.class.cast(factoryClass.newInstance()); return factory.getObjectInstance(reference, name, this, environment); } catch(NamingException e) { throw e; } catch(Throwable t) { throw namingException("failed to get object instance from reference", t); } }
@Override public ManagedReference getReference() { try { final Object value = objectFactoryClassInstance.getObjectInstance(name, null, null, environment); return new ImmediateManagedReference(value); } catch (Exception e) { throw new RuntimeException(e); } }
String fClassName = ref.getFactoryClassName(); String fClassLocation = ref.getFactoryClassLocation(); return of.getObjectInstance( ref, name, nameCtx, env );
Reference ref = (Reference) obj; ObjectFactory factory = null; RefAddr factoryRefAddr = ref.get(Constants.FACTORY); if (factoryRefAddr != null) { return factory.getObjectInstance (obj, name, nameCtx, environment); } else {
/** * Resolve a Remote Object: * If this object is a reference return the reference * * @param o the object to resolve * @return a <code>Referenceable ((IIOPRemoteReference)o).getReference()</code> if o is a IIOPRemoteReference * and the inititial object o if else */ private Object resolveObject(Object o, Name name) throws NamingException { try { //TODO: May we can do a narrow ? if (o instanceof IIOPRemoteReference) { // build of the Referenceable object with is Reference Reference objRef = ((IIOPRemoteReference)o).getReference(); ObjectFactory objFact = (ObjectFactory)(Class.forName(objRef.getFactoryClassName())).newInstance(); return objFact.getObjectInstance(objRef,name,this,iiopContext.getEnvironment()); } else if (o instanceof IIOPRemoteResource) { return ((IIOPRemoteResource)o).getResource(); } else { return o; } } catch (Exception e) { e.printStackTrace(); throw new NamingException("" + e); } }
@Override public ManagedReference getReference() { try { final Object value = objectFactoryClassInstance.getObjectInstance(name, null, null, environment); return new ImmediateManagedReference(value); } catch (Exception e) { throw new RuntimeException(e); } }