Author |
Message |
06/04/2011 18:20:25
|
cvieira
Power User
Joined: 08/07/2010 21:46:40
Messages: 59
Offline
|
Hi,
I'm having problems when using two configuration functions: status definitions -> transitions; input status -> by status
(1) status definitions -> transitions
Code:
javax.servlet.ServletException: java.lang.Error: org.eclnt.ccappor.util.WrapperError: java.lang.NullPointerException
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:325)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:306)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.eclnt.jsfserver.util.ThreadingFilter.doFilter(ThreadingFilter.java:269)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:244)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.eclnt.ccappor.rt.context.ThreadContextFilter.doFilter(ThreadContextFilter.java:69)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:244)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
[...]
(2) input status -> by status
Code:
javax.servlet.ServletException: java.lang.Error: java.lang.NullPointerException
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:325)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:306)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.eclnt.jsfserver.util.ThreadingFilter.doFilter(ThreadingFilter.java:269)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:244)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.eclnt.ccappor.rt.context.ThreadContextFilter.doFilter(ThreadContextFilter.java:69)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:244)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.eclnt.jsfserver.util.CompressionFilter.doFilter(CompressionFilter.java:33)
[...]
Any ideas of what's wrong?
Thanks & Regards,
|
--
Carlos Vieira |
|
|
06/04/2011 18:25:07
|
CaptainCasa
Power User
Joined: 21/11/2007 12:23:06
Messages: 5555
Offline
|
Hi,
will check...
Please always attach your ccappor.metadata.xml - thanks!
Regards, Björn
PS: and, to be honest - status management is nice, but we are not too sure if we really spend effort into it; it's nice for some scenarios, but also quite limited... ;-)
|
Björn Müller, CaptainCasa GmbH |
|
|
06/04/2011 18:31:21
|
cvieira
Power User
Joined: 08/07/2010 21:46:40
Messages: 59
Offline
|
Sorry Bjorn, here is file content (ccappor.metadata.xml):
Code:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<mdApplication>
<id>ccsdmfirst</id>
<dispatcherId>d</dispatcherId>
<text>Structured Data Manager Application</text>
<packages>
<id>first.data</id>
</packages>
<packages>
<id>first.ui</id>
</packages>
<packages>
<id>first.logic</id>
</packages>
<entities>
<id>customer</id>
<package>first.data</package>
<daoPackage>first.data</daoPackage>
<logicPackage>first.logic</logicPackage>
<uiPackage>first.ui</uiPackage>
<text>Customer</text>
<multiClient>false</multiClient>
<withLiteralManagement>false</withLiteralManagement>
<withOneLanguageOnly>false</withOneLanguageOnly>
<withImageManagement>false</withImageManagement>
<withStatusManagement>false</withStatusManagement>
<properties>
<id>customerId</id>
<key>true</key>
<text>Customer Id</text>
<dataType>guid</dataType>
<length>0</length>
<linkedWithinOwnObject>false</linkedWithinOwnObject>
<status>false</status>
<mandatory>false</mandatory>
<flush>false</flush>
<hide>false</hide>
<logicBeanProperty>false</logicBeanProperty>
<virtualTextProperty>false</virtualTextProperty>
</properties>
<properties>
<id>name</id>
<key>false</key>
<text>Name</text>
<dataType>String</dataType>
<length>200</length>
<linkedWithinOwnObject>false</linkedWithinOwnObject>
<status>false</status>
<mandatory>false</mandatory>
<flush>false</flush>
<hide>false</hide>
<logicBeanProperty>false</logicBeanProperty>
<virtualTextProperty>false</virtualTextProperty>
</properties>
<functions>
<id>sendEmail</id>
<text>Send Email</text>
<hide>false</hide>
</functions>
</entities>
<includedApplications>eclntccapporbaseapps</includedApplications>
</mdApplication>
Thanks,
|
--
Carlos Vieira |
|
|
06/04/2011 19:22:13
|
CaptainCasa
Power User
Joined: 21/11/2007 12:23:06
Messages: 5555
Offline
|
Hi,
aah, the status management only works with entities that are marked as being status-managed. Yours is not.
But anyway: let me briefly check the status management on my own.
Regards, Björn
PS: you have noticed that the configuration did change (now it's a quite simple XML configuration). This caused a bit trouble internally, though the execution runtime remained 100% the same...)
|
Björn Müller, CaptainCasa GmbH |
|
|
06/04/2011 20:17:28
|
CaptainCasa
Power User
Joined: 21/11/2007 12:23:06
Messages: 5555
Offline
|
Hi,
no problems with status management - it works as defined.
I enriched your metadata file with an entity order and order status in order to provide an example, see below.
You now can defined order status, can define transitions on orderstatus + order status are used in the order as well.
Regards, Björn
Code:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<mdApplication>
<id>ccsdmfirst</id>
<dispatcherId>d</dispatcherId>
<text>Structured Data Manager Application</text>
<packages>
<id>first.data</id>
</packages>
<packages>
<id>first.ui</id>
</packages>
<packages>
<id>first.logic</id>
</packages>
<entities>
<id>customer</id>
<package>first.data</package>
<daoPackage>first.data</daoPackage>
<logicPackage>first.logic</logicPackage>
<uiPackage>first.ui</uiPackage>
<text>Customer</text>
<multiClient>false</multiClient>
<withLiteralManagement>true</withLiteralManagement>
<withOneLanguageOnly>false</withOneLanguageOnly>
<withImageManagement>false</withImageManagement>
<withStatusManagement>false</withStatusManagement>
<properties>
<id>customerId</id>
<key>true</key>
<text>Customer Id</text>
<dataType>guid</dataType>
<length>0</length>
<linkedWithinOwnObject>false</linkedWithinOwnObject>
<status>false</status>
<mandatory>true</mandatory>
<flush>false</flush>
<hide>false</hide>
<logicBeanProperty>false</logicBeanProperty>
<virtualTextProperty>false</virtualTextProperty>
</properties>
<properties>
<id>name</id>
<key>false</key>
<text>Name</text>
<dataType>String</dataType>
<length>200</length>
<linkedWithinOwnObject>false</linkedWithinOwnObject>
<status>false</status>
<mandatory>false</mandatory>
<flush>false</flush>
<hide>false</hide>
<logicBeanProperty>false</logicBeanProperty>
<virtualTextProperty>false</virtualTextProperty>
</properties>
<functions>
<id>delete</id>
<text>Delete</text>
<type>delete</type>
<hide>false</hide>
</functions>
</entities>
<entities>
<id>order</id>
<package>first.data</package>
<daoPackage>first.data</daoPackage>
<logicPackage>first.logic</logicPackage>
<uiPackage>first.ui</uiPackage>
<text>Order</text>
<multiClient>false</multiClient>
<withLiteralManagement>false</withLiteralManagement>
<withOneLanguageOnly>false</withOneLanguageOnly>
<withImageManagement>false</withImageManagement>
<withStatusManagement>false</withStatusManagement>
<properties>
<id>id</id>
<key>true</key>
<text>Id</text>
<dataType>guid</dataType>
<length>0</length>
<linkedWithinOwnObject>false</linkedWithinOwnObject>
<status>false</status>
<mandatory>false</mandatory>
<flush>false</flush>
<hide>false</hide>
<logicBeanProperty>false</logicBeanProperty>
<virtualTextProperty>false</virtualTextProperty>
</properties>
<properties>
<id>date</id>
<key>false</key>
<text>Date</text>
<dataType>Date</dataType>
<length>0</length>
<linkedWithinOwnObject>false</linkedWithinOwnObject>
<status>false</status>
<mandatory>false</mandatory>
<flush>false</flush>
<hide>false</hide>
<logicBeanProperty>false</logicBeanProperty>
<virtualTextProperty>false</virtualTextProperty>
</properties>
<properties>
<id>text</id>
<key>false</key>
<text>Text</text>
<dataType>String</dataType>
<length>1000</length>
<linkedWithinOwnObject>false</linkedWithinOwnObject>
<status>false</status>
<mandatory>false</mandatory>
<flush>false</flush>
<hide>false</hide>
<logicBeanProperty>false</logicBeanProperty>
<virtualTextProperty>false</virtualTextProperty>
</properties>
<properties>
<id>status</id>
<key>false</key>
<text>Status</text>
<dataType>String</dataType>
<length>20</length>
<linkedEntity>orderstatus</linkedEntity>
<linkedProperty>status</linkedProperty>
<linkedWithinOwnObject>false</linkedWithinOwnObject>
<status>true</status>
<mandatory>false</mandatory>
<flush>false</flush>
<hide>false</hide>
<logicBeanProperty>false</logicBeanProperty>
<virtualTextProperty>false</virtualTextProperty>
</properties>
</entities>
<entities>
<id>orderstatus</id>
<package>first.data</package>
<daoPackage>first.data</daoPackage>
<logicPackage>first.ui</logicPackage>
<uiPackage>first.logic</uiPackage>
<text>Order Status</text>
<multiClient>false</multiClient>
<withLiteralManagement>true</withLiteralManagement>
<withOneLanguageOnly>false</withOneLanguageOnly>
<withImageManagement>true</withImageManagement>
<withStatusManagement>true</withStatusManagement>
<properties>
<id>status</id>
<key>true</key>
<text>Status</text>
<dataType>String</dataType>
<length>20</length>
<linkedWithinOwnObject>false</linkedWithinOwnObject>
<status>false</status>
<mandatory>false</mandatory>
<flush>false</flush>
<hide>false</hide>
<logicBeanProperty>false</logicBeanProperty>
<virtualTextProperty>false</virtualTextProperty>
</properties>
</entities>
<includedApplications>eclntccapporbaseapps</includedApplications>
</mdApplication>
|
Björn Müller, CaptainCasa GmbH |
|
|
07/04/2011 11:56:43
|
cvieira
Power User
Joined: 08/07/2010 21:46:40
Messages: 59
Offline
|
Hi Bjorn, thanks!
Well, you right... i can use without problems on those entities marked with status-management... maybe for the ones that are not, exception could be treated avoiding error to appear...
Two questions related to status (using your orders example):
* i've defined a status as being initial status, but i was allowed to save an order without a status defined (the status field is marked as mandatory also)
* order status is defined by clicking on status appearing on the form toolbar... is the only way to do it? Or when can define by using a combobox within form field?
Regards,
Carlos V.
|
--
Carlos Vieira |
|
|
07/04/2011 12:14:25
|
CaptainCasa
Power User
Joined: 21/11/2007 12:23:06
Messages: 5555
Offline
|
Hi,
if you mark the status field as mandatory in the order, then you should be forced to define one...
Yes, currently the status is only selctable from the top...
Regards! Björn
|
Björn Müller, CaptainCasa GmbH |
|
|
07/04/2011 12:23:35
|
cvieira
Power User
Joined: 08/07/2010 21:46:40
Messages: 59
Offline
|
Hi Bjorn, it seems to exist an issue here, because ii have status marked as mandatory on the order entity... when trying to save it allows it.
Regards,
|
--
Carlos Vieira |
|
|
|