- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎09-10-2012 12:48 PM
I have a field called reviewers (multi valued string) it is populated thanks to the user suggestion widget i d like to use its content for a setACE operation in a chain but i get a casting error :
No type adapter found for input: class [Ljava.lang.String; and output class java.lang.String
I already made it, but can't remember how 😞
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎09-11-2012 06:05 AM
So if you are on 5.4.2, you have 2 solutions :
- Upgrade your Nuxeo to 5.6 😄
- Or if you have some development skills create your operation with Nuxeo IDE.
With Nuxeo IDE it will be really quick to do that :
I let you look the Nuxeo IDE installation documentation : http://doc.nuxeo.com/x/ZYKE
Then you create a new Nuxeo Plugin Project (click on the yellow button > new Nuxeo Plugin name it > next > next )
Create a new Operation (click on the yellow button > new Operation > name it > Next > Next )
And finally you fill the operation :
@Operation(id = YourOpertion.ID, category = Constants.CAT_SUBCHAIN_EXECUTION, label = "Run For Each", description = "") public class YourOpertion {
public static final String ID = "YourOpertion"; @Context protected OperationContext ctx; @Context protected AutomationService service; @Param(name = "id") protected String chainId; @Param(name = "list") protected String listName; @Param(name = "item", required = false, values = "item") protected String itemName = "item"; @Param(name = "isolate", required = false, values = "true") protected boolean isolate = true; @OperationMethod public void run() throws Exception { Map<String, Object> vars = isolate ? new HashMap<String, Object>( ctx.getVars()) : ctx.getVars(); OperationContext subctx = new OperationContext(ctx.getCoreSession(), vars); subctx.setInput(ctx.getInput()); for (Object value : (Collection<?>) ctx.get(listName)) { subctx.put(itemName, value); service.run(subctx, chainId); } }
}
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎09-11-2012 03:52 AM
Did you try the run for each operation with a sub operation.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎09-11-2012 04:37 AM
unforunately, i'm running a 5.4.2 project and the the "run for each " operation seems to be 5.5
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎09-11-2012 06:05 AM
So if you are on 5.4.2, you have 2 solutions :
- Upgrade your Nuxeo to 5.6 😄
- Or if you have some development skills create your operation with Nuxeo IDE.
With Nuxeo IDE it will be really quick to do that :
I let you look the Nuxeo IDE installation documentation : http://doc.nuxeo.com/x/ZYKE
Then you create a new Nuxeo Plugin Project (click on the yellow button > new Nuxeo Plugin name it > next > next )
Create a new Operation (click on the yellow button > new Operation > name it > Next > Next )
And finally you fill the operation :
@Operation(id = YourOpertion.ID, category = Constants.CAT_SUBCHAIN_EXECUTION, label = "Run For Each", description = "") public class YourOpertion {
public static final String ID = "YourOpertion"; @Context protected OperationContext ctx; @Context protected AutomationService service; @Param(name = "id") protected String chainId; @Param(name = "list") protected String listName; @Param(name = "item", required = false, values = "item") protected String itemName = "item"; @Param(name = "isolate", required = false, values = "true") protected boolean isolate = true; @OperationMethod public void run() throws Exception { Map<String, Object> vars = isolate ? new HashMap<String, Object>( ctx.getVars()) : ctx.getVars(); OperationContext subctx = new OperationContext(ctx.getCoreSession(), vars); subctx.setInput(ctx.getInput()); for (Object value : (Collection<?>) ctx.get(listName)) { subctx.put(itemName, value); service.run(subctx, chainId); } }
}
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎09-11-2012 06:42 AM
That's what i was about to do.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎09-11-2012 07:33 AM
Backporting new feature is bad...
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎09-11-2012 07:36 AM
Feel free to contribute an addon on github for missing operations
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎09-12-2012 07:16 AM
Create a new Question please...
