Hi Giordano, You’ve chopped off the root error in the stack trace below so it’s hard to help you with your velocity error.
Thanks -Vincent On 26 Dec 2015 at 17:07:25, Giordano Ninonà (giordano.nin...@gmail.com) wrote: Hi Vincent, I've solved the "save files" problem with absolute paths and it works, however I've another problem, this time with the Velocity macro inside a wiki page. This is the exception that I've got: org.xwiki.rendering.macro.MacroExecutionException: Failed to evaluate Velocity Macro for content [#if("$!request.evolver" == 1) ## Request for creating a new instance ##$services.evoS.parseBPXML('Home','BSS Rome') $services.evoS.removeInstance('Take bike') ##$response.sendRedirect($xwiki.getURL('Main.WebHome')) #else #end {{html}} <form action="" id="newEvolution" method="POST"> <div> <input type="hidden" name="evolver" value="1"/> <span class="buttonwrapper"> <input type="submit" value="Evolve" class="button"/> </span> </div> </form> {{/html}}] at org.xwiki.rendering.internal.macro.velocity.VelocityMacro.evaluateString(VelocityMacro.java:131) at org.xwiki.rendering.internal.macro.velocity.VelocityMacro.evaluateString(VelocityMacro.java:50) at org.xwiki.rendering.macro.script.AbstractScriptMacro.evaluateBlock(AbstractScriptMacro.java:286) at org.xwiki.rendering.macro.script.AbstractScriptMacro.execute(AbstractScriptMacro.java:182) at org.xwiki.rendering.macro.script.AbstractScriptMacro.execute(AbstractScriptMacro.java:58) at org.xwiki.rendering.internal.transformation.macro.MacroTransformation.transform(MacroTransformation.java:269) at org.xwiki.rendering.internal.transformation.DefaultRenderingContext.transformInContext(DefaultRenderingContext.java:183) at org.xwiki.rendering.internal.transformation.DefaultTransformationManager.performTransformations(DefaultTransformationManager.java:95) at org.xwiki.display.internal.DocumentContentDisplayer.display(DocumentContentDisplayer.java:253) at org.xwiki.display.internal.DocumentContentDisplayer.display(DocumentContentDisplayer.java:126) at org.xwiki.display.internal.DocumentContentDisplayer.display(DocumentContentDisplayer.java:56) at org.xwiki.display.internal.DefaultDocumentDisplayer.display(DefaultDocumentDisplayer.java:96) at org.xwiki.display.internal.DefaultDocumentDisplayer.display(DefaultDocumentDisplayer.java:39) at org.xwiki.sheet.internal.SheetDocumentDisplayer.display(SheetDocumentDisplayer.java:113) at org.xwiki.sheet.internal.SheetDocumentDisplayer.display(SheetDocumentDisplayer.java:50) at org.xwiki.display.internal.ConfiguredDocumentDisplayer.display(ConfiguredDocumentDisplayer.java:68) at org.xwiki.display.internal.ConfiguredDocumentDisplayer.display(ConfiguredDocumentDisplayer.java:42) at com.xpn.xwiki.doc.XWikiDocument.getRenderedContent(XWikiDocument.java:1164) at com.xpn.xwiki.doc.XWikiDocument.getRenderedContent(XWikiDocument.java:1127) at com.xpn.xwiki.doc.XWikiDocument.getRenderedContent(XWikiDocument.java:1179) at com.xpn.xwiki.api.Document.getRenderedContent(Document.java:692) at sun.reflect.GeneratedMethodAccessor403.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.doInvoke(UberspectImpl.java:395) at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:384) at org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:173) at org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.java:280) at org.apache.velocity.runtime.parser.node.ASTReference.value(ASTReference.java:567) at org.apache.velocity.runtime.parser.node.ASTExpression.value(ASTExpression.java:71) ...etc etc You can find in the attachments the Tree structure of my wiki, pages inside "BSS Rome" space are all terminal pages. Thank you for your help, Giordano. 2015-12-26 13:03 GMT+01:00 vinc...@massol.net <vinc...@massol.net>: Hi Giordano, On 23 Dec 2015 at 19:40:11, Giordano Ninonà (giordano.nin...@gmail.com(mailto:giordano.nin...@gmail.com)) wrote: > Thanks Vincent, > > I found everything I need but I got a nullpointer exeptioneverytime I use the > environment.getTemporaryDirectory() method in my code. > I thought it could be the component manager, so I've tried to inizialize it > but I got an error every time I call the method "initialize()", as suggested > in [1] and [2]. If you’re deploying your component inside an XWiki you don’t need to initialize the CM, this is done for you by XWiki. A NPE means you’re missing an @Inject and thus the Environment instance is null. Could you show us your code? Thanks -Vincent > Any ideas why it is not working? > > Thanks, > Giordano > > [1] http://extensions.xwiki.org/xwiki/bin/view/Extension/Environment+Module > [2] > http://extensions.xwiki.org/xwiki/bin/view/Extension/Component+Module#HComponentManagerInitialization > > > 2015-12-23 16:59 GMT+01:00 vinc...@massol.net(mailto:vinc...@massol.net) : > > > > > > On 23 Dec 2015 at 16:56:20, Giordano Ninonà > > (giordano.nin...@gmail.com(mailto:giordano.nin...@gmail.com)(mailto:giordano.nin...@gmail.com)) > > wrote: > > > > > Hi users, > > > > > > Thanks for your answers, anyway it wasn't a String problem, and also > > > change > > > to GET doesn't produce anything. Maybe I've found my problem, when I start > > > my component, the very first thing to do is to parse an XML file thus my > > > script service provide a "parseBPXML()" method. The problem is where can i > > > store this file in order to make accessible by my component, I've already > > > Injected the Environment component but I can't understand where to put my > > > file (i.e. which is the "permanent directory") and how to access it. > > > > Check your xwiki.properties file and search for permanentDirectory. > > > > Thanks > > -Vincent > > > > > Thank you, > > > Giordano. > > > > > > 2015-12-23 6:51 GMT+01:00 Marius Dumitru Florea < > > > mariusdumitru.flo...@xwiki.com(mailto:mariusdumitru.flo...@xwiki.com)>: > > > > > > > On Wed, Dec 23, 2015 at 12:30 AM, Ludovic Dubost > > > > wrote: > > > > > > > > > Isn't the problem that it should be > > > > > > > > > > #if("$!request.evolver" == "1") > > > > > > > > > > And not > > > > > > > > > > > > > > > > > > > #if("$!request.evolver" == 1) > > > > > > > > > > > > > I thought so too but I tested and it works. I checked the Velocity > > > > documentation [1] and the explanation is: > > > > > > > > "In the last case (when objects are of different classes), the > > > > toString() > > > > method is called on each object and the resulting Strings are compared." > > > > > > > > Thanks, > > > > Marius > > > > > > > > [1] > > > > > > > > https://click.apache.org/docs/velocity/vtl-reference-guide.html##if/#elseif/#else%20-%20Output%20conditional%20on%20truth%20of%20statements(https://click.apache.org/docs/velocity/vtl-reference-guide.html#%23if/%23elseif/%23else%20-%20Output%20conditional%20on%20truth%20of%20statements) > > > > > > > > > > > > > > > > > > Ludo > > > > > Le 22 déc. 2015 21:32, "Giordano Ninonà" a > > > > > écrit : > > > > > > > > > > > Dear Vincent, > > > > > > > > > > > > Tank you for your reply, I would try what you suggested in the > > > > afternoon, > > > > > > but regarding the "evolver=1 request param", I've set it equal to 1 > > > > > > together with POST command in order to make it always true ensuring > > > > that > > > > > my > > > > > > component is started every time. My thoughts were wrong? > > > > > > > > > > > > Giordano. > > > > > > > > > > > > 2015-12-22 11:31 GMT+01:00 > > > > > > vinc...@massol.net(mailto:vinc...@massol.net) : > > > > > > > > > > > > > Hi Giordano, > > > > > > > > > > > > > > On 21 Dec 2015 at 15:20:55, Giordano Ninonà ( > > > > giordano.nin...@gmail.com(mailto:giordano.nin...@gmail.com) > > > > > > > (mailto:giordano.nin...@gmail.com)) wrote: > > > > > > > > > > > > > > > Hi users, > > > > > > > > > > > > > > > > My project in XWiki consists in a java component which offers > > > > > > > > some > > > > > APIs > > > > > > > > through a script service called by a Velocity script in a wiki > > > > page. > > > > > > > > > > > > > > > > I put my .jar in the directory C:\XWiki Enterprise > > > > > > > > 7.3\*webapps\xwiki\WEB-INF\lib > > > > > > > > *and this is the Velocity and HTML code that I've put in my > > > > > > > > XWiki > > > > > page: > > > > > > > > > > > > > > > > {{velocity}} > > > > > > > > #if("$!request.evolver" == 1) > > > > > > > > ## Request for creating a new instance > > > > > > > > $services.pars.parse() > > > > > > > > $services.evo.removeInstance("Take bike") > > > > > > > > $response.sendRedirect($xwiki.getURL('Main.WebHome')) > > > > > > > > ## Stop processing, since we already sent a redirect. > > > > > > > > #stop > > > > > > > > #end > > > > > > > > > > > > > > [snip] > > > > > > > > > > > > > > > Let first say that nothing is happening when I click on the > > > > "Evolve" > > > > > > > button > > > > > > > > and I don't know why...it looks like it should work, also > > > > > > > > because > > > > > > > creating > > > > > > > > a Main_test class in Eclipse, I can run my software calling > > > > > > > > exactly > > > > > the > > > > > > > > same methods and it works! > > > > > > > > > > > > > > You could use GET instead of POST and see what you get in the URL > > > > > > > (ie > > > > > > > whether you get the evolver=1 request param). > > > > > > > > > > > > > > > Moreover my component must create some files to store some > > > > > information, > > > > > > > > thus I am wondering where to save those files in order to make > > > > > > > > them > > > > > > > > accessible by the component. > > > > > > > > > > > > > > You can use the XWiki’s permanent directory. > > > > > > > > > > > > > > See > > > > > > > > > > > > http://extensions.xwiki.org/xwiki/bin/view/Extension/Environment+Module > > > > > > > > > > > > > > Thanks > > > > > > > -Vincent > > > > > > > > > > > > > > > Any suggestions? > > > > > > > > > > > > > > > > Thanks in advance, > > > > > > > > Giordano. > > > > > > > _______________________________________________ users mailing list users@xwiki.org http://lists.xwiki.org/mailman/listinfo/users