Brian,

first, the value for jspwiki.plugin.externalJars should probably be an
absolute path.
And secondly, that could be the cause of the problem, you should not put
your photocollection.jar in a directory that is already on tomcat's
classpath (given it's name, /var/lib/tomcat7/lib looks like the lib folder
for your classpath ?).

So, could you try something like /tmp/photocollection.jar ?

kind regards,
Harry




On 25 February 2014 12:04, Brian Burch <br...@pingtoo.com> wrote:

> On 24/02/14 19:21, Brian Burch wrote:
>
>> On 24/02/14 18:00, Harry Metske (JIRA) wrote:
>>
>>>
>>>      [
>>> https://issues.apache.org/jira/browse/JSPWIKI-812?page=
>>> com.atlassian.jira.plugin.system.issuetabpanels:comment-
>>> tabpanel&focusedCommentId=13910581#comment-13910581
>>> ]
>>>
>>> Harry Metske commented on JSPWIKI-812:
>>> --------------------------------------
>>>
>>> Brian,
>>>
>>> I have used this property in jspwiki-custom.properties only. And only
>>> if I
>>> needed to load a plugin from an "external jar".
>>> Why would we need it in jspwiki.properties ?  Why WikiJSPFilter ?
>>>
>>
>> Sorry to confuse you Harry. My paranoia made me backup the exploded wiki
>> directory /inside/ tomcat's webapps directory. Tomcat was trying to
>> start the backup as well as the new version, with quite confusing
>> results for me.
>>
>> I've read your original comments more carefully and am in the process of
>> tidying up my own mess. Sorry to have bothered you, but thanks for
>> replying so quickly.
>>
>
> My question about Properties was triggered by the fact that I could not
> make my plugin work when it's jar was placed outside jspwiki/WEB-INF/lib/,
> i.e. in  (/var/lib/tomcat7/lib). After some careful re-installation and
> testing, my situation has not changed - but I have a lot more information
> about what works and what doesn't.
>
> I am running on ubuntu 13.10, using java-7-openjdk-i386 (1.7.0_51) and
> tomcat 7.0.52. JSPWIKI is at the latest trunk revision 1571366 (plus my
> VersioningFileProvider patches).
>
> When I use my original jspwiki-custom.properties (as originally used with
> tomcat 7.0.42 and jspwiki 2.10.0), and put my plugin jar in
> jspwiki/WEB-INF/lib, the plugin works perfectly. In other words, I am no
> longer panicking because my updated system works for me.
>
>
> However, when I make these two changes:
> a) add "jspwiki.plugin.externalJars = photocollection.jar" to
> jspwiki-custom.properties.
> b) move photocollection.jar from jspwiki.WEB-INF/lib to
> ${CATALINA_BASE}/lib (i.e. from where jspwiki-custom.properties is already
> being loaded).
>
> I get this Exception (which seems very similar to your original report):
>
> 2014-02-25 09:40:50,642 ERROR [org.apache.catalina.core.
> ContainerBase.[Catalina].[www2.pingtoo.com].[/wiki]] Exception starting
> filter WikiJSPFilter
>
> java.lang.NoClassDefFoundError: org/apache/wiki/api/plugin/WikiPlugin
>         at java.lang.ClassLoader.defineClass1(Native Method)
>         at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
>
>         at java.security.SecureClassLoader.defineClass(
> SecureClassLoader.java:142)
>         at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
>         at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
>         at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
>         at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
>         at java.security.AccessController.doPrivileged(Native Method)
>         at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
>         at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
>         at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
>
>         at java.lang.Class.forName0(Native Method)
>         at java.lang.Class.forName(Class.java:270)
>         at org.apache.catalina.loader.WebappClassLoader.loadClass(
> WebappClassLoader.java:1705)
>         at java.lang.ClassLoader.loadClass(ClassLoader.java:412)
>         at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
>         at org.apache.wiki.util.ClassUtil.findClass(ClassUtil.java:117)
>         at org.apache.wiki.plugin.DefaultPluginManager.findPluginClass(
> DefaultPluginManager.java:266)
>         at org.apache.wiki.plugin.DefaultPluginManager.newWikiPlugin(
> DefaultPluginManager.java:788)
>
>         at org.apache.wiki.parser.PluginContent.executeParse(
> PluginContent.java:217)
>         at org.apache.wiki.parser.JSPWikiMarkupParser.handleHyperlinks(
> JSPWikiMarkupParser.java:1467)
>         at org.apache.wiki.parser.JSPWikiMarkupParser.handleOpenbracket(
> JSPWikiMarkupParser.java:2269)
>         at org.apache.wiki.parser.JSPWikiMarkupParser.parseToken(
> JSPWikiMarkupParser.java:2844)
>         at org.apache.wiki.parser.JSPWikiMarkupParser.fillBuffer(
> JSPWikiMarkupParser.java:2643)
>         at org.apache.wiki.parser.JSPWikiMarkupParser.parse(
> JSPWikiMarkupParser.java:2916)
>         at org.apache.wiki.WikiEngine.textToHTML(WikiEngine.java:1654)
>         at org.apache.wiki.WikiEngine.scanWikiLinks(WikiEngine.java:1558)
>         at org.apache.wiki.ReferenceManager.updatePageReferences(
> ReferenceManager.java:193)
>         at org.apache.wiki.ReferenceManager.initialize(
> ReferenceManager.java:299)
>
>         at org.apache.wiki.WikiEngine.initReferenceManager(
> WikiEngine.java:728)
>         at org.apache.wiki.WikiEngine.initialize(WikiEngine.java:623)
>         at org.apache.wiki.WikiEngine.<init>(WikiEngine.java:430)
>         at org.apache.wiki.WikiEngine.getInstance(WikiEngine.java:370)
>         at org.apache.wiki.ui.WikiServletFilter.init(
> WikiServletFilter.java:82)
>         at org.apache.wiki.ui.WikiJSPFilter.init(WikiJSPFilter.java:88)
>         at org.apache.catalina.core.ApplicationFilterConfig.initFilter(
> ApplicationFilterConfig.java:279)
>         at org.apache.catalina.core.ApplicationFilterConfig.getFilter(
> ApplicationFilterConfig.java:260)
>         at org.apache.catalina.core.ApplicationFilterConfig.<init>
> (ApplicationFilterConfig.java:105)
>         at org.apache.catalina.core.StandardContext.filterStart(
> StandardContext.java:4809)
>         at org.apache.catalina.core.StandardContext.startInternal(
> StandardContext.java:5485)
>         at org.apache.catalina.util.LifecycleBase.start(
> LifecycleBase.java:150)
>         at org.apache.catalina.manager.ManagerServlet.start(
> ManagerServlet.java:1256)
>         at org.apache.catalina.manager.HTMLManagerServlet.start(
> HTMLManagerServlet.java:692)
>         at org.apache.catalina.manager.HTMLManagerServlet.doPost(
> HTMLManagerServlet.java:217)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:646)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
>         at org.apache.catalina.core.ApplicationFilterChain.
> internalDoFilter(ApplicationFilterChain.java:303)
>         at org.apache.catalina.core.ApplicationFilterChain.doFilter(
> ApplicationFilterChain.java:208)
>         at org.apache.catalina.filters.CsrfPreventionFilter.doFilter(
> CsrfPreventionFilter.java:213)
>         at org.apache.catalina.core.ApplicationFilterChain.
> internalDoFilter(ApplicationFilterChain.java:241)
>         at org.apache.catalina.core.ApplicationFilterChain.doFilter(
> ApplicationFilterChain.java:208)
>         at org.apache.tomcat.websocket.server.WsFilter.doFilter(
> WsFilter.java:52)
>         at org.apache.catalina.core.ApplicationFilterChain.
> internalDoFilter(ApplicationFilterChain.java:241)
>         at org.apache.catalina.core.ApplicationFilterChain.doFilter(
> ApplicationFilterChain.java:208)
>         at org.apache.catalina.filters.SetCharacterEncodingFilter.
> doFilter(SetCharacterEncodingFilter.java:108)
>         at org.apache.catalina.core.ApplicationFilterChain.
> internalDoFilter(ApplicationFilterChain.java:241)
>         at org.apache.catalina.core.ApplicationFilterChain.doFilter(
> ApplicationFilterChain.java:208)
>         at org.apache.catalina.core.StandardWrapperValve.invoke(
> StandardWrapperValve.java:220)
>         at org.apache.catalina.core.StandardContextValve.invoke(
> StandardContextValve.java:122)
>         at org.apache.catalina.authenticator.AuthenticatorBase.invoke(
> AuthenticatorBase.java:610)
>         at org.apache.catalina.core.StandardHostValve.invoke(
> StandardHostValve.java:170)
>         at org.apache.catalina.valves.ErrorReportValve.invoke(
> ErrorReportValve.java:98)
>         at org.apache.catalina.authenticator.SingleSignOn.
> invoke(SingleSignOn.java:339)
>         at org.apache.catalina.valves.AccessLogValve.invoke(
> AccessLogValve.java:950)
>         at org.apache.catalina.core.StandardEngineValve.invoke(
> StandardEngineValve.java:116)
>         at org.apache.catalina.connector.CoyoteAdapter.service(
> CoyoteAdapter.java:408)
>         at org.apache.coyote.http11.AbstractHttp11Processor.process(
> AbstractHttp11Processor.java:1040)
>         at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.
> process(AbstractProtocol.java:607)
>         at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.
> doRun(NioEndpoint.java:1721)
>         at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.
> run(NioEndpoint.java:1679)
>
>         at java.util.concurrent.ThreadPoolExecutor.runWorker(
> ThreadPoolExecutor.java:1145)
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(
> ThreadPoolExecutor.java:615)
>         at java.lang.Thread.run(Thread.java:744)
>
> Caused by: java.lang.ClassNotFoundException: org.apache.wiki.api.plugin.
> WikiPlugin
>         at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
>         at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
>         at java.security.AccessController.doPrivileged(Native Method)
>         at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
>         at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
>         at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
>         ... 73 more
>
> (there are a lot of wiki pages that want to use my plugin!!!)
>
> I have hung a debugger onto the tomcat system when the jspwiki webapp
> starts running.
>
> DefaultPluginManager.findPluginClass looks OK to me:
> * m_externalJars is [photocollection.jar] in agreement with my new
> property.
> * m_searchPath is [com.pingtoo.jspwiki.plugin, org.apache.wiki.plugin,
> org.apache.wiki.forms] in agreement with my (unchanged from the original)
> jspwiki.plugin.searchPath property.
>
> When it calls ClassUtil.findClass, the initial loader.loadClass gets a
> ClassNotFoundException (as expected, I think). The catch block then starts
> to iterate through the searchPath packages, looking for alternative
> fully-qualified package names that might apply to my plugin class. The
> first one it tries ought to be correct - com.pingtoo.jspwiki.plugin.
> PhotoCollectionPlugin.
>
> After stepping into the URLClassloader, a NoClassDefFoundError is caught
> at a higher point in the call stack, reporting the 
> java.lang.NoClassDefFoundError:
> org/apache/wiki/api/plugin/WikiPlugin.
>
>
> I tried a couple of nasty hacks:
> ** I /copied/ jspwiki-war-2.10.1-SNAPSHOT.jar into /var/lib/tomcat7/lib
>
> 2014-02-25 10:33:27,032 ERROR [org.apache.wiki.tags.WikiTagBase] Tag
> failed
> java.lang.ClassCastException: org.apache.wiki.WikiContext cannot be cast
> to org.apache.wiki.WikiContext
>         at org.apache.wiki.tags.WikiTagBase.doStartTag(
> WikiTagBase.java:81)
>         at org.apache.jsp.templates.photoCollection.Header_jsp._
> jspx_meth_photo_005fPhotoPageName_005f0(Header_jsp.java:365)
>         at org.apache.jsp.templates.photoCollection.Header_jsp._
> jspService(Header_jsp.java:214)
>         at org.apache.jasper.runtime.HttpJspBase.service(
> HttpJspBase.java:70)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
> <snip/>
> 2014-02-25 10:33:27,036 ERROR [org.apache.wiki.tags.WikiTagBase] Tag
> failed, check logs: org.apache.wiki.WikiContext cannot be cast to
> org.apache.wiki.WikiContext
>
> ** I /moved/ jspwiki-war-2.10.1-SNAPSHOT.jar into /var/lib/tomcat7/lib
>
> 2014-02-25 10:39:15,437 ERROR [org.apache.catalina.core.ContainerBase]
> ContainerBase.addChild: start:
> org.apache.catalina.LifecycleException: Failed to start component
> [StandardEngine[Catalina].StandardHost[www2.pingtoo.com]
> .StandardContext[/wiki]]
>         at org.apache.catalina.util.LifecycleBase.start(
> LifecycleBase.java:154)
>
>         at org.apache.catalina.core.ContainerBase.addChildInternal(
> ContainerBase.java:901)
>         at org.apache.catalina.core.ContainerBase.addChild(
> ContainerBase.java:877)
>         at org.apache.catalina.core.StandardHost.addChild(
> StandardHost.java:632)
>         at org.apache.catalina.startup.HostConfig.deployDescriptor(
> HostConfig.java:670)
> <snip/>
> Caused by: java.lang.NoClassDefFoundError: org/apache/xmlrpc/XmlRpcContext
>         at java.lang.Class.getDeclaredFields0(Native Method)
>         at java.lang.Class.privateGetDeclaredFields(Class.java:2397)
>         at java.lang.Class.getDeclaredFields(Class.java:1806)
> <snip/>
> 2014-02-25 10:39:15,444 ERROR [org.apache.catalina.startup.HostConfig]
> Error deploying configuration descriptor /etc/tomcat7/Catalina/www2.
> pingtoo.com/wiki.xml
>
>
> I am out of my personal ClassLoader-depth here! When I use the
> configuration you suggest, it seems the ClassLoader actually finds my
> plugin class in my jar.
>
> My PhotoCollection class implements WikiPlugin, it has:
> import org.apache.wiki.WikiContext;
> import org.apache.wiki.WikiEngine;
> import org.apache.wiki.api.exceptions.PluginException;
> import org.apache.wiki.api.exceptions.ProviderException;
> import org.apache.wiki.api.plugin.WikiPlugin;
> import org.apache.wiki.util.TextUtil;
>
> I suspect the problem arises because the classloader that finds my plugin
> is not able to find these imported classes. When I try my two hacks, it
> finds the imported classes but I either end up with 2 copies under
> different classloader instances, or some of them become invisible.
>
> Of course, I hope the true explanation is much simpler.... I've perhaps
> configured something wrong. In the ideal world I would write a new unit
> test to examine the problem, but I don't think that is within my capability.
>
> Can you suggest how I can either diagnose, or resolve this problem, please?
>
> Thanks,
>
> Brian
>
>
>  Brian
>>
>>  regards,
>>> Harry
>>>
>>>
>>>
>>>
>>>
>>>
>>>  plugin jars should be loadable from outside the war
>>>> ---------------------------------------------------
>>>>
>>>>                  Key: JSPWIKI-812
>>>>                  URL: https://issues.apache.org/jira/browse/JSPWIKI-812
>>>>              Project: JSPWiki
>>>>           Issue Type: Improvement
>>>>           Components: Plugins
>>>>     Affects Versions: 2.9, 2.9.1, 2.10
>>>>          Environment: Ubuntu Linux Mint 14 Nadia
>>>> Java(TM) SE Runtime Environment (build 1.7.0_25-b15)
>>>> JSPWiki 2.10.0
>>>>             Reporter: Harry Metske
>>>>             Assignee: Harry Metske
>>>>              Fix For: 2.10.1
>>>>
>>>>          Attachments: JSPWIKI-812.patch
>>>>
>>>>
>>>> I stumbled upon this bug while testing a non-core plugin.
>>>> To reproduce :
>>>> * add the plugin jar tomcat's lib directory (not the WEB-INF/lib dir
>>>> of jspwiki)
>>>> * update the jspwiki.plugin.searchPath property to include the
>>>> plugin's package name
>>>> * create a page that references the page
>>>> * restart your wiki
>>>> It will not initialize and throw the following exception :
>>>> {noformat}
>>>> Jan 18, 2014 1:20:24 PM org.apache.catalina.core.StandardContext
>>>> filterStart
>>>> SEVERE: Exception starting filter WikiJSPFilter
>>>> java.lang.NoClassDefFoundError: org/apache/wiki/api/plugin/WikiPlugin
>>>>     at java.lang.ClassLoader.defineClass1(Native Method)
>>>>     at java.lang.ClassLoader.defineClass(ClassLoader.java:792)
>>>>     at
>>>> java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
>>>>     at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
>>>>     at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
>>>>     at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
>>>>     at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
>>>>     at java.security.AccessController.doPrivileged(Native Method)
>>>>     at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
>>>>     at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
>>>>     at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
>>>>     at java.lang.Class.forName0(Native Method)
>>>>     at java.lang.Class.forName(Class.java:270)
>>>>     at
>>>> org.apache.catalina.loader.WebappClassLoader.loadClass(
>>>> WebappClassLoader.java:1700)
>>>>
>>>>     at
>>>> org.apache.catalina.loader.WebappClassLoader.loadClass(
>>>> WebappClassLoader.java:1558)
>>>>
>>>>     at org.apache.wiki.util.ClassUtil.findClass(ClassUtil.java:103)
>>>>     at
>>>> org.apache.wiki.plugin.DefaultPluginManager.findPluginClass(
>>>> DefaultPluginManager.java:256)
>>>>
>>>>     at
>>>> org.apache.wiki.plugin.DefaultPluginManager.newWikiPlugin(
>>>> DefaultPluginManager.java:769)
>>>>
>>>>     at
>>>> org.apache.wiki.parser.PluginContent.executeParse(
>>>> PluginContent.java:217)
>>>>
>>>>     at
>>>> org.apache.wiki.parser.JSPWikiMarkupParser.handleHyperlinks(
>>>> JSPWikiMarkupParser.java:1467)
>>>>
>>>>     at
>>>> org.apache.wiki.parser.JSPWikiMarkupParser.handleOpenbracket(
>>>> JSPWikiMarkupParser.java:2269)
>>>>
>>>>     at
>>>> org.apache.wiki.parser.JSPWikiMarkupParser.parseToken(
>>>> JSPWikiMarkupParser.java:2844)
>>>>
>>>>     at
>>>> org.apache.wiki.parser.JSPWikiMarkupParser.fillBuffer(
>>>> JSPWikiMarkupParser.java:2643)
>>>>
>>>>     at
>>>> org.apache.wiki.parser.JSPWikiMarkupParser.parse(
>>>> JSPWikiMarkupParser.java:2916)
>>>>
>>>>     at
>>>> org.apache.wiki.providers.CachingProvider.refreshMetadata(
>>>> CachingProvider.java:441)
>>>>
>>>>     at
>>>> org.apache.wiki.providers.CachingProvider.getPageInfo(
>>>> CachingProvider.java:484)
>>>>
>>>>     at org.apache.wiki.PageManager.getPageInfo(PageManager.java:420)
>>>>     at org.apache.wiki.WikiEngine.getPage(WikiEngine.java:1892)
>>>>     at org.apache.wiki.WikiEngine.getPage(WikiEngine.java:1872)
>>>>     at
>>>> org.apache.wiki.ReferenceManager.initialize(ReferenceManager.java:267)
>>>>     at
>>>> org.apache.wiki.WikiEngine.initReferenceManager(WikiEngine.java:728)
>>>>     at org.apache.wiki.WikiEngine.initialize(WikiEngine.java:623)
>>>>     at org.apache.wiki.WikiEngine.<init>(WikiEngine.java:430)
>>>>     at org.apache.wiki.WikiEngine.getInstance(WikiEngine.java:370)
>>>>     at
>>>> org.apache.wiki.ui.WikiServletFilter.init(WikiServletFilter.java:82)
>>>>     at org.apache.wiki.ui.WikiJSPFilter.init(WikiJSPFilter.java:88)
>>>>     at
>>>> org.apache.catalina.core.ApplicationFilterConfig.initFilter(
>>>> ApplicationFilterConfig.java:281)
>>>>
>>>>     at
>>>> org.apache.catalina.core.ApplicationFilterConfig.getFilter(
>>>> ApplicationFilterConfig.java:262)
>>>>
>>>>     at
>>>> org.apache.catalina.core.ApplicationFilterConfig.<init>
>>>> (ApplicationFilterConfig.java:107)
>>>>
>>>>     at
>>>> org.apache.catalina.core.StandardContext.filterStart(
>>>> StandardContext.java:4746)
>>>>
>>>>     at
>>>> org.apache.catalina.core.StandardContext.startInternal(
>>>> StandardContext.java:5399)
>>>>
>>>>     at
>>>> org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
>>>>     at
>>>> org.apache.catalina.core.ContainerBase.addChildInternal(
>>>> ContainerBase.java:901)
>>>>
>>>>     at
>>>> org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
>>>>     at
>>>> org.apache.catalina.core.StandardHost.addChild(StandardHost.java:633)
>>>>     at
>>>> org.apache.catalina.startup.HostConfig.deployDirectory(
>>>> HostConfig.java:1114)
>>>>
>>>>     at
>>>> org.apache.catalina.startup.HostConfig$DeployDirectory.
>>>> run(HostConfig.java:1673)
>>>>
>>>>     at
>>>> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
>>>>     at
>>>> java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
>>>>     at java.util.concurrent.FutureTask.run(FutureTask.java:166)
>>>>     at
>>>> java.util.concurrent.ThreadPoolExecutor.runWorker(
>>>> ThreadPoolExecutor.java:1145)
>>>>
>>>>     at
>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(
>>>> ThreadPoolExecutor.java:615)
>>>>
>>>>     at java.lang.Thread.run(Thread.java:724)
>>>> Caused by: java.lang.ClassNotFoundException:
>>>> org.apache.wiki.api.plugin.WikiPlugin
>>>>     at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
>>>>     at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
>>>>     at java.security.AccessController.doPrivileged(Native Method)
>>>>     at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
>>>>     at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
>>>>     at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
>>>>     ... 53 more
>>>> {noformat}
>>>> If you undo one of the three steps, problem is solved.
>>>> Also, if you move (not copy) the plugin jar to jspwiki's WEB-INF/lib
>>>> directory, the problem does not occur.
>>>> We want to stay away from war surgery and therefore having plugin
>>>> jars in tomcat's lib directory should be possible.
>>>>
>>>
>>>
>>>
>>> --
>>> This message was sent by Atlassian JIRA
>>> (v6.1.5#6160)
>>>
>>>
>

Reply via email to