*Reasons for this change :*
As per the current wsdl upload process which is going through
importResource do not contain the wsdl content which is very much needed to
explore content of a wsdl. For instance using exiting process it's kind a
difficult to create a handler to filter bad words that can be contained in
a wsdl. Other than that using importResource to put some artifact into
registry is theoretically wrong, therefore best practice is to use put
method.

*Current process flow(wsdl) :*
org.wso2.carbon.registry.resource.ui/import_resource_ajaxprocessor.jsp
org.wso2.carbon.registry.resource.ui/ImportResourceProcessor.process
org.wso2.carbon.registry.resource.ui/ResourceServiceClient.importResource
org.wso2.carbon.registry.resource.stub/ResourceAdminServiceStub.importResource
...
org.wso2.carbon.registry.core.session.UserRegistry.importResourceInternal
org.wso2.carbon.registry.core.caching.CacheBackedRegistry.importResource
org.wso2.carbon.registry.core.jdbc.EmbeddedRegistry.importResource
org.wso2.carbon.registry.core.jdbc.handlers.HandlerLifecycleManager.importResource
org.wso2.carbon.registry.core.jdbc.handlers.HandlerManager.importResource
org.wso2.carbon.registry.extensions.handlers.WSDLMediaTypeHandler.importResource
org.wso2.carbon.registry.extensions.handlers.WSDLMediaTypeHandler.processWSDLImport
org.wso2.carbon.registry.extensions.handlers.utils.WSDLProcessor.addWSDLToRegistry
org.wso2.carbon.registry.extensions.handlers.utils.WSDLProcessor.evaluateWSDLsToDefinitions

*Things needed to be done :*
In order to do $subject We need to fetch content in the UI
level(org.wso2.carbon.registry.resource.ui) and send it to the next level
including data submitted through html form. Following *bold* methods will
be changed accordingly. Since we need to fetch dependancies such
as WSDL/WADL/Schema which can be included in WSDL/WADL/Schema we need to to
add sourceURL as a property and send it too, which will be used in
org.wso2.carbon.registry.extensions.handlers.WSDLMediaTypeHandler,
org.wso2.carbon.registry.extensions.handlers.WADLMediaTypeHandler later to
fetch contents of the dependancies.

*Expected process flow(wsdl) :*
org.wso2.carbon.registry.resource.ui/import_resource_ajaxprocessor.jsp
*org.wso2.carbon.registry.resource.ui/ImportResourceProcessor.process*
org.wso2.carbon.registry.resource.ui.clients.ResourceServiceClient.addResource
org.wso2.carbon.registry.resource.stub.ResourceAdminServiceStub.addResource
...
org.wso2.carbon.registry.core.session.UserRegistry.putInternal
org.wso2.carbon.registry.core.caching.CacheBackedRegistry.put
org.wso2.carbon.registry.core.jdbc.EmbeddedRegistry.put
org.wso2.carbon.registry.core.jdbc.handlers.HandlerLifecycleManager.put
org.wso2.carbon.registry.core.jdbc.handlers.HandlerManager.put
org.wso2.carbon.registry.extensions.handlers.WSDLMediaTypeHandler.*put*
org.wso2.carbon.registry.extensions.handlers.WSDLMediaTypeHandler.processWSDLImport
org.wso2.carbon.registry.extensions.handlers.utils.WSDLProcessor.addWSDLToRegistry
org.wso2.carbon.registry.extensions.handlers.utils.WSDLProcessor.evaluateWSDLsToDefinitions

*Note :*
This change will also affect to WADL/Schema and Policy upload paths as
well. But for Schema and Policy the impact is very low.
All the put methods(WSDL/WADL) are already implemented and need to do some
modifications and validations in order to start working.
It is must to run all the tests which related to WSDL/WADL/Schema/Policy
upload after the implementation.

Please share any ideas on $Subject.

-- 
Thushara Kasun Ranawaka
Software Engineer
WSO2 Inc.; <http://www.wso2.com>
lean.enterprise.middleware
Mobile : *+94 (0) 773438949*
*thusha...@wso2.com <thusha...@wso2.com>*
_______________________________________________
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture

Reply via email to