public <T> T lookup(Class<T> clazz) { for (LookupProvider lp : lookupProviders) { T result = lp.lookup(clazz); if (result != null) return result; } return null; }
public static void addMockInstances(Class<?> clazz, Object... instances) { overrideDefault(); MockLookup thisMockLookup = (MockLookup) Lookup.get(); for (Object object : instances) { thisMockLookup.instances.put(clazz, object); } }
@Override public <T> Collection<T> lookupAll(Class<T> clazz) { ArrayList<T> result = new ArrayList<T>(); for (LookupProvider lp : lookupProviders) { result.addAll(lp.lookupAll(clazz)); } return result; }
private void doLookup() { if (conversion == null) { conversion = Conversion.get(); conversion.register(new BeanToObjectConverter()); } if (beanManager == null) { beanManager = lookupBeanManager(); } if (schemaManager == null) { schemaManager = lookupSchemaManager(); } if (validationManager == null) { validationManager = Lookup.get().lookup(ValidationManager.class); } }
if (overrideClassName != null && !"".equals(overrideClassName)) { LOOKUP = (Lookup) Class.forName(overrideClassName, true, l).newInstance(); LOG.trace(Constants.LOG_MSG_LOOKUP_OVERRIDE(overrideClassName)); } else { LOOKUP = new Lookup(); LOG.debug(Constants.LOG_MSG_LOOKUP_SYS_ERROR(overrideClassName), e); LOG.warn(Constants.LOG_MSG_LOOKUP_SYS_ERROR(overrideClassName)); ServiceLoaderLookup serviceLoaderLookup = new ServiceLoaderLookup(); LOOKUP.lookupProviders.add(serviceLoaderLookup); Collection<LookupProvider> providers = serviceLoaderLookup .lookupAll(LookupProvider.class); LOOKUP.lookupProviders.addAll(providers); LOG.debug("{}", LOOKUP);
public static void resetToDefault() throws ExceptionInInitializerError { try { System.setProperty(Lookup.class.getName(), ""); Field defaultLookup = Lookup.class.getDeclaredField("LOOKUP"); defaultLookup.setAccessible(true); defaultLookup.set(null, null); if (!Lookup.get().getClass().equals(Lookup.class)) throw new RuntimeException("Could reset to default lookup"); } catch (Exception x) { throw new ExceptionInInitializerError(x); } }
@SuppressWarnings("unchecked") @Override public <T> Collection<T> lookupAll(Class<T> clazz) { Collection<T> result = (Collection<T>) instances.get(clazz); if (result.size() != 0) { return result; } return super.lookupAll(clazz); }
@Override public <T> T lookup(Class<T> clazz) { @SuppressWarnings("unchecked") Collection<T> result = (Collection<T>) instances.get(clazz); if (result.size() != 0) { return result.iterator().next(); } return super.lookup(clazz); }
public static BeanManager lookupBeanManager() { Collection<BeanManager> beanManagers = Lookup.get().lookupAll(BeanManager.class); if (beanManagers.size() == 1) { return beanManagers.iterator().next(); } /** * If multiple BeanManager are found, allow users to configure usage. */ String preferedBeanManager = SystemProperties.createDefault().get("config.beanmanager"); if (preferedBeanManager == null || "".equals(preferedBeanManager)) { return new XmlBeanManager(); } for (BeanManager beanManager : beanManagers) { if (beanManager.getClass().getName().equals(preferedBeanManager)) { return beanManager; } } /** * return the XmlBeanManager as default, zero-configuration required by users */ return new XmlBeanManager(); }
public void doLookup() { if (conversion == null) { conversion = Conversion.get(); conversion.register(new ClassToSchemaConverter()); conversion.register(new FieldToSchemaPropertyConverter()); conversion.register(new BeanToObjectConverter()); } if (beanManager == null) { beanManager = lookupBeanManager(); } if (schemaManager == null) { schemaManager = lookupSchemaManager(); } if (validationManager == null) { validationManager = Lookup.get().lookup(ValidationManager.class); } }
public static void setMockInstances(Class<?> clazz, Object... instances) { overrideDefault(); MockLookup thisMockLookup = (MockLookup) Lookup.get(); thisMockLookup.instances.clear(); for (Object object : instances) { thisMockLookup.instances.put(clazz, object); } }
private static void overrideDefault() throws ExceptionInInitializerError { try { System.setProperty(Lookup.class.getName(), MockLookup.class.getName()); if (Lookup.get().getClass() != MockLookup.class) { // Someone else initialized lookup first. Try to force our way. Field defaultLookup = Lookup.class.getDeclaredField("LOOKUP"); defaultLookup.setAccessible(true); defaultLookup.set(null, null); } if (!Lookup.get().getClass().equals(MockLookup.class)) throw new RuntimeException("Could not set MockLookup"); } catch (Exception x) { throw new ExceptionInInitializerError(x); } }
public static SchemaManager lookupSchemaManager() { Collection<SchemaManager> schemaManagers = Lookup.get().lookupAll(SchemaManager.class); if (schemaManagers.size() == 1) { return schemaManagers.iterator().next(); } /** * If multiple BeanManager are found, allow users to configure usage. */ String preferedSchemaManager = SystemProperties.createDefault().get("config.schemamanager"); if (preferedSchemaManager == null || "".equals(preferedSchemaManager)) { return new XmlSchemaManager(); } for (SchemaManager schemaManager : schemaManagers) { if (schemaManager.getClass().getName().equals(preferedSchemaManager)) { return schemaManager; } } /** * return the XmlSchemaManager as default, zero-configuration required by users */ return new XmlSchemaManager(); }