Re: [uportal-dev] RuntimeException with export-preferences.crn
Eric Dalquist wrote: Tuy, Could you post a diff of your current export-preferences.crn file? One thought for the change Drew suggested is there is already a ${PORTAL_CONTEXT} variable defined for all of the import/export/delete scripts so that long line could probably be: value="${groovy(PORTAL_CONTEXT.getBean('portletEntityPreferenceHandler').getEntityPreferences(USER_ID.intValue()))}"> Thanks Eric, that's helpful. drew wills -- Andrew Wills UNICON, Inc. Office: (480) 558-2476 http://code.google.com/p/cernunnos/ -- You are currently subscribed to uportal-dev@lists.ja-sig.org as: [EMAIL PROTECTED] To unsubscribe, change settings or access archives, see http://www.ja-sig.org/wiki/display/JSG/uportal-dev
Re: [uportal-dev] RuntimeException with export-preferences.crn
Eric, Attached is the patch for the export-preferences.crn file. Tuy. Eric Dalquist wrote: > Tuy, > > Could you post a diff of your current export-preferences.crn file? > > One thought for the change Drew suggested is there is already a > ${PORTAL_CONTEXT} variable defined for all of the import/export/delete > scripts so that long line could probably be: > > value="${groovy(PORTAL_CONTEXT.getBean('portletEntityPreferenceHandler').getEntityPreferences(USER_ID.intValue()))}"> > > > > Also if you can get a diff we can try it in a few other environments > and see if we can get a patch in for 3.0.1 > > -Eric > > Tuyhang Ly wrote: >> Thanks Drew! >> >> This change works fine. >> >> Tuy. >> >> Drew Wills wrote: >>> Tuy, >>> >>> That's too bad -- based on what I had read, I thought Groovy would >>> happily convert a BigDecimal to an int in this case. >>> >>> I believe we can still use intValue(), as you originally suggested. >>> >>> For this approach, change line 36 () to the following: >>> >>> >> value="${groovy(org.jasig.portal.spring.PortalApplicationContextLocator.getApplicationContext().getBean('portletEntityPreferenceHandler').getEntityPreferences(USER_ID.intValue()))}"> >>> >>> >>> >>> drew wills >>> >>> Tuyhang Ly wrote: Hi Drew, We use Oracle 10g and I've tried using your new version of this file, but it failed with this exception: Caused by: groovy.lang.MissingMethodException: No signature of method: org.jasig.portal.io.support.PortletEntityPreferenceHandler.getEntityPreferences() is applicable for argument types: (java.math.BigDecimal) values: {-5} at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:572) at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:450) at org.codehaus.groovy.runtime.Invoker.invokeMethod(Invoker.java:119) at org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.java:111) at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodN(ScriptBytecodeAdapter.java:187) at Script17.run(Script17.groovy:1) at com.sun.script.groovy.GroovyScriptEngine.eval(GroovyScriptEngine.java:244) ... 102 more Thanks, Tuy. Drew Wills wrote: > Tuyhang, > > What RDBMS are you using? My local HSQLDB instance indicates a > TYPE_NAME of INTEGER for the up_user.user_id field, and the > export-preferences.crn XML works for me as-is. > > The fix you suggested... > > > > would work perfectly as far as I'm aware, thanks in part to the > magic of duck-typing (i.e. it will work both for instances of > BigDecimal & Integer). > > But here's another suggestion: in looking at this file it seemed > to me it could benefit from some refactoring. Here's a new > version of the file, plus a .patch file that highlights the > changes. I didn't count, but I think it trims ~15 or so lines of > noise. > > Again -- it works on my DB. Let me know how it works for you. > > drew wills > > Tuyhang Ly wrote: > >> Hi, >> >> When using the export-preferences.crn script in uP3, we >> encountered the following RuntimeException: >> >> "Unable to locate method 'getEntityPreferences' on object of >> class >> 'org.jasig.portal.io.support.PortletEntityPreferenceHandler' >> (argument types follow): >> arg type=java.math.BigDecimal" >> >> The USER_ID column type is NUMBER and the JDBC mapping is >> BigDecimal. Hence, we have to explicitly convert it to integer, >> the expected argument type for the getEntityPreferences() method, >> such as on line 45 of this script, >> >> * should it be: > value="${jexl(USER_ID.intValue())}" /> >> >> * instead of: >> >> >> Thanks, >> Tuy. >> >> -- >> >> You are currently subscribed to uportal-dev@lists.ja-sig.org as: >> [EMAIL PROTECTED] >> To unsubscribe, change settings or access archives, see >> http://www.ja-sig.org/wiki/display/JSG/uportal-dev >> >> > > -- You are currently subscribed to uportal-dev@lists.ja-sig.org as: [EMAIL PROTECTED] To unsubscribe, change settings or access archives, see http://www.ja-sig.org/wiki/display/JSG/uportal-dev >>> >> -- You are currently subscribed to uportal-dev@lists.ja-sig.org as: [EMAIL PROTECTED] To unsubscribe, change settings or access archives, see http://www.ja-sig.org/wiki/display/JSG/uportal-devIndex: C:/opt/eclipse/workspace/uPortal_trunk/uportal-impl/src/main/resources/org/jasig/portal/io/export-preferences.crn
Re: [uportal-dev] RuntimeException with export-preferences.crn
Tuy, Could you post a diff of your current export-preferences.crn file? One thought for the change Drew suggested is there is already a ${PORTAL_CONTEXT} variable defined for all of the import/export/delete scripts so that long line could probably be: value="${groovy(PORTAL_CONTEXT.getBean('portletEntityPreferenceHandler').getEntityPreferences(USER_ID.intValue()))}"> Also if you can get a diff we can try it in a few other environments and see if we can get a patch in for 3.0.1 -Eric Tuyhang Ly wrote: Thanks Drew! This change works fine. Tuy. Drew Wills wrote: Tuy, That's too bad -- based on what I had read, I thought Groovy would happily convert a BigDecimal to an int in this case. I believe we can still use intValue(), as you originally suggested. For this approach, change line 36 () to the following: value="${groovy(org.jasig.portal.spring.PortalApplicationContextLocator.getApplicationContext().getBean('portletEntityPreferenceHandler').getEntityPreferences(USER_ID.intValue()))}"> drew wills Tuyhang Ly wrote: Hi Drew, We use Oracle 10g and I've tried using your new version of this file, but it failed with this exception: Caused by: groovy.lang.MissingMethodException: No signature of method: org.jasig.portal.io.support.PortletEntityPreferenceHandler.getEntityPreferences() is applicable for argument types: (java.math.BigDecimal) values: {-5} at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:572) at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:450) at org.codehaus.groovy.runtime.Invoker.invokeMethod(Invoker.java:119) at org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.java:111) at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodN(ScriptBytecodeAdapter.java:187) at Script17.run(Script17.groovy:1) at com.sun.script.groovy.GroovyScriptEngine.eval(GroovyScriptEngine.java:244) ... 102 more Thanks, Tuy. Drew Wills wrote: Tuyhang, What RDBMS are you using? My local HSQLDB instance indicates a TYPE_NAME of INTEGER for the up_user.user_id field, and the export-preferences.crn XML works for me as-is. The fix you suggested... would work perfectly as far as I'm aware, thanks in part to the magic of duck-typing (i.e. it will work both for instances of BigDecimal & Integer). But here's another suggestion: in looking at this file it seemed to me it could benefit from some refactoring. Here's a new version of the file, plus a .patch file that highlights the changes. I didn't count, but I think it trims ~15 or so lines of noise. Again -- it works on my DB. Let me know how it works for you. drew wills Tuyhang Ly wrote: Hi, When using the export-preferences.crn script in uP3, we encountered the following RuntimeException: "Unable to locate method 'getEntityPreferences' on object of class 'org.jasig.portal.io.support.PortletEntityPreferenceHandler' (argument types follow): arg type=java.math.BigDecimal" The USER_ID column type is NUMBER and the JDBC mapping is BigDecimal. Hence, we have to explicitly convert it to integer, the expected argument type for the getEntityPreferences() method, such as on line 45 of this script, * should it be: value="${jexl(USER_ID.intValue())}" /> * instead of: Thanks, Tuy. -- You are currently subscribed to uportal-dev@lists.ja-sig.org as: [EMAIL PROTECTED] To unsubscribe, change settings or access archives, see http://www.ja-sig.org/wiki/display/JSG/uportal-dev -- You are currently subscribed to uportal-dev@lists.ja-sig.org as: [EMAIL PROTECTED] To unsubscribe, change settings or access archives, see http://www.ja-sig.org/wiki/display/JSG/uportal-dev smime.p7s Description: S/MIME Cryptographic Signature
Re: [uportal-dev] RuntimeException with export-preferences.crn
Thanks Drew! This change works fine. Tuy. Drew Wills wrote: Tuy, That's too bad -- based on what I had read, I thought Groovy would happily convert a BigDecimal to an int in this case. I believe we can still use intValue(), as you originally suggested. For this approach, change line 36 () to the following: value="${groovy(org.jasig.portal.spring.PortalApplicationContextLocator.getApplicationContext().getBean('portletEntityPreferenceHandler').getEntityPreferences(USER_ID.intValue()))}"> drew wills Tuyhang Ly wrote: Hi Drew, We use Oracle 10g and I've tried using your new version of this file, but it failed with this exception: Caused by: groovy.lang.MissingMethodException: No signature of method: org.jasig.portal.io.support.PortletEntityPreferenceHandler.getEntityPreferences() is applicable for argument types: (java.math.BigDecimal) values: {-5} at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:572) at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:450) at org.codehaus.groovy.runtime.Invoker.invokeMethod(Invoker.java:119) at org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.java:111) at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodN(ScriptBytecodeAdapter.java:187) at Script17.run(Script17.groovy:1) at com.sun.script.groovy.GroovyScriptEngine.eval(GroovyScriptEngine.java:244) ... 102 more Thanks, Tuy. Drew Wills wrote: Tuyhang, What RDBMS are you using? My local HSQLDB instance indicates a TYPE_NAME of INTEGER for the up_user.user_id field, and the export-preferences.crn XML works for me as-is. The fix you suggested... would work perfectly as far as I'm aware, thanks in part to the magic of duck-typing (i.e. it will work both for instances of BigDecimal & Integer). But here's another suggestion: in looking at this file it seemed to me it could benefit from some refactoring. Here's a new version of the file, plus a .patch file that highlights the changes. I didn't count, but I think it trims ~15 or so lines of noise. Again -- it works on my DB. Let me know how it works for you. drew wills Tuyhang Ly wrote: Hi, When using the export-preferences.crn script in uP3, we encountered the following RuntimeException: "Unable to locate method 'getEntityPreferences' on object of class 'org.jasig.portal.io.support.PortletEntityPreferenceHandler' (argument types follow): arg type=java.math.BigDecimal" The USER_ID column type is NUMBER and the JDBC mapping is BigDecimal. Hence, we have to explicitly convert it to integer, the expected argument type for the getEntityPreferences() method, such as on line 45 of this script, * should it be: * instead of: Thanks, Tuy. -- You are currently subscribed to uportal-dev@lists.ja-sig.org as: [EMAIL PROTECTED] To unsubscribe, change settings or access archives, see http://www.ja-sig.org/wiki/display/JSG/uportal-dev -- You are currently subscribed to uportal-dev@lists.ja-sig.org as: [EMAIL PROTECTED] To unsubscribe, change settings or access archives, see http://www.ja-sig.org/wiki/display/JSG/uportal-dev -- You are currently subscribed to uportal-dev@lists.ja-sig.org as: [EMAIL PROTECTED] To unsubscribe, change settings or access archives, see http://www.ja-sig.org/wiki/display/JSG/uportal-dev
Re: [uportal-dev] RuntimeException with export-preferences.crn
Tuy, That's too bad -- based on what I had read, I thought Groovy would happily convert a BigDecimal to an int in this case. I believe we can still use intValue(), as you originally suggested. For this approach, change line 36 () to the following: value="${groovy(org.jasig.portal.spring.PortalApplicationContextLocator.getApplicationContext().getBean('portletEntityPreferenceHandler').getEntityPreferences(USER_ID.intValue()))}"> drew wills Tuyhang Ly wrote: Hi Drew, We use Oracle 10g and I've tried using your new version of this file, but it failed with this exception: Caused by: groovy.lang.MissingMethodException: No signature of method: org.jasig.portal.io.support.PortletEntityPreferenceHandler.getEntityPreferences() is applicable for argument types: (java.math.BigDecimal) values: {-5} at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:572) at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:450) at org.codehaus.groovy.runtime.Invoker.invokeMethod(Invoker.java:119) at org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.java:111) at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodN(ScriptBytecodeAdapter.java:187) at Script17.run(Script17.groovy:1) at com.sun.script.groovy.GroovyScriptEngine.eval(GroovyScriptEngine.java:244) ... 102 more Thanks, Tuy. Drew Wills wrote: Tuyhang, What RDBMS are you using? My local HSQLDB instance indicates a TYPE_NAME of INTEGER for the up_user.user_id field, and the export-preferences.crn XML works for me as-is. The fix you suggested... would work perfectly as far as I'm aware, thanks in part to the magic of duck-typing (i.e. it will work both for instances of BigDecimal & Integer). But here's another suggestion: in looking at this file it seemed to me it could benefit from some refactoring. Here's a new version of the file, plus a .patch file that highlights the changes. I didn't count, but I think it trims ~15 or so lines of noise. Again -- it works on my DB. Let me know how it works for you. drew wills Tuyhang Ly wrote: Hi, When using the export-preferences.crn script in uP3, we encountered the following RuntimeException: "Unable to locate method 'getEntityPreferences' on object of class 'org.jasig.portal.io.support.PortletEntityPreferenceHandler' (argument types follow): arg type=java.math.BigDecimal" The USER_ID column type is NUMBER and the JDBC mapping is BigDecimal. Hence, we have to explicitly convert it to integer, the expected argument type for the getEntityPreferences() method, such as on line 45 of this script, * should it be: * instead of: Thanks, Tuy. -- You are currently subscribed to uportal-dev@lists.ja-sig.org as: [EMAIL PROTECTED] To unsubscribe, change settings or access archives, see http://www.ja-sig.org/wiki/display/JSG/uportal-dev -- You are currently subscribed to uportal-dev@lists.ja-sig.org as: [EMAIL PROTECTED] To unsubscribe, change settings or access archives, see http://www.ja-sig.org/wiki/display/JSG/uportal-dev -- You are currently subscribed to uportal-dev@lists.ja-sig.org as: [EMAIL PROTECTED] To unsubscribe, change settings or access archives, see http://www.ja-sig.org/wiki/display/JSG/uportal-dev
Re: [uportal-dev] RuntimeException with export-preferences.crn
Hi Drew, We use Oracle 10g and I've tried using your new version of this file, but it failed with this exception: Caused by: groovy.lang.MissingMethodException: No signature of method: org.jasig.portal.io.support.PortletEntityPreferenceHandler.getEntityPreferences() is applicable for argument types: (java.math.BigDecimal) values: {-5} at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:572) at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:450) at org.codehaus.groovy.runtime.Invoker.invokeMethod(Invoker.java:119) at org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.java:111) at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodN(ScriptBytecodeAdapter.java:187) at Script17.run(Script17.groovy:1) at com.sun.script.groovy.GroovyScriptEngine.eval(GroovyScriptEngine.java:244) ... 102 more Thanks, Tuy. Drew Wills wrote: > Tuyhang, > > What RDBMS are you using? My local HSQLDB instance indicates a > TYPE_NAME of INTEGER for the up_user.user_id field, and the > export-preferences.crn XML works for me as-is. > > The fix you suggested... > > > > would work perfectly as far as I'm aware, thanks in part to the magic of > duck-typing (i.e. it will work both for instances of BigDecimal & Integer). > > But here's another suggestion: in looking at this file it seemed to me > it could benefit from some refactoring. Here's a new version of the > file, plus a .patch file that highlights the changes. I didn't count, > but I think it trims ~15 or so lines of noise. > > Again -- it works on my DB. Let me know how it works for you. > > drew wills > > Tuyhang Ly wrote: > >> Hi, >> >> When using the export-preferences.crn script in uP3, we encountered the >> following RuntimeException: >> >> "Unable to locate method 'getEntityPreferences' on object of class >> 'org.jasig.portal.io.support.PortletEntityPreferenceHandler' (argument >> types follow): >> arg type=java.math.BigDecimal" >> >> The USER_ID column type is NUMBER and the JDBC mapping is BigDecimal. >> Hence, we have to explicitly convert it to integer, the expected >> argument type for the getEntityPreferences() method, such as on line 45 >> of this script, >> >> * should it be: >> >> >> >> * instead of: >> >> >> >> Thanks, >> Tuy. >> >> -- >> >> You are currently subscribed to uportal-dev@lists.ja-sig.org as: [EMAIL >> PROTECTED] >> To unsubscribe, change settings or access archives, see >> http://www.ja-sig.org/wiki/display/JSG/uportal-dev >> >> > > -- You are currently subscribed to uportal-dev@lists.ja-sig.org as: [EMAIL PROTECTED] To unsubscribe, change settings or access archives, see http://www.ja-sig.org/wiki/display/JSG/uportal-dev
Re: [uportal-dev] RuntimeException with export-preferences.crn
Tuyhang, What RDBMS are you using? My local HSQLDB instance indicates a TYPE_NAME of INTEGER for the up_user.user_id field, and the export-preferences.crn XML works for me as-is. The fix you suggested... would work perfectly as far as I'm aware, thanks in part to the magic of duck-typing (i.e. it will work both for instances of BigDecimal & Integer). But here's another suggestion: in looking at this file it seemed to me it could benefit from some refactoring. Here's a new version of the file, plus a .patch file that highlights the changes. I didn't count, but I think it trims ~15 or so lines of noise. Again -- it works on my DB. Let me know how it works for you. drew wills Tuyhang Ly wrote: > Hi, > > When using the export-preferences.crn script in uP3, we encountered the > following RuntimeException: > > "Unable to locate method 'getEntityPreferences' on object of class > 'org.jasig.portal.io.support.PortletEntityPreferenceHandler' (argument > types follow): > arg type=java.math.BigDecimal" > > The USER_ID column type is NUMBER and the JDBC mapping is BigDecimal. > Hence, we have to explicitly convert it to integer, the expected > argument type for the getEntityPreferences() method, such as on line 45 > of this script, > > * should it be: > > > > * instead of: > > > > Thanks, > Tuy. > > -- > > You are currently subscribed to uportal-dev@lists.ja-sig.org as: [EMAIL > PROTECTED] > To unsubscribe, change settings or access archives, see > http://www.ja-sig.org/wiki/display/JSG/uportal-dev > -- You are currently subscribed to uportal-dev@lists.ja-sig.org as: [EMAIL PROTECTED] To unsubscribe, change settings or access archives, see http://www.ja-sig.org/wiki/display/JSG/uportal-devIndex: uportal-impl/src/main/resources/org/jasig/portal/io/export-preferences.crn === --- uportal-impl/src/main/resources/org/jasig/portal/io/export-preferences.crn (revision 43657) +++ uportal-impl/src/main/resources/org/jasig/portal/io/export-preferences.crn (working copy) @@ -1,16 +1,16 @@ - @@ -32,106 +32,90 @@ } - - - - - - -SELECT user_id FROM up_user WHERE user_name = ? - + + + + + + + + + +PORTLET_DATA[0] = '${USER_NAME}'; + + + + + + +PORTLET_DATA[0] = '${sql(SELECT user_name FROM up_user WHERE user_id = ${groovy(PORTLET_DATA[0])})}'; + + + + + + +${newDoc(structures)} +${sql(SELECT user_id FROM up_user WHERE user_name = '${groovy(PORTLET_DATA[0])}')} - - + +SELECT * FROM up_layout_struct WHERE user_id = ? AND layout_id = 1 AND chan_id IS NULL + - - - - - - - - PORTLET_DATA[0] = '${USER_NAME}'; - - - - - - - PORTLET_DATA[0] = '${sql(SELECT user_name FROM up_user WHERE user_id = ${groovy(PORTLET_DATA[0])})
[uportal-dev] RuntimeException with export-preferences.crn
Hi, When using the export-preferences.crn script in uP3, we encountered the following RuntimeException: "Unable to locate method 'getEntityPreferences' on object of class 'org.jasig.portal.io.support.PortletEntityPreferenceHandler' (argument types follow): arg type=java.math.BigDecimal" The USER_ID column type is NUMBER and the JDBC mapping is BigDecimal. Hence, we have to explicitly convert it to integer, the expected argument type for the getEntityPreferences() method, such as on line 45 of this script, * should it be: * instead of: Thanks, Tuy. -- You are currently subscribed to uportal-dev@lists.ja-sig.org as: [EMAIL PROTECTED] To unsubscribe, change settings or access archives, see http://www.ja-sig.org/wiki/display/JSG/uportal-dev