[ 
https://issues.apache.org/jira/browse/WOOKIE-387?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Scott Wilson updated WOOKIE-387:
--------------------------------

    Fix Version/s:     (was: 0.13.0)
                   0.14.0

Moving all flatpack-related issues to 0.14 to resolve at same time
                
> deploying flatpack to another wookie results in an error
> --------------------------------------------------------
>
>                 Key: WOOKIE-387
>                 URL: https://issues.apache.org/jira/browse/WOOKIE-387
>             Project: Wookie
>          Issue Type: Bug
>    Affects Versions: 0.11.0
>            Reporter: Sebastian M
>            Assignee: Scott Wilson
>             Fix For: 0.14.0
>
>
> I'm currently using the flatpack export function. This function is intended 
> to allow exporting an widget instance and allowing to deploy it in any 
> Wookie, right? Unfortunately this is not working for me, when trying to 
> deploy a flatpack widget to another Wookie placed on another server.
> Below are the steps to reproduce the behaviour. You need two Wookies with 
> different databases, a tool like curl to make some API requests and a test 
> widget which is not deployed to any Wookie beforehand:
> 1) run Wookie A and deploy the test widget there (I used a test widget with 
> the ID "http://wookie.apache.org/widgets/tabletest"; in my example)
> 2) create an instance of this widget by passing the instance params via POST 
> request to /wookie/widgetinstances, like the following curl command example 
> does:
> curl -X POST -d 
> "api_key=TEST&userid=iwcTraining&widgetid=http%3A%2F%2Fwookie.apache.org%2Fwidgets%2Ftabletest&"
>  "http://localhost:8080/wookie/widgetinstances";
> 3) get the flatpack URL of the test widget by passing the same instance 
> params (or just the instance id) to /wookie/flatpack, like the following curl 
> command example does:
> curl -X POST -d 
> "api_key=TEST&userid=iwcTraining&widgetid=http%3A%2F%2Fwookie.apache.org%2Fwidgets%2Ftabletest&"
>  "http://localhost:8080/wookie/flatpack";
> 4) download the flatpack from the URL, which the response returns
> 5) exit Wookie A and run Wookie B (or simply run them on different machines 
> and switch to Wookie B now)
> 6) deploy the just downloaded flatpack of Wookie A to Wookie B. Wookie B must 
> not have the widget in the database beforehand. If it does, everything works 
> as expected.
> 7) try to create an instance using the same request like in the 2nd step
> expected: get a instance identifier, width, height, ...
> actually: you get an error page, including this error line:
> [java] Caused by: org.apache.openjpa.lib.jdbc.ReportingSQLException: The 
> statement was aborted because it would have caused a duplicate key value in a 
> unique or primary key constraint or unique index identified by 
> 'UNPREFERENCE1' defined on 'PREFERENCE'. {prepstmnt 2951301 INSERT INTO 
> JAVA.Preference (ID, JPA_VERSION, WIDGET_INSTANCE_ID, DKEY, DVALUE, READONLY) 
> VALUES (?, ?, ?, ?, ?, ?) [params=(int) 504, (int) 1, (int) 452, (String) 
> sharedDataKey, (Reader) java.io.StringReader@7eda49, (String) t]} 
> [code=20000, state=23505]
> When removing the preference with the name "sharedDataKey" before redeploying 
> the flatpack helps. But I guess this is not intended behaviour, right?
> I am running the latest svn code from the server on both Wookies.
> I hope you can help me in solving this issue. Thank you in advance!

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to