Skip to content

Commit

Permalink
some changes with deployment types
Browse files Browse the repository at this point in the history
git-svn-id: http://anonsvn.jboss.org/repos/weld/ri/trunk@2189 1c488680-804c-0410-94cd-c6b725194a0e
  • Loading branch information
Victor Yarmolovich committed Mar 24, 2009
1 parent 29b4195 commit 12d537a
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 16 deletions.
24 changes: 12 additions & 12 deletions impl/src/main/java/org/jboss/webbeans/xml/ParseXmlHelper.java
Expand Up @@ -2,6 +2,7 @@

import java.io.IOException;
import java.lang.annotation.Annotation;
import java.lang.reflect.Method;
import java.net.URL;
import java.util.ArrayList;
import java.util.HashSet;
Expand All @@ -19,6 +20,10 @@
import org.dom4j.QName;
import org.jboss.webbeans.introspector.AnnotatedClass;
import org.jboss.webbeans.introspector.AnnotatedField;
import org.jboss.webbeans.introspector.AnnotatedMethod;
import org.jboss.webbeans.introspector.MethodSignature;
import org.jboss.webbeans.introspector.jlr.AnnotatedMethodImpl;
import org.jboss.webbeans.introspector.jlr.MethodSignatureImpl;
import org.jboss.webbeans.resources.spi.ResourceLoadingException;

public class ParseXmlHelper
Expand Down Expand Up @@ -83,13 +88,18 @@ public static <T extends Annotation> Class<? extends T> loadAnnotationClass(Elem
}
catch (ResourceLoadingException e)
{
//work with this when 'classesList.size() == 0'
}
catch (ClassCastException e)
{
throw new DefinitionException("<Deploy> child <" + element.getName() + "> must be a Java annotation type");
}
}
}
}

if (classesList.size() == 0)
throw new DefinitionException("Could not find '" + className + "'");
throw new DefinitionException("Could not find '" + className + "' for bean <");

if (classesList.size() == 1)
return classesList.get(0);
Expand Down Expand Up @@ -197,7 +207,7 @@ public static boolean isField(Element element, AnnotatedClass<?> beanClass, Anno

public static boolean isMethod(Element element, AnnotatedClass<?> beanClass, AnnotatedClass<?> expectedType)
{
//TODO
//TODO
return false;
}

Expand Down Expand Up @@ -241,14 +251,4 @@ private static void addElementToPackagesMap(Map<String, Set<String>> packagesMap
packagesMap.put(prefix, packagesSet);
}
}

/*private static URL loadFile(String urn, String fileName)
{
char separator = '/';
String packageName = urn.replaceFirst(XmlConstants.URN_PREFIX, "");
String path = packageName.replace('.', separator);
String filePath = separator + path + separator + fileName;
URL namespaceFile = ParseXmlHelper.class.getResource(filePath);
return namespaceFile;
}*/
}
4 changes: 4 additions & 0 deletions impl/src/main/java/org/jboss/webbeans/xml/XmlConstants.java
Expand Up @@ -7,8 +7,12 @@ public class XmlConstants
public static final String DEPLOY = "Deploy";

public static final String INTERCEPTORS = "Interceptors";

public static final String INTERCEPTOR = "Interceptor";

public static final String DECORATORS = "Decorators";

public static final String DECORATOR = "Decorator";

public static final String BINDING_TYPE = "BindingType";

Expand Down
9 changes: 5 additions & 4 deletions impl/src/main/java/org/jboss/webbeans/xml/XmlParser.java
Expand Up @@ -14,6 +14,7 @@

import javax.inject.DefinitionException;
import javax.inject.DeploymentException;
import javax.inject.DeploymentType;

import org.dom4j.Document;
import org.dom4j.DocumentException;
Expand Down Expand Up @@ -177,8 +178,8 @@ private List<Class<? extends Annotation>> obtainDeploymentTypes(Element element)
{
Class<? extends Annotation> deploymentClass = ParseXmlHelper.loadAnnotationClass(child, Annotation.class, environment, packagesMap);

// if(deploymentClass.getAnnotation(DeploymentType.class) == null)
// throw new DefinitionException("<Deploy> child <" + element.getName() + "> must be a deployment type");
if(!deploymentClass.isAnnotationPresent(DeploymentType.class))
throw new DefinitionException("<Deploy> child <" + child.getName() + "> must be a deployment type");

deploymentClasses.add(deploymentClass);
}
Expand All @@ -187,7 +188,7 @@ private List<Class<? extends Annotation>> obtainDeploymentTypes(Element element)
}

public void checkProduces(Element beanElement, AnnotatedClass<?> beanClass)
{
{//TODO
Iterator<?> childIterator = beanElement.elementIterator();
while(childIterator.hasNext())
{
Expand All @@ -211,7 +212,7 @@ public void checkProduces(Element beanElement, AnnotatedClass<?> beanClass)
if(ParseXmlHelper.isMethod(producesElement, beanClass, beanClass))
{}

throw new DefinitionException("A producer doesn't declared in class file as method or field");
// throw new DefinitionException("A producer doesn't declared in class file as method or field");
}
}

Expand Down

0 comments on commit 12d537a

Please sign in to comment.