wso2 / product-greg

Welcome to the WSO2 Governance Registry source code! For info on working with the WSO2 Governance Registry repository and contributing code, click the link below.
http://wso2.github.io/
Other
41 stars 95 forks source link

Could not add data to extra fields using REST service artifact. #896

Closed sanethmaduranga closed 5 years ago

sanethmaduranga commented 5 years ago

Description: When adding an extra filed using REST service artifact, if the filed name contains two words, the values will be save as null. If the filed mark as mandatory, then it will return an error during the validation of the values.

Suggested Labels: G-reg-5.4.0, REST service artifact

Affected Product Version: 5.4.0

Steps to reproduce:

References: [1] - [2019-09-04 17:54:23,418] ERROR {asset_api} - Asset {"attributes" : {"overview_name" : "testapi", "overview_context" : "testcontext", "overview_version" : "1.0.0", "overview_official_Date" : "9/13/2019", "contacts_entry" : [], "security_authenticationType" : "None", "endpoints_entry" : []}, "name" : "testapi"}of type: restservice was not created due to org.mozilla.javascript.WrappedException: Wrapped org.wso2.carbon.governance.api.exception.GovernanceException: Delivery_Date is a required field, Please provide a value for this parameter. (eval code#1(eval)#104) 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.jaggeryjs.rhino..scripts.registry.c0._c_anonymous_21(/scripts/registry/artifacts.js:338) at org.jaggeryjs.rhino..scripts.registry.c0.call(/scripts/registry/artifacts.js) at org.mozilla.javascript.optimizer.OptRuntime.call1(OptRuntime.java:32) at org.jaggeryjs.rhino..scripts.asset.c0._c_anonymous_15(/scripts/asset/asset.js:283) at org.jaggeryjs.rhino..scripts.asset.c0.call(/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 script(eval code#1(eval):104) 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.c6._c_anonymous_22(/publisher/modules/asset-api.js:387) at org.jaggeryjs.rhino.publisher.modules.c6.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_2(/publisher/extensions/assets/default/apis/assets.jag:64) at org.jaggeryjs.rhino.publisher.extensions.assets.default.apis.c0.call(/publisher/extensions/assets/default/apis/assets.jag) at org.mozilla.javascript.optimizer.OptRuntime.callName(OptRuntime.java:63) at org.jaggeryjs.rhino.publisher.extensions.assets.default.apis.c0._c_anonymous_1(/publisher/extensions/assets/default/apis/assets.jag:116) 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_20(/publisher/modules/publisher.js:414) 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..scripts.c0._c_anonymous_18(/scripts/server.js:318) at org.jaggeryjs.rhino..scripts.c0.call(/scripts/server.js) at org.mozilla.javascript.optimizer.OptRuntime.call2(OptRuntime.java:42) at org.jaggeryjs.rhino.publisher.modules.c1._c_anonymous_19(/publisher/modules/publisher.js:409) 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:40) 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:309) at org.jaggeryjs.jaggery.core.manager.WebAppManager.include(WebAppManager.java:149) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) 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_5(/publisher/extensions/app/publisher-apis/apis/assets.jag:77) 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:94) 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:309) at org.jaggeryjs.jaggery.core.manager.WebAppManager.include(WebAppManager.java:149) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) 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:69) 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:588) at org.jaggeryjs.jaggery.core.manager.WebAppManager.execute(WebAppManager.java:508) at org.jaggeryjs.jaggery.core.JaggeryServlet.doPost(JaggeryServlet.java:29) at javax.servlet.http.HttpServlet.service(HttpServlet.java:650) at javax.servlet.http.HttpServlet.service(HttpServlet.java:731) 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:743) at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:485) at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:377) at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:337) 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.filters.HttpHeaderSecurityFilter.doFilter(HttpHeaderSecurityFilter.java:126) 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:219) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:110) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:494) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104) 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:1025) 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:445) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1137) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1775) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1734) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:748) Caused by: org.wso2.carbon.governance.api.exception.GovernanceException: Delivery_Date is a required field, Please provide a value for this parameter. at org.wso2.carbon.governance.api.common.GovernanceArtifactManager.validateArtifact(GovernanceArtifactManager.java:983) at org.wso2.carbon.governance.api.common.GovernanceArtifactManager.addGovernanceArtifact(GovernanceArtifactManager.java:199) at org.wso2.carbon.governance.api.generic.GenericArtifactManager.addGenericArtifact(GenericArtifactManager.java:218) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:126)

sanethmaduranga commented 5 years ago

The above error occurred when using the artifact configuration is like below.

            <field type="date" required="true" readonly="true">
                <name>Official Date in Timeline</name>
            </field> 

The issue can be resolved when using the below configuration.

            <field type="date" required="true" readonly="true">
                <name label= "Official Date in Timeline" >OfficialDateinTimeline</name>
            </field>