Hi,

I could fix the error by registering *IssueTrackerService* as an OSGI
bundle.

That line was missing in the service component. Thank you Danushka for
pointing it out.

Thank you everyone who helped.

Regards,
Dilhasha

*M.N.F. Dilhasha*
Software Engineering Intern | *WSO2 Lanka*

email   :
*[email protected] <[email protected]>*mobile : +94 77 8449321

On Fri, Mar 20, 2015 at 10:16 AM, Fathima Dilhasha <[email protected]>
wrote:

> Hi Anuruddha,
>
> I also figured that *IssueTrackerService *class does not extend
> *AbstractAdmin* unlike the* ApplicationManagementService *class. Can that
> be the issue?
>
> Thanks.
>
> Regards,
> Dilhasha
>
> *M.N.F. Dilhasha*
> Software Engineering Intern | *WSO2 Lanka*
>
> email   :
> *[email protected] <[email protected]>*mobile : +94 77 8449321
>
> On Fri, Mar 20, 2015 at 10:04 AM, Fathima Dilhasha <[email protected]>
> wrote:
>
>> I compared services.xml files,
>>
>> And the only difference in *ApplicationManagementService* is the
>> following part.
>>
>> <parameter name="AuthorizationAction" 
>> locked="false">/permission/admin/appfactory/application/create
>> </parameter>
>> <operation name="publishApplicationVersionCreation">
>>    <parameter name="AuthorizationAction" 
>> locked="true">/permission/admin/appfactory/repository/branch
>>    </parameter>
>> </operation>
>>
>> .....................................................................................................
>>
>>
>> *M.N.F. Dilhasha*
>> Software Engineering Intern | *WSO2 Lanka*
>>
>> email   :
>> *[email protected] <[email protected]>*mobile : +94 77 8449321
>>
>> On Fri, Mar 20, 2015 at 10:00 AM, Fathima Dilhasha <[email protected]>
>> wrote:
>>
>>> Folowing is the code snippet in saveConfig.jag which I've used to access
>>> the OSGI service,
>>>
>>> try {
>>>
>>>     context.startTenantFlow();
>>>     context.getThreadLocalCarbonContext().setTenantId(tenantId);
>>>     log.info('setting tennant id successful');
>>>
>>>     context.getThreadLocalCarbonContext().setTenantDomain(tenantDomain, 
>>> true);
>>>     log.info('setting tennant domain successful');
>>>     log.info('server ' + server);
>>>     var service = 
>>> server.osgiService('org.wso2.carbon.appfactory.issuetracking.service.IssueTrackerService');
>>>
>>>     log.info('service is called successfully');
>>>
>>>     service.createProject("applicationName", issueTrackerConfig);
>>>
>>> } catch (e) {
>>>     log.error(e);
>>> } finally {
>>>     context.endTenantFlow();
>>> }
>>>
>>>
>>> In above code if I replace 
>>> org.wso2.carbon.appfactory.issuetracking.service.IssueTrackerService
>>>
>>> with 
>>> *org.wso2.carbon.appfactory.application.mgt.service.ApplicationManagementService,*
>>>
>>> I get no errors and it works fine.
>>>
>>>
>>> *M.N.F. Dilhasha*
>>> Software Engineering Intern | *WSO2 Lanka*
>>>
>>> email   :
>>> *[email protected] <[email protected]>*mobile : +94 77 8449321
>>>
>>> On Fri, Mar 20, 2015 at 9:53 AM, Anuruddha Premalal <[email protected]>
>>> wrote:
>>>
>>>> Hi Fathima,
>>>>
>>>> Could you provide the code snippets, which you used to access the OSGI
>>>> service?.
>>>> You could also refer to modules/manager/manager.jag to verify your
>>>> method.
>>>>
>>>> Can you also check the service.xml file of the issuetracking service to
>>>> see whether the methods are exposed with correct privileges. You could use
>>>> application management service.xml as a reference.
>>>>
>>>> Regards,
>>>>
>>>> On Fri, Mar 20, 2015 at 9:40 AM, Fathima Dilhasha <[email protected]>
>>>> wrote:
>>>>
>>>>> Hi,
>>>>>
>>>>> Sorry about the previous email. After some time,
>>>>> *org.wso2.carbon.appfactory.issuetracking* component is in
>>>>> ''satisfied' state as follows.
>>>>>
>>>>> *osgi> comp 27 *
>>>>> * Component[*
>>>>> * name = org.wso2.carbon.issutracker*
>>>>> * factory = null*
>>>>> * autoenable = true*
>>>>> * immediate = true*
>>>>> * implementation =
>>>>> org.wso2.carbon.appfactory.issuetracking.internal.IssueTrackerServiceComponent*
>>>>> * state = Unsatisfied*
>>>>> * properties = {service.pid=org.wso2.carbon.issutracker}*
>>>>> * serviceFactory = false*
>>>>> * serviceInterface = null*
>>>>> * references = {*
>>>>> * Reference[name = appfactory.configuration, interface =
>>>>> org.wso2.carbon.appfactory.common.AppFactoryConfiguration, policy =
>>>>> dynamic, cardinality = 1..1, target = null, bind =
>>>>> setAppFactoryConfiguration, unbind = unsetAppFactoryConfiguration]*
>>>>> * Reference[name = appfactory.application.mgt.service, interface =
>>>>> org.wso2.carbon.appfactory.application.mgt.service.ApplicationManagementService,
>>>>> policy = dynamic, cardinality = 1..1, target = null, bind =
>>>>> setApplicationManagementService, unbind =
>>>>> unsetApplicationManagementService]*
>>>>> * }*
>>>>> * located in bundle =
>>>>> org.wso2.carbon.appfactory.issuetracking_2.1.0.SNAPSHOT [194]*
>>>>> *]*
>>>>> *Dynamic information :*
>>>>> *  The component is satisfied*
>>>>> *  All component references are satisfied*
>>>>> *  Component configurations :*
>>>>> *    Configuration properties:*
>>>>> *      service.pid = org.wso2.carbon.issutracker*
>>>>> *      component.name <http://component.name> =
>>>>> org.wso2.carbon.issutracker*
>>>>> *      component.id <http://component.id> = 26*
>>>>> *    Instances:*
>>>>> *
>>>>> org.eclipse.equinox.internal.ds.impl.ComponentInstanceImpl@31be9a70*
>>>>> *    Bound References:*
>>>>> *
>>>>> String[org.wso2.carbon.appfactory.common.AppFactoryConfiguration]*
>>>>> *      ->
>>>>> org.wso2.carbon.appfactory.common.AppFactoryConfiguration@588d4893*
>>>>> *
>>>>> String[org.wso2.carbon.appfactory.application.mgt.service.ApplicationManagementService]*
>>>>> *      ->
>>>>> org.wso2.carbon.appfactory.application.mgt.service.ApplicationManagementService@2397d850*
>>>>>
>>>>>
>>>>> Now, what could be the reason for the above null pointer exception?
>>>>>
>>>>> Thanks.
>>>>>
>>>>> Regards,
>>>>> Dilhasha
>>>>>
>>>>> *M.N.F. Dilhasha*
>>>>> Software Engineering Intern | *WSO2 Lanka*
>>>>>
>>>>> email   :
>>>>> *[email protected] <[email protected]>*mobile : +94 77 8449321
>>>>>
>>>>> On Fri, Mar 20, 2015 at 9:32 AM, Fathima Dilhasha <[email protected]>
>>>>> wrote:
>>>>>
>>>>>> Hi,
>>>>>> I tried listing the osgi services and I found issue tracker service
>>>>>> in 'UNSATISFIED' state.
>>>>>>
>>>>>> These are the details for  *org.wso2.carbon.appfactory.issuetracking*
>>>>>> component.
>>>>>>
>>>>>> *osgi> comp 27*
>>>>>> * Component[*
>>>>>> * name = org.wso2.carbon.issutracker*
>>>>>> * factory = null*
>>>>>> * autoenable = true*
>>>>>> * immediate = true*
>>>>>> * implementation =
>>>>>> org.wso2.carbon.appfactory.issuetracking.internal.IssueTrackerServiceComponent*
>>>>>> * state = Unsatisfied*
>>>>>> * properties = {service.pid=org.wso2.carbon.issutracker}*
>>>>>> * serviceFactory = false*
>>>>>> * serviceInterface = null*
>>>>>> * references = {*
>>>>>> * Reference[name = appfactory.configuration, interface =
>>>>>> org.wso2.carbon.appfactory.common.AppFactoryConfiguration, policy =
>>>>>> dynamic, cardinality = 1..1, target = null, bind =
>>>>>> setAppFactoryConfiguration, unbind = unsetAppFactoryConfiguration]*
>>>>>> * Reference[name = appfactory.application.mgt.service, interface =
>>>>>> org.wso2.carbon.appfactory.application.mgt.service.ApplicationManagementService,
>>>>>> policy = dynamic, cardinality = 1..1, target = null, bind =
>>>>>> setApplicationManagementService, unbind =
>>>>>> unsetApplicationManagementService]*
>>>>>> * }*
>>>>>> * located in bundle =
>>>>>> org.wso2.carbon.appfactory.issuetracking_2.1.0.SNAPSHOT [194]*
>>>>>> *]*
>>>>>> *Dynamic information :*
>>>>>> *  *The component is NOT satisfied*
>>>>>> *  The following references are not satisfied:*
>>>>>> *    Reference[name = appfactory.application.mgt.service, interface =
>>>>>> org.wso2.carbon.appfactory.application.mgt.service.ApplicationManagementService,
>>>>>> policy = dynamic, cardinality = 1..1, target = null, bind =
>>>>>> setApplicationManagementService, unbind =
>>>>>> unsetApplicationManagementService]*
>>>>>> *  Component configurations :*
>>>>>> *    Configuration properties:*
>>>>>> *      service.pid = org.wso2.carbon.issutracker*
>>>>>> *      component.name <http://component.name> =
>>>>>> org.wso2.carbon.issutracker*
>>>>>> *      component.id <http://component.id> = 26*
>>>>>> *    Instances:*
>>>>>>
>>>>>>
>>>>>>
>>>>>> *M.N.F. Dilhasha*
>>>>>> Software Engineering Intern | *WSO2 Lanka*
>>>>>>
>>>>>> email   :
>>>>>> *[email protected] <[email protected]>*mobile : +94 77 8449321
>>>>>>
>>>>>> On Fri, Mar 20, 2015 at 8:43 AM, Fathima Dilhasha <[email protected]>
>>>>>> wrote:
>>>>>>
>>>>>>> Thank you.
>>>>>>>
>>>>>>> That's correct, I used list admin services to see the services. I'll
>>>>>>> debug more and see.
>>>>>>>
>>>>>>> Thanks.
>>>>>>>
>>>>>>> Regards,
>>>>>>> Dilhasha
>>>>>>>
>>>>>>> *M.N.F. Dilhasha*
>>>>>>> Software Engineering Intern | *WSO2 Lanka*
>>>>>>>
>>>>>>> email   :
>>>>>>> *[email protected] <[email protected]>*mobile : +94 77 8449321
>>>>>>>
>>>>>>> On Fri, Mar 20, 2015 at 7:46 AM, Danushka Fernando <
>>>>>>> [email protected]> wrote:
>>>>>>>
>>>>>>>> It needs to be an osgi service to do that. Probably you have used
>>>>>>>> list admin services command to check in osgi console. That will list 
>>>>>>>> web
>>>>>>>> services not osgi services. Same as wsdl.
>>>>>>>>
>>>>>>>> Thanks & Regards
>>>>>>>> Danushka Fernando
>>>>>>>> Software Engineer
>>>>>>>> WSO2 inc. http://wso2.com/
>>>>>>>> Mobile : +94716332729
>>>>>>>>
>>>>>>>>
>>>>>>>> On Mar 20, 2015 7:33 AM, "Fathima Dilhasha" <[email protected]>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>>
>>>>>>>>> Hi,
>>>>>>>>>
>>>>>>>>> I am trying to access the IssueTrackerService from a module in
>>>>>>>>> appmgt. This gives a null pointer exception as follows.
>>>>>>>>>
>>>>>>>>> *TID: [0] [AF] [2015-03-20 01:27:36,329] 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.c1._c_anonymous_1(/appmgt/modules/issuetracker/get/saveConfig.jag:56)*
>>>>>>>>> * at
>>>>>>>>> org.jaggeryjs.rhino.appmgt.modules.issuetracker.get.c1.call(/appmgt/modules/issuetracker/get/saveConfig.jag)*
>>>>>>>>> * at
>>>>>>>>> org.mozilla.javascript.ScriptRuntime.applyOrCall(ScriptRuntime.java:2430)*
>>>>>>>>> * at
>>>>>>>>> org.mozilla.javascript.BaseFunction.execIdCall(BaseFunction.java:269)*
>>>>>>>>> * at
>>>>>>>>> org.mozilla.javascript.IdFunctionObject.call(IdFunctionObject.java:97)*
>>>>>>>>> * at
>>>>>>>>> org.mozilla.javascript.optimizer.OptRuntime.call2(OptRuntime.java:42)*
>>>>>>>>> * at
>>>>>>>>> org.jaggeryjs.rhino.appmgt.modules.issuetracker.c0._c_anonymous_4(/appmgt/modules/issuetracker/module.jag:32)*
>>>>>>>>> * at
>>>>>>>>> org.jaggeryjs.rhino.appmgt.modules.issuetracker.c0.call(/appmgt/modules/issuetracker/module.jag)*
>>>>>>>>> * at
>>>>>>>>> org.mozilla.javascript.optimizer.OptRuntime.callProp0(OptRuntime.java:85)*
>>>>>>>>> * at
>>>>>>>>> org.jaggeryjs.rhino.appmgt.site.blocks.issuetracker.list.ajax.c1._c_anonymous_1(/appmgt/site/blocks/issuetracker/list/ajax/save.jag:10)*
>>>>>>>>> * at
>>>>>>>>> org.jaggeryjs.rhino.appmgt.site.blocks.issuetracker.list.ajax.c1.call(/appmgt/site/blocks/issuetracker/list/ajax/save.jag)*
>>>>>>>>> * at
>>>>>>>>> org.mozilla.javascript.optimizer.OptRuntime.call0(OptRuntime.java:23)*
>>>>>>>>> * at
>>>>>>>>> org.jaggeryjs.rhino.appmgt.site.blocks.issuetracker.list.ajax.c1._c_script_0(/appmgt/site/blocks/issuetracker/list/ajax/save.jag:6)*
>>>>>>>>> * at
>>>>>>>>> org.jaggeryjs.rhino.appmgt.site.blocks.issuetracker.list.ajax.c1.call(/appmgt/site/blocks/issuetracker/list/ajax/save.jag)*
>>>>>>>>> * at
>>>>>>>>> org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:394)*
>>>>>>>>> * at
>>>>>>>>> org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3091)*
>>>>>>>>> * at
>>>>>>>>> org.jaggeryjs.rhino.appmgt.site.blocks.issuetracker.list.ajax.c1.call(/appmgt/site/blocks/issuetracker/list/ajax/save.jag)*
>>>>>>>>> * at
>>>>>>>>> org.jaggeryjs.rhino.appmgt.site.blocks.issuetracker.list.ajax.c1.exec(/appmgt/site/blocks/issuetracker/list/ajax/save.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)*
>>>>>>>>> * ... 59 more*
>>>>>>>>> * {module/issuetracker/saveConfig.jag}*
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> But when I try to access another service (e.g.
>>>>>>>>> ApplicationManagementService) , no exception occurs and code works 
>>>>>>>>> fine.
>>>>>>>>>
>>>>>>>>> Regarding IssueTrackerService,
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>    - It is listed in the osgi console.
>>>>>>>>>    - I can access the wsdl for the service at specified url
>>>>>>>>>    - I don't see any usage of the IssueTrackerService
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> What can be the issue with this service?
>>>>>>>>> Any help is appreciated.
>>>>>>>>>
>>>>>>>>> Thanks.
>>>>>>>>>
>>>>>>>>> Regards,
>>>>>>>>> Dilhasha
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> *M.N.F. Dilhasha*
>>>>>>>>> Software Engineering Intern | *WSO2 Lanka*
>>>>>>>>>
>>>>>>>>> email   :
>>>>>>>>> *[email protected] <[email protected]>*mobile : +94 77 8449321
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> *Anuruddha Premalal*
>>>> Software Eng. | WSO2 Inc.
>>>> Mobile : +94710461070
>>>> Web site : www.regilandvalley.com
>>>>
>>>>
>>>
>>
>
_______________________________________________
Dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to