Null pointer is coming from Carbon Context. So seems somehow osgi service is not found.
Thanks & Regards Danushka Fernando Software Engineer WSO2 inc. http://wso2.com/ Mobile : +94716332729 On Wed, Mar 18, 2015 at 1:18 PM, Fathima Dilhasha <[email protected]> wrote: > Hi, > > Yeah 'createProject' is a method I introduced. I've patched it to my > AppFactory instance. > Okay, I will debug backend code and see. > > 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 1:04 PM, Mahesh Chinthaka <[email protected]> > wrote: > >> Hi, >> >> Is this 'createProject' method implemented by you inside >> IssueTrackerService ?? Because in my code I cannot see such a method in >> IssueTrackerService. >> You can debug the backend code to find out the place where NP occurs. >> >> >> On Wed, Mar 18, 2015 at 11:40 AM, Fathima Dilhasha <[email protected]> >> wrote: >> >>> Hi, >>> >>> I tried logging in between the steps. >>> >>> * tenantId and tenantDomain are not null >>> * The null pointer exception takes place in the following line. >>> >>> server.osgiService('org.wso2.carbon.appfactory.issuetracking.service.IssueTrackerService').createProject(applicationName", >>> issueTrackerConfig); >>> >>> Is it because the server cannot track the OSGI service I'm referring to? >>> (The service is listed in the OSGI cosole) >>> >>> How can I figure it out? >>> >>> 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 11:14 AM, Fathima Dilhasha <[email protected]> >>> wrote: >>> >>>> Hi Mahesh, >>>> >>>> Thanks for the points. I'll work on those and see. >>>> >>>> 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 11:13 AM, Mahesh Chinthaka <[email protected]> >>>> wrote: >>>> >>>>> Sorry I missed this, >>>>> getting modManager varialbe , put this befor getting the tenant domain. >>>>> var modManager = jagg.module("manager"); >>>>> >>>>> On Wed, Mar 18, 2015 at 11:11 AM, Mahesh Chinthaka <[email protected]> >>>>> wrote: >>>>> >>>>>> Hi Dilhasha, >>>>>> I think you havent got the tenant domain properly. >>>>>> >>>>>> you may use following to get tenant domain. >>>>>> var tenantDomain = modManager.getTenantDomain(); >>>>>> >>>>>> you may use following to set tenant domain n id >>>>>> >>>>>> context.getThreadLocalCarbonContext().setTenantDomain(tenantDomain,true); >>>>>> >>>>>> >>>>>> in between the steps you can put info logs to see values, in that >>>>>> way you may be able to see whats null here. >>>>>> >>>>>> 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 >>>>>>>> >>>>>>>> >>>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> *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 >>>>>> >>>>> >>>>> >>>>> >>>>> -- >>>>> *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 >>>>> >>>> >>>> >>> >> >> >> -- >> *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
