[
https://issues.jboss.org/browse/DROOLS-10?page=com.atlassian.jira.plugin....
]
Edson Tirelli commented on DROOLS-10:
-------------------------------------
Unable to reproduce in 6.0.0.Alpha9. I added the following test case to the code base:
{code:title=javaSqlTimestampTest.java}
@Test
public void testJavaSqlTimestamp() {
String rule = "";
rule += "package " + Message.class.getPackage().getName() +
"\n" +
"declare " + Message.class.getCanonicalName() + "\n"
+
" @role( event ) \n" +
" @timestamp( startTime ) \n" +
" @duration( duration )\n" +
"end\n";
KnowledgeBase kbase = loadKnowledgeBaseFromString( rule );
StatefulKnowledgeSession ksession = createKnowledgeSession(kbase);
Message msg = new Message();
msg.setStartTime( new Timestamp( 10000 ) );
msg.setDuration( 1000l );
EventFactHandle efh = (EventFactHandle) ksession.insert( msg );
assertEquals( 10000,
efh.getStartTimestamp() );
assertEquals( 1000,
efh.getDuration() );
}
public static class Message {
private Timestamp timestamp;
private Long duration;
public Timestamp getStartTime() {
return timestamp;
}
public void setStartTime(Timestamp timestamp) {
this.timestamp = timestamp;
}
public Long getDuration() {
return duration;
}
public void setDuration(Long duration) {
this.duration = duration;
}
}
{code}
I will close the ticket. If you are still having problems in 6.0, please reopen it with
more details on how to reproduce it.
Thank you.
Cannot use @timestamp annotation on a java.sql.Timestamp field when
declaring metadata for an existing Java type
----------------------------------------------------------------------------------------------------------------
Key: DROOLS-10
URL:
https://issues.jboss.org/browse/DROOLS-10
Project: Drools
Issue Type: Bug
Security Level: Public(Everyone can see)
Reporter: Ken Warkentyne
Assignee: Mark Proctor
We have a Java class that uses java.sql.Timestamp to record time values. In Drools 5.0.1,
we were able to use the @timestamp annotation as follows:
{code}
declare StateEvent
@role( event )
@timestamp( startTime )
@duration( duration )
end
{code}
StateEvent contains the following:
{code}
import java.sql.Timestamp;
...
private Timestamp startTime;
private Long duration;
public Timestamp getStartTime() {
return startTime;
}
public void setStartTime(Timestamp st) {
startTime = st;
}
public Long getDuration() {
return duration;
}
public void setDuration(Long d) {
duration = d;
}
....
{code}
We load the rules from a .drl file as follows:
{code}
KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
kbuilder.add(ResourceFactory.newClassPathResource("path-to-file",
ResourceType.DRL);
{code}
In 5.4.0, this no longer works and we get the error message:
{code}
Annotated type StateEvent - undefined property in @annotation timestamp:
java.sql.Timestamp.value();
{code}
Also tested with 5.5.0.Final and 5.5.0.CR1
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:
http://www.atlassian.com/software/jira