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

Reply via email to