Author: marrs
Date: Fri Mar 23 08:54:05 2012
New Revision: 1304235

URL: http://svn.apache.org/viewvc?rev=1304235&view=rev
Log:
FELIX-3400 applied the patch with some small changes to keep it 1.3 compatible

Modified:
    
felix/trunk/deploymentadmin/autoconf/src/main/java/org/apache/felix/deployment/rp/autoconf/AutoConfResourceProcessor.java

Modified: 
felix/trunk/deploymentadmin/autoconf/src/main/java/org/apache/felix/deployment/rp/autoconf/AutoConfResourceProcessor.java
URL: 
http://svn.apache.org/viewvc/felix/trunk/deploymentadmin/autoconf/src/main/java/org/apache/felix/deployment/rp/autoconf/AutoConfResourceProcessor.java?rev=1304235&r1=1304234&r2=1304235&view=diff
==============================================================================
--- 
felix/trunk/deploymentadmin/autoconf/src/main/java/org/apache/felix/deployment/rp/autoconf/AutoConfResourceProcessor.java
 (original)
+++ 
felix/trunk/deploymentadmin/autoconf/src/main/java/org/apache/felix/deployment/rp/autoconf/AutoConfResourceProcessor.java
 Fri Mar 23 08:54:05 2012
@@ -152,9 +152,25 @@ public class AutoConfResourceProcessor i
         Iterator i = designates.keySet().iterator();
         while (i.hasNext()) {
             Designate designate = (Designate) designates.get(i.next());
+            
+            // check object
+            if (designate.getObject() == null) {
+                throw new 
ResourceProcessorException(ResourceProcessorException.CODE_OTHER_ERROR, 
"Designate Object child missing or invalid");
+            }
+            
+            // check attributes
+            if (designate.getObject().getAttributes() == null || 
designate.getObject().getAttributes().size() == 0) {
+                throw new 
ResourceProcessorException(ResourceProcessorException.CODE_OTHER_ERROR, "Object 
Attributes child missing or invalid");
+            }
+            
+            // check ocdRef
+            String ocdRef = designate.getObject().getOcdRef();
+            if (ocdRef == null || "".equals(ocdRef)) {
+                throw new 
ResourceProcessorException(ResourceProcessorException.CODE_OTHER_ERROR, "Object 
ocdRef attribute missing or invalid");
+            }
+
             // determine OCD
             ObjectClassDefinition ocd = null;
-            String ocdRef = designate.getObject().getOcdRef();
             OCD localOcd = (OCD) localOcds.get(ocdRef);
             // ask meta type service for matching OCD if no local OCD has been 
defined
             ocd = (localOcd != null) ? new ObjectClassDefinitionImpl(localOcd) 
: getMetaTypeOCD(data, designate);


Reply via email to