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

Reply via email to