Package org.apache.tuscany.sca.contribution.resolver

Examples of org.apache.tuscany.sca.contribution.resolver.ClassReference


    }

    public void resolve(JavaImplementation javaImplementation, ModelResolver resolver)
        throws ContributionResolveException {

        ClassReference classReference = new ClassReference(javaImplementation.getName());
        classReference = resolver.resolveModel(ClassReference.class, classReference);
        Class javaClass = classReference.getJavaClass();
        if (javaClass == null) {
          error("ClassNotFoundException", resolver, javaImplementation.getName());
            //throw new ContributionResolveException(new ClassNotFoundException(javaImplementation.getName()));
          return;
        }
View Full Code Here


    }

    private void defineFromFactory(SDOTypes importSDO, ModelResolver resolver) throws ContributionResolveException {
        String factoryName = importSDO.getFactory();
        if (factoryName != null) {
            ClassReference reference = new ClassReference(factoryName);
            ClassReference resolved = resolver.resolveModel(ClassReference.class, reference);
            if (resolved != null && !resolved.isUnresolved()) {
                try {
                    Class<?> factoryClass = resolved.getJavaClass();
                    // Get the namespace
                    Field field = factoryClass.getField("NAMESPACE_URI");
                    importSDO.setNamespace((String)field.get(null));
                    register(factoryClass, helperContext);
                    importSDO.setUnresolved(false);
View Full Code Here

    /**
     * Test ClassReference resolution
     *
     */
    public void testResolveClass() {
        ClassReference ref = new ClassReference(getClass().getName());
        ClassReference clazz = resolver.resolveModel(ClassReference.class, ref);
        assertFalse(clazz.isUnresolved());
        assertTrue(clazz.getJavaClass() == getClass());
    }
View Full Code Here

    /**
     * Test ClassReference resolution of inexistent class
     *
     */
    public void testUnresolvedClass() {
        ClassReference ref = new ClassReference("NonExistentClass");
        ClassReference clazz = resolver.resolveModel(ClassReference.class, ref);
        assertTrue(clazz.isUnresolved());
        assertTrue(clazz.getJavaClass() == null);
    }
View Full Code Here

        try {
           
            // Load the class and return a class reference for it
            String className = ((ClassReference)unresolved).getClassName();
            Class<?> clazz = Class.forName(className, true, this);
            return modelClass.cast(new ClassReference(clazz));
           
        } catch (ClassNotFoundException e) {
            return unresolved;
        } catch (NoClassDefFoundError e) {
            return unresolved;
View Full Code Here

        }
       
        // 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));
            if (!classReference.isUnresolved()) {
                return classReference.getJavaClass();
            }
        }

        // Next, try to load the class from the current contribution
        Class<?> clazz = super.findClass(name);
View Full Code Here

            // Ignore error, non-OSGi classloading is used in this case
        }
    }

    public void addModel(Object resolved) {
        ClassReference clazz = (ClassReference)resolved;
        map.put(clazz.getClassName(), clazz);
    }
View Full Code Here

        }

        if (clazz != null) {
            //if we load the class           
            // Store a new ClassReference wrapping the loaded class
            ClassReference classReference = new ClassReference(clazz);
            map.put(clazz.getName(), classReference);

            // Return the resolved ClassReference
            return modelClass.cast(classReference);
        } else {
View Full Code Here

    }

    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);
View Full Code Here

            return modelClass.cast(resolved);
           
        } else if (unresolved instanceof ClassReference) {
           
            // Load a class on demand
            ClassReference classReference = (ClassReference)unresolved;
            Class<?> clazz;
            try {
                clazz = Class.forName(classReference.getClassName(), true, classLoader.get());
            } catch (ClassNotFoundException e) {
               
                // Return the unresolved object
                return unresolved;
            }
           
            // Store a new ClassReference wrapping the loaded class
            resolved = new ClassReference(clazz);
            map.put(resolved, resolved);
           
            // Return the resolved ClassReference
            return modelClass.cast(resolved);
               
View Full Code Here

TOP

Related Classes of org.apache.tuscany.sca.contribution.resolver.ClassReference

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.