07-03-2017 05:27 AM
Hi!
I am trying to perform a transformation.
var action = actions.create("transform");
action.parameters["destination-folder"] = folder;
action.parameters["assoc-type"] = "{http://www.alfresco.org/model/content/1.0}contains";
action.parameters["assoc-name"] = document.name.toString() + "transformed";
action.parameters["mime-type"] = "text/html";
action.parameters["overwrite-copy"] = false;
action.execute(document.getNodeRef());
This produces the following error on line 7:
org.mozilla.javascript.ConsString cannot be cast to org.alfresco.service.namespace.QName
I have read that one should change all JavaScript Strings with the .toString() method in order to resolve the issue and I tried this in the above example, but it still gives me the same error. Have I forgotten anything?
07-03-2017 06:15 AM
ok I just figured it out, line 4 must be changed to
action.parameters["assoc-name"] = (document.name + "transformed").toString();
07-03-2017 06:15 AM
ok I just figured it out, line 4 must be changed to
action.parameters["assoc-name"] = (document.name + "transformed").toString();
07-03-2017 09:07 AM
In my optinion this would be worth a bug report in the Alfresco JIRA. A constructed string (ConsString) is a valid JavaScript string and should be supported by the Alfresco JavaScript API. Chances are that Alfresco will not fix this though, similar to other long standing issues with the script integration, e.g. the fact that you cannot reliably do === comparisons of strings due to the Java vs. JavaScript type incompatibility (though in other areas Java strings will behave just like JavaScript ones).
Explore our Alfresco products with the links below. Use labels to filter content by product module.