Hello Georg, I tried to make some test code.
I copy TorqueTurbineModelManagerTest into my migration test folder and modified TurbineTorqueComponentConfig.xml's userManager className set to our JettigerUserImpl <userManager> <className>com.nannet.jettiger.om.JettigerUserImpl</className> </userManager> and add simple test method into TorqueTurbineModelManagerTest public void testJettigerUser() throws Exception { JettigerUser user = userManager.getUserInstance(""); user.setName("easydesk"); user.setFirstName("easydesk"); user.setLastName("easydesk"); user.setEmail("easyd...@easydesk.co.kr"); user.setPassword("password"); System.out.println(user); user.save(); } and i got following error Look's like I didn't set peer class properly and am not sure why happens class cast exception during revoke roll process. How can I solve this problems ? Thanks, Youngho ================================================= [DEBUG] Located the service 'org.apache.fulcrum.security.SecurityService' in the local container [DEBUG] Located the service 'org.apache.fulcrum.security.RoleManager' in the local container [DEBUG] Located the service 'org.apache.fulcrum.security.UserManager' in the local container [DEBUG] Located the service 'org.apache.fulcrum.security.GroupManager' in the local container [DEBUG] Located the service 'org.apache.fulcrum.security.PermissionManager' in the local container [DEBUG] Located the service 'org.apache.fulcrum.security.ModelManager' in the local container Tests run: 8, Failures: 0, Errors: 4, Skipped: 0, Time elapsed: 0.156 sec <<< FAILURE! testJettigerUser(com.nannet.jettiger.om.TorqueTurbineModelManagerTest) Time elapsed: 0 sec <<< ERROR! org.apache.torque.ConstraintViolationException: java.sql.SQLException: Attempt to insert null into a non-nullable column: column: USER_ID table: TURBINE_USER in statement [INSERT INTO TURBINE_USER(USER_ID) VALUES (?)] at org.apache.torque.util.ExceptionMapperImpl.toTorqueException(ExceptionMapperImpl.java:43) at org.apache.torque.util.BasePeerImpl.doInsert(BasePeerImpl.java:525) at com.nannet.jettiger.om.BaseJettigerUserImplPeerImpl.doInsert(BaseJettigerUserImplPeerImpl.java:175) at com.nannet.jettiger.om.BaseJettigerUserImplPeerImpl.doInsert(BaseJettigerUserImplPeerImpl.java:204) at com.nannet.jettiger.om.BaseJettigerUserImplPeer.doInsert(BaseJettigerUserImplPeer.java:502) at com.nannet.jettiger.om.BaseJettigerUserImpl.save(BaseJettigerUserImpl.java:527) at com.nannet.jettiger.om.BaseJettigerUserImpl.save(BaseJettigerUserImpl.java:490) at com.nannet.jettiger.om.BaseJettigerUserImpl.save(BaseJettigerUserImpl.java:470) at com.nannet.jettiger.om.TorqueTurbineModelManagerTest.testJettigerUser(TorqueTurbineModelManagerTest.java:106) Caused by: java.sql.SQLException: Attempt to insert null into a non-nullable column: column: USER_ID table: TURBINE_USER in statement [INSERT INTO TURBINE_USER(USER_ID) VALUES (?)] at org.hsqldb.jdbc.Util.throwError(Unknown Source) at org.hsqldb.jdbc.jdbcPreparedStatement.executeUpdate(Unknown Source) at org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:105) at org.apache.torque.util.BasePeerImpl.doInsert(BasePeerImpl.java:515) ... 35 more testRevokeAllUser(com.nannet.jettiger.om.TorqueTurbineModelManagerTest) Time elapsed: 0.015 sec <<< ERROR! java.lang.ClassCastException: com.nannet.jettiger.om.JettigerUserImpl cannot be cast to org.apache.fulcrum.security.torque.TorqueAbstractSecurityEntity at org.apache.fulcrum.security.torque.TorqueAbstractUserManager.checkExists(TorqueAbstractUserManager.java:174) at org.apache.fulcrum.security.spi.AbstractUserManager.checkExists(AbstractUserManager.java:65) at org.apache.fulcrum.security.spi.AbstractUserManager.addUser(AbstractUserManager.java:285) at org.apache.fulcrum.security.model.turbine.test.AbstractTurbineModelManagerTest.testRevokeAllUser(AbstractTurbineModelManagerTest.java:152) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at junit.framework.TestCase.runTest(TestCase.java:154) at junit.framework.TestCase.runBare(TestCase.java:127) at junit.framework.TestResult$1.protect(TestResult.java:106) at junit.framework.TestResult.runProtected(TestResult.java:124) at junit.framework.TestResult.run(TestResult.java:109) at junit.framework.TestCase.run(TestCase.java:118) at junit.framework.TestSuite.runTest(TestSuite.java:208) at junit.framework.TestSuite.run(TestSuite.java:203) 2014-09-29 22:01 GMT+09:00 Youngho Cho <youngho1...@gmail.com>: > Hello Georg, > > Thanks!, compile sucessfully finished !. > > Tomorrow moring, I will make some test code. > > > Thanks > > Youngho > > > 2014-09-29 21:05 GMT+09:00 Georg Kallidis <georg.kalli...@cedis.fu-berlin.de>: >> Hi Youngho, >> >> (1) are you sure, that class >> org.apache.fulcrum.security.torque.om.TorqueTurbineUser is not an old >> class generated previously? Especilly setting basePeer might be the >> problem.. >> >> (2) What about using this header: >> >> <table name="TURBINE_USER" javaName="JettigerUserImpl" >> >> peerInterface="org.apache.fulcrum.security.torque.peer.TorqueTurbinePeer" >> >> baseClass="org.apache.fulcrum.security.model.turbine.entity.impl.TurbineUserImpl" >> interface="JettigerUser"> >> >> instead of >> >> <table name="TURBINE_USER" javaName="JettigerUserImpl" >> >> peerInterface="org.apache.fulcrum.security.torque.peer.TorqueTurbinePeer" >> >> baseClass="org.apache.fulcrum.security.torque.om.TorqueTurbineUser" >> >> basePeer="org.apache.fulcrum.security.torque.om.TorqueTurbineUserPeer" >> interface="JettigerUser"> >> >> This generates valid mapper files, where the TurbineUser interface >> implementation is included. The class >> org.apache.fulcrum.security.torque.om.TorqueTurbineUserPeer is by >> default just an interface, not a base peer class... >> >> Best, Georg >> >> >> >> Von: Youngho Cho <youngho1...@gmail.com> >> An: Turbine Developers List <dev@turbine.apache.org> >> Datum: 29.09.2014 08:57 >> Betreff: trunk fulcrum-security-torque migration question >> >> >> >> Hello, >> >> I am tring to migrate old turbine which use torque-3.3 and old >> fulcrum-security >> to trunk fulcrum-security-torque with torque-4.1. >> >> old-schema file looks likes >> >> <?xml version="1.0" encoding="UTF-8" standalone="no" ?> >> <!DOCTYPE database SYSTEM >> "http://db.apache.org/torque/dtd/database_3_3.dtd"> >> <database name="migration" defaultJavaType="object"> >> <table name="TURBINE_USER" javaName="JettigerUserImpl" >> alias="TurbineUser" >> baseClass="org.apache.fulcrum.security.impl.db.entity.TurbineUser" >> >> basePeer="org.apache.fulcrum.security.impl.db.entity.TurbineUserPeer" >> interface="JettigerUser"> >> <column name="USER_ID" primaryKey="true" required="true" >> type="INTEGER"/> >> </table> >> <table name="USER_PREFERENCE" idMethod="none"> >> <column name="USER_ID" primaryKey="true" required="true" >> type="INTEGER"/> >> <column name="PASSWORD_EXPIRE" type="TIMESTAMP"/> >> <foreign-key foreignTable="TURBINE_USER"> >> <reference local="USER_ID" foreign="USER_ID"/> >> </foreign-key> >> </table> >> </database> >> >> In order to migrate torque-4.1, >> I modify the new-schema likes >> >> <?xml version="1.0" encoding="UTF-8" standalone="no" ?> >> <database >> name="migration" >> defaultIdMethod="none" >> defaultJavaType="object" >> xmlns="http://db.apache.org/torque/4.0/templates/database" >> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >> xsi:schemaLocation=" >> http://db.apache.org/torque/4.0/templates/database >> >> http://db.apache.org/torque/torque-4.0/documentation/orm-reference/database-4-0.xsd >> "> >> <table name="TURBINE_USER" javaName="JettigerUserImpl" >> >> peerInterface="org.apache.fulcrum.security.torque.peer.TorqueTurbinePeer" >> >> baseClass="org.apache.fulcrum.security.torque.om.TorqueTurbineUser" >> >> basePeer="org.apache.fulcrum.security.torque.om.TorqueTurbineUserPeer" >> interface="JettigerUser"> >> <column name="USER_ID" primaryKey="true" required="true" >> type="INTEGER"/> >> </table> >> <table name="USER_PREFERENCE" idMethod="none"> >> <column name="USER_ID" primaryKey="true" required="true" >> type="INTEGER"/> >> <column name="PASSWORD_EXPIRE" type="TIMESTAMP"/> >> <foreign-key foreignTable="TURBINE_USER"> >> <reference local="USER_ID" foreign="USER_ID"/> >> </foreign-key> >> </table> >> </database> >> >> and I got following compile error. >> >> [INFO] ------------------------------------------------------------- >> [ERROR] COMPILATION ERROR : >> [INFO] ------------------------------------------------------------- >> [ERROR] >> /D:/projectSvn/migration-test/torque4/target/generated-sources/com/nannet/jettiger/om/BaseJettigerUserImpl.java:[735,56] >> >> getPeer() in com.nannet.jettiger.om.BaseJettigerUserImpl cannot >> override getPeer() in >> org.apache.fulcrum.security.torque.om.BaseTorqueTurbineUser >> return type com.nannet.jettiger.om.JettigerUserImplPeer is not >> compatible with >> org.apache.fulcrum.security.torque.om.TorqueTurbineUserPeer >> [INFO] 1 error >> >> >> How can I fix it ? >> >> >> Thanks, >> >> Youngho >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: dev-unsubscr...@turbine.apache.org >> For additional commands, e-mail: dev-h...@turbine.apache.org >> >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: dev-unsubscr...@turbine.apache.org >> For additional commands, e-mail: dev-h...@turbine.apache.org >> --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@turbine.apache.org For additional commands, e-mail: dev-h...@turbine.apache.org