You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by cl...@apache.org on 2011/01/12 17:56:31 UTC
svn commit: r1058231 - in /felix/trunk/ipojo:
core/src/main/java/org/apache/felix/ipojo/
manipulator/src/main/java/org/apache/felix/ipojo/manipulator/
tests/core/annotations/src/main/java/org/apache/felix/ipojo/test/scenarios/component/
Author: clement
Date: Wed Jan 12 16:56:30 2011
New Revision: 1058231
URL: http://svn.apache.org/viewvc?rev=1058231&view=rev
Log:
Avoid a potential NPE in arch
Clean the output of the manipulator during annotation processing.
Added:
felix/trunk/ipojo/tests/core/annotations/src/main/java/org/apache/felix/ipojo/test/scenarios/component/NoAnnotation.java
Modified:
felix/trunk/ipojo/core/src/main/java/org/apache/felix/ipojo/PrimitiveInstanceDescription.java
felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulator/Pojoization.java
Modified: felix/trunk/ipojo/core/src/main/java/org/apache/felix/ipojo/PrimitiveInstanceDescription.java
URL: http://svn.apache.org/viewvc/felix/trunk/ipojo/core/src/main/java/org/apache/felix/ipojo/PrimitiveInstanceDescription.java?rev=1058231&r1=1058230&r2=1058231&view=diff
==============================================================================
--- felix/trunk/ipojo/core/src/main/java/org/apache/felix/ipojo/PrimitiveInstanceDescription.java (original)
+++ felix/trunk/ipojo/core/src/main/java/org/apache/felix/ipojo/PrimitiveInstanceDescription.java Wed Jan 12 16:56:30 2011
@@ -1,4 +1,4 @@
-/*
+/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
@@ -34,11 +34,11 @@ import org.apache.felix.ipojo.metadata.E
/**
* Primitive Instance Description.
- *
+ *
* @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a>
*/
public class PrimitiveInstanceDescription extends InstanceDescription {
-
+
/**
* Creates a Primitive Instance Description.
* @param type the component type description
@@ -64,7 +64,7 @@ public class PrimitiveInstanceDescriptio
return new String[0];
}
}
-
+
/**
* Gets the instance service dependencies.
* @return the set of dependency description or an empty array if
@@ -79,7 +79,7 @@ public class PrimitiveInstanceDescriptio
.getDescription()).getDependencies();
}
}
-
+
/**
* Gets the instance service dependency matching with the given service specification or id.
* @param specification the service specification of the looked specification.
@@ -97,12 +97,12 @@ public class PrimitiveInstanceDescriptio
|| specification.equals(deps[i].getSpecification())) {
return deps[i];
}
-
+
}
}
return null;
}
-
+
/**
* Gets the instance provided service matching with the given service specification.
* @param specification the provided specification of the looked provided service.
@@ -120,12 +120,12 @@ public class PrimitiveInstanceDescriptio
if (specification.equals(str[j])) {
return pss[i];
}
- }
+ }
}
}
return null;
}
-
+
/**
* Gets the instance provided service.
* @return the set of provided service description or an empty array if
@@ -140,7 +140,7 @@ public class PrimitiveInstanceDescriptio
.getDescription()).getProvidedServices();
}
}
-
+
/**
* Gets the instance properties.
* @return the set of property descriptions or an empty array if
@@ -155,7 +155,7 @@ public class PrimitiveInstanceDescriptio
.getDescription()).getProperties();
}
}
-
+
/**
* Gets the instance description.
* Overridden to add created objects.
@@ -165,14 +165,14 @@ public class PrimitiveInstanceDescriptio
Element elem = super.getDescription();
// Created Object (empty is composite)
String[] objs = getCreatedObjects();
- for (int i = 0; i < objs.length; i++) {
+ for (int i = 0; objs != null && i < objs.length; i++) {
Element obj = new Element("Object", "");
obj.addAttribute(new Attribute("name", ((Object) objs[i]).toString()));
elem.addElement(obj);
}
return elem;
}
-
-
+
+
}
Modified: felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulator/Pojoization.java
URL: http://svn.apache.org/viewvc/felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulator/Pojoization.java?rev=1058231&r1=1058230&r2=1058231&view=diff
==============================================================================
--- felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulator/Pojoization.java (original)
+++ felix/trunk/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulator/Pojoization.java Wed Jan 12 16:56:30 2011
@@ -300,7 +300,8 @@ public class Pojoization {
cr.accept(collector, 0);
if (collector.isIgnoredBecauseOfMissingComponent()) {
- warn("Annotation processing ignored in " + collector.getClassName() + " - @Component missing");
+ // No @Component, just skip.
+ //warn("Annotation processing ignored in " + collector.getClassName() + " - @Component missing");
} else if (collector.isComponentType()) {
boolean toskip = false;
for (int i = 0; !toskip && i < m_metadata.size(); i++) {
@@ -329,7 +330,7 @@ public class Pojoization {
// Instantiate ?
if (collector.getInstanceDeclaration() != null) {
- warn("Declaring an empty instance of " + elem.getAttribute("classname"));
+ //warn("Declaring an empty instance of " + elem.getAttribute("classname"));
m_metadata.add(collector.getInstanceDeclaration());
}
}
Added: felix/trunk/ipojo/tests/core/annotations/src/main/java/org/apache/felix/ipojo/test/scenarios/component/NoAnnotation.java
URL: http://svn.apache.org/viewvc/felix/trunk/ipojo/tests/core/annotations/src/main/java/org/apache/felix/ipojo/test/scenarios/component/NoAnnotation.java?rev=1058231&view=auto
==============================================================================
--- felix/trunk/ipojo/tests/core/annotations/src/main/java/org/apache/felix/ipojo/test/scenarios/component/NoAnnotation.java (added)
+++ felix/trunk/ipojo/tests/core/annotations/src/main/java/org/apache/felix/ipojo/test/scenarios/component/NoAnnotation.java Wed Jan 12 16:56:30 2011
@@ -0,0 +1,5 @@
+package org.apache.felix.ipojo.test.scenarios.component;
+
+public class NoAnnotation {
+
+}