public <T> T resolveModel(Class<T> modelClass, T unresolved, ProcessorContext context) { //Load a class on demand Class<?> clazz = null; if (bundle != null) { try { clazz = bundle.loadClass(((ClassReference)unresolved).getClassName()); } catch (Exception e) { // Ignore } } if (clazz != null) { //if we load the class // Store a new ClassReference wrapping the loaded class ClassReference classReference = new ClassReference(clazz); // Return the resolved ClassReference return modelClass.cast(classReference); } else { return unresolved; } } }
private Class<?> getJavaClass(ModelResolver resolver, String className, ProcessorContext context) { ClassReference ref = new ClassReference(className); ref = resolver.resolveModel(ClassReference.class, ref, context); return ref.getJavaClass(); }
public <T> T resolveModel(Class<T> modelClass, T unresolved, ProcessorContext context) { if (!(unresolved instanceof ClassReference)) { return unresolved; } try { this.context = context; contributionContainingClass = contribution.get(); // Load the class and return a class reference for it String className = ((ClassReference)unresolved).getClassName(); Class<?> clazz = Class.forName(className, false, this); ClassReference classReference = new ClassReference(clazz); classReference.setContributionContainingClass(contributionContainingClass); contributionContainingClass = null; return modelClass.cast(classReference); } catch (ClassNotFoundException e) { return unresolved; } finally { contributionContainingClass = null; } }
public <T> T resolveModel(Class<T> modelClass, T unresolved, ProcessorContext context) { if (!(unresolved instanceof ClassReference)) { return unresolved; } try { this.context = context; contributionContainingClass = contribution.get(); // Load the class and return a class reference for it String className = ((ClassReference)unresolved).getClassName(); Class<?> clazz = Class.forName(className, false, this); ClassReference classReference = new ClassReference(clazz); classReference.setContributionContainingClass(contributionContainingClass); contributionContainingClass = null; return modelClass.cast(classReference); } catch (ClassNotFoundException e) { return unresolved; } finally { contributionContainingClass = null; } }
private Class<?> resolveClass(ModelResolver resolver, String className, ProcessorContext context) throws ClassNotFoundException { ClassReference classReference = new ClassReference(className); classReference = resolver.resolveModel(ClassReference.class, classReference, context); if (classReference.isUnresolved()) { throw new ClassNotFoundException(className); } Class<?> javaClass = classReference.getJavaClass(); return javaClass; }
@Override protected Class<?> findClass(String name) throws ClassNotFoundException { // Extract the package name int d = name.lastIndexOf('.'); String packageName; if (d != -1) { packageName = name.substring(0, d); } else { packageName = null; } // First try to load the class using the Java import resolvers ModelResolver importResolver = importResolvers.get(packageName); if (importResolver != null) { ClassReference classReference = importResolver.resolveModel(ClassReference.class, new ClassReference(name), context); if (!classReference.isUnresolved()) { contributionContainingClass = classReference.getContributionContainingClass(); return classReference.getJavaClass(); } } // Next, try to load the class from the current contribution Class<?> clazz = super.findClass(name); return clazz; }
@Override protected Class<?> findClass(String name) throws ClassNotFoundException { // Extract the package name int d = name.lastIndexOf('.'); String packageName; if (d != -1) { packageName = name.substring(0, d); } else { packageName = null; } // First try to load the class using the Java import resolvers ModelResolver importResolver = importResolvers.get(packageName); if (importResolver != null) { ClassReference classReference = importResolver.resolveModel(ClassReference.class, new ClassReference(name), context); if (!classReference.isUnresolved()) { contributionContainingClass = classReference.getContributionContainingClass(); return classReference.getJavaClass(); } } // Next, try to load the class from the current contribution Class<?> clazz = super.findClass(name); return clazz; }
public void resolve(JAXRSImplementation implementation, ModelResolver resolver, ProcessorContext context) throws ContributionResolveException { ClassReference classReference = new ClassReference(implementation.getApplication()); classReference = resolver.resolveModel(ClassReference.class, classReference, context); implementation.setApplicationClass(classReference.getJavaClass()); implementation.setUnresolved(false); Application application; try { application = (Application) implementation.getApplicationClass().newInstance(); } catch (Exception e) { throw new ContributionResolveException(e); } for(Class<?> rootResourceClass: application.getClasses()) { addService(implementation, rootResourceClass); } for(Object rootResource: application.getSingletons()) { addService(implementation, rootResource.getClass()); } }
public void resolve(JaasAuthenticationPolicy policy, ModelResolver resolver, ProcessorContext context) throws ContributionResolveException { if (policy.getCallbackHandlerClassName() != null) { ClassReference classReference = new ClassReference(policy.getCallbackHandlerClassName()); classReference = resolver.resolveModel(ClassReference.class, classReference, context); Class<?> callbackClass = classReference.getJavaClass(); if (callbackClass == null) { error(context.getMonitor(), "ClassNotFoundException", resolver, policy.getCallbackHandlerClassName()); //throw new ContributionResolveException(new ClassNotFoundException(policy.getCallbackHandlerClassName())); } else { policy.setCallbackHandlerClass(callbackClass); policy.setUnresolved(false); } } }
public void resolve(JaasAuthenticationPolicy policy, ModelResolver resolver, ProcessorContext context) throws ContributionResolveException { if (policy.getCallbackHandlerClassName() != null) { ClassReference classReference = new ClassReference(policy.getCallbackHandlerClassName()); classReference = resolver.resolveModel(ClassReference.class, classReference, context); Class<?> callbackClass = classReference.getJavaClass(); if (callbackClass == null) { error(context.getMonitor(), "ClassNotFoundException", resolver, policy.getCallbackHandlerClassName()); //throw new ContributionResolveException(new ClassNotFoundException(policy.getCallbackHandlerClassName())); } else { policy.setCallbackHandlerClass(callbackClass); policy.setUnresolved(false); } } }
Monitor monitor = context.getMonitor(); try { ClassReference classReference = new ClassReference(javaImplementation.getName()); classReference = resolver.resolveModel(ClassReference.class, classReference, context); Class<?> javaClass = classReference.getJavaClass();
ClassReference classReference = new ClassReference(javaInterface.getName()); classReference = resolver.resolveModel(ClassReference.class, classReference, context); Class<?> javaClass = classReference.getJavaClass();
ClassReference classReference = new ClassReference(javaInterface.getName()); classReference = resolver.resolveModel(ClassReference.class, classReference, context); Class<?> javaClass = classReference.getJavaClass();