Thanks for the points Dhanushka. Please correct me if I have not understood
the points correctly.
1. I checked in the OSGI console and it shows the osgi service I'm using.
Is there any other thing I need to check?
2. I will try that out.
3. I will have to refer to the module as follows,right?
*var modManager = jagg.module("manager");*
Thanks.
Regards,
Dilhasha
*M.N.F. Dilhasha*
Software Engineering Intern | *WSO2 Lanka*
email :
*[email protected] <[email protected]>*mobile : +94 77 8449321
On Wed, Mar 18, 2015 at 10:59 AM, Danushka Fernando <[email protected]>
wrote:
> Few points
>
> 1. Did you check whether your osgi bundle is activated or not? May be
> that's the issue. Seems it cannot find the osgi service.
> 2. When start tenant flow in setTenantDomain method there is a another
> signature which will take in tenantDomain (String) and resolveTenantID
> (boolean) parameters. You can use that instead of setting tenantID
> manually.
> 3. The way you have included the module, AFAIR that's not the way to
> refer to a module. Refer to other places that we have done such a thing.
>
>
> Thanks & Regards
> Danushka Fernando
> Software Engineer
> WSO2 inc. http://wso2.com/
> Mobile : +94716332729
>
> On Wed, Mar 18, 2015 at 10:45 AM, Fathima Dilhasha <[email protected]>
> wrote:
>
>> Hi Mahesh,
>>
>> Thanks for the response.
>>
>> Following is the code in saveConfig.jag
>>
>> include("/jagg/jagg.jag");
>> include("/jagg/constants.jag");
>> include("/jagg/config_reader.jag");
>> include("/modules/manager/manager.jag");
>>
>> (function () {
>>
>> var carbon = require('carbon');
>> var log = new Log("module/issuetracker/saveConfig.jag");
>> var multitenancy = carbon.multitenancy;
>> var server = carbon.server;
>>
>>
>>
>> var context=multitenancy.getPrivilegedCarbonContext();
>> var tenantDomain = getTenantDomain();
>> var tenantId=getTenantId();
>>
>> var issueTrackerConfig =
>> Packages.org.wso2.carbon.appfactory.issuetracking.beans.IssueTrackerConfigurations;
>> var issueConfig=new issueTrackerConfig();
>> issueConfig.setIssueTrackerinstanceUrl("some url");
>>
>> try{
>>
>> context.startTenantFlow();
>> context.getThreadLocalCarbonContext().setTenantId(tenantId);
>> context.getThreadLocalCarbonContext().setTenantDomain(tenantDomain);
>>
>> server.osgiService('org.wso2.carbon.appfactory.issuetracking.service.IssueTrackerService').createProject("applicationName",
>> issueTrackerConfig);
>> }catch(e){
>> log.error(e);
>> }finally{
>> context.endTenantFlow();
>> }
>>
>>
>>
>>
>> }());
>>
>>
>>
>> The getTenantDomain,getTenantId functions are in a different jag file,
>> which I have included (manager.jag).
>>
>>
>>
>> *M.N.F. Dilhasha*
>> Software Engineering Intern | *WSO2 Lanka*
>>
>> email :
>> *[email protected] <[email protected]>*mobile : +94 77 8449321
>>
>> On Wed, Mar 18, 2015 at 10:35 AM, Mahesh Chinthaka <[email protected]>
>> wrote:
>>
>>> Hi Dilhasha,
>>>
>>> This could be either not setting tenant domain/ id properly or,
>>> issueTrackerConfig parameter might be null at that moment. can you share
>>> the code segment of whole function please. So we can see the reason for NPE.
>>>
>>> On Wed, Mar 18, 2015 at 10:27 AM, Fathima Dilhasha <[email protected]>
>>> wrote:
>>>
>>>> Hi,
>>>>
>>>> I'm trying to access an osgi service available in WSO2 Appfactory, from
>>>> the 'appmgt' jaggery app. In this process I get the following exception in
>>>> the server.
>>>>
>>>> *TID: [0] [AF] [2015-03-18 04:44:00,643] ERROR
>>>> {module/issuetracker/saveConfig.jag} -
>>>> org.mozilla.javascript.WrappedException: Wrapped
>>>> java.lang.NullPointerException (osgi#8)*
>>>> * at
>>>> org.mozilla.javascript.Context.throwAsScriptRuntimeEx(Context.java:1754)*
>>>> * at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:148)*
>>>> * at
>>>> org.mozilla.javascript.NativeJavaMethod.call(NativeJavaMethod.java:225)*
>>>> * at
>>>> org.mozilla.javascript.optimizer.OptRuntime.call1(OptRuntime.java:32)*
>>>> * at org.mozilla.javascript.gen.osgi_11._c_anonymous_2(osgi:8)*
>>>> * at org.mozilla.javascript.gen.osgi_11.call(osgi)*
>>>> * at
>>>> org.mozilla.javascript.optimizer.OptRuntime.call1(OptRuntime.java:32)*
>>>> * at
>>>> org.jaggeryjs.rhino.appmgt.modules.issuetracker.get.c0._c_anonymous_1(/appmgt/modules/issuetracker/get/saveConfig.jag:49)*
>>>> * at
>>>> org.jaggeryjs.rhino.appmgt.modules.issuetracker.get.c0.call(/appmgt/modules/issuetracker/get/saveConfig.jag)*
>>>> * at
>>>> org.mozilla.javascript.optimizer.OptRuntime.call0(OptRuntime.java:23)*
>>>> * at
>>>> org.jaggeryjs.rhino.appmgt.modules.issuetracker.get.c0._c_script_0(/appmgt/modules/issuetracker/get/saveConfig.jag:26)*
>>>> * at
>>>> org.jaggeryjs.rhino.appmgt.modules.issuetracker.get.c0.call(/appmgt/modules/issuetracker/get/saveConfig.jag)*
>>>> * at
>>>> org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:394)*
>>>> * at
>>>> org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3091)*
>>>> * at
>>>> org.jaggeryjs.rhino.appmgt.modules.issuetracker.get.c0.call(/appmgt/modules/issuetracker/get/saveConfig.jag)*
>>>> * at
>>>> org.jaggeryjs.rhino.appmgt.modules.issuetracker.get.c0.exec(/appmgt/modules/issuetracker/get/saveConfig.jag)*
>>>> * at
>>>> org.jaggeryjs.scriptengine.engine.RhinoEngine.execScript(RhinoEngine.java:567)*
>>>> * at
>>>> org.jaggeryjs.scriptengine.engine.RhinoEngine.exec(RhinoEngine.java:273)*
>>>> * at
>>>> org.jaggeryjs.jaggery.core.manager.WebAppManager.execute(WebAppManager.java:541)*
>>>> * at
>>>> org.jaggeryjs.jaggery.core.JaggeryServlet.doGet(JaggeryServlet.java:24)*
>>>> * at javax.servlet.http.HttpServlet.service(HttpServlet.java:735)*
>>>> * at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)*
>>>> * at
>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)*
>>>> * at
>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)*
>>>> * at
>>>> org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:749)*
>>>> * at
>>>> org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:487)*
>>>> * at
>>>> org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:379)*
>>>> * at
>>>> org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:339)*
>>>> * at
>>>> org.jaggeryjs.jaggery.core.JaggeryFilter.doFilter(JaggeryFilter.java:21)*
>>>> * at
>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)*
>>>> * at
>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)*
>>>> * at
>>>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)*
>>>> * at
>>>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)*
>>>> * at
>>>> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)*
>>>> * at
>>>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)*
>>>> * at
>>>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)*
>>>> * at
>>>> org.wso2.carbon.tomcat.ext.valves.CompositeValve.continueInvocation(CompositeValve.java:178)*
>>>> * at
>>>> org.wso2.carbon.tomcat.ext.valves.CarbonTomcatValve$1.invoke(CarbonTomcatValve.java:47)*
>>>> * at
>>>> org.wso2.carbon.webapp.mgt.TenantLazyLoaderValve.invoke(TenantLazyLoaderValve.java:56)*
>>>> * at
>>>> org.wso2.carbon.tomcat.ext.valves.TomcatValveContainer.invokeValves(TomcatValveContainer.java:47)*
>>>> * at
>>>> org.wso2.carbon.tomcat.ext.valves.CompositeValve.invoke(CompositeValve.java:141)*
>>>> * at
>>>> org.wso2.carbon.tomcat.ext.valves.CarbonStuckThreadDetectionValve.invoke(CarbonStuckThreadDetectionValve.java:156)*
>>>> * at
>>>> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)*
>>>> * at
>>>> org.wso2.carbon.tomcat.ext.valves.CarbonContextCreatorValve.invoke(CarbonContextCreatorValve.java:52)*
>>>> * at
>>>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)*
>>>> * at
>>>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)*
>>>> * at
>>>> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)*
>>>> * at
>>>> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)*
>>>> * at
>>>> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1653)*
>>>> * 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.NullPointerException*
>>>> * at
>>>> org.wso2.carbon.context.PrivilegedCarbonContext.getOSGiService(PrivilegedCarbonContext.java:448)*
>>>> * at sun.reflect.GeneratedMethodAccessor70.invoke(Unknown Source)*
>>>> * at
>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)*
>>>> * at java.lang.reflect.Method.invoke(Method.java:606)*
>>>> * at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:126)*
>>>> * ... 50 more*
>>>> * {module/issuetracker/saveConfig.jag}*
>>>>
>>>>
>>>> Following is the code segment in saveConfig.jag, which is responsible
>>>> for calling the osgi service.
>>>>
>>>> try{
>>>>
>>>> context.startTenantFlow();
>>>> context.getThreadLocalCarbonContext().setTenantId(tenantId);
>>>> context.getThreadLocalCarbonContext().setTenantDomain(tenantDomain);
>>>>
>>>> server.osgiService('org.wso2.carbon.appfactory.issuetracking.service.IssueTrackerService').createProject("applicationName",
>>>> issueTrackerConfig);
>>>> }catch(e){
>>>> log.error(e);
>>>> }finally{
>>>> context.endTenantFlow();
>>>> }
>>>>
>>>>
>>>> It would be really helpful, if someone can help me to overcome this
>>>> problem.
>>>>
>>>> Thanks.
>>>> Regards,
>>>> Dilhasha
>>>>
>>>>
>>>> *M.N.F. Dilhasha*
>>>> Software Engineering Intern | *WSO2 Lanka*
>>>>
>>>> email :
>>>> *[email protected] <[email protected]>*mobile : +94 77 8449321
>>>>
>>>> _______________________________________________
>>>> Dev mailing list
>>>> [email protected]
>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>>>
>>>>
>>>
>>>
>>> --
>>> *Mahesh Chinthaka Vidanagama* | Software Engineer
>>> WSO2, Inc | lean. enterprise. middleware.
>>> #20, Palm Grove, Colombo 03, Sri Lanka
>>> Mobile: +94 71 63 63 083 | Work: +94 112 145 345
>>> Email: [email protected] | Web: www.wso2.com
>>>
>>
>>
>> _______________________________________________
>> Dev mailing list
>> [email protected]
>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>
>>
>
_______________________________________________
Dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/dev