You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@turbine.apache.org by Youngho Cho <yo...@gmail.com> on 2014/09/29 08:59:43 UTC

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-unsubscribe@turbine.apache.org
For additional commands, e-mail: dev-help@turbine.apache.org


Re: Re: trunk fulcrum-security-torque migration question

Posted by Youngho Cho <yo...@gmail.com>.
Hello Georg,

Thanks for your kind pointer.
Looks like It is difficult to merge trunk fulcrum-security into our
application at this moment.

I will just upgrade torque-3.3 to torque-4.1 for our old
fulcrum-security service.


Thanks,

Youngho


2014-09-30 20:45 GMT+09:00 Georg Kallidis <ge...@cedis.fu-berlin.de>:
> Hi Youngho,
>
> I thought at the beginning, that you may have no need to use the
> convenience classes provided in the Fulcrum Security torque module.
> If you want use them, you have to do some more changes:
>
>
> (1) You should adapt (or delete and rename)
>
> org.apache.fulcrum.security.torque.turbine.TorqueAbstractTurbineUser
> (this class or some super class extends TorqueAbstractSecurityEntity)
>
> and change any call of TorqueTurbineUserPeer to JettigerUserImplPeer.
> (If you want to use the other abstract classes too you have to change
> them as well (e.g. change the method call getTorqueTurbineUser to
> getJettigerUserImpl in TorqueAbstractTurbineGroup..).
>
> (2)
> Of course, if you are using e.g. mysql databae autoincrement you should
> set idMethod="native", othrwise you have to set idMethod="idbroker",
> which is used in the fulcrum security torque tests.
>
> (3)
> The generating schema becomes then:
>
>  <table name="TURBINE_USER" javaName="JettigerUserImpl"
> idMethod="idbroker"
>
>
> peerInterface="org.apache.fulcrum.security.torque.peer.TorqueTurbinePeer"
>
> baseClass="org.apache.fulcrum.security.torque.turbine.TorqueAbstractTurbineUser"
>       interface="JettigerUser">
>
> You should delete the generated classes and regenerate.
>
> If you package your module may be you should rename it and NOT include
> the overwritten default fulcrum security torque dependency. Otherwise
> you may have class loading issues (classes having the same name, but
> different implementation).
>
> Best, Georg
>
> P.S. Dynamic peer class loading is possible, but still hard coded
> references (e.g. TorqueTurbineUserPeer.DATABASE_NAME) exist as a default
> configuration option. At the moment templating (your use case) is
> possible, but requires some code adaptions (method renaming).
>
>
>
>
>
> Von:    Youngho Cho <yo...@gmail.com>
> An:     Turbine Developers List <de...@turbine.apache.org>
> Datum:  30.09.2014 11:22
> Betreff:        Re: trunk fulcrum-security-torque migration question
>
>
>
> 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("easydesk@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 <yo...@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
> <ge...@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 <yo...@gmail.com>
>>> An:     Turbine Developers List <de...@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-unsubscribe@turbine.apache.org
>>> For additional commands, e-mail: dev-help@turbine.apache.org
>>>
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: dev-unsubscribe@turbine.apache.org
>>> For additional commands, e-mail: dev-help@turbine.apache.org
>>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@turbine.apache.org
> For additional commands, e-mail: dev-help@turbine.apache.org
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@turbine.apache.org
> For additional commands, e-mail: dev-help@turbine.apache.org
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@turbine.apache.org
For additional commands, e-mail: dev-help@turbine.apache.org


Antwort: Re: trunk fulcrum-security-torque migration question

Posted by Georg Kallidis <ge...@cedis.fu-berlin.de>.
Hi Youngho,

I thought at the beginning, that you may have no need to use the
convenience classes provided in the Fulcrum Security torque module.
If you want use them, you have to do some more changes:


(1) You should adapt (or delete and rename)

org.apache.fulcrum.security.torque.turbine.TorqueAbstractTurbineUser
(this class or some super class extends TorqueAbstractSecurityEntity)

and change any call of TorqueTurbineUserPeer to JettigerUserImplPeer.
(If you want to use the other abstract classes too you have to change
them as well (e.g. change the method call getTorqueTurbineUser to
getJettigerUserImpl in TorqueAbstractTurbineGroup..).

(2)
Of course, if you are using e.g. mysql databae autoincrement you should
set idMethod="native", othrwise you have to set idMethod="idbroker",
which is used in the fulcrum security torque tests.

(3)
The generating schema becomes then:

 <table name="TURBINE_USER" javaName="JettigerUserImpl"
idMethod="idbroker"


peerInterface="org.apache.fulcrum.security.torque.peer.TorqueTurbinePeer"

baseClass="org.apache.fulcrum.security.torque.turbine.TorqueAbstractTurbineUser"
      interface="JettigerUser">

You should delete the generated classes and regenerate.

If you package your module may be you should rename it and NOT include
the overwritten default fulcrum security torque dependency. Otherwise
you may have class loading issues (classes having the same name, but
different implementation).

Best, Georg

P.S. Dynamic peer class loading is possible, but still hard coded
references (e.g. TorqueTurbineUserPeer.DATABASE_NAME) exist as a default
configuration option. At the moment templating (your use case) is
possible, but requires some code adaptions (method renaming).





Von:	Youngho Cho <yo...@gmail.com>
An:	Turbine Developers List <de...@turbine.apache.org>
Datum:	30.09.2014 11:22
Betreff:	Re: trunk fulcrum-security-torque migration question



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("easydesk@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 <yo...@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
<ge...@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 <yo...@gmail.com>
>> An:     Turbine Developers List <de...@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-unsubscribe@turbine.apache.org
>> For additional commands, e-mail: dev-help@turbine.apache.org
>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@turbine.apache.org
>> For additional commands, e-mail: dev-help@turbine.apache.org
>>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@turbine.apache.org
For additional commands, e-mail: dev-help@turbine.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@turbine.apache.org
For additional commands, e-mail: dev-help@turbine.apache.org


Re: trunk fulcrum-security-torque migration question

Posted by Youngho Cho <yo...@gmail.com>.
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("easydesk@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 <yo...@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 <ge...@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 <yo...@gmail.com>
>> An:     Turbine Developers List <de...@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-unsubscribe@turbine.apache.org
>> For additional commands, e-mail: dev-help@turbine.apache.org
>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@turbine.apache.org
>> For additional commands, e-mail: dev-help@turbine.apache.org
>>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@turbine.apache.org
For additional commands, e-mail: dev-help@turbine.apache.org


Re: trunk fulcrum-security-torque migration question

Posted by Youngho Cho <yo...@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 <ge...@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 <yo...@gmail.com>
> An:     Turbine Developers List <de...@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-unsubscribe@turbine.apache.org
> For additional commands, e-mail: dev-help@turbine.apache.org
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@turbine.apache.org
> For additional commands, e-mail: dev-help@turbine.apache.org
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@turbine.apache.org
For additional commands, e-mail: dev-help@turbine.apache.org


Antwort: trunk fulcrum-security-torque migration question

Posted by Georg Kallidis <ge...@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 <yo...@gmail.com>
An:	Turbine Developers List <de...@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-unsubscribe@turbine.apache.org
For additional commands, e-mail: dev-help@turbine.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@turbine.apache.org
For additional commands, e-mail: dev-help@turbine.apache.org