Nadeesha, this is a good catch! I will update the ES docs appropriately when a conclusion is reached in this regard!
Regards, Mariangela *Mariangela Hills* Senior Technical Writer - WSO2, Inc. http://wso2.com Committer and PMC member - Apache Stratos email:mariang...@wso2.com | mobile: +94 773 500185 On Fri, Aug 21, 2015 at 11:39 AM, Nadeesha Meegoda <nadees...@wso2.com> wrote: > Hi ES team, > > We all are aware that assets cannot be created without an *Asset Name* > and *Version *since they are mandatory in the perspective of adding an > asset. But in user perspective since the RXT is customizable they can > remove the "*Required =True*" for those "* Name*" and "*Version*" fields > and with that RXT configuration if they try to add an asset without those > fields, backend Error is thrown which is noted in [1]. > > If we make those fields *Not Required* from RXT, these will be > reflected in Asset creation UI as *Not Required *fields which is > misleading to the end users as they are actually Not required fields but > when actually adding the asset, backend error is thrown since they should > be saved in storagePath. > > Can we have a feasible solution for this please? The following are few > suggestions from QA. > > 1. Though the "Required=true" is removed for Name and Version from RXT > definition, we can show it as mandatory in asset creation UI and when they > are values for those fields are not entered give a feasible UI error message > > 2. We can validate the RXT whether those fields are always "Required = > True" and without those fields "Required = True" the RXT cannot be saved > . > > In QA's point of view this is an issue that should be given attention to. > The jira added for this is noted in [2]. But ths jira was added only > considering version field. > > Any feedback on this is highly appreciated! > > [1] - [2015-06-12 14:33:54,310] ERROR > {org.wso2.carbon.governance.api.util.GovernanceUtils} > > - Value for required attribute overview_version found empty. > [2015-06-12 14:33:54,315] ERROR > {org.wso2.carbon.governance.api.common.GovernanceArtifactManager} > > - Failed to add artifact: artifact id: > 176cd77f-3604-42b5-976e-2b2bd09c57eb. Value for required attribute > overview_version found empty. > org.wso2.carbon.governance.api.exception.GovernanceException: Value for > required attribute overview_version found empty. > at > org.wso2.carbon.governance.api.util.GovernanceUtils.getPathFromPathExpression(GovernanceUtils.java:1303) > at > org.wso2.carbon.governance.api.common.GovernanceArtifactManager.addGovernanceArtifact(GovernanceArtifactManager.java:185) > at > org.wso2.carbon.governance.api.generic.GenericArtifactManager.addGenericArtifact(GenericArtifactManager.java:215) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) > 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) > at org.mozilla.javascript.NativeJavaMethod.call(NativeJavaMethod.java:225) > at org.mozilla.javascript.optimizer.OptRuntime.call1(OptRuntime.java:32) > at > org.jaggeryjs.rhino.<carbon>.\scripts\registry.c0._c_anonymous_20(<carbon>\scripts\registry\artifacts.js:299) > at > org.jaggeryjs.rhino.<carbon>.\scripts\registry.c0.call(<carbon>\scripts\registry\artifacts.js) > at org.mozilla.javascript.optimizer.OptRuntime.call1(OptRuntime.java:32) > at > org.jaggeryjs.rhino.<rxt>.\scripts\asset.c0._c_anonymous_11(<rxt>\scripts\asset\asset.js:202) > at > org.jaggeryjs.rhino.<rxt>.\scripts\asset.c0.call(<rxt>\scripts\asset\asset.js) > 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.Interpreter.interpretLoop(Interpreter.java:1473) > at org.mozilla.javascript.Interpreter.interpret(Interpreter.java:815) > at > org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:109) > at org.mozilla.javascript.optimizer.OptRuntime.call1(OptRuntime.java:32) > at > org.jaggeryjs.rhino.publisher.modules.c4._c_anonymous_13(/publisher/modules/asset-api.js:234) > at > org.jaggeryjs.rhino.publisher.modules.c4.call(/publisher/modules/asset-api.js) > at org.mozilla.javascript.optimizer.OptRuntime.callN(OptRuntime.java:52) > at > org.jaggeryjs.rhino.publisher.extensions.assets.default.apis.c0._c_anonymous_1(/publisher/extensions/assets/default/apis/assets.jag:71) > at > org.jaggeryjs.rhino.publisher.extensions.assets.default.apis.c0.call(/publisher/extensions/assets/default/apis/assets.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.publisher.modules.c1._c_anonymous_19(/publisher/modules/publisher.js:395) > at > org.jaggeryjs.rhino.publisher.modules.c1.call(/publisher/modules/publisher.js) > at org.mozilla.javascript.optimizer.OptRuntime.call0(OptRuntime.java:23) > at > org.jaggeryjs.rhino.<store>.\scripts.c0._c_anonymous_18(<store>\scripts\server.js:318) > at org.jaggeryjs.rhino.<store>.\scripts.c0.call(<store>\scripts\server.js) > at org.mozilla.javascript.optimizer.OptRuntime.call2(OptRuntime.java:42) > at > org.jaggeryjs.rhino.publisher.modules.c1._c_anonymous_18(/publisher/modules/publisher.js:390) > at > org.jaggeryjs.rhino.publisher.modules.c1.call(/publisher/modules/publisher.js) > at org.mozilla.javascript.optimizer.OptRuntime.callN(OptRuntime.java:52) > at > org.jaggeryjs.rhino.publisher.extensions.assets.default.apis.c0._c_script_0(/publisher/extensions/assets/default/apis/assets.jag:39) > at > org.jaggeryjs.rhino.publisher.extensions.assets.default.apis.c0.call(/publisher/extensions/assets/default/apis/assets.jag) > at > org.jaggeryjs.rhino.publisher.extensions.assets.default.apis.c0.exec(/publisher/extensions/assets/default/apis/assets.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.executeScript(WebAppManager.java:308) > at > org.jaggeryjs.jaggery.core.manager.WebAppManager.include(WebAppManager.java:148) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) > 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) > at org.mozilla.javascript.FunctionObject.call(FunctionObject.java:386) > at org.mozilla.javascript.optimizer.OptRuntime.callName(OptRuntime.java:63) > at > org.jaggeryjs.rhino.publisher.extensions.app.publisher_apis.apis.c0._c_anonymous_4(/publisher/extensions/app/publisher-apis/apis/assets.jag:67) > at > org.jaggeryjs.rhino.publisher.extensions.app.publisher_apis.apis.c0.call(/publisher/extensions/app/publisher-apis/apis/assets.jag) > at org.mozilla.javascript.optimizer.OptRuntime.callName(OptRuntime.java:63) > at > org.jaggeryjs.rhino.publisher.extensions.app.publisher_apis.apis.c0._c_script_0(/publisher/extensions/app/publisher-apis/apis/assets.jag:87) > at > org.jaggeryjs.rhino.publisher.extensions.app.publisher_apis.apis.c0.call(/publisher/extensions/app/publisher-apis/apis/assets.jag) > at > org.jaggeryjs.rhino.publisher.extensions.app.publisher_apis.apis.c0.exec(/publisher/extensions/app/publisher-apis/apis/assets.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.executeScript(WebAppManager.java:308) > at > org.jaggeryjs.jaggery.core.manager.WebAppManager.include(WebAppManager.java:148) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) > 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) > at org.mozilla.javascript.FunctionObject.call(FunctionObject.java:386) > at org.mozilla.javascript.optimizer.OptRuntime.callName(OptRuntime.java:63) > at > org.jaggeryjs.rhino.publisher.controllers.c3._c_script_0(/publisher/controllers/apis-router.jag:61) > at > org.jaggeryjs.rhino.publisher.controllers.c3.call(/publisher/controllers/apis-router.jag) > at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:394) > at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3091) > at > org.jaggeryjs.rhino.publisher.controllers.c3.call(/publisher/controllers/apis-router.jag) > at > org.jaggeryjs.rhino.publisher.controllers.c3.exec(/publisher/controllers/apis-router.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.exec(WebAppManager.java:587) > at > org.jaggeryjs.jaggery.core.manager.WebAppManager.execute(WebAppManager.java:507) > at org.jaggeryjs.jaggery.core.JaggeryServlet.doPost(JaggeryServlet.java:29) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:646) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:727) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) > at > org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:748) > at > org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:486) > at > org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:378) > at > org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:338) > at org.jaggeryjs.jaggery.core.JaggeryFilter.doFilter(JaggeryFilter.java:21) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) > at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) > at > org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:504) > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170) > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) > at > org.wso2.carbon.tomcat.ext.valves.CompositeValve.continueInvocation(CompositeValve.java:99) > at > org.wso2.carbon.tomcat.ext.valves.CarbonTomcatValve$1.invoke(CarbonTomcatValve.java:47) > at > org.wso2.carbon.webapp.mgt.TenantLazyLoaderValve.invoke(TenantLazyLoaderValve.java:57) > at > org.wso2.carbon.tomcat.ext.valves.TomcatValveContainer.invokeValves(TomcatValveContainer.java:47) > at > org.wso2.carbon.tomcat.ext.valves.CompositeValve.invoke(CompositeValve.java:62) > at > org.wso2.carbon.tomcat.ext.valves.CarbonStuckThreadDetectionValve.invoke(CarbonStuckThreadDetectionValve.java:159) > at > org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950) > at > org.wso2.carbon.tomcat.ext.valves.CarbonContextCreatorValve.invoke(CarbonContextCreatorValve.java:57) > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421) > at > org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1074) > at > org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611) > at > org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1739) > at > org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1698) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > at > org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) > at java.lang.Thread.run(Thread.java:745) > [2015-06-12 14:33:54,322] ERROR > {asset_api} > > - Asset of type: servicex was not created due to JavaException: > org.wso2.carbon.governance.api.exception.GovernanceException: Failed to add > artifact: artifact id: 176cd77f-3604-42b5-976e-2b2bd09c57eb. Value for > required attribute overview_version found empty. > > > [2] -https://wso2.org/jira/browse/STORE-777 > > > > Regards, > Nadeesha > > -- > *Nadeesha Meegoda* > Software Engineer - QA > WSO2 Inc.; http://wso2.com > lean.enterprise.middleware > email : nadees...@wso2.com > mobile: +94783639540 > <%2B94%2077%202273555> >
_______________________________________________ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev