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
_______________________________________________
Dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to