You can subscribe to this list here.
2005 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(233) |
Sep
(199) |
Oct
(206) |
Nov
(185) |
Dec
(270) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2006 |
Jan
(232) |
Feb
(426) |
Mar
(623) |
Apr
(592) |
May
(506) |
Jun
(389) |
Jul
(160) |
Aug
(3) |
Sep
(1) |
Oct
(1) |
Nov
(2) |
Dec
(5) |
2007 |
Jan
(1) |
Feb
(1) |
Mar
(2) |
Apr
(2) |
May
(4) |
Jun
(2) |
Jul
|
Aug
(3) |
Sep
(5) |
Oct
(9) |
Nov
(6) |
Dec
(6) |
2008 |
Jan
(3) |
Feb
|
Mar
(1) |
Apr
(3) |
May
(3) |
Jun
(5) |
Jul
(10) |
Aug
(2) |
Sep
(12) |
Oct
(10) |
Nov
(54) |
Dec
(49) |
2009 |
Jan
(19) |
Feb
(13) |
Mar
(20) |
Apr
(24) |
May
(44) |
Jun
(29) |
Jul
(32) |
Aug
(10) |
Sep
(7) |
Oct
(10) |
Nov
(4) |
Dec
(17) |
2010 |
Jan
(14) |
Feb
(5) |
Mar
(23) |
Apr
(50) |
May
(31) |
Jun
(9) |
Jul
(5) |
Aug
(4) |
Sep
(7) |
Oct
(5) |
Nov
(2) |
Dec
(3) |
2011 |
Jan
(12) |
Feb
(5) |
Mar
(5) |
Apr
(3) |
May
(4) |
Jun
(3) |
Jul
(2) |
Aug
|
Sep
|
Oct
|
Nov
(1) |
Dec
|
2012 |
Jan
(1) |
Feb
(2) |
Mar
|
Apr
(1) |
May
(1) |
Jun
(2) |
Jul
(4) |
Aug
(1) |
Sep
|
Oct
(1) |
Nov
|
Dec
|
2013 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(2) |
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
|
2014 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(3) |
Sep
|
Oct
|
Nov
|
Dec
(1) |
2015 |
Jan
|
Feb
|
Mar
(2) |
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2016 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: <jbo...@li...> - 2006-01-03 10:33:12
|
Author: rem...@jb... Date: 2006-01-03 05:33:04 -0500 (Tue, 03 Jan 2006) New Revision: 1973 Modified: trunk/labs/jbossweb/src/share/classes/org/apache/coyote/ajp/AjpAprProcessor.java Log: - Port patch for not blocking for non available content. Modified: trunk/labs/jbossweb/src/share/classes/org/apache/coyote/ajp/AjpAprProcessor.java =================================================================== --- trunk/labs/jbossweb/src/share/classes/org/apache/coyote/ajp/AjpAprProcessor.java 2006-01-02 06:52:24 UTC (rev 1972) +++ trunk/labs/jbossweb/src/share/classes/org/apache/coyote/ajp/AjpAprProcessor.java 2006-01-03 10:33:04 UTC (rev 1973) @@ -32,6 +32,7 @@ import org.apache.coyote.Request; import org.apache.coyote.RequestInfo; import org.apache.coyote.Response; +import org.apache.jk.common.AjpConstants; import org.apache.tomcat.jni.Socket; import org.apache.tomcat.jni.Status; import org.apache.tomcat.util.buf.ByteChunk; @@ -384,6 +385,12 @@ error = true; } continue; + } else if(type != Constants.JK_AJP13_FORWARD_REQUEST) { + // Usually the servlet didn't read the previous request body + if(log.isDebugEnabled()) { + log.debug("Unexpected message: "+type); + } + continue; } keptAlive = true; @@ -766,7 +773,7 @@ requestHeaderMessage.getBytes(request.method()); break; - case Constants.SC_A_SECRET: + case AjpConstants.SC_A_SECRET: requestHeaderMessage.getBytes(tmpMB); if (requiredSecret != null) { secret = true; @@ -1190,7 +1197,7 @@ if (endOfStream) { return -1; } - if (first) { + if (first && req.getContentLength() > 0) { // Handle special first-body-chunk if (!receive()) { return 0; |
From: <jbo...@li...> - 2006-01-02 05:25:36
|
Author: mar...@jb... Date: 2006-01-02 00:25:33 -0500 (Mon, 02 Jan 2006) New Revision: 1971 Modified: trunk/labs/jbossrules/drools-core/src/test/java/org/drools/spi/ClassFieldExtractor.java Log: -removed printout statement Modified: trunk/labs/jbossrules/drools-core/src/test/java/org/drools/spi/ClassFieldExtractor.java =================================================================== --- trunk/labs/jbossrules/drools-core/src/test/java/org/drools/spi/ClassFieldExtractor.java 2006-01-02 05:24:21 UTC (rev 1970) +++ trunk/labs/jbossrules/drools-core/src/test/java/org/drools/spi/ClassFieldExtractor.java 2006-01-02 05:25:33 UTC (rev 1971) @@ -28,7 +28,6 @@ public Object getValue(Object object) { Object value = null; try { - System.out.println( object ); value = Introspector.getBeanInfo( this.clazz ).getPropertyDescriptors()[this.index].getReadMethod().invoke( object, null ); } catch ( Exception e ) { |
Author: mar...@jb... Date: 2006-01-02 00:24:21 -0500 (Mon, 02 Jan 2006) New Revision: 1970 Added: trunk/labs/jbossrules/drools-core/src/main/java/org/drools/rule/EvaluatorFactory.java trunk/labs/jbossrules/drools-core/src/main/java/org/drools/spi/AssertedObjectTransformer.java trunk/labs/jbossrules/drools-core/src/main/java/org/drools/spi/BetaNodeConstraint.java trunk/labs/jbossrules/drools-core/src/main/java/org/drools/spi/ClassObjectTypeResolver.java trunk/labs/jbossrules/drools-core/src/main/java/org/drools/spi/Evaluator.java trunk/labs/jbossrules/drools-core/src/main/java/org/drools/spi/Field.java trunk/labs/jbossrules/drools-core/src/main/java/org/drools/spi/FieldExtractor.java trunk/labs/jbossrules/drools-core/src/main/java/org/drools/spi/ObjectTypeResolver.java trunk/labs/jbossrules/drools-core/src/main/java/org/drools/spi/PredicateEvaluator.java trunk/labs/jbossrules/drools-core/src/main/java/org/drools/spi/ReturnValueEvaluator.java trunk/labs/jbossrules/drools-core/src/test/java/org/drools/Cheese.java trunk/labs/jbossrules/drools-core/src/test/java/org/drools/examples/manners/MannersTest.java trunk/labs/jbossrules/drools-core/src/test/java/org/drools/spi/ClassFieldExtractor.java trunk/labs/jbossrules/drools-core/src/test/java/org/drools/spi/MockField.java Log: -Refactored Constraint model to be simpler and more specific Added: trunk/labs/jbossrules/drools-core/src/main/java/org/drools/rule/EvaluatorFactory.java =================================================================== --- trunk/labs/jbossrules/drools-core/src/main/java/org/drools/rule/EvaluatorFactory.java 2006-01-02 05:19:01 UTC (rev 1969) +++ trunk/labs/jbossrules/drools-core/src/main/java/org/drools/rule/EvaluatorFactory.java 2006-01-02 05:24:21 UTC (rev 1970) @@ -0,0 +1,373 @@ +package org.drools.rule; + +import org.drools.spi.Evaluator; +import org.drools.spi.BaseEvaluator; + +public class EvaluatorFactory { + private static final EvaluatorFactory INSTANCE = new EvaluatorFactory(); + + public static EvaluatorFactory getInstance() { + return EvaluatorFactory.INSTANCE; + } + + private EvaluatorFactory() { + + } + + public Evaluator getEvaluator(int type, + int operator) { + switch ( type ) { + case Evaluator.OBJECT_TYPE : + return getObjectEvaluator( operator ); + case Evaluator.SHORT_TYPE : + return getShortEvaluator( operator ); + case Evaluator.INTEGER_TYPE : + return getIntegerEvaluator( operator ); + default : + throw new RuntimeException( "Type '" + type + "' does not exist for BaseEvaluatorFactory" ); + } + } + + Evaluator getObjectEvaluator(int operator) { + switch ( operator ) { + case Evaluator.EQUAL : + return ObjectEqualEvaluator.getInstance(); + case Evaluator.NOT_EQUAL : + return ObjectNotEqualEvaluator.getInstance(); + default : + throw new RuntimeException( "Operator '" + operator + "' does not exist for ObjectEvaluator" ); + } + } + + static class ObjectEqualEvaluator extends BaseEvaluator { + private static Evaluator INSTANCE; + + public static Evaluator getInstance() { + if ( INSTANCE == null ) { + INSTANCE = new ObjectEqualEvaluator(); + } + return INSTANCE; + } + + private ObjectEqualEvaluator() { + super( Evaluator.OBJECT_TYPE, + Evaluator.EQUAL ); + } + + public boolean evaluate(Object object1, + Object object2) { + return object1.equals( object2 ); + } + } + + static class ObjectNotEqualEvaluator extends BaseEvaluator { + private static Evaluator INSTANCE; + + public static Evaluator getInstance() { + if ( INSTANCE == null ) { + INSTANCE = new ObjectNotEqualEvaluator(); + } + return INSTANCE; + } + + private ObjectNotEqualEvaluator() { + super( Evaluator.OBJECT_TYPE, + Evaluator.NOT_EQUAL ); + } + + public boolean evaluate(Object object1, + Object object2) { + return !object1.equals( object2 ); + } + } + + Evaluator getShortEvaluator(int operator) { + switch ( operator ) { + case Evaluator.EQUAL : + return ShortEqualEvaluator.getInstance(); + case Evaluator.NOT_EQUAL : + return ShortNotEqualEvaluator.getInstance(); + case Evaluator.LESS : + return ShortLessEvaluator.getInstance(); + case Evaluator.LESS_OR_EQUAL : + return ShortLessOrEqualEvaluator.getInstance(); + case Evaluator.GREATER : + return ShortGreaterEvaluator.getInstance(); + case Evaluator.GREATER_OR_EQUAL : + return ShortGreaterOrEqualEvaluator.getInstance(); + default : + throw new RuntimeException( "Operator '" + operator + "' does not exist for BooleanEvaluator" ); + } + } + + static class ShortEqualEvaluator extends BaseEvaluator { + private static Evaluator INSTANCE; + + public static Evaluator getInstance() { + if ( INSTANCE == null ) { + INSTANCE = new ShortEqualEvaluator(); + } + return INSTANCE; + } + + private ShortEqualEvaluator() { + super( Evaluator.SHORT_TYPE, + Evaluator.EQUAL ); + } + + public boolean evaluate(Object object1, + Object object2) { + return ((Number) object1).shortValue() == ((Number) object2).shortValue(); + } + } + + static class ShortNotEqualEvaluator extends BaseEvaluator { + private static Evaluator INSTANCE; + + public static Evaluator getInstance() { + if ( INSTANCE == null ) { + INSTANCE = new ShortNotEqualEvaluator(); + } + return INSTANCE; + } + + private ShortNotEqualEvaluator() { + super( Evaluator.SHORT_TYPE, + Evaluator.NOT_EQUAL ); + } + + public boolean evaluate(Object object1, + Object object2) { + return ((Number) object1).shortValue() != ((Number) object2).shortValue(); + } + } + + static class ShortLessEvaluator extends BaseEvaluator { + private static Evaluator INSTANCE; + + public static Evaluator getInstance() { + if ( INSTANCE == null ) { + INSTANCE = new ShortLessEvaluator(); + } + return INSTANCE; + } + + private ShortLessEvaluator() { + super( Evaluator.SHORT_TYPE, + Evaluator.LESS ); + } + + public boolean evaluate(Object object1, + Object object2) { + return ((Number) object1).shortValue() < ((Number) object2).shortValue(); + } + } + + static class ShortLessOrEqualEvaluator extends BaseEvaluator { + private static Evaluator INSTANCE; + + public static Evaluator getInstance() { + if ( INSTANCE == null ) { + INSTANCE = new ShortLessOrEqualEvaluator(); + } + return INSTANCE; + } + + private ShortLessOrEqualEvaluator() { + super( Evaluator.SHORT_TYPE, + Evaluator.LESS_OR_EQUAL ); + } + + public boolean evaluate(Object object1, + Object object2) { + return ((Number) object1).shortValue() <= ((Number) object2).shortValue(); + } + } + + static class ShortGreaterEvaluator extends BaseEvaluator { + private static Evaluator INSTANCE; + + public static Evaluator getInstance() { + if ( INSTANCE == null ) { + INSTANCE = new ShortGreaterEvaluator(); + } + return INSTANCE; + } + + private ShortGreaterEvaluator() { + super( Evaluator.SHORT_TYPE, + Evaluator.GREATER ); + } + + public boolean evaluate(Object object1, + Object object2) { + return ((Number) object1).shortValue() > ((Number) object2).shortValue(); + } + } + + static class ShortGreaterOrEqualEvaluator extends BaseEvaluator { + private static Evaluator INSTANCE; + + public static Evaluator getInstance() { + if ( INSTANCE == null ) { + INSTANCE = new ShortGreaterOrEqualEvaluator(); + } + return INSTANCE; + } + + private ShortGreaterOrEqualEvaluator() { + super( Evaluator.SHORT_TYPE, + Evaluator.GREATER_OR_EQUAL ); + } + + public boolean evaluate(Object object1, + Object object2) { + return ((Number) object1).shortValue() >= ((Number) object2).shortValue(); + } + } + + Evaluator getIntegerEvaluator(int operator) { + switch ( operator ) { + case Evaluator.EQUAL : + return IntegerEqualEvaluator.getInstance(); + case Evaluator.NOT_EQUAL : + return IntegerNotEqualEvaluator.getInstance(); + case Evaluator.LESS : + return IntegerLessEvaluator.getInstance(); + case Evaluator.LESS_OR_EQUAL : + return IntegerLessOrEqualEvaluator.getInstance(); + case Evaluator.GREATER : + return IntegerGreaterEvaluator.getInstance(); + case Evaluator.GREATER_OR_EQUAL : + return IntegerGreaterOrEqualEvaluator.getInstance(); + default : + throw new RuntimeException( "Operator '" + operator + "' does not exist for BooleanEvaluator" ); + } + } + + static class IntegerEqualEvaluator extends BaseEvaluator { + private static Evaluator INSTANCE; + + public static Evaluator getInstance() { + if ( INSTANCE == null ) { + INSTANCE = new IntegerEqualEvaluator(); + } + return INSTANCE; + } + + private IntegerEqualEvaluator() { + super( Evaluator.SHORT_TYPE, + Evaluator.EQUAL ); + } + + public boolean evaluate(Object object1, + Object object2) { + return ((Number) object1).intValue() == ((Number) object2).intValue(); + } + } + + static class IntegerNotEqualEvaluator extends BaseEvaluator { + private static Evaluator INSTANCE; + + public static Evaluator getInstance() { + if ( INSTANCE == null ) { + INSTANCE = new IntegerNotEqualEvaluator(); + } + return INSTANCE; + } + + private IntegerNotEqualEvaluator() { + super( Evaluator.SHORT_TYPE, + Evaluator.NOT_EQUAL ); + } + + public boolean evaluate(Object object1, + Object object2) { + return ((Number) object1).intValue() != ((Number) object2).intValue(); + } + } + + static class IntegerLessEvaluator extends BaseEvaluator { + private static Evaluator INSTANCE; + + public static Evaluator getInstance() { + if ( INSTANCE == null ) { + INSTANCE = new IntegerLessEvaluator(); + } + return INSTANCE; + } + + private IntegerLessEvaluator() { + super( Evaluator.SHORT_TYPE, + Evaluator.LESS ); + } + + public boolean evaluate(Object object1, + Object object2) { + return ((Number) object1).intValue() < ((Number) object2).intValue(); + } + } + + static class IntegerLessOrEqualEvaluator extends BaseEvaluator { + private static Evaluator INSTANCE; + + public static Evaluator getInstance() { + if ( INSTANCE == null ) { + INSTANCE = new IntegerLessOrEqualEvaluator(); + } + return INSTANCE; + } + + private IntegerLessOrEqualEvaluator() { + super( Evaluator.SHORT_TYPE, + Evaluator.LESS_OR_EQUAL ); + } + + public boolean evaluate(Object object1, + Object object2) { + return ((Number) object1).intValue() <= ((Number) object2).intValue(); + } + } + + static class IntegerGreaterEvaluator extends BaseEvaluator { + private static Evaluator INSTANCE; + + public static Evaluator getInstance() { + if ( INSTANCE == null ) { + INSTANCE = new IntegerGreaterEvaluator(); + } + return INSTANCE; + } + + private IntegerGreaterEvaluator() { + super( Evaluator.SHORT_TYPE, + Evaluator.GREATER ); + } + + public boolean evaluate(Object object1, + Object object2) { + return ((Number) object1).intValue() > ((Number) object2).intValue(); + } + } + + static class IntegerGreaterOrEqualEvaluator extends BaseEvaluator { + private static Evaluator INSTANCE; + + public static Evaluator getInstance() { + if ( INSTANCE == null ) { + INSTANCE = new IntegerGreaterOrEqualEvaluator(); + } + return INSTANCE; + } + + private IntegerGreaterOrEqualEvaluator() { + super( Evaluator.SHORT_TYPE, + Evaluator.GREATER_OR_EQUAL ); + } + + public boolean evaluate(Object object1, + Object object2) { + return ((Number) object1).intValue() >= ((Number) object2).intValue(); + } + } +} Added: trunk/labs/jbossrules/drools-core/src/main/java/org/drools/spi/AssertedObjectTransformer.java =================================================================== --- trunk/labs/jbossrules/drools-core/src/main/java/org/drools/spi/AssertedObjectTransformer.java 2006-01-02 05:19:01 UTC (rev 1969) +++ trunk/labs/jbossrules/drools-core/src/main/java/org/drools/spi/AssertedObjectTransformer.java 2006-01-02 05:24:21 UTC (rev 1970) @@ -0,0 +1,5 @@ +package org.drools.spi; + +public interface AssertedObjectTransformer { + Object transform(Object object); +} Added: trunk/labs/jbossrules/drools-core/src/main/java/org/drools/spi/BetaNodeConstraint.java =================================================================== --- trunk/labs/jbossrules/drools-core/src/main/java/org/drools/spi/BetaNodeConstraint.java 2006-01-02 05:19:01 UTC (rev 1969) +++ trunk/labs/jbossrules/drools-core/src/main/java/org/drools/spi/BetaNodeConstraint.java 2006-01-02 05:24:21 UTC (rev 1970) @@ -0,0 +1,13 @@ +package org.drools.spi; + +import org.drools.FactHandle; +import org.drools.rule.Declaration; + +public interface BetaNodeConstraint extends Constraint { + public boolean isAllowed(Object object, + FactHandle handle, + Tuple tuple); + + Declaration[] getRequiredDeclarations(); + +} Added: trunk/labs/jbossrules/drools-core/src/main/java/org/drools/spi/ClassObjectTypeResolver.java =================================================================== --- trunk/labs/jbossrules/drools-core/src/main/java/org/drools/spi/ClassObjectTypeResolver.java 2006-01-02 05:19:01 UTC (rev 1969) +++ trunk/labs/jbossrules/drools-core/src/main/java/org/drools/spi/ClassObjectTypeResolver.java 2006-01-02 05:24:21 UTC (rev 1970) @@ -0,0 +1,28 @@ +package org.drools.spi; + +/** + * + * @author mproctor + * + */ +public class ClassObjectTypeResolver implements ObjectTypeResolver { + ModifieableClassObjectType objectType = new ModifieableClassObjectType( null ); + + public ObjectType resolve(Object object) { + this.objectType.setClass( object.getClass() ); + return this.objectType; + } + + + static class ModifieableClassObjectType extends ClassObjectType { + + public ModifieableClassObjectType(Class objectTypeClass) { + super( objectTypeClass ); + } + + public void setClass(Class clazz) { + this.objectTypeClass = clazz; + } + + } +} Added: trunk/labs/jbossrules/drools-core/src/main/java/org/drools/spi/Evaluator.java =================================================================== --- trunk/labs/jbossrules/drools-core/src/main/java/org/drools/spi/Evaluator.java 2006-01-02 05:19:01 UTC (rev 1969) +++ trunk/labs/jbossrules/drools-core/src/main/java/org/drools/spi/Evaluator.java 2006-01-02 05:24:21 UTC (rev 1970) @@ -0,0 +1,32 @@ +package org.drools.spi; + +public interface Evaluator { + // Operators + public static final int EQUAL = 1; + public static final int NOT_EQUAL = 10; + public static final int LESS = 20; + public static final int LESS_OR_EQUAL = 30; + public static final int GREATER = 40; + public static final int GREATER_OR_EQUAL = 50; + public static final int IS_NULL = 60; + public static final int NOT_NULL = 70; + + // Types + public static final int CHAR_TYPE = 100; + public static final int BYTE_TYPE = 110; + public static final int SHORT_TYPE = 130; + public static final int INTEGER_TYPE = 140; + public static final int LONG_TYPE = 150; + public static final int FLOAT_TYPE = 160; + public static final int DOUBLE_TYPE = 170; + public static final int DATE_TYPE = 180; + public static final int ARRAY_TYPE = 190; + public static final int OBJECT_TYPE = 195; + + public int getType(); + + public int getOperator(); + + public boolean evaluate(Object object1, + Object object2); +} Added: trunk/labs/jbossrules/drools-core/src/main/java/org/drools/spi/Field.java =================================================================== --- trunk/labs/jbossrules/drools-core/src/main/java/org/drools/spi/Field.java 2006-01-02 05:19:01 UTC (rev 1969) +++ trunk/labs/jbossrules/drools-core/src/main/java/org/drools/spi/Field.java 2006-01-02 05:24:21 UTC (rev 1970) @@ -0,0 +1,11 @@ +package org.drools.spi; + +public interface Field { + + String getName(); + + Object getValue(); + + int getIndex(); + +} Added: trunk/labs/jbossrules/drools-core/src/main/java/org/drools/spi/FieldExtractor.java =================================================================== --- trunk/labs/jbossrules/drools-core/src/main/java/org/drools/spi/FieldExtractor.java 2006-01-02 05:19:01 UTC (rev 1969) +++ trunk/labs/jbossrules/drools-core/src/main/java/org/drools/spi/FieldExtractor.java 2006-01-02 05:24:21 UTC (rev 1970) @@ -0,0 +1,8 @@ +package org.drools.spi; + +public interface FieldExtractor + extends + Extractor { + public int getIndex(); + +} Added: trunk/labs/jbossrules/drools-core/src/main/java/org/drools/spi/ObjectTypeResolver.java =================================================================== --- trunk/labs/jbossrules/drools-core/src/main/java/org/drools/spi/ObjectTypeResolver.java 2006-01-02 05:19:01 UTC (rev 1969) +++ trunk/labs/jbossrules/drools-core/src/main/java/org/drools/spi/ObjectTypeResolver.java 2006-01-02 05:24:21 UTC (rev 1970) @@ -0,0 +1,5 @@ +package org.drools.spi; + +public interface ObjectTypeResolver { + ObjectType resolve(Object object); +} Added: trunk/labs/jbossrules/drools-core/src/main/java/org/drools/spi/PredicateEvaluator.java =================================================================== --- trunk/labs/jbossrules/drools-core/src/main/java/org/drools/spi/PredicateEvaluator.java 2006-01-02 05:19:01 UTC (rev 1969) +++ trunk/labs/jbossrules/drools-core/src/main/java/org/drools/spi/PredicateEvaluator.java 2006-01-02 05:24:21 UTC (rev 1970) @@ -0,0 +1,12 @@ +package org.drools.spi; + +import org.drools.FactHandle; +import org.drools.rule.Declaration; + +public interface PredicateEvaluator { + public boolean evaluate(Tuple tuple, + Object object, + FactHandle handle, + Declaration declaration, + Declaration[] requiredDeclarations); +} Added: trunk/labs/jbossrules/drools-core/src/main/java/org/drools/spi/ReturnValueEvaluator.java =================================================================== --- trunk/labs/jbossrules/drools-core/src/main/java/org/drools/spi/ReturnValueEvaluator.java 2006-01-02 05:19:01 UTC (rev 1969) +++ trunk/labs/jbossrules/drools-core/src/main/java/org/drools/spi/ReturnValueEvaluator.java 2006-01-02 05:24:21 UTC (rev 1970) @@ -0,0 +1,8 @@ +package org.drools.spi; + +import org.drools.rule.Declaration; + +public interface ReturnValueEvaluator { + public Object evaluate(Tuple tuple, + Declaration[] requiredDeclarations); +} Added: trunk/labs/jbossrules/drools-core/src/test/java/org/drools/Cheese.java =================================================================== --- trunk/labs/jbossrules/drools-core/src/test/java/org/drools/Cheese.java 2006-01-02 05:19:01 UTC (rev 1969) +++ trunk/labs/jbossrules/drools-core/src/test/java/org/drools/Cheese.java 2006-01-02 05:24:21 UTC (rev 1970) @@ -0,0 +1,53 @@ +/** + * + */ +package org.drools; + +import java.beans.IntrospectionException; +import java.beans.Introspector; +import java.beans.PropertyDescriptor; + +public class Cheese { + private String type; + + private int price; + + public Cheese(String type, + int price) { + this.type = type; + this.price = price; + } + + public String getType() { + return this.type; + } + + public int getPrice() { + return this.price; + } + + public String toString() { + return "Cheese type='" + this.type + "' price='" + this.price + "'"; + } + + public boolean equals(Object object) { + if ( object == null || ! ( object instanceof Cheese) ) { + return false; + } + + Cheese other = ( Cheese ) object; + + return (this.type.equals( other.getType() ) && this.price == other.getPrice() ); + } + + public static int getIndex(Class clazz, + String name) throws IntrospectionException { + PropertyDescriptor[] descriptors = Introspector.getBeanInfo( clazz ).getPropertyDescriptors(); + for ( int i = 0; i < descriptors.length; i++ ) { + if ( descriptors[i].getName().equals( name ) ) { + return i; + } + } + return -1; + } +} \ No newline at end of file Added: trunk/labs/jbossrules/drools-core/src/test/java/org/drools/examples/manners/MannersTest.java =================================================================== --- trunk/labs/jbossrules/drools-core/src/test/java/org/drools/examples/manners/MannersTest.java 2006-01-02 05:19:01 UTC (rev 1969) +++ trunk/labs/jbossrules/drools-core/src/test/java/org/drools/examples/manners/MannersTest.java 2006-01-02 05:24:21 UTC (rev 1970) @@ -0,0 +1,127 @@ +package org.drools.examples.manners; + +import java.io.ByteArrayInputStream; +import java.io.InputStream; +import java.io.StringWriter; +import java.util.ArrayList; +import java.util.List; +import java.util.Random; + +import org.drools.rule.Column; +import org.drools.rule.ColumnBinding; +import org.drools.rule.LiteralConstraint; +import org.drools.rule.Rule; +import org.drools.rule.RuleSet; +import org.drools.spi.ClassObjectType; +import org.drools.spi.BaseEvaluator; +import org.drools.spi.LiteralExpressionConstraint; + +public class MannersTest { + /** Number of guests at the dinner (default: 16). */ + private int numGuests = 16; + + /** Number of seats at the table (default: 16). */ + private int numSeats = 16; + + /** Minimum number of hobbies each guest should have (default: 2). */ + private int minHobbies = 2; + + /** Maximun number of hobbies each guest should have (default: 3). */ + private int maxHobbies = 3; + + private ClassObjectType contextType; + private ClassObjectType guestType; + private ClassObjectType seatingType; + private ClassObjectType lastSeatType; + + protected void setUp() throws Exception { + contextType = new ClassObjectType( Context.class ); + guestType = new ClassObjectType( Guest.class ); + seatingType = new ClassObjectType( Seating.class ); + lastSeatType = new ClassObjectType( LastSeat.class ); + + RuleSet ruleSet = new RuleSet( "Miss Manners" ); + Rule assignFirstSeat = getAssignFirstSeatRule(); + + } + + private Rule getAssignFirstSeatRule() { + Rule rule = new Rule( "assignFirstSeat" ); + + Column context = new Column( 0, + contextType, + "context" ); + +// LiteralExpressionConstraint isCheddar = new LiteralExpressionConstraint() { +// +// public boolean isAllowed(Object object, +// BaseEvaluator comparator) { +// Context context = (Context) object; +// return comparator.compare( context, +// Context.START_UP ); +// } +// +// }; + + /* + * Creates a constraint with the given expression + */ +// LiteralConstraint constraint0 = new LiteralConstraint( isCheddar, +// new ObjectConstraintComparator( BaseEvaluator.EQUAL ) ); + + // context. + + return rule; + } + + private InputStream generateData() { + final String LINE_SEPARATOR = System.getProperty( "line.separator" ); + + StringWriter writer = new StringWriter(); + + int maxMale = numGuests / 2; + int maxFemale = numGuests / 2; + + int maleCount = 0; + int femaleCount = 0; + + // init hobbies + List hobbyList = new ArrayList(); + for ( int i = 1; i <= maxHobbies; i++ ) { + hobbyList.add( "h" + i ); + } + + Random rnd = new Random(); + for ( int i = 1; i <= numGuests; i++ ) { + char sex = rnd.nextBoolean() ? 'm' : 'f'; + if ( sex == 'm' && maleCount == maxMale ) { + sex = 'f'; + } + if ( sex == 'f' && femaleCount == maxFemale ) { + sex = 'm'; + } + if ( sex == 'm' ) { + maleCount++; + } + if ( sex == 'f' ) { + femaleCount++; + } + + List guestHobbies = new ArrayList( hobbyList ); + + int numHobbies = minHobbies + rnd.nextInt( maxHobbies - minHobbies + 1 ); + for ( int j = 0; j < numHobbies; j++ ) { + int hobbyIndex = rnd.nextInt( guestHobbies.size() ); + String hobby = (String) guestHobbies.get( hobbyIndex ); + writer.write( "(guest (name n" + i + ") (sex " + sex + ") (hobby " + hobby + "))" + LINE_SEPARATOR ); + guestHobbies.remove( hobbyIndex ); + } + } + writer.write( "(last_seat (seat " + numSeats + "))" + LINE_SEPARATOR ); + + writer.write( LINE_SEPARATOR ); + writer.write( "(context (state start))" + LINE_SEPARATOR ); + + return new ByteArrayInputStream( writer.getBuffer().toString().getBytes() ); + } +} Added: trunk/labs/jbossrules/drools-core/src/test/java/org/drools/spi/ClassFieldExtractor.java =================================================================== --- trunk/labs/jbossrules/drools-core/src/test/java/org/drools/spi/ClassFieldExtractor.java 2006-01-02 05:19:01 UTC (rev 1969) +++ trunk/labs/jbossrules/drools-core/src/test/java/org/drools/spi/ClassFieldExtractor.java 2006-01-02 05:24:21 UTC (rev 1970) @@ -0,0 +1,51 @@ +package org.drools.spi; + +import java.beans.IntrospectionException; +import java.beans.Introspector; + +import org.drools.spi.FieldExtractor; + +/** + * Should be able to extract field values for a given index + * + */ +public class ClassFieldExtractor + implements + FieldExtractor { + private Class clazz; + private int index; + + public ClassFieldExtractor(Class clazz, + int index) { + this.clazz = clazz; + this.index = index; + } + + public int getIndex() { + return this.index; + } + + public Object getValue(Object object) { + Object value = null; + try { + System.out.println( object ); + value = Introspector.getBeanInfo( this.clazz ).getPropertyDescriptors()[this.index].getReadMethod().invoke( object, + null ); + } catch ( Exception e ) { + throw new RuntimeException( e ); + } + return value; + } + + public Class getValueType() { + Class clazz = null; + try { + clazz = Introspector.getBeanInfo( this.clazz ).getPropertyDescriptors()[this.index].getPropertyType(); + } catch ( IntrospectionException e ) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + return clazz; + } + +} \ No newline at end of file Added: trunk/labs/jbossrules/drools-core/src/test/java/org/drools/spi/MockField.java =================================================================== --- trunk/labs/jbossrules/drools-core/src/test/java/org/drools/spi/MockField.java 2006-01-02 05:19:01 UTC (rev 1969) +++ trunk/labs/jbossrules/drools-core/src/test/java/org/drools/spi/MockField.java 2006-01-02 05:24:21 UTC (rev 1970) @@ -0,0 +1,32 @@ +package org.drools.spi; + +import org.drools.spi.Field; + +public final class MockField + implements + Field { + + private final String name; + private final Object value; + private final int index; + + public MockField(String name, + Object value, + int index) { + this.index = index; + this.value = value; + this.name = name; + } + + public String getName() { + return this.name; + } + + public Object getValue() { + return this.value; + } + + public int getIndex() { + return this.index; + } +} \ No newline at end of file |
From: <jbo...@li...> - 2005-12-31 17:01:29
|
Author: rem...@jb... Date: 2005-12-31 12:01:25 -0500 (Sat, 31 Dec 2005) New Revision: 1968 Modified: trunk/labs/jbossweb/src/share/classes/org/apache/catalina/util/Extension.java trunk/labs/jbossweb/src/share/classes/org/apache/catalina/util/ExtensionValidator.java trunk/labs/jbossweb/src/share/classes/org/apache/catalina/util/ManifestResource.java Log: - Patch for 37854. Modified: trunk/labs/jbossweb/src/share/classes/org/apache/catalina/util/Extension.java =================================================================== --- trunk/labs/jbossweb/src/share/classes/org/apache/catalina/util/Extension.java 2005-12-31 17:00:32 UTC (rev 1967) +++ trunk/labs/jbossweb/src/share/classes/org/apache/catalina/util/Extension.java 2005-12-31 17:01:25 UTC (rev 1968) @@ -40,7 +40,7 @@ * @author Craig McClanahan * @author Justyna Horwat * @author Greg Murray - * @version $Revision: 302726 $ $Date: 2004-02-27 15:59:07 +0100 (ven., 27 févr. 2004) $ + * @version $Revision: 360278 $ $Date: 2005-12-31 14:26:41 +0100 (sam., 31 déc. 2005) $ */ public final class Extension { @@ -64,14 +64,6 @@ } /** - * UniqueId created by combining the extension name and implementation - * version. - */ - public String getUniqueId() { - return this.extensionName + this.implementationVersion; - } - - /** * The URL from which the most recent version of this optional package * can be obtained if it is not already installed. */ @@ -194,19 +186,28 @@ if (!extensionName.equals(required.getExtensionName())) return (false); - // Available specification version must be >= required - if (!isNewer(specificationVersion, required.getSpecificationVersion())) - return (false); + // If specified, available specification version must be >= required + if (required.getSpecificationVersion() != null) { + if (!isNewer(specificationVersion, + required.getSpecificationVersion())) + return (false); + } - // Implementation Vendor ID must match - if (implementationVendorId == null) - return (false); - if (!implementationVendorId.equals(required.getImplementationVendorId())) - return (false); + // If specified, Implementation Vendor ID must match + if (required.getImplementationVendorId() != null) { + if (implementationVendorId == null) + return (false); + if (!implementationVendorId.equals(required + .getImplementationVendorId())) + return (false); + } - // Implementation version must be >= required - if (!isNewer(implementationVersion, required.getImplementationVersion())) - return (false); + // If specified, Implementation version must be >= required + if (required.getImplementationVersion() != null) { + if (!isNewer(implementationVersion, + required.getImplementationVersion())) + return (false); + } // This available optional package satisfies the requirements return (true); Modified: trunk/labs/jbossweb/src/share/classes/org/apache/catalina/util/ExtensionValidator.java =================================================================== --- trunk/labs/jbossweb/src/share/classes/org/apache/catalina/util/ExtensionValidator.java 2005-12-31 17:00:32 UTC (rev 1967) +++ trunk/labs/jbossweb/src/share/classes/org/apache/catalina/util/ExtensionValidator.java 2005-12-31 17:01:25 UTC (rev 1968) @@ -21,10 +21,8 @@ import java.io.IOException; import java.io.InputStream; import java.util.ArrayList; -import java.util.HashMap; import java.util.Iterator; import java.util.NoSuchElementException; -import java.util.ResourceBundle; import java.util.StringTokenizer; import java.util.jar.JarInputStream; import java.util.jar.Manifest; @@ -48,7 +46,7 @@ * * @author Greg Murray * @author Justyna Horwat - * @version $Revision: 302840 $ $Date: 2004-04-16 13:01:11 +0200 (ven., 16 avr. 2004) $ + * @version $Revision: 360278 $ $Date: 2005-12-31 14:26:41 +0100 (sam., 31 déc. 2005) $ * */ public final class ExtensionValidator { @@ -62,9 +60,8 @@ private static StringManager sm = StringManager.getManager("org.apache.catalina.util"); - private static HashMap containerAvailableExtensions = null; + private static ArrayList containerAvailableExtensions = null; private static ArrayList containerManifestResources = new ArrayList(); - private static ResourceBundle messages = null; // ----------------------------------------------------- Static Initializer @@ -136,7 +133,6 @@ String appName = context.getPath(); ArrayList appManifestResources = new ArrayList(); - ManifestResource appManifestResource = null; // If the application context is null it does not exist and // therefore is not valid if (dirContext == null) return false; @@ -246,7 +242,7 @@ ArrayList resources) { boolean passes = true; int failureCount = 0; - HashMap availableExtensions = null; + ArrayList availableExtensions = null; Iterator it = resources.iterator(); while (it.hasNext()) { @@ -258,38 +254,46 @@ // build the list of available extensions if necessary if (availableExtensions == null) { - availableExtensions = buildAvailableExtensionsMap(resources); + availableExtensions = buildAvailableExtensionsList(resources); } // load the container level resource map if it has not been built // yet if (containerAvailableExtensions == null) { containerAvailableExtensions - = buildAvailableExtensionsMap(containerManifestResources); + = buildAvailableExtensionsList(containerManifestResources); } // iterate through the list of required extensions Iterator rit = requiredList.iterator(); while (rit.hasNext()) { + boolean found = false; Extension requiredExt = (Extension)rit.next(); - String extId = requiredExt.getUniqueId(); // check the applicaion itself for the extension - if (availableExtensions != null - && availableExtensions.containsKey(extId)) { - Extension targetExt = (Extension) - availableExtensions.get(extId); - if (targetExt.isCompatibleWith(requiredExt)) { - requiredExt.setFulfilled(true); - } + if (availableExtensions != null) { + Iterator ait = availableExtensions.iterator(); + while (ait.hasNext()) { + Extension targetExt = (Extension) ait.next(); + if (targetExt.isCompatibleWith(requiredExt)) { + requiredExt.setFulfilled(true); + found = true; + break; + } + } + } // check the container level list for the extension - } else if (containerAvailableExtensions != null - && containerAvailableExtensions.containsKey(extId)) { - Extension targetExt = (Extension) - containerAvailableExtensions.get(extId); - if (targetExt.isCompatibleWith(requiredExt)) { - requiredExt.setFulfilled(true); - } - } else { + if (!found && containerAvailableExtensions != null) { + Iterator cit = containerAvailableExtensions.iterator(); + while (cit.hasNext()) { + Extension targetExt = (Extension) cit.next(); + if (targetExt.isCompatibleWith(requiredExt)) { + requiredExt.setFulfilled(true); + found = true; + break; + } + } + } + if (!found) { // Failure log.info(sm.getString( "extensionValidator.extension-not-found-error", @@ -327,29 +331,29 @@ * * @return HashMap Map of available extensions */ - private static HashMap buildAvailableExtensionsMap(ArrayList resources) { + private static ArrayList buildAvailableExtensionsList(ArrayList resources) { - HashMap availableMap = null; + ArrayList availableList = null; Iterator it = resources.iterator(); while (it.hasNext()) { ManifestResource mre = (ManifestResource)it.next(); - HashMap map = mre.getAvailableExtensions(); - if (map != null) { - Iterator values = map.values().iterator(); + ArrayList list = mre.getAvailableExtensions(); + if (list != null) { + Iterator values = list.iterator(); while (values.hasNext()) { Extension ext = (Extension) values.next(); - if (availableMap == null) { - availableMap = new HashMap(); - availableMap.put(ext.getUniqueId(), ext); - } else if (!availableMap.containsKey(ext.getUniqueId())) { - availableMap.put(ext.getUniqueId(), ext); + if (availableList == null) { + availableList = new ArrayList(); + availableList.add(ext); + } else { + availableList.add(ext); } } } } - return availableMap; + return availableList; } /** Modified: trunk/labs/jbossweb/src/share/classes/org/apache/catalina/util/ManifestResource.java =================================================================== --- trunk/labs/jbossweb/src/share/classes/org/apache/catalina/util/ManifestResource.java 2005-12-31 17:00:32 UTC (rev 1967) +++ trunk/labs/jbossweb/src/share/classes/org/apache/catalina/util/ManifestResource.java 2005-12-31 17:01:25 UTC (rev 1968) @@ -15,7 +15,6 @@ */ package org.apache.catalina.util; -import java.util.HashMap; import java.util.Iterator; import java.util.jar.Manifest; import java.util.jar.Attributes; @@ -27,7 +26,7 @@ * * @author Greg Murray * @author Justyna Horwat - * @version $Revision: 302726 $ $Date: 2004-02-27 15:59:07 +0100 (ven., 27 févr. 2004) $ + * @version $Revision: 360278 $ $Date: 2005-12-31 14:26:41 +0100 (sam., 31 déc. 2005) $ * */ public class ManifestResource { @@ -39,7 +38,7 @@ public static final int WAR = 2; public static final int APPLICATION = 3; - private HashMap availableExtensions = null; + private ArrayList availableExtensions = null; private ArrayList requiredExtensions = null; private String resourceName = null; @@ -62,11 +61,11 @@ } /** - * Gets the map of available extensions + * Gets the list of available extensions * - * @return Map of available extensions + * @return List of available extensions */ - public HashMap getAvailableExtensions() { + public ArrayList getAvailableExtensions() { return availableExtensions; } @@ -110,19 +109,6 @@ } /** - * Convienience method to check if this <code>ManifestResource</code> - * has an extension available. - * - * @param key extension identifier - * - * @return true if extension available - */ - public boolean containsExtension(String key) { - return (availableExtensions != null) ? - availableExtensions.containsKey(key) : false; - } - - /** * Returns <code>true</code> if all required extension dependencies * have been meet for this <code>ManifestResource</code> object. * @@ -222,17 +208,17 @@ * * @param manifest Manifest to be parsed * - * @return Map of available extensions, or null if the web application + * @return List of available extensions, or null if the web application * does not bundle any extensions */ - private HashMap getAvailableExtensions(Manifest manifest) { + private ArrayList getAvailableExtensions(Manifest manifest) { Attributes attributes = manifest.getMainAttributes(); String name = attributes.getValue("Extension-Name"); if (name == null) return null; - HashMap extensionMap = new HashMap(); + ArrayList extensionList = new ArrayList(); Extension extension = new Extension(); extension.setExtensionName(name); @@ -247,11 +233,9 @@ extension.setSpecificationVersion( attributes.getValue("Specification-Version")); - if (!extensionMap.containsKey(extension.getUniqueId())) { - extensionMap.put(extension.getUniqueId(), extension); - } + extensionList.add(extension); - return extensionMap; + return extensionList; } } |
From: <jbo...@li...> - 2005-12-31 17:00:42
|
Author: rem...@jb... Date: 2005-12-31 12:00:32 -0500 (Sat, 31 Dec 2005) New Revision: 1967 Modified: trunk/labs/jbossweb/src/share/classes/org/apache/catalina/servlets/CGIServlet.java Log: - Patch for 38012. Modified: trunk/labs/jbossweb/src/share/classes/org/apache/catalina/servlets/CGIServlet.java =================================================================== --- trunk/labs/jbossweb/src/share/classes/org/apache/catalina/servlets/CGIServlet.java 2005-12-31 01:42:28 UTC (rev 1966) +++ trunk/labs/jbossweb/src/share/classes/org/apache/catalina/servlets/CGIServlet.java 2005-12-31 17:00:32 UTC (rev 1967) @@ -236,7 +236,7 @@ * * @author Martin T Dengler [ro...@ma...] * @author Amy Roh - * @version $Revision: 359798 $, $Date: 2005-12-29 15:06:58 +0100 (jeu., 29 déc. 2005) $ + * @version $Revision: 359869 $, $Date: 2005-12-29 19:42:08 +0100 (jeu., 29 déc. 2005) $ * @since Tomcat 4.0 * */ @@ -709,7 +709,7 @@ * <p> * </p> * - * @version $Revision: 359798 $, $Date: 2005-12-29 15:06:58 +0100 (jeu., 29 déc. 2005) $ + * @version $Revision: 359869 $, $Date: 2005-12-29 19:42:08 +0100 (jeu., 29 déc. 2005) $ * @since Tomcat 4.0 * */ @@ -1423,7 +1423,7 @@ * and <code>setResponse</code> methods, respectively. * </p> * - * @version $Revision: 359798 $, $Date: 2005-12-29 15:06:58 +0100 (jeu., 29 déc. 2005) $ + * @version $Revision: 359869 $, $Date: 2005-12-29 19:42:08 +0100 (jeu., 29 déc. 2005) $ */ protected class CGIRunner { @@ -1772,13 +1772,17 @@ log("runCGI: addHeader(\"" + line + "\")"); } if (line.startsWith("HTTP")) { - response.setStatus(getStatus(line)); + response.setStatus(getSCFromHttpStatusLine(line)); } else if (line.indexOf(":") >= 0) { String header = line.substring(0, line.indexOf(":")).trim(); String value = line.substring(line.indexOf(":") + 1).trim(); - response.addHeader(header , value); + if (header.equalsIgnoreCase("status")) { + response.setStatus(getSCFromCGIStatusHeader(value)); + } else { + response.addHeader(header , value); + } if ((header.toLowerCase().equals("content-type")) && (!value.toLowerCase().startsWith("text"))) { isBinaryContent = true; @@ -1849,22 +1853,22 @@ } /** - * Parses the status header and extracts the status code. + * Parses the Status-Line and extracts the status code. * * @param line The HTTP Status-Line (RFC2616, section 6.1) * @return The extracted status code or the code representing an * internal error if a valid status code cannot be extracted. */ - private int getStatus(String line) { - int statusStart = line.indexOf(' '); + private int getSCFromHttpStatusLine(String line) { + int statusStart = line.indexOf(' ') + 1; - if (statusStart < 0 || line.length() < statusStart + 4) { - // Not a valid status line - log ("runCGI: invalid status line:" + line); + if (statusStart < 1 || line.length() < statusStart + 3) { + // Not a valid HTTP Status-Line + log ("runCGI: invalid HTTP Status-Line:" + line); return HttpServletResponse.SC_INTERNAL_SERVER_ERROR; } - String status = line.substring(statusStart + 1, statusStart + 4); + String status = line.substring(statusStart, statusStart + 3); int statusCode; try { @@ -1877,6 +1881,35 @@ return statusCode; } + + /** + * Parses the CGI Status Header value and extracts the status code. + * + * @param value The CGI Status value of the form <code> + * digit digit digit SP reason-phrase</code> + * @return The extracted status code or the code representing an + * internal error if a valid status code cannot be extracted. + */ + private int getSCFromCGIStatusHeader(String value) { + if (value.length() < 3) { + // Not a valid status value + log ("runCGI: invalid status value:" + value); + return HttpServletResponse.SC_INTERNAL_SERVER_ERROR; + } + + String status = value.substring(0, 3); + + int statusCode; + try { + statusCode = Integer.parseInt(status); + } catch (NumberFormatException nfe) { + // Not a valid status code + log ("runCGI: invalid status code:" + status); + return HttpServletResponse.SC_INTERNAL_SERVER_ERROR; + } + + return statusCode; + } private void sendToLog(BufferedReader rdr) { String line = null; |
From: <jbo...@li...> - 2005-12-31 01:42:36
|
Author: mar...@jb... Date: 2005-12-30 20:42:28 -0500 (Fri, 30 Dec 2005) New Revision: 1966 Modified: trunk/labs/jbossrules/drools-core/src/main/java/org/drools/reteoo/Agenda.java Log: -Added methods getModules() and getStack() Modified: trunk/labs/jbossrules/drools-core/src/main/java/org/drools/reteoo/Agenda.java =================================================================== --- trunk/labs/jbossrules/drools-core/src/main/java/org/drools/reteoo/Agenda.java 2005-12-31 01:21:53 UTC (rev 1965) +++ trunk/labs/jbossrules/drools-core/src/main/java/org/drools/reteoo/Agenda.java 2005-12-31 01:42:28 UTC (rev 1966) @@ -41,6 +41,7 @@ */ import java.io.Serializable; +import java.util.Collection; import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; @@ -110,7 +111,7 @@ * The conflict resolver. */ public Agenda(WorkingMemoryImpl workingMemory, - ConflictResolver conflictResolver){ + ConflictResolver conflictResolver) { this.workingMemory = workingMemory; this.scheduledItems = new HashMap(); this.modules = new HashMap(); @@ -144,7 +145,7 @@ */ void addToAgenda(ReteTuple tuple, PropagationContext context, - Rule rule){ + Rule rule) { /* * if the current Rule is no-loop and the origin rule is the same then * return @@ -170,8 +171,7 @@ scheduleItem( item ); this.workingMemory.getAgendaEventSupport().fireActivationCreated( rule, tuple ); - } - else { + } else { ModuleImpl module = (ModuleImpl) this.modules.get( rule.getModule() ); module.getActivationQueue().add( item ); this.workingMemory.getAgendaEventSupport().fireActivationCreated( rule, @@ -189,7 +189,7 @@ */ void removeFromAgenda(TupleKey key, PropagationContext context, - Rule rule) throws FactException{ + Rule rule) throws FactException { ModuleImpl module = (ModuleImpl) this.modules.get( rule.getModule() ); for ( Iterator it = module.getActivationQueue().iterator(); it.hasNext(); ) { @@ -236,7 +236,7 @@ * Clears all Activations from the Agenda * */ - void clearAgenda(){ + void clearAgenda() { AgendaItem eachItem; ModuleImpl module; @@ -279,7 +279,7 @@ * @param item * The item to schedule. */ - void scheduleItem(AgendaItem item){ + void scheduleItem(AgendaItem item) { Scheduler.getInstance().scheduleAgendaItem( item, this.workingMemory ); } @@ -290,25 +290,25 @@ * @param item * The item to cancel. */ - void cancelItem(AgendaItem item){ + void cancelItem(AgendaItem item) { Scheduler.getInstance().cancelAgendaItem( item ); } - public void addModule(Module module){ + public void addModule(Module module) { this.modules.put( module.getName(), module ); } - public void setFocus(Module module){ + public void setFocus(Module module) { /* remove the object from the stack, before we add it to the end */ this.focusStack.add( module ); } - public void setFocus(String name){ + public void setFocus(String name) { setFocus( (Module) this.modules.get( name ) ); } - public Module getFocus(){ + public Module getFocus() { return (Module) this.focusStack.getLast(); } @@ -318,42 +318,49 @@ * * @return */ - public Module getNextFocus(){ + public Module getNextFocus() { ModuleImpl module = null; boolean iterate = true; while ( iterate ) { module = (ModuleImpl) this.focusStack.getLast(); if ( module.getActivationQueue().isEmpty() && !module.getName().equals( Module.MAIN ) ) { this.focusStack.removeLast(); - } - else { + } else { iterate = false; } } return module; } - public void setCurrentModule(Module module){ + public void setCurrentModule(Module module) { this.currentModule = (ModuleImpl) module; } - public Module getCurrentModule(){ + public Module getCurrentModule() { return this.currentModule; } - public Module getModule(String name){ + public Module getModule(String name) { return (Module) this.modules.get( name ); } - public int focusSize(){ + public int focusSize() { return ((ModuleImpl) getFocus()).getActivationQueue().size(); } + + public Module[] getModules() { + return (Module[]) this.modules.values().toArray( new Module[ this.modules.size() ] ); + } + + public Module[] getStack() { + return (Module[]) this.focusStack.toArray( new Module[ this.focusStack.size() ] ); + } - public Map getScheduledItems(){ + public Map getScheduledItems() { return this.scheduledItems; } - public int totalStackSize(){ + public int totalStackSize() { ModuleImpl module; Iterator iterator = this.focusStack.iterator(); @@ -365,7 +372,7 @@ return size; } - public int totalAgendaSize(){ + public int totalAgendaSize() { ModuleImpl module; Iterator iterator = this.modules.values().iterator(); @@ -383,7 +390,7 @@ * @throws ConsequenceException * If an error occurs while firing an agenda item. */ - public boolean fireNextItem(AgendaFilter filter) throws ConsequenceException{ + public boolean fireNextItem(AgendaFilter filter) throws ConsequenceException { ModuleImpl module = (ModuleImpl) getNextFocus(); /* return if there are no Activations to fire */ @@ -406,7 +413,7 @@ * * @param handler */ - void setAsyncExceptionHandler(AsyncExceptionHandler handler){ + void setAsyncExceptionHandler(AsyncExceptionHandler handler) { Scheduler.getInstance().setAsyncExceptionHandler( handler ); } |
From: <jbo...@li...> - 2005-12-31 01:22:02
|
Author: mar...@jb... Date: 2005-12-30 20:21:53 -0500 (Fri, 30 Dec 2005) New Revision: 1965 Modified: trunk/labs/jbossrules/eclipse-code-style.xml Log: -updates to coding style Modified: trunk/labs/jbossrules/eclipse-code-style.xml =================================================================== --- trunk/labs/jbossrules/eclipse-code-style.xml 2005-12-30 21:10:00 UTC (rev 1964) +++ trunk/labs/jbossrules/eclipse-code-style.xml 2005-12-31 01:21:53 UTC (rev 1965) @@ -70,11 +70,11 @@ <setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation" value="insert"/> <setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer" value="do not insert"/> <setting id="org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing" value="do not insert"/> -<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement" value="insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement" value="do not insert"/> <setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer" value="do not insert"/> -<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement" value="insert"/> -<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement" value="insert"/> -<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement" value="insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement" value="do not insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement" value="do not insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement" value="do not insert"/> <setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration" value="insert"/> <setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block" value="insert"/> <setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant" value="insert"/> @@ -196,10 +196,10 @@ <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration" value="insert"/> <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer" value="do not insert"/> <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block" value="insert"/> -<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration" value="do not insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration" value="insert"/> <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant" value="insert"/> <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration" value="insert"/> -<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration" value="do not insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration" value="insert"/> <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch" value="insert"/> <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration" value="insert"/> <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression" value="do not insert"/> |
From: <jbo...@li...> - 2005-12-30 21:10:04
|
Author: bob.mcwhirter Date: 2005-12-30 16:10:00 -0500 (Fri, 30 Dec 2005) New Revision: 1964 Modified: trunk/labs/jbossrules/drools-core/ Log: test commit of nothing? Property changes on: trunk/labs/jbossrules/drools-core ___________________________________________________________________ Name: svn:ignore + target .classpath .project .wtpmodules |
Author: mic...@jb... Date: 2005-12-30 05:42:30 -0500 (Fri, 30 Dec 2005) New Revision: 1961 Added: trunk/labs/jbossrules/drools-repository/src/main/java/org/drools/repository/Tag.java trunk/labs/jbossrules/drools-repository/src/main/resources/org/drools/repository/RuleSetDef.hbm.xml trunk/labs/jbossrules/drools-repository/src/main/resources/org/drools/repository/Tag.hbm.xml trunk/labs/jbossrules/drools-repository/src/test/java/org/drools/repository/db/PersistCase.java trunk/labs/jbossrules/drools-repository/src/test/java/org/drools/repository/db/RuleSetPersistenceTest.java Modified: trunk/labs/jbossrules/drools-repository/src/main/java/org/drools/repository/MetaData.java trunk/labs/jbossrules/drools-repository/src/main/java/org/drools/repository/RuleDef.java trunk/labs/jbossrules/drools-repository/src/main/java/org/drools/repository/RuleSetDef.java trunk/labs/jbossrules/drools-repository/src/main/java/org/drools/repository/db/RepositoryImpl.java trunk/labs/jbossrules/drools-repository/src/main/resources/org/drools/repository/RuleDef.hbm.xml trunk/labs/jbossrules/drools-repository/src/test/java/org/drools/repository/db/RepositoryImplTest.java trunk/labs/jbossrules/drools-repository/src/test/resources/hibernate.cfg.xml Log: pre new years eve Modified: trunk/labs/jbossrules/drools-repository/src/main/java/org/drools/repository/MetaData.java =================================================================== --- trunk/labs/jbossrules/drools-repository/src/main/java/org/drools/repository/MetaData.java 2005-12-30 06:39:52 UTC (rev 1960) +++ trunk/labs/jbossrules/drools-repository/src/main/java/org/drools/repository/MetaData.java 2005-12-30 10:42:30 UTC (rev 1961) @@ -4,32 +4,34 @@ import java.util.Date; /** - * This is based on the <a href="http://dublincore.org/documents/dces/"> - * Dublin Core</a> specification, plus a little bit more, and a little bit - * less. Not all of these fields will be used. + * This is based on the <a href="http://dublincore.org/documents/dces/"> Dublin + * Core</a> specification. Not + * all of these fields will be used by everyone. They should only be used for classification. */ -public class MetaData implements Serializable { +public class MetaData + implements + Serializable { - private String title; - private String creator; - private String subject; - private String description; - private String publisher; - private String contributor; - private Date dateCreated = new Date(); - private String format; - private String source; - private String language; - private String relation; - private String coverage; - private String rights; + private String title; + private String creator; + private String subject; + private String description; + private String publisher; + private String contributor; + private Date dateCreated = new Date(); + private String format; + private String source; + private String language; + private String relation; + private String coverage; + private String rights; public String getContributor(){ return contributor; } public void setContributor(String contributor){ - this.contributor = contributor; + this.contributor = contributor; } public String getCoverage(){ Modified: trunk/labs/jbossrules/drools-repository/src/main/java/org/drools/repository/RuleDef.java =================================================================== --- trunk/labs/jbossrules/drools-repository/src/main/java/org/drools/repository/RuleDef.java 2005-12-30 06:39:52 UTC (rev 1960) +++ trunk/labs/jbossrules/drools-repository/src/main/java/org/drools/repository/RuleDef.java 2005-12-30 10:42:30 UTC (rev 1961) @@ -1,6 +1,8 @@ package org.drools.repository; import java.util.Date; +import java.util.HashSet; +import java.util.Iterator; import java.util.Set; public class RuleDef extends Persistent { @@ -16,16 +18,35 @@ private Set tags; private String documentation; private Date effectiveDate; - private Date expiryDate; - private Date dateCreated; + private Date expiryDate; + private boolean deleted; + - public Date getDateCreated(){ - return dateCreated; + public boolean isDeleted(){ + return deleted; } - private void setDateCreated(Date dateCreated){ - this.dateCreated = dateCreated; + + + + public void setDeleted(boolean deleted){ + this.deleted = deleted; } + + + + /** + * Use tagging to aid with searching and sorting of large numbers of rules. + * Tags should not effect the versioning of the rules. + * + * + */ + public RuleDef addTag(String tag) { + this.tags.add(new Tag(tag)); + return this; + } + + public RuleDef() {} /** @@ -37,8 +58,8 @@ this.name = name; this.content = content; this.versionNumber = 1; - this.head = true; - this.dateCreated = new Date(); + this.head = true; + this.tags = new HashSet(); } /** * This little cheat tells the repo that this @@ -106,7 +127,7 @@ public Set getTags(){ return tags; } - public void setTags(Set tags){ + private void setTags(Set tags){ this.tags = tags; } public Date getEffectiveDate(){ @@ -129,6 +150,18 @@ return this; } + /** return a list of tags */ + public String[] listTags() { + + String[] tagList = new String[tags.size()]; + int i = 0; + for ( Iterator iter = tags.iterator(); iter.hasNext(); ) { + Tag tag = (Tag) iter.next(); + tagList[i] = tag.getTag(); + i++; + } + return tagList; + } } Modified: trunk/labs/jbossrules/drools-repository/src/main/java/org/drools/repository/RuleSetDef.java =================================================================== --- trunk/labs/jbossrules/drools-repository/src/main/java/org/drools/repository/RuleSetDef.java 2005-12-30 06:39:52 UTC (rev 1960) +++ trunk/labs/jbossrules/drools-repository/src/main/java/org/drools/repository/RuleSetDef.java 2005-12-30 10:42:30 UTC (rev 1961) @@ -1,12 +1,38 @@ package org.drools.repository; +import java.util.HashSet; import java.util.List; +import java.util.Set; public class RuleSetDef extends Persistent { private String name; private MetaData metaData; private List rules; + private long versionNumber; + private Set tags; + + public RuleSetDef(String name, MetaData meta) { + this.name = name; + this.metaData = meta; + this.versionNumber = 1; + this.tags = new HashSet(); + } + + /** + * This is not for public consumption. Use the + * proper constructor instead. + */ + public RuleSetDef() { + } + + + public long getVersionNumber(){ + return versionNumber; + } + private void setVersionNumber(long versionNumber){ + this.versionNumber = versionNumber; + } public MetaData getMetaData(){ return metaData; } @@ -25,7 +51,20 @@ public void setName(String name){ this.name = name; } + + public Set getTags(){ + return tags; + } + + private void setTags(Set tags){ + this.tags = tags; + } + public RuleSetDef addTag(String tag) { + this.tags.add(new Tag(tag)); + return this; + } + } Added: trunk/labs/jbossrules/drools-repository/src/main/java/org/drools/repository/Tag.java =================================================================== --- trunk/labs/jbossrules/drools-repository/src/main/java/org/drools/repository/Tag.java 2005-12-30 06:39:52 UTC (rev 1960) +++ trunk/labs/jbossrules/drools-repository/src/main/java/org/drools/repository/Tag.java 2005-12-30 10:42:30 UTC (rev 1961) @@ -0,0 +1,47 @@ +package org.drools.repository; + +import java.io.Serializable; + +/** + * This represents a users tag for a rule, ruleset. + * This aids with classification of rules in an ad-hoc fashion. + * + * A tag it its own entity as tags should be shared as much as possible. + * + * @author <a href="mailto:mic...@gm..."> Michael Neale</a> + * + */ +public class Tag implements Serializable { + + private String tag; + + public Tag(String tag) { + this.tag = tag; + } + + private Tag() {} + + public String getTag(){ + return tag; + } + + public void setTag(String tag){ + this.tag = tag; + } + + public String toString(){ + return tag; + } + + public boolean equals(Object arg0){ + return tag.equals( arg0 ); + } + + public int hashCode(){ + return tag.hashCode(); + } + + + + +} Property changes on: trunk/labs/jbossrules/drools-repository/src/main/java/org/drools/repository/Tag.java ___________________________________________________________________ Name: svn:eol-style + native Modified: trunk/labs/jbossrules/drools-repository/src/main/java/org/drools/repository/db/RepositoryImpl.java =================================================================== --- trunk/labs/jbossrules/drools-repository/src/main/java/org/drools/repository/db/RepositoryImpl.java 2005-12-30 06:39:52 UTC (rev 1960) +++ trunk/labs/jbossrules/drools-repository/src/main/java/org/drools/repository/db/RepositoryImpl.java 2005-12-30 10:42:30 UTC (rev 1961) @@ -1,9 +1,13 @@ package org.drools.repository.db; +import java.util.Iterator; import java.util.List; +import java.util.Set; import org.drools.repository.Repository; import org.drools.repository.RuleDef; +import org.drools.repository.RuleSetDef; +import org.drools.repository.Tag; import org.hibernate.Query; import org.hibernate.Session; @@ -11,19 +15,31 @@ public class RepositoryImpl implements Repository { - public RuleDef addNewRule(String ruleName, String content, String comment) { + public RuleDef addNewRule(RuleDef newRule) { Session session = getSession(); session.beginTransaction(); - RuleDef ruleDef = new RuleDef(ruleName, content); - session.save(ruleDef); + Set tags = newRule.getTags(); + saveTags( session, + tags ); + + session.save(newRule); session.getTransaction().commit(); - return ruleDef; + return newRule; } + + private void saveTags(Session session, + Set tags){ + for ( Iterator iter = tags.iterator(); iter.hasNext(); ) { + Tag tag = (Tag) iter.next(); + session.saveOrUpdate(tag); + } + } + - public List listRules(boolean head) { + public List listAllRules(boolean head) { Session session = getSession(); session.beginTransaction(); List results = session @@ -34,6 +50,50 @@ return results; } + public RuleDef retrieveRule(String ruleName, long versionNumber) { + Session session = getSession(); + session.beginTransaction(); + + RuleDef result = (RuleDef) session.createQuery("from RuleDef where name = :name and versionNumber = :version") + .setString("name", ruleName) + .setLong("version", versionNumber).uniqueResult(); + + session.getTransaction().commit(); + return result; + } + + public List findRulesByTag(String tag) { + Session session = getSession(); + session.beginTransaction(); + List result = session.createQuery("from RuleDef as rule where rule.tags.tag = :tag") + .setString("tag", tag) + .list(); + session.getTransaction().commit(); + return result; + } + + + + public RuleSetDef saveRuleSet(RuleSetDef ruleSet) { + Session session = getSession(); + session.beginTransaction(); + saveTags(session, ruleSet.getTags()); + session.saveOrUpdate(ruleSet); + session.getTransaction().commit(); + return ruleSet; + } + + public RuleSetDef retrieveRuleSet(String ruleSetName, long versionNumber) { + Session session = getSession(); + session.beginTransaction(); + RuleSetDef def = (RuleSetDef) + session.createQuery("from RuleSetDef where name = :name and versionNumber = :versionNumber") + .setString("name", ruleSetName ) + .setLong("versionNumber", versionNumber).uniqueResult(); + session.getTransaction().commit(); + return def; + } + private Session getSession(){ Session session = HibernateUtil.getSessionFactory().getCurrentSession(); return session; Modified: trunk/labs/jbossrules/drools-repository/src/main/resources/org/drools/repository/RuleDef.hbm.xml =================================================================== --- trunk/labs/jbossrules/drools-repository/src/main/resources/org/drools/repository/RuleDef.hbm.xml 2005-12-30 06:39:52 UTC (rev 1960) +++ trunk/labs/jbossrules/drools-repository/src/main/resources/org/drools/repository/RuleDef.hbm.xml 2005-12-30 10:42:30 UTC (rev 1961) @@ -10,10 +10,10 @@ <id name="id" column="RULE_ID"> <generator class="native"/> </id> - <natural-id> +<!-- <natural-id> --> <property name="name"/> <property name="versionNumber" /> - </natural-id> +<!-- </natural-id> --> <property name="content" /> <property name="status" /> @@ -23,8 +23,14 @@ <property name="documentation" /> <property name="effectiveDate" /> <property name="expiryDate" /> - <property name="dateCreated" type="timestamp" column="DATE_CREATED"/> <property name="head" /> + <property name="deleted" /> + + <!-- tags to aid with searching and management of rules --> + <set name="tags" table="RULE_TAGS" lazy="false"> + <key column="RULE_ID"/> + <many-to-many column="TAG_ID" class="org.drools.repository.Tag"/> + </set> </class> Added: trunk/labs/jbossrules/drools-repository/src/main/resources/org/drools/repository/RuleSetDef.hbm.xml =================================================================== --- trunk/labs/jbossrules/drools-repository/src/main/resources/org/drools/repository/RuleSetDef.hbm.xml 2005-12-30 06:39:52 UTC (rev 1960) +++ trunk/labs/jbossrules/drools-repository/src/main/resources/org/drools/repository/RuleSetDef.hbm.xml 2005-12-30 10:42:30 UTC (rev 1961) @@ -0,0 +1,44 @@ +<?xml version="1.0"?> +<!DOCTYPE hibernate-mapping PUBLIC + "-//Hibernate/Hibernate Mapping DTD 3.0//EN" + "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> + + +<hibernate-mapping> + + <class name="org.drools.repository.RuleSetDef" table="RULESET_DEFINITIONS"> + <id name="id" column="RULESET_ID"> + <generator class="native"/> + </id> + + <natural-id> + <property name="name" /> + <property name="versionNumber" /> + </natural-id> + + <component name="metaData"> + <property name="title" /> + <property name="creator" /> + <property name="subject" /> + <property name="description" /> + <property name="publisher" /> + <property name="contributor" /> + <property name="dateCreated" /> + <property name="format" /> + <property name="source" /> + <property name="language" /> + <property name="relation" /> + <property name="coverage" /> + <property name="rights" /> + </component> + + + <!-- tags to aid with searching and management of rules --> + <set name="tags" table="RULESET_TAGS" lazy="false"> + <key column="RULESET_ID"/> + <many-to-many column="TAG_ID" class="org.drools.repository.Tag"/> + </set> + + </class> + +</hibernate-mapping> \ No newline at end of file Property changes on: trunk/labs/jbossrules/drools-repository/src/main/resources/org/drools/repository/RuleSetDef.hbm.xml ___________________________________________________________________ Name: svn:eol-style + native Added: trunk/labs/jbossrules/drools-repository/src/main/resources/org/drools/repository/Tag.hbm.xml =================================================================== --- trunk/labs/jbossrules/drools-repository/src/main/resources/org/drools/repository/Tag.hbm.xml 2005-12-30 06:39:52 UTC (rev 1960) +++ trunk/labs/jbossrules/drools-repository/src/main/resources/org/drools/repository/Tag.hbm.xml 2005-12-30 10:42:30 UTC (rev 1961) @@ -0,0 +1,13 @@ +<?xml version="1.0"?> +<!DOCTYPE hibernate-mapping PUBLIC + "-//Hibernate/Hibernate Mapping DTD 3.0//EN" + "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> + + +<hibernate-mapping> + + <class name="org.drools.repository.Tag" table="DROOLS_TAGS"> + <id name="tag" column="TAG_VALUE"/> + </class> + +</hibernate-mapping> \ No newline at end of file Property changes on: trunk/labs/jbossrules/drools-repository/src/main/resources/org/drools/repository/Tag.hbm.xml ___________________________________________________________________ Name: svn:eol-style + native Added: trunk/labs/jbossrules/drools-repository/src/test/java/org/drools/repository/db/PersistCase.java =================================================================== --- trunk/labs/jbossrules/drools-repository/src/test/java/org/drools/repository/db/PersistCase.java 2005-12-30 06:39:52 UTC (rev 1960) +++ trunk/labs/jbossrules/drools-repository/src/test/java/org/drools/repository/db/PersistCase.java 2005-12-30 10:42:30 UTC (rev 1961) @@ -0,0 +1,14 @@ +package org.drools.repository.db; + +import junit.framework.TestCase; + +public class PersistCase extends TestCase { + + + public RepositoryImpl getRepo() { + RepositoryImpl repo = new RepositoryImpl(); + return repo; + } + + +} Property changes on: trunk/labs/jbossrules/drools-repository/src/test/java/org/drools/repository/db/PersistCase.java ___________________________________________________________________ Name: svn:eol-style + native Modified: trunk/labs/jbossrules/drools-repository/src/test/java/org/drools/repository/db/RepositoryImplTest.java =================================================================== --- trunk/labs/jbossrules/drools-repository/src/test/java/org/drools/repository/db/RepositoryImplTest.java 2005-12-30 06:39:52 UTC (rev 1960) +++ trunk/labs/jbossrules/drools-repository/src/test/java/org/drools/repository/db/RepositoryImplTest.java 2005-12-30 10:42:30 UTC (rev 1961) @@ -1,40 +1,53 @@ package org.drools.repository.db; import java.util.List; +import java.util.Set; +import junit.framework.TestCase; + import org.drools.repository.RuleDef; -import junit.framework.TestCase; +public class RepositoryImplTest extends PersistCase { -public class RepositoryImplTest extends TestCase { - public void testStoreNewRuleDef() throws Exception { RepositoryImpl repo = getRepo(); - RuleDef def = repo.addNewRule("myRule", "A rule", "some comment"); + RuleDef def = repo.addNewRule(new RuleDef("myRule", "A rule")); assertNotNull(def.getId()); - System.out.println(def.getId()); - - - def = repo.addNewRule("myRule2", "A rule2", "some comment"); - System.out.println(def.getId()); - - def = repo.addNewRule("myRule3", "A rule3", "some comment"); - assertNotNull(def.getDateCreated()); + def = repo.addNewRule(new RuleDef("myRule2", "A rule2")); + def = new RuleDef("myRule3", "A rule3"); + def.addTag("tag1").addTag("tag2").addTag("HR"); + def = repo.addNewRule(def); + assertNotNull(def.getId()); } public void testListRules() { RepositoryImpl repo = getRepo(); - repo.addNewRule("blah", "blah", "yeah"); - List list = repo.listRules(true); + repo.addNewRule(new RuleDef("blah", "blah")); + List list = repo.listAllRules(true); assertTrue(list.size() > 0); } + public void testRetreieveRuleWithTags() { + RepositoryImpl repo = getRepo(); + RuleDef newRule = new RuleDef("my rule", "content"); + newRule.addTag("HR").addTag("SALARY"); + repo.addNewRule(newRule); + + RuleDef rule = repo.retrieveRule("my rule", 1); + assertNotNull(rule); + assertEquals("my rule", rule.getName()); + + Set tags = rule.getTags(); + assertEquals(2, tags.size()); + String[] tagList = rule.listTags(); + assertTrue(tagList[0].equals("HR") || tagList[0].equals("SALARY")); + + List rules = repo.findRulesByTag("HR"); + assertTrue(rules.size() > 0); + + } - private RepositoryImpl getRepo() { - RepositoryImpl repo = new RepositoryImpl(); - return repo; - } + - } Added: trunk/labs/jbossrules/drools-repository/src/test/java/org/drools/repository/db/RuleSetPersistenceTest.java =================================================================== --- trunk/labs/jbossrules/drools-repository/src/test/java/org/drools/repository/db/RuleSetPersistenceTest.java 2005-12-30 06:39:52 UTC (rev 1960) +++ trunk/labs/jbossrules/drools-repository/src/test/java/org/drools/repository/db/RuleSetPersistenceTest.java 2005-12-30 10:42:30 UTC (rev 1961) @@ -0,0 +1,29 @@ +package org.drools.repository.db; + +import org.drools.repository.MetaData; +import org.drools.repository.RuleSetDef; + + + +import junit.framework.TestCase; + +public class RuleSetPersistenceTest extends PersistCase { + + public void testLoadSaveRuleSet() { + MetaData meta = new MetaData(); + meta.setCreator("Michael Neale"); + meta.setRights("Unlimited"); + + RuleSetDef def = new RuleSetDef("my ruleset", meta); + def.addTag("ME"); + RepositoryImpl repo = getRepo(); + repo.saveRuleSet(def); + + RuleSetDef def2 = repo.retrieveRuleSet("my ruleset", 1); + assertEquals("my ruleset", def2.getName()); + assertEquals("Michael Neale", def2.getMetaData().getCreator()); + assertEquals(1, def2.getTags().size()); + + } + +} Property changes on: trunk/labs/jbossrules/drools-repository/src/test/java/org/drools/repository/db/RuleSetPersistenceTest.java ___________________________________________________________________ Name: svn:eol-style + native Modified: trunk/labs/jbossrules/drools-repository/src/test/resources/hibernate.cfg.xml =================================================================== --- trunk/labs/jbossrules/drools-repository/src/test/resources/hibernate.cfg.xml 2005-12-30 06:39:52 UTC (rev 1960) +++ trunk/labs/jbossrules/drools-repository/src/test/resources/hibernate.cfg.xml 2005-12-30 10:42:30 UTC (rev 1961) @@ -32,8 +32,13 @@ <!-- Drop and re-create the database schema on startup --> <property name="hbm2ddl.auto">create</property> + <!-- add in all the objects below --> <mapping resource="org/drools/repository/RuleDef.hbm.xml"/> + <mapping resource="org/drools/repository/Tag.hbm.xml"/> + <mapping resource="org/drools/repository/RuleSetDef.hbm.xml"/> + + </session-factory> </hibernate-configuration> \ No newline at end of file |
From: <jbo...@li...> - 2005-12-30 06:39:57
|
Author: mar...@jb... Date: 2005-12-30 01:39:52 -0500 (Fri, 30 Dec 2005) New Revision: 1960 Modified: trunk/labs/jbossrules/drools-manual/drools-manual.html trunk/labs/jbossrules/drools-manual/drools-manual2.html trunk/labs/jbossrules/drools-manual/drools-manual3.html Log: -property changes to make them appear as html in a browser Property changes on: trunk/labs/jbossrules/drools-manual/drools-manual.html ___________________________________________________________________ Name: svn:mime-type + text/html Property changes on: trunk/labs/jbossrules/drools-manual/drools-manual2.html ___________________________________________________________________ Name: svn:mime-type + text/html Property changes on: trunk/labs/jbossrules/drools-manual/drools-manual3.html ___________________________________________________________________ Name: svn:mime-type + text/html |
From: <jbo...@li...> - 2005-12-29 18:11:50
|
Author: rem...@jb... Date: 2005-12-29 13:11:44 -0500 (Thu, 29 Dec 2005) New Revision: 1959 Modified: trunk/labs/jbossweb/src/share/classes/org/apache/coyote/http11/Http11AprProcessor.java Log: - Port patch for more robust HTTP/1.0 POST handling. Modified: trunk/labs/jbossweb/src/share/classes/org/apache/coyote/http11/Http11AprProcessor.java =================================================================== --- trunk/labs/jbossweb/src/share/classes/org/apache/coyote/http11/Http11AprProcessor.java 2005-12-29 18:09:49 UTC (rev 1958) +++ trunk/labs/jbossweb/src/share/classes/org/apache/coyote/http11/Http11AprProcessor.java 2005-12-29 18:11:44 UTC (rev 1959) @@ -1340,19 +1340,14 @@ parseHost(valueMB); if (!contentDelimitation) { - // If there's no content length and we're using keep-alive - // (HTTP/1.0 with keep-alive or HTTP/1.1), assume + // If there's no content length + // (broken HTTP/1.0 or HTTP/1.1), assume // the client is not broken and didn't send a body - if (keepAlive) { - inputBuffer.addActiveFilter + inputBuffer.addActiveFilter (inputFilters[Constants.VOID_FILTER]); - contentDelimitation = true; - } + contentDelimitation = true; } - if (!contentDelimitation) - keepAlive = false; - // Advertise sendfile support through a request attribute if (endpoint.getUseSendfile()) { request.setAttribute("org.apache.tomcat.sendfile.support", Boolean.TRUE); |
From: <jbo...@li...> - 2005-12-29 18:09:55
|
Author: rem...@jb... Date: 2005-12-29 13:09:49 -0500 (Thu, 29 Dec 2005) New Revision: 1958 Modified: trunk/labs/jbossweb/src/share/classes/org/apache/catalina/servlets/CGIServlet.java Log: - Port patch. Modified: trunk/labs/jbossweb/src/share/classes/org/apache/catalina/servlets/CGIServlet.java =================================================================== --- trunk/labs/jbossweb/src/share/classes/org/apache/catalina/servlets/CGIServlet.java 2005-12-29 08:07:31 UTC (rev 1957) +++ trunk/labs/jbossweb/src/share/classes/org/apache/catalina/servlets/CGIServlet.java 2005-12-29 18:09:49 UTC (rev 1958) @@ -236,7 +236,7 @@ * * @author Martin T Dengler [ro...@ma...] * @author Amy Roh - * @version $Revision: 332846 $, $Date: 2005-11-12 22:55:40 +0100 (sam., 12 nov. 2005) $ + * @version $Revision: 359798 $, $Date: 2005-12-29 15:06:58 +0100 (jeu., 29 déc. 2005) $ * @since Tomcat 4.0 * */ @@ -709,7 +709,7 @@ * <p> * </p> * - * @version $Revision: 332846 $, $Date: 2005-11-12 22:55:40 +0100 (sam., 12 nov. 2005) $ + * @version $Revision: 359798 $, $Date: 2005-12-29 15:06:58 +0100 (jeu., 29 déc. 2005) $ * @since Tomcat 4.0 * */ @@ -1423,7 +1423,7 @@ * and <code>setResponse</code> methods, respectively. * </p> * - * @version $Revision: 332846 $, $Date: 2005-11-12 22:55:40 +0100 (sam., 12 nov. 2005) $ + * @version $Revision: 359798 $, $Date: 2005-12-29 15:06:58 +0100 (jeu., 29 déc. 2005) $ */ protected class CGIRunner { @@ -1772,10 +1772,7 @@ log("runCGI: addHeader(\"" + line + "\")"); } if (line.startsWith("HTTP")) { - //TODO: should set status codes (NPH support) - /* - * response.setStatus(getStatusCode(line)); - */ + response.setStatus(getStatus(line)); } else if (line.indexOf(":") >= 0) { String header = line.substring(0, line.indexOf(":")).trim(); @@ -1851,6 +1848,36 @@ } } + /** + * Parses the status header and extracts the status code. + * + * @param line The HTTP Status-Line (RFC2616, section 6.1) + * @return The extracted status code or the code representing an + * internal error if a valid status code cannot be extracted. + */ + private int getStatus(String line) { + int statusStart = line.indexOf(' '); + + if (statusStart < 0 || line.length() < statusStart + 4) { + // Not a valid status line + log ("runCGI: invalid status line:" + line); + return HttpServletResponse.SC_INTERNAL_SERVER_ERROR; + } + + String status = line.substring(statusStart + 1, statusStart + 4); + + int statusCode; + try { + statusCode = Integer.parseInt(status); + } catch (NumberFormatException nfe) { + // Not a valid status code + log ("runCGI: invalid status code:" + status); + return HttpServletResponse.SC_INTERNAL_SERVER_ERROR; + } + + return statusCode; + } + private void sendToLog(BufferedReader rdr) { String line = null; int lineCount = 0 ; |
From: <jbo...@li...> - 2005-12-29 08:07:51
|
Author: mic...@jb... Date: 2005-12-29 03:07:31 -0500 (Thu, 29 Dec 2005) New Revision: 1957 Removed: trunk/labs/jbossrules/drools-repository/src/test/java/org/drools/repository/db/HibernateTester.java Modified: trunk/labs/jbossrules/drools-repository/src/test/java/org/drools/repository/db/RepositoryImplTest.java trunk/labs/jbossrules/drools-repository/src/test/resources/hibernate.cfg.xml Log: got basics working Deleted: trunk/labs/jbossrules/drools-repository/src/test/java/org/drools/repository/db/HibernateTester.java =================================================================== --- trunk/labs/jbossrules/drools-repository/src/test/java/org/drools/repository/db/HibernateTester.java 2005-12-29 08:06:45 UTC (rev 1956) +++ trunk/labs/jbossrules/drools-repository/src/test/java/org/drools/repository/db/HibernateTester.java 2005-12-29 08:07:31 UTC (rev 1957) @@ -1,28 +0,0 @@ -package org.drools.repository.db; - -import org.hsqldb.Server; - -import junit.framework.TestCase; - -public class HibernateTester extends TestCase { - - private static Server server; - - public static void startServer() { - if (server == null) { - System.out.println("Starting HSQLDB for tests."); - server = new Server(); - server.start(); - try { - Thread.sleep(3000); - } - catch ( InterruptedException e ) {} - } - } - - public static void stopServer() { - System.out.println("Starting HSQLDB for tests."); - server.stop(); - } - -} Modified: trunk/labs/jbossrules/drools-repository/src/test/java/org/drools/repository/db/RepositoryImplTest.java =================================================================== --- trunk/labs/jbossrules/drools-repository/src/test/java/org/drools/repository/db/RepositoryImplTest.java 2005-12-29 08:06:45 UTC (rev 1956) +++ trunk/labs/jbossrules/drools-repository/src/test/java/org/drools/repository/db/RepositoryImplTest.java 2005-12-29 08:07:31 UTC (rev 1957) @@ -1,21 +1,40 @@ package org.drools.repository.db; +import java.util.List; + import org.drools.repository.RuleDef; import junit.framework.TestCase; -public class RepositoryImplTest extends HibernateTester { +public class RepositoryImplTest extends TestCase { public void testStoreNewRuleDef() throws Exception { - - RepositoryImpl repo = new RepositoryImpl(); + RepositoryImpl repo = getRepo(); RuleDef def = repo.addNewRule("myRule", "A rule", "some comment"); - assertNotNull(def.getId()); + assertNotNull(def.getId()); + System.out.println(def.getId()); - - - - + + def = repo.addNewRule("myRule2", "A rule2", "some comment"); + System.out.println(def.getId()); + + def = repo.addNewRule("myRule3", "A rule3", "some comment"); + assertNotNull(def.getDateCreated()); } + public void testListRules() { + RepositoryImpl repo = getRepo(); + repo.addNewRule("blah", "blah", "yeah"); + List list = repo.listRules(true); + assertTrue(list.size() > 0); + } + + + + private RepositoryImpl getRepo() { + RepositoryImpl repo = new RepositoryImpl(); + return repo; + } + + } Modified: trunk/labs/jbossrules/drools-repository/src/test/resources/hibernate.cfg.xml =================================================================== --- trunk/labs/jbossrules/drools-repository/src/test/resources/hibernate.cfg.xml 2005-12-29 08:06:45 UTC (rev 1956) +++ trunk/labs/jbossrules/drools-repository/src/test/resources/hibernate.cfg.xml 2005-12-29 08:07:31 UTC (rev 1957) @@ -9,10 +9,8 @@ <!-- Database connection settings --> <property name="connection.driver_class">org.hsqldb.jdbcDriver</property> -<!-- <property name="connection.url">jdbc:hsqldb:hsql://localhost</property> --> - <property name="connection.url">jdbc:hsqldb:mem:unittest</property> + <property name="connection.url">jdbc:hsqldb:mem:unittest</property> - <property name="connection.username">sa</property> <property name="connection.password"></property> @@ -29,7 +27,7 @@ <property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property> <!-- Echo all executed SQL to stdout --> - <property name="show_sql">true</property> + <property name="show_sql">false</property> <!-- Drop and re-create the database schema on startup --> <property name="hbm2ddl.auto">create</property> |
From: <jbo...@li...> - 2005-12-29 08:06:56
|
Author: mic...@jb... Date: 2005-12-29 03:06:45 -0500 (Thu, 29 Dec 2005) New Revision: 1956 Added: trunk/labs/jbossrules/drools-repository/src/main/resources/org/drools/repository/RuleDef.hbm.xml Log: got basics working Added: trunk/labs/jbossrules/drools-repository/src/main/resources/org/drools/repository/RuleDef.hbm.xml =================================================================== --- trunk/labs/jbossrules/drools-repository/src/main/resources/org/drools/repository/RuleDef.hbm.xml 2005-12-29 08:06:08 UTC (rev 1955) +++ trunk/labs/jbossrules/drools-repository/src/main/resources/org/drools/repository/RuleDef.hbm.xml 2005-12-29 08:06:45 UTC (rev 1956) @@ -0,0 +1,31 @@ +<?xml version="1.0"?> +<!DOCTYPE hibernate-mapping PUBLIC + "-//Hibernate/Hibernate Mapping DTD 3.0//EN" + "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> + + +<hibernate-mapping> + + <class name="org.drools.repository.RuleDef" table="RULE_DEFINITIONS"> + <id name="id" column="RULE_ID"> + <generator class="native"/> + </id> + <natural-id> + <property name="name"/> + <property name="versionNumber" /> + </natural-id> + + <property name="content" /> + <property name="status" /> + <property name="checkedOut" /> + <property name="checkedOutBy" /> + <property name="versionComment" /> + <property name="documentation" /> + <property name="effectiveDate" /> + <property name="expiryDate" /> + <property name="dateCreated" type="timestamp" column="DATE_CREATED"/> + <property name="head" /> + + </class> + +</hibernate-mapping> \ No newline at end of file Property changes on: trunk/labs/jbossrules/drools-repository/src/main/resources/org/drools/repository/RuleDef.hbm.xml ___________________________________________________________________ Name: svn:eol-style + native |
From: <jbo...@li...> - 2005-12-29 08:06:12
|
Author: mic...@jb... Date: 2005-12-29 03:06:08 -0500 (Thu, 29 Dec 2005) New Revision: 1955 Modified: trunk/labs/jbossrules/drools-repository/src/main/java/org/drools/repository/db/RepositoryImpl.java Log: got basics working Modified: trunk/labs/jbossrules/drools-repository/src/main/java/org/drools/repository/db/RepositoryImpl.java =================================================================== --- trunk/labs/jbossrules/drools-repository/src/main/java/org/drools/repository/db/RepositoryImpl.java 2005-12-29 08:05:04 UTC (rev 1954) +++ trunk/labs/jbossrules/drools-repository/src/main/java/org/drools/repository/db/RepositoryImpl.java 2005-12-29 08:06:08 UTC (rev 1955) @@ -1,7 +1,10 @@ package org.drools.repository.db; +import java.util.List; + import org.drools.repository.Repository; import org.drools.repository.RuleDef; +import org.hibernate.Query; import org.hibernate.Session; @@ -9,18 +12,32 @@ public class RepositoryImpl implements Repository { public RuleDef addNewRule(String ruleName, String content, String comment) { - Session session = HibernateUtil.getSessionFactory().getCurrentSession(); - + Session session = getSession(); session.beginTransaction(); - RuleDef ruleDef = new RuleDef(); - ruleDef.setContent(content); - ruleDef.setName(ruleName); - + RuleDef ruleDef = new RuleDef(ruleName, content); session.save(ruleDef); session.getTransaction().commit(); return ruleDef; } + + public List listRules(boolean head) { + Session session = getSession(); + session.beginTransaction(); + List results = session + .createQuery("from RuleDef where head = :head") + .setBoolean("head", head).setMaxResults(1000) + .list(); + session.getTransaction().commit(); + return results; + } + + private Session getSession(){ + Session session = HibernateUtil.getSessionFactory().getCurrentSession(); + return session; + } + + } |
From: <jbo...@li...> - 2005-12-29 08:05:10
|
Author: mic...@jb... Date: 2005-12-29 03:05:04 -0500 (Thu, 29 Dec 2005) New Revision: 1954 Modified: trunk/labs/jbossrules/drools-repository/src/main/java/org/drools/repository/RuleDef.java Log: got basics working Modified: trunk/labs/jbossrules/drools-repository/src/main/java/org/drools/repository/RuleDef.java =================================================================== --- trunk/labs/jbossrules/drools-repository/src/main/java/org/drools/repository/RuleDef.java 2005-12-29 05:55:01 UTC (rev 1953) +++ trunk/labs/jbossrules/drools-repository/src/main/java/org/drools/repository/RuleDef.java 2005-12-29 08:05:04 UTC (rev 1954) @@ -6,7 +6,7 @@ public class RuleDef extends Persistent { private String name; - private Long versionNumber; + private long versionNumber; private String content; private MetaData metaData; private String status; @@ -17,21 +17,34 @@ private String documentation; private Date effectiveDate; private Date expiryDate; - private Date dateSaved; + private Date dateCreated; - public Date getDateSaved(){ - return dateSaved; + public Date getDateCreated(){ + return dateCreated; } - private void setDateSaved(Date dateSaved){ - this.dateSaved = dateSaved; + private void setDateCreated(Date dateCreated){ + this.dateCreated = dateCreated; } public RuleDef() {} + /** + * This is for creating a brand new rule. + * @param name + * @param content + */ + public RuleDef(String name, String content) { + this.name = name; + this.content = content; + this.versionNumber = 1; + this.head = true; + this.dateCreated = new Date(); + } + /** * This little cheat tells the repo that this * rule is at the head of versions. */ - private boolean isHead; + private boolean head; public String getContent(){ @@ -53,12 +66,7 @@ public void setStatus(String status){ this.status = status; } - public Long getVersion(){ - return versionNumber; - } - private void setVersion(Long version){ - this.versionNumber = version; - } + public boolean isCheckedOut(){ return checkedOut; } @@ -72,10 +80,10 @@ this.checkedOutBy = checkOutBy; } public boolean isHead(){ - return isHead; + return head; } public void setHead(boolean isHead){ - this.isHead = isHead; + this.head = isHead; } public String getVersionComment(){ return versionComment; @@ -83,10 +91,10 @@ public void setVersionComment(String versionComment){ this.versionComment = versionComment; } - public Long getVersionNumber(){ - return versionNumber; + public long getVersionNumber(){ + return this.versionNumber; } - private void setVersionNumber(Long versionNumber){ + private void setVersionNumber(long versionNumber){ this.versionNumber = versionNumber; } public String getDocumentation(){ |
From: <jbo...@li...> - 2005-12-29 05:55:09
|
Author: mic...@jb... Date: 2005-12-29 00:55:01 -0500 (Thu, 29 Dec 2005) New Revision: 1953 Removed: trunk/labs/jbossrules/drools-repository/src/main/resources/org/drools/repository/RuleDef.hbm.xml Log: Deleted: trunk/labs/jbossrules/drools-repository/src/main/resources/org/drools/repository/RuleDef.hbm.xml =================================================================== --- trunk/labs/jbossrules/drools-repository/src/main/resources/org/drools/repository/RuleDef.hbm.xml 2005-12-29 05:51:39 UTC (rev 1952) +++ trunk/labs/jbossrules/drools-repository/src/main/resources/org/drools/repository/RuleDef.hbm.xml 2005-12-29 05:55:01 UTC (rev 1953) @@ -1,28 +0,0 @@ -<?xml version="1.0"?> -<!DOCTYPE hibernate-mapping PUBLIC - "-//Hibernate/Hibernate Mapping DTD 3.0//EN" - "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> - - -<hibernate-mapping> - - <class name="org.drools.repository.RuleDef" table="RULE_DEFINITIONS"> - <id name="id" column="RULE_ID"> - <generator class="native"/> - </id> - <property name="name"/> - <property name="versionNumber"/> - <property name="content" /> - <property name="status" /> - <property name="checkedOut" /> - <property name="checkedOutBy" /> - <property name="versionComment" /> - <property name="documentation" /> - <property name="effectiveDate" /> - <property name="expiryDate" /> - <property name="dateSaved" type="timestamp" column="DATE_CREATED"/> - - - </class> - -</hibernate-mapping> \ No newline at end of file |
Author: mic...@jb... Date: 2005-12-29 00:51:39 -0500 (Thu, 29 Dec 2005) New Revision: 1952 Added: trunk/labs/jbossrules/drools-repository/src/test/java/org/drools/repository/db/HibernateTester.java trunk/labs/jbossrules/drools-repository/src/test/resources/ trunk/labs/jbossrules/drools-repository/src/test/resources/hibernate.cfg.xml Removed: trunk/labs/jbossrules/drools-repository/src/main/resources/hibernate.cfg.xml Modified: trunk/labs/jbossrules/drools-repository/src/main/java/org/drools/repository/RuleDef.java trunk/labs/jbossrules/drools-repository/src/main/resources/org/drools/repository/RuleDef.hbm.xml trunk/labs/jbossrules/drools-repository/src/test/java/org/drools/repository/db/RepositoryImplTest.java Log: Modified: trunk/labs/jbossrules/drools-repository/src/main/java/org/drools/repository/RuleDef.java =================================================================== --- trunk/labs/jbossrules/drools-repository/src/main/java/org/drools/repository/RuleDef.java 2005-12-29 02:16:45 UTC (rev 1951) +++ trunk/labs/jbossrules/drools-repository/src/main/java/org/drools/repository/RuleDef.java 2005-12-29 05:51:39 UTC (rev 1952) @@ -11,7 +11,7 @@ private MetaData metaData; private String status; private boolean checkedOut; - private String checkOutBy; + private String checkedOutBy; private String versionComment; private Set tags; private String documentation; @@ -65,11 +65,11 @@ public void setCheckedOut(boolean checkedOut){ this.checkedOut = checkedOut; } - public String getCheckOutBy(){ - return checkOutBy; + public String getCheckedOutBy(){ + return checkedOutBy; } - public void setCheckOutBy(String checkOutBy){ - this.checkOutBy = checkOutBy; + public void setCheckedOutBy(String checkOutBy){ + this.checkedOutBy = checkOutBy; } public boolean isHead(){ return isHead; @@ -116,8 +116,9 @@ public String getName(){ return name; } - public void setName(String name){ + public RuleDef setName(String name){ this.name = name; + return this; } Deleted: trunk/labs/jbossrules/drools-repository/src/main/resources/hibernate.cfg.xml =================================================================== --- trunk/labs/jbossrules/drools-repository/src/main/resources/hibernate.cfg.xml 2005-12-29 02:16:45 UTC (rev 1951) +++ trunk/labs/jbossrules/drools-repository/src/main/resources/hibernate.cfg.xml 2005-12-29 05:51:39 UTC (rev 1952) @@ -1,38 +0,0 @@ -<?xml version='1.0' encoding='utf-8'?> -<!DOCTYPE hibernate-configuration PUBLIC - "-//Hibernate/Hibernate Configuration DTD 3.0//EN" - "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> - -<hibernate-configuration> - - <session-factory> - - <!-- Database connection settings --> - <property name="connection.driver_class">org.hsqldb.jdbcDriver</property> - <property name="connection.url">jdbc:hsqldb:hsql://localhost</property> - <property name="connection.username">sa</property> - <property name="connection.password"></property> - - <!-- JDBC connection pool (use the built-in) --> - <property name="connection.pool_size">1</property> - - <!-- SQL dialect --> - <property name="dialect">org.hibernate.dialect.HSQLDialect</property> - - <!-- Enable Hibernate's automatic session context management --> - <property name="current_session_context_class">thread</property> - - <!-- Disable the second-level cache --> - <property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property> - - <!-- Echo all executed SQL to stdout --> - <property name="show_sql">true</property> - - <!-- Drop and re-create the database schema on startup --> - <property name="hbm2ddl.auto">create</property> - - <mapping resource="org/drools/repository/RuleDef.hbm.xml"/> - - </session-factory> - -</hibernate-configuration> \ No newline at end of file Modified: trunk/labs/jbossrules/drools-repository/src/main/resources/org/drools/repository/RuleDef.hbm.xml =================================================================== --- trunk/labs/jbossrules/drools-repository/src/main/resources/org/drools/repository/RuleDef.hbm.xml 2005-12-29 02:16:45 UTC (rev 1951) +++ trunk/labs/jbossrules/drools-repository/src/main/resources/org/drools/repository/RuleDef.hbm.xml 2005-12-29 05:51:39 UTC (rev 1952) @@ -10,20 +10,19 @@ <id name="id" column="RULE_ID"> <generator class="native"/> </id> - -<!-- - <property name="dateSaved" type="timestamp" column="DATE_CREATED"/> <property name="name"/> - <property name="versionNumber"/> - <property name="content" /> - <property name="status" /> - <property name="checkedOut" /> - <property name="checkedOutBy" /> + <property name="versionNumber"/> + <property name="content" /> + <property name="status" /> + <property name="checkedOut" /> + <property name="checkedOutBy" /> <property name="versionComment" /> <property name="documentation" /> <property name="effectiveDate" /> - <property name="expiryDate" /> - --> + <property name="expiryDate" /> + <property name="dateSaved" type="timestamp" column="DATE_CREATED"/> + + </class> </hibernate-mapping> \ No newline at end of file Added: trunk/labs/jbossrules/drools-repository/src/test/java/org/drools/repository/db/HibernateTester.java =================================================================== --- trunk/labs/jbossrules/drools-repository/src/test/java/org/drools/repository/db/HibernateTester.java 2005-12-29 02:16:45 UTC (rev 1951) +++ trunk/labs/jbossrules/drools-repository/src/test/java/org/drools/repository/db/HibernateTester.java 2005-12-29 05:51:39 UTC (rev 1952) @@ -0,0 +1,28 @@ +package org.drools.repository.db; + +import org.hsqldb.Server; + +import junit.framework.TestCase; + +public class HibernateTester extends TestCase { + + private static Server server; + + public static void startServer() { + if (server == null) { + System.out.println("Starting HSQLDB for tests."); + server = new Server(); + server.start(); + try { + Thread.sleep(3000); + } + catch ( InterruptedException e ) {} + } + } + + public static void stopServer() { + System.out.println("Starting HSQLDB for tests."); + server.stop(); + } + +} Property changes on: trunk/labs/jbossrules/drools-repository/src/test/java/org/drools/repository/db/HibernateTester.java ___________________________________________________________________ Name: svn:eol-style + native Modified: trunk/labs/jbossrules/drools-repository/src/test/java/org/drools/repository/db/RepositoryImplTest.java =================================================================== --- trunk/labs/jbossrules/drools-repository/src/test/java/org/drools/repository/db/RepositoryImplTest.java 2005-12-29 02:16:45 UTC (rev 1951) +++ trunk/labs/jbossrules/drools-repository/src/test/java/org/drools/repository/db/RepositoryImplTest.java 2005-12-29 05:51:39 UTC (rev 1952) @@ -4,12 +4,18 @@ import junit.framework.TestCase; -public class RepositoryImplTest extends TestCase { +public class RepositoryImplTest extends HibernateTester { public void testStoreNewRuleDef() throws Exception { + RepositoryImpl repo = new RepositoryImpl(); RuleDef def = repo.addNewRule("myRule", "A rule", "some comment"); assertNotNull(def.getId()); + + + + + } } Added: trunk/labs/jbossrules/drools-repository/src/test/resources/hibernate.cfg.xml =================================================================== --- trunk/labs/jbossrules/drools-repository/src/test/resources/hibernate.cfg.xml 2005-12-29 02:16:45 UTC (rev 1951) +++ trunk/labs/jbossrules/drools-repository/src/test/resources/hibernate.cfg.xml 2005-12-29 05:51:39 UTC (rev 1952) @@ -0,0 +1,41 @@ +<?xml version='1.0' encoding='utf-8'?> +<!DOCTYPE hibernate-configuration PUBLIC + "-//Hibernate/Hibernate Configuration DTD 3.0//EN" + "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> + +<hibernate-configuration> + + <session-factory> + + <!-- Database connection settings --> + <property name="connection.driver_class">org.hsqldb.jdbcDriver</property> +<!-- <property name="connection.url">jdbc:hsqldb:hsql://localhost</property> --> + <property name="connection.url">jdbc:hsqldb:mem:unittest</property> + + + <property name="connection.username">sa</property> + <property name="connection.password"></property> + + <!-- JDBC connection pool (use the built-in) --> + <property name="connection.pool_size">1</property> + + <!-- SQL dialect --> + <property name="dialect">org.hibernate.dialect.HSQLDialect</property> + + <!-- Enable Hibernate's automatic session context management --> + <property name="current_session_context_class">thread</property> + + <!-- Disable the second-level cache --> + <property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property> + + <!-- Echo all executed SQL to stdout --> + <property name="show_sql">true</property> + + <!-- Drop and re-create the database schema on startup --> + <property name="hbm2ddl.auto">create</property> + + <mapping resource="org/drools/repository/RuleDef.hbm.xml"/> + + </session-factory> + +</hibernate-configuration> \ No newline at end of file Property changes on: trunk/labs/jbossrules/drools-repository/src/test/resources/hibernate.cfg.xml ___________________________________________________________________ Name: svn:eol-style + native |
Author: mic...@jb... Date: 2005-12-28 21:16:45 -0500 (Wed, 28 Dec 2005) New Revision: 1951 Added: trunk/labs/jbossrules/drools-repository/README.txt trunk/labs/jbossrules/drools-repository/src/ trunk/labs/jbossrules/drools-repository/src/main/ trunk/labs/jbossrules/drools-repository/src/main/java/ trunk/labs/jbossrules/drools-repository/src/main/java/org/ trunk/labs/jbossrules/drools-repository/src/main/java/org/drools/ trunk/labs/jbossrules/drools-repository/src/main/java/org/drools/repository/ trunk/labs/jbossrules/drools-repository/src/main/java/org/drools/repository/MetaData.java trunk/labs/jbossrules/drools-repository/src/main/java/org/drools/repository/Persistent.java trunk/labs/jbossrules/drools-repository/src/main/java/org/drools/repository/Repository.java trunk/labs/jbossrules/drools-repository/src/main/java/org/drools/repository/RuleDef.java trunk/labs/jbossrules/drools-repository/src/main/java/org/drools/repository/RuleSetDef.java trunk/labs/jbossrules/drools-repository/src/main/java/org/drools/repository/db/ trunk/labs/jbossrules/drools-repository/src/main/java/org/drools/repository/db/HibernateUtil.java trunk/labs/jbossrules/drools-repository/src/main/java/org/drools/repository/db/RepositoryImpl.java trunk/labs/jbossrules/drools-repository/src/main/resources/ trunk/labs/jbossrules/drools-repository/src/main/resources/hibernate.cfg.xml trunk/labs/jbossrules/drools-repository/src/main/resources/org/ trunk/labs/jbossrules/drools-repository/src/main/resources/org/drools/ trunk/labs/jbossrules/drools-repository/src/main/resources/org/drools/repository/ trunk/labs/jbossrules/drools-repository/src/main/resources/org/drools/repository/RuleDef.hbm.xml trunk/labs/jbossrules/drools-repository/src/test/ trunk/labs/jbossrules/drools-repository/src/test/java/ trunk/labs/jbossrules/drools-repository/src/test/java/org/ trunk/labs/jbossrules/drools-repository/src/test/java/org/drools/ trunk/labs/jbossrules/drools-repository/src/test/java/org/drools/repository/ trunk/labs/jbossrules/drools-repository/src/test/java/org/drools/repository/db/ trunk/labs/jbossrules/drools-repository/src/test/java/org/drools/repository/db/RepositoryImplTest.java trunk/labs/jbossrules/drools-repository/target/ trunk/labs/jbossrules/drools-repository/target/classes/ trunk/labs/jbossrules/drools-repository/target/classes/hibernate.cfg.xml trunk/labs/jbossrules/drools-repository/target/classes/org/ trunk/labs/jbossrules/drools-repository/target/classes/org/drools/ trunk/labs/jbossrules/drools-repository/target/classes/org/drools/repository/ trunk/labs/jbossrules/drools-repository/target/classes/org/drools/repository/RuleDef.hbm.xml Modified: trunk/labs/jbossrules/drools-repository/pom.xml Log: moving to hibernate Added: trunk/labs/jbossrules/drools-repository/README.txt =================================================================== --- trunk/labs/jbossrules/drools-repository/README.txt 2005-12-28 06:31:34 UTC (rev 1950) +++ trunk/labs/jbossrules/drools-repository/README.txt 2005-12-29 02:16:45 UTC (rev 1951) @@ -0,0 +1 @@ +This is the drools repository API. \ No newline at end of file Property changes on: trunk/labs/jbossrules/drools-repository/README.txt ___________________________________________________________________ Name: svn:eol-style + native Modified: trunk/labs/jbossrules/drools-repository/pom.xml =================================================================== --- trunk/labs/jbossrules/drools-repository/pom.xml 2005-12-28 06:31:34 UTC (rev 1950) +++ trunk/labs/jbossrules/drools-repository/pom.xml 2005-12-29 02:16:45 UTC (rev 1951) @@ -6,12 +6,11 @@ </parent> <modelVersion>4.0.0</modelVersion> - <artifactId>drools-repository</artifactId> + <name>Drools :: Repository API</name> + <version>3.0-M1-dev</version> + <packaging>jar</packaging> - <name>Drools :: Repository</name> - <version>3.0-M1-dev</version> - <dependencies> <dependency> <groupId>junit</groupId> @@ -19,6 +18,22 @@ <version>3.8.1</version> <scope>test</scope> </dependency> + + <!-- should update this to 3.1 final when it is pom'ed --> + <dependency> + <groupId>hibernate</groupId> + <artifactId>hibernate</artifactId> + <version>3.1rc2</version> + </dependency> + + <dependency> + <groupId>hsqldb</groupId> + <artifactId>hsqldb</artifactId> + <version>1.8.0.1</version> + </dependency> + + </dependencies> + </project> \ No newline at end of file Added: trunk/labs/jbossrules/drools-repository/src/main/java/org/drools/repository/MetaData.java =================================================================== --- trunk/labs/jbossrules/drools-repository/src/main/java/org/drools/repository/MetaData.java 2005-12-28 06:31:34 UTC (rev 1950) +++ trunk/labs/jbossrules/drools-repository/src/main/java/org/drools/repository/MetaData.java 2005-12-29 02:16:45 UTC (rev 1951) @@ -0,0 +1,131 @@ +package org.drools.repository; + +import java.io.Serializable; +import java.util.Date; + +/** + * This is based on the <a href="http://dublincore.org/documents/dces/"> + * Dublin Core</a> specification, plus a little bit more, and a little bit + * less. Not all of these fields will be used. + */ +public class MetaData implements Serializable { + + private String title; + private String creator; + private String subject; + private String description; + private String publisher; + private String contributor; + private Date dateCreated = new Date(); + private String format; + private String source; + private String language; + private String relation; + private String coverage; + private String rights; + + public String getContributor(){ + return contributor; + } + + public void setContributor(String contributor){ + this.contributor = contributor; + } + + public String getCoverage(){ + return coverage; + } + + public void setCoverage(String coverage){ + this.coverage = coverage; + } + + public String getCreator(){ + return creator; + } + + public void setCreator(String creator){ + this.creator = creator; + } + + public java.util.Date getDateCreated(){ + return dateCreated; + } + + public void setDateCreated(java.util.Date dateCreated){ + this.dateCreated = dateCreated; + } + + public String getDescription(){ + return description; + } + + public void setDescription(String description){ + this.description = description; + } + + public String getFormat(){ + return format; + } + + public void setFormat(String format){ + this.format = format; + } + + public String getLanguage(){ + return language; + } + + public void setLanguage(String language){ + this.language = language; + } + + public String getPublisher(){ + return publisher; + } + + public void setPublisher(String publisher){ + this.publisher = publisher; + } + + public String getRelation(){ + return relation; + } + + public void setRelation(String relation){ + this.relation = relation; + } + + public String getRights(){ + return rights; + } + + public void setRights(String rights){ + this.rights = rights; + } + + public String getSource(){ + return source; + } + + public void setSource(String source){ + this.source = source; + } + + public String getSubject(){ + return subject; + } + + public void setSubject(String subject){ + this.subject = subject; + } + + public String getTitle(){ + return title; + } + + public void setTitle(String title){ + this.title = title; + } + +} Property changes on: trunk/labs/jbossrules/drools-repository/src/main/java/org/drools/repository/MetaData.java ___________________________________________________________________ Name: svn:eol-style + native Added: trunk/labs/jbossrules/drools-repository/src/main/java/org/drools/repository/Persistent.java =================================================================== --- trunk/labs/jbossrules/drools-repository/src/main/java/org/drools/repository/Persistent.java 2005-12-28 06:31:34 UTC (rev 1950) +++ trunk/labs/jbossrules/drools-repository/src/main/java/org/drools/repository/Persistent.java 2005-12-29 02:16:45 UTC (rev 1951) @@ -0,0 +1,18 @@ +package org.drools.repository; + +import java.io.Serializable; + +public class Persistent implements Serializable { + + private Long id; + + public Long getId(){ + return id; + } + + private void setId(Long id){ + this.id = id; + } + + +} Property changes on: trunk/labs/jbossrules/drools-repository/src/main/java/org/drools/repository/Persistent.java ___________________________________________________________________ Name: svn:eol-style + native Added: trunk/labs/jbossrules/drools-repository/src/main/java/org/drools/repository/Repository.java =================================================================== --- trunk/labs/jbossrules/drools-repository/src/main/java/org/drools/repository/Repository.java 2005-12-28 06:31:34 UTC (rev 1950) +++ trunk/labs/jbossrules/drools-repository/src/main/java/org/drools/repository/Repository.java 2005-12-29 02:16:45 UTC (rev 1951) @@ -0,0 +1,7 @@ +package org.drools.repository; + +public interface Repository { + + + +} Property changes on: trunk/labs/jbossrules/drools-repository/src/main/java/org/drools/repository/Repository.java ___________________________________________________________________ Name: svn:eol-style + native Added: trunk/labs/jbossrules/drools-repository/src/main/java/org/drools/repository/RuleDef.java =================================================================== --- trunk/labs/jbossrules/drools-repository/src/main/java/org/drools/repository/RuleDef.java 2005-12-28 06:31:34 UTC (rev 1950) +++ trunk/labs/jbossrules/drools-repository/src/main/java/org/drools/repository/RuleDef.java 2005-12-29 02:16:45 UTC (rev 1951) @@ -0,0 +1,125 @@ +package org.drools.repository; + +import java.util.Date; +import java.util.Set; + +public class RuleDef extends Persistent { + + private String name; + private Long versionNumber; + private String content; + private MetaData metaData; + private String status; + private boolean checkedOut; + private String checkOutBy; + private String versionComment; + private Set tags; + private String documentation; + private Date effectiveDate; + private Date expiryDate; + private Date dateSaved; + + public Date getDateSaved(){ + return dateSaved; + } + private void setDateSaved(Date dateSaved){ + this.dateSaved = dateSaved; + } + + public RuleDef() {} + /** + * This little cheat tells the repo that this + * rule is at the head of versions. + */ + private boolean isHead; + + + public String getContent(){ + return content; + } + public void setContent(String content){ + this.content = content; + } + + public MetaData getMetaData(){ + return metaData; + } + public void setMetaData(MetaData metaData){ + this.metaData = metaData; + } + public String getStatus(){ + return status; + } + public void setStatus(String status){ + this.status = status; + } + public Long getVersion(){ + return versionNumber; + } + private void setVersion(Long version){ + this.versionNumber = version; + } + public boolean isCheckedOut(){ + return checkedOut; + } + public void setCheckedOut(boolean checkedOut){ + this.checkedOut = checkedOut; + } + public String getCheckOutBy(){ + return checkOutBy; + } + public void setCheckOutBy(String checkOutBy){ + this.checkOutBy = checkOutBy; + } + public boolean isHead(){ + return isHead; + } + public void setHead(boolean isHead){ + this.isHead = isHead; + } + public String getVersionComment(){ + return versionComment; + } + public void setVersionComment(String versionComment){ + this.versionComment = versionComment; + } + public Long getVersionNumber(){ + return versionNumber; + } + private void setVersionNumber(Long versionNumber){ + this.versionNumber = versionNumber; + } + public String getDocumentation(){ + return documentation; + } + public void setDocumentation(String documentation){ + this.documentation = documentation; + } + public Set getTags(){ + return tags; + } + public void setTags(Set tags){ + this.tags = tags; + } + public Date getEffectiveDate(){ + return effectiveDate; + } + public void setEffectiveDate(Date effectiveDate){ + this.effectiveDate = effectiveDate; + } + public Date getExpiryDate(){ + return expiryDate; + } + public void setExpiryDate(Date expiryDate){ + this.expiryDate = expiryDate; + } + public String getName(){ + return name; + } + public void setName(String name){ + this.name = name; + } + + + +} Property changes on: trunk/labs/jbossrules/drools-repository/src/main/java/org/drools/repository/RuleDef.java ___________________________________________________________________ Name: svn:eol-style + native Added: trunk/labs/jbossrules/drools-repository/src/main/java/org/drools/repository/RuleSetDef.java =================================================================== --- trunk/labs/jbossrules/drools-repository/src/main/java/org/drools/repository/RuleSetDef.java 2005-12-28 06:31:34 UTC (rev 1950) +++ trunk/labs/jbossrules/drools-repository/src/main/java/org/drools/repository/RuleSetDef.java 2005-12-29 02:16:45 UTC (rev 1951) @@ -0,0 +1,31 @@ +package org.drools.repository; + +import java.util.List; + +public class RuleSetDef extends Persistent { + + private String name; + private MetaData metaData; + private List rules; + public MetaData getMetaData(){ + return metaData; + } + public void setMetaData(MetaData metaData){ + this.metaData = metaData; + } + public List getRules(){ + return rules; + } + public void setRules(List rules){ + this.rules = rules; + } + public String getName(){ + return name; + } + public void setName(String name){ + this.name = name; + } + + + +} Property changes on: trunk/labs/jbossrules/drools-repository/src/main/java/org/drools/repository/RuleSetDef.java ___________________________________________________________________ Name: svn:eol-style + native Added: trunk/labs/jbossrules/drools-repository/src/main/java/org/drools/repository/db/HibernateUtil.java =================================================================== --- trunk/labs/jbossrules/drools-repository/src/main/java/org/drools/repository/db/HibernateUtil.java 2005-12-28 06:31:34 UTC (rev 1950) +++ trunk/labs/jbossrules/drools-repository/src/main/java/org/drools/repository/db/HibernateUtil.java 2005-12-29 02:16:45 UTC (rev 1951) @@ -0,0 +1,25 @@ +package org.drools.repository.db; + +import org.hibernate.SessionFactory; +import org.hibernate.cfg.Configuration; + +public class HibernateUtil { + + private static final SessionFactory sessionFactory; + + static { + try { + // Create the SessionFactory from hibernate.cfg.xml + sessionFactory = new Configuration().configure().buildSessionFactory(); + } catch (Throwable ex) { + // Make sure you log the exception, as it might be swallowed + System.err.println("Initial SessionFactory creation failed." + ex); + throw new ExceptionInInitializerError(ex); + } + } + + public static SessionFactory getSessionFactory() { + return sessionFactory; + } + +} Property changes on: trunk/labs/jbossrules/drools-repository/src/main/java/org/drools/repository/db/HibernateUtil.java ___________________________________________________________________ Name: svn:eol-style + native Added: trunk/labs/jbossrules/drools-repository/src/main/java/org/drools/repository/db/RepositoryImpl.java =================================================================== --- trunk/labs/jbossrules/drools-repository/src/main/java/org/drools/repository/db/RepositoryImpl.java 2005-12-28 06:31:34 UTC (rev 1950) +++ trunk/labs/jbossrules/drools-repository/src/main/java/org/drools/repository/db/RepositoryImpl.java 2005-12-29 02:16:45 UTC (rev 1951) @@ -0,0 +1,26 @@ +package org.drools.repository.db; + +import org.drools.repository.Repository; +import org.drools.repository.RuleDef; +import org.hibernate.Session; + + + +public class RepositoryImpl implements Repository { + + public RuleDef addNewRule(String ruleName, String content, String comment) { + Session session = HibernateUtil.getSessionFactory().getCurrentSession(); + + session.beginTransaction(); + + RuleDef ruleDef = new RuleDef(); + ruleDef.setContent(content); + ruleDef.setName(ruleName); + + session.save(ruleDef); + + session.getTransaction().commit(); + return ruleDef; + } + +} Property changes on: trunk/labs/jbossrules/drools-repository/src/main/java/org/drools/repository/db/RepositoryImpl.java ___________________________________________________________________ Name: svn:eol-style + native Added: trunk/labs/jbossrules/drools-repository/src/main/resources/hibernate.cfg.xml =================================================================== --- trunk/labs/jbossrules/drools-repository/src/main/resources/hibernate.cfg.xml 2005-12-28 06:31:34 UTC (rev 1950) +++ trunk/labs/jbossrules/drools-repository/src/main/resources/hibernate.cfg.xml 2005-12-29 02:16:45 UTC (rev 1951) @@ -0,0 +1,38 @@ +<?xml version='1.0' encoding='utf-8'?> +<!DOCTYPE hibernate-configuration PUBLIC + "-//Hibernate/Hibernate Configuration DTD 3.0//EN" + "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> + +<hibernate-configuration> + + <session-factory> + + <!-- Database connection settings --> + <property name="connection.driver_class">org.hsqldb.jdbcDriver</property> + <property name="connection.url">jdbc:hsqldb:hsql://localhost</property> + <property name="connection.username">sa</property> + <property name="connection.password"></property> + + <!-- JDBC connection pool (use the built-in) --> + <property name="connection.pool_size">1</property> + + <!-- SQL dialect --> + <property name="dialect">org.hibernate.dialect.HSQLDialect</property> + + <!-- Enable Hibernate's automatic session context management --> + <property name="current_session_context_class">thread</property> + + <!-- Disable the second-level cache --> + <property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property> + + <!-- Echo all executed SQL to stdout --> + <property name="show_sql">true</property> + + <!-- Drop and re-create the database schema on startup --> + <property name="hbm2ddl.auto">create</property> + + <mapping resource="org/drools/repository/RuleDef.hbm.xml"/> + + </session-factory> + +</hibernate-configuration> \ No newline at end of file Property changes on: trunk/labs/jbossrules/drools-repository/src/main/resources/hibernate.cfg.xml ___________________________________________________________________ Name: svn:eol-style + native Added: trunk/labs/jbossrules/drools-repository/src/main/resources/org/drools/repository/RuleDef.hbm.xml =================================================================== --- trunk/labs/jbossrules/drools-repository/src/main/resources/org/drools/repository/RuleDef.hbm.xml 2005-12-28 06:31:34 UTC (rev 1950) +++ trunk/labs/jbossrules/drools-repository/src/main/resources/org/drools/repository/RuleDef.hbm.xml 2005-12-29 02:16:45 UTC (rev 1951) @@ -0,0 +1,29 @@ +<?xml version="1.0"?> +<!DOCTYPE hibernate-mapping PUBLIC + "-//Hibernate/Hibernate Mapping DTD 3.0//EN" + "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> + + +<hibernate-mapping> + + <class name="org.drools.repository.RuleDef" table="RULE_DEFINITIONS"> + <id name="id" column="RULE_ID"> + <generator class="native"/> + </id> + +<!-- + <property name="dateSaved" type="timestamp" column="DATE_CREATED"/> + <property name="name"/> + <property name="versionNumber"/> + <property name="content" /> + <property name="status" /> + <property name="checkedOut" /> + <property name="checkedOutBy" /> + <property name="versionComment" /> + <property name="documentation" /> + <property name="effectiveDate" /> + <property name="expiryDate" /> + --> + </class> + +</hibernate-mapping> \ No newline at end of file Property changes on: trunk/labs/jbossrules/drools-repository/src/main/resources/org/drools/repository/RuleDef.hbm.xml ___________________________________________________________________ Name: svn:eol-style + native Added: trunk/labs/jbossrules/drools-repository/src/test/java/org/drools/repository/db/RepositoryImplTest.java =================================================================== --- trunk/labs/jbossrules/drools-repository/src/test/java/org/drools/repository/db/RepositoryImplTest.java 2005-12-28 06:31:34 UTC (rev 1950) +++ trunk/labs/jbossrules/drools-repository/src/test/java/org/drools/repository/db/RepositoryImplTest.java 2005-12-29 02:16:45 UTC (rev 1951) @@ -0,0 +1,15 @@ +package org.drools.repository.db; + +import org.drools.repository.RuleDef; + +import junit.framework.TestCase; + +public class RepositoryImplTest extends TestCase { + + public void testStoreNewRuleDef() throws Exception { + RepositoryImpl repo = new RepositoryImpl(); + RuleDef def = repo.addNewRule("myRule", "A rule", "some comment"); + assertNotNull(def.getId()); + } + +} Property changes on: trunk/labs/jbossrules/drools-repository/src/test/java/org/drools/repository/db/RepositoryImplTest.java ___________________________________________________________________ Name: svn:eol-style + native Added: trunk/labs/jbossrules/drools-repository/target/classes/hibernate.cfg.xml =================================================================== --- trunk/labs/jbossrules/drools-repository/target/classes/hibernate.cfg.xml 2005-12-28 06:31:34 UTC (rev 1950) +++ trunk/labs/jbossrules/drools-repository/target/classes/hibernate.cfg.xml 2005-12-29 02:16:45 UTC (rev 1951) @@ -0,0 +1,38 @@ +<?xml version='1.0' encoding='utf-8'?> +<!DOCTYPE hibernate-configuration PUBLIC + "-//Hibernate/Hibernate Configuration DTD 3.0//EN" + "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> + +<hibernate-configuration> + + <session-factory> + + <!-- Database connection settings --> + <property name="connection.driver_class">org.hsqldb.jdbcDriver</property> + <property name="connection.url">jdbc:hsqldb:hsql://localhost</property> + <property name="connection.username">sa</property> + <property name="connection.password"></property> + + <!-- JDBC connection pool (use the built-in) --> + <property name="connection.pool_size">1</property> + + <!-- SQL dialect --> + <property name="dialect">org.hibernate.dialect.HSQLDialect</property> + + <!-- Enable Hibernate's automatic session context management --> + <property name="current_session_context_class">thread</property> + + <!-- Disable the second-level cache --> + <property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property> + + <!-- Echo all executed SQL to stdout --> + <property name="show_sql">true</property> + + <!-- Drop and re-create the database schema on startup --> + <property name="hbm2ddl.auto">create</property> + + <mapping resource="org/drools/repository/RuleDef.hbm.xml"/> + + </session-factory> + +</hibernate-configuration> \ No newline at end of file Property changes on: trunk/labs/jbossrules/drools-repository/target/classes/hibernate.cfg.xml ___________________________________________________________________ Name: svn:eol-style + native Added: trunk/labs/jbossrules/drools-repository/target/classes/org/drools/repository/RuleDef.hbm.xml =================================================================== --- trunk/labs/jbossrules/drools-repository/target/classes/org/drools/repository/RuleDef.hbm.xml 2005-12-28 06:31:34 UTC (rev 1950) +++ trunk/labs/jbossrules/drools-repository/target/classes/org/drools/repository/RuleDef.hbm.xml 2005-12-29 02:16:45 UTC (rev 1951) @@ -0,0 +1,29 @@ +<?xml version="1.0"?> +<!DOCTYPE hibernate-mapping PUBLIC + "-//Hibernate/Hibernate Mapping DTD 3.0//EN" + "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> + + +<hibernate-mapping> + + <class name="org.drools.repository.RuleDef" table="RULE_DEFINITIONS"> + <id name="id" column="RULE_ID"> + <generator class="native"/> + </id> + +<!-- + <property name="dateSaved" type="timestamp" column="DATE_CREATED"/> + <property name="name"/> + <property name="versionNumber"/> + <property name="content" /> + <property name="status" /> + <property name="checkedOut" /> + <property name="checkedOutBy" /> + <property name="versionComment" /> + <property name="documentation" /> + <property name="effectiveDate" /> + <property name="expiryDate" /> + --> + </class> + +</hibernate-mapping> \ No newline at end of file Property changes on: trunk/labs/jbossrules/drools-repository/target/classes/org/drools/repository/RuleDef.hbm.xml ___________________________________________________________________ Name: svn:eol-style + native |
From: <jbo...@li...> - 2005-12-28 06:31:38
|
Author: mic...@jb... Date: 2005-12-28 01:31:34 -0500 (Wed, 28 Dec 2005) New Revision: 1950 Removed: trunk/labs/jbossrules/drools-repository/src/ Log: |
From: <jbo...@li...> - 2005-12-28 06:31:24
|
Author: mic...@jb... Date: 2005-12-28 01:31:19 -0500 (Wed, 28 Dec 2005) New Revision: 1949 Removed: trunk/labs/jbossrules/drools-repository/repotest/ Log: |
From: <jbo...@li...> - 2005-12-28 06:31:01
|
Author: mic...@jb... Date: 2005-12-28 01:30:57 -0500 (Wed, 28 Dec 2005) New Revision: 1948 Removed: trunk/labs/jbossrules/drools-repository/lib/ Log: |
From: <jbo...@li...> - 2005-12-28 06:30:24
|
Author: mic...@jb... Date: 2005-12-28 01:30:18 -0500 (Wed, 28 Dec 2005) New Revision: 1947 Removed: trunk/labs/jbossrules/drools-repository/doc/ Log: |
From: <jbo...@li...> - 2005-12-28 06:30:04
|
Author: mic...@jb... Date: 2005-12-28 01:29:58 -0500 (Wed, 28 Dec 2005) New Revision: 1946 Removed: trunk/labs/jbossrules/drools-repository/conf/ Log: |
From: <jbo...@li...> - 2005-12-28 06:27:32
|
Author: mic...@jb... Date: 2005-12-28 01:27:25 -0500 (Wed, 28 Dec 2005) New Revision: 1945 Added: trunk/labs/jbossrules/drools-repository/pom.xml Log: Added: trunk/labs/jbossrules/drools-repository/pom.xml =================================================================== --- trunk/labs/jbossrules/drools-repository/pom.xml 2005-12-28 06:24:42 UTC (rev 1944) +++ trunk/labs/jbossrules/drools-repository/pom.xml 2005-12-28 06:27:25 UTC (rev 1945) @@ -0,0 +1,24 @@ +<project> + <parent> + <artifactId>drools</artifactId> + <groupId>org.drools</groupId> + <version>3.0-M1-dev</version> + </parent> + + <modelVersion>4.0.0</modelVersion> + + <artifactId>drools-repository</artifactId> + + <name>Drools :: Repository</name> + <version>3.0-M1-dev</version> + + <dependencies> + <dependency> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + <version>3.8.1</version> + <scope>test</scope> + </dependency> + </dependencies> + +</project> \ No newline at end of file Property changes on: trunk/labs/jbossrules/drools-repository/pom.xml ___________________________________________________________________ Name: svn:eol-style + native |