[jboss-svn-commits] JBL Code SVN: r25447 - in labs/jbossrules/trunk/drools-compiler/src: test/java/org/drools/lang and 1 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Thu Feb 26 19:55:47 EST 2009


Author: tirelli
Date: 2009-02-26 19:55:47 -0500 (Thu, 26 Feb 2009)
New Revision: 25447

Added:
   labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/lang/type_with_meta.drl
Modified:
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/DescrFactory.java
   labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/lang/RuleParserTest.java
Log:
JBRULES-1985: fixing NPE

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/DescrFactory.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/DescrFactory.java	2009-02-27 00:51:07 UTC (rev 25446)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/DescrFactory.java	2009-02-27 00:55:47 UTC (rev 25447)
@@ -398,7 +398,7 @@
 		for (Map activeMetadata : declMetadaList) {
 			Entry activeEntry = (Entry) activeMetadata.entrySet().iterator()
 					.next();
-			String chunkData = ((DroolsTree) activeEntry.getValue()).getText();
+            String chunkData = ((DroolsTree) activeEntry.getValue() != null ) ?((DroolsTree) activeEntry.getValue()).getText() : "()";
 			field.addMetaAttribute(((DroolsTree) activeEntry.getKey())
 					.getText(), chunkData.substring(1, chunkData.length() - 1));
 		}

Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/lang/RuleParserTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/lang/RuleParserTest.java	2009-02-27 00:51:07 UTC (rev 25446)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/lang/RuleParserTest.java	2009-02-27 00:55:47 UTC (rev 25447)
@@ -3957,7 +3957,21 @@
         assertEquals( "Operator.EQUAL",
                       qualifiedIdentifierRestrictionDescr.getText() );
     }
+    
+    public void testTypeWithMetaData() throws Exception {
 
+        parseResource( "compilation_unit",
+                       "compilation_unit",
+                       "type_with_meta.drl" );
+
+        final PackageDescr pack = walker.getPackageDescr();
+
+        final List<TypeDeclarationDescr> declarations = pack.getTypeDeclarations();
+
+        assertEquals( 3,
+                      declarations.size() );
+    }    
+
     private Object parse(String parserRuleName,
                          String treeRuleName,
                          final String text) throws Exception {

Added: labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/lang/type_with_meta.drl
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/lang/type_with_meta.drl	                        (rev 0)
+++ labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/lang/type_with_meta.drl	2009-02-27 00:55:47 UTC (rev 25447)
@@ -0,0 +1,31 @@
+package org.drools;
+
+declare NetworkNode
+            locElevation: java.math.BigDecimal
+            name: String @key
+            nodeClass: String
+            locLongitude: java.math.BigDecimal
+            nodeType: String
+            locLatitude: java.math.BigDecimal
+end
+
+declare NetworkConnection
+            id: String @key
+            node1: NetworkNode
+            node2: NetworkNode
+            hops: Integer
+end
+
+declare NetworkEvent
+            @role( event )
+            @timestamp( creationTime )
+
+            id: String @key
+            locElevation: java.math.BigDecimal
+            description: String
+            sourceComponent: NetworkNode
+            locLongitude: java.math.BigDecimal
+            severity: Integer
+            creationTime: java.util.Date
+            locLatitude: java.math.BigDecimal
+end




More information about the jboss-svn-commits mailing list