Hi Jasintha,

I believe you are talking about the CApp dbs deployer? Yes, that'd be case for 
that deployer. But this functionality was available when directly deploying the 
data services. 

Anyways, just wanted to make sure we have a reference about this change

Thanks. 

> On Apr 24, 2015, at 8:22 AM, Jasintha Dasanayake <[email protected]> wrote:
> 
> AFAIK , DSS deployer only allow to deploy .dbs file only in past as well , so 
> this shouldn't effect for any users 
> 
> Thanks and Regards
> /Jasintha
> 
>> On Thu, Apr 23, 2015 at 1:57 PM, KasunG Gajasinghe <[email protected]> wrote:
>> 
>> Thanks for clarifications. This change will affect the users who use the 
>> services.xml with DSS though. We should have deprecated the support for 
>> services.xml first. 
>> 
>>> On Thu, Apr 23, 2015 at 1:41 PM, Chanika Geeganage <[email protected]> wrote:
>>> Yes, the car file that includes the dataservice config is deployed through 
>>> the default deployer and it expects only a single file. Therefore, we 
>>> couldn't include the service.xml file into the car file. So we remove this 
>>> method and introduced some parameters (transports and security policy) into 
>>> the dataservice config.
>>> 
>>> Thanks
>>> 
>>> 
>>>> On Thu, Apr 23, 2015 at 10:34 AM, Anjana Fernando <[email protected]> wrote:
>>>> Hi Kasun,
>>>> 
>>>> Yeah, I guess we've removed this functionality, since we were replacing 
>>>> that functionality with additional properties we've introduced, for giving 
>>>> security policies and mentioning transports. @Chanika, I guess that's the 
>>>> case? .. and I guess, the reason for doing this is because of some tooling 
>>>> complications we had with services.xml? ..
>>>> 
>>>> Cheers,
>>>> Anjana.
>>>> 
>>>>> On Wed, Apr 22, 2015 at 6:27 PM, KasunG Gajasinghe <[email protected]> 
>>>>> wrote:
>>>>> Hi Anjana/Chanika,
>>>>> 
>>>>> Did we decide to remove the services.xml support for the data services? I 
>>>>> noticed the below commit which made its way into DSS 3.2.1. 
>>>>> 
>>>>> Thanks.
>>>>> 
>>>>> ---------- Forwarded message ----------
>>>>> From: <[email protected]>
>>>>> Date: Thu, Aug 28, 2014 at 9:54 AM
>>>>> Subject: [Commits] [Carbon-platform] svn commit r206697 - in 
>>>>> carbon/platform/branches/turing/components/data-services/org.wso2.carbon.dataservices.core/4.2.4:
>>>>>  . src/main/java/org/wso2/carbon/dataservices/core
>>>>> To: [email protected]
>>>>> 
>>>>> 
>>>>> Author: [email protected]
>>>>> Date: Thu Aug 28 09:54:36 2014
>>>>> New Revision: 206697
>>>>> URL: http://wso2.org/svn/browse/wso2?view=rev&revision=206697
>>>>> 
>>>>> Log:
>>>>> Fixing DS-953
>>>>> 
>>>>> Modified:
>>>>>    
>>>>> carbon/platform/branches/turing/components/data-services/org.wso2.carbon.dataservices.core/4.2.4/pom.xml
>>>>>    
>>>>> carbon/platform/branches/turing/components/data-services/org.wso2.carbon.dataservices.core/4.2.4/src/main/java/org/wso2/carbon/dataservices/core/DBDeployer.java
>>>>> 
>>>>> Modified: 
>>>>> carbon/platform/branches/turing/components/data-services/org.wso2.carbon.dataservices.core/4.2.4/pom.xml
>>>>> URL: 
>>>>> http://wso2.org/svn/browse/wso2/carbon/platform/branches/turing/components/data-services/org.wso2.carbon.dataservices.core/4.2.4/pom.xml?rev=206697&r1=206696&r2=206697&view=diff
>>>>> ==============================================================================
>>>>> --- 
>>>>> carbon/platform/branches/turing/components/data-services/org.wso2.carbon.dataservices.core/4.2.4/pom.xml
>>>>>     (original)
>>>>> +++ 
>>>>> carbon/platform/branches/turing/components/data-services/org.wso2.carbon.dataservices.core/4.2.4/pom.xml
>>>>>     Thu Aug 28 09:54:36 2014
>>>>> @@ -127,7 +127,7 @@
>>>>>          <dependency>
>>>>>              <groupId>org.wso2.carbon</groupId>
>>>>>              <artifactId>org.wso2.carbon.dataservices.common</artifactId>
>>>>> -            <version>4.2.3</version>
>>>>> +            <version>4.2.4</version>
>>>>>          </dependency>
>>>>>          <dependency>
>>>>>              <groupId>org.wso2.carbon</groupId>
>>>>> 
>>>>> Modified: 
>>>>> carbon/platform/branches/turing/components/data-services/org.wso2.carbon.dataservices.core/4.2.4/src/main/java/org/wso2/carbon/dataservices/core/DBDeployer.java
>>>>> URL: 
>>>>> http://wso2.org/svn/browse/wso2/carbon/platform/branches/turing/components/data-services/org.wso2.carbon.dataservices.core/4.2.4/src/main/java/org/wso2/carbon/dataservices/core/DBDeployer.java?rev=206697&r1=206696&r2=206697&view=diff
>>>>> ==============================================================================
>>>>> --- 
>>>>> carbon/platform/branches/turing/components/data-services/org.wso2.carbon.dataservices.core/4.2.4/src/main/java/org/wso2/carbon/dataservices/core/DBDeployer.java
>>>>>     (original)
>>>>> +++ 
>>>>> carbon/platform/branches/turing/components/data-services/org.wso2.carbon.dataservices.core/4.2.4/src/main/java/org/wso2/carbon/dataservices/core/DBDeployer.java
>>>>>     Thu Aug 28 09:54:36 2014
>>>>> @@ -18,6 +18,7 @@
>>>>>   */
>>>>>  package org.wso2.carbon.dataservices.core;
>>>>> 
>>>>> +import org.apache.axiom.om.OMAttribute;
>>>>>  import org.apache.axiom.om.OMElement;
>>>>>  import org.apache.axiom.om.impl.builder.StAXOMBuilder;
>>>>>  import org.apache.axiom.soap.SOAP11Constants;
>>>>> @@ -35,8 +36,10 @@
>>>>>  import org.apache.axis2.transport.http.HTTPConstants;
>>>>>  import org.apache.axis2.wsdl.WSDLConstants;
>>>>>  import org.apache.axis2.wsdl.WSDLUtil;
>>>>> +import org.apache.neethi.Policy;
>>>>>  import org.apache.commons.logging.Log;
>>>>>  import org.apache.commons.logging.LogFactory;
>>>>> +import org.apache.neethi.PolicyEngine;
>>>>>  import org.apache.ws.commons.schema.utils.NamespaceMap;
>>>>>  import org.wso2.carbon.CarbonConstants;
>>>>>  import org.wso2.carbon.base.MultitenantConstants;
>>>>> @@ -56,6 +59,7 @@
>>>>>  import org.wso2.carbon.ndatasource.common.DataSourceConstants;
>>>>>  import org.wso2.carbon.ndatasource.common.DataSourceException;
>>>>>  import org.wso2.carbon.ndatasource.core.DataSourceManager;
>>>>> +import org.wso2.carbon.registry.core.Registry;
>>>>>  import org.wso2.carbon.user.core.UserStoreException;
>>>>>  import org.wso2.carbon.user.core.service.RealmService;
>>>>>  import org.wso2.carbon.utils.CarbonUtils;
>>>>> @@ -1070,34 +1074,17 @@
>>>>>          * if so, the AxisService representing the data service is 
>>>>> applied the instructions from its
>>>>>          * "services.xml".
>>>>>          */
>>>>> -       private AxisService handleServicesXML(String dbsPath, 
>>>>> AxisServiceGroup axisServiceGroup,
>>>>> -                       AxisService axisService) throws DataServiceFault {
>>>>> +       private AxisService handleTransports(DeploymentFileData file, 
>>>>> AxisService axisService) throws DataServiceFault {
>>>>>                 try {
>>>>> -                       String serviceXMLPath = dbsPath.substring(0, 
>>>>> dbsPath.length() - 4) +
>>>>> -                                                       
>>>>> DBConstants.DBS_SERVICES_XML_SUFFIX;
>>>>> -                       File servicesXMLFile = new File(serviceXMLPath);
>>>>> -                       if (servicesXMLFile.exists()) {
>>>>> -                               XMLStreamReader parser = 
>>>>> DBUtils.getXMLInputFactory().createXMLStreamReader(
>>>>> -                                               new 
>>>>> FileInputStream(servicesXMLFile));
>>>>> -                               StAXOMBuilder builder = new 
>>>>> StAXOMBuilder(parser);
>>>>> -                               OMElement documentElement =  
>>>>> builder.getDocumentElement();
>>>>> -                               if 
>>>>> (documentElement.getLocalName().equals(DBConstants.AXIS2_SERVICE_GROUP)) {
>>>>> -                                       HashMap<String, AxisService> 
>>>>> wsdlServices = new HashMap<String, AxisService>();
>>>>> -                                       
>>>>> wsdlServices.put(axisService.getName(), axisService);
>>>>> -                                       ServiceGroupBuilder sgb = new 
>>>>> ServiceGroupBuilder(documentElement,
>>>>> -                                                       wsdlServices, 
>>>>> this.getConfigContext());
>>>>> -                                       axisService = 
>>>>> sgb.populateServiceGroup(axisServiceGroup).get(0);
>>>>> -                               } else if 
>>>>> (documentElement.getLocalName().equals(DBConstants.AXIS2_SERVICE)) {
>>>>> -                                       ServiceBuilder sb = new 
>>>>> ServiceBuilder(this.getConfigContext(),
>>>>> -                                                       axisService);
>>>>> -                                       axisService = 
>>>>> sb.populateService(documentElement);
>>>>> -                               } else {
>>>>> -                                       throw new 
>>>>> DataServiceFault("services xml file: " + serviceXMLPath +
>>>>> -                                                       " is not valid, 
>>>>> cannot find the 'service' or 'serviceGroup' element");
>>>>> -                               }
>>>>> -                       }
>>>>> +            StAXOMBuilder builder = new StAXOMBuilder(new 
>>>>> FileInputStream(file.getFile().getAbsoluteFile()));
>>>>> +            OMElement documentElement =  builder.getDocumentElement();
>>>>> +            OMAttribute transports = documentElement.getAttribute(new 
>>>>> QName(DBSFields.TRANSPORTS));
>>>>> +            if (transports != null) {
>>>>> +                String [] transportArr = 
>>>>> transports.getAttributeValue().split(" ");
>>>>> +                
>>>>> axisService.setExposedTransports(Arrays.asList(transportArr));
>>>>> +            }
>>>>>                 } catch (Exception e) {
>>>>> -                       throw new DataServiceFault(e, "Error in 
>>>>> processing services.xml");
>>>>> +                       throw new DataServiceFault(e, "Error in 
>>>>> processing transports info");
>>>>>                 }
>>>>>                 return axisService;
>>>>>         }
>>>>> @@ -1113,10 +1100,33 @@
>>>>>                 axisService.setParent(axisServiceGroup);
>>>>>                 
>>>>> axisService.setClassLoader(axisConfig.getServiceClassLoader());
>>>>>          /* handle services.xml, if exists */
>>>>> -               this.handleServicesXML(currentFile.getAbsolutePath(), 
>>>>> axisServiceGroup, axisService);
>>>>> +               this.handleTransports(currentFile, axisService);
>>>>> +        this.handleSecurityProxy(currentFile, axisService);
>>>>>                 return axisService;
>>>>>         }
>>>>> 
>>>>> +    private AxisService handleSecurityProxy(DeploymentFileData file, 
>>>>> AxisService axisService) throws DataServiceFault{
>>>>> +        try {
>>>>> +            StAXOMBuilder builder = new StAXOMBuilder(new 
>>>>> FileInputStream(file.getFile().getAbsoluteFile()));
>>>>> +            OMElement documentElement =  builder.getDocumentElement();
>>>>> +            OMElement policyElement= 
>>>>> documentElement.getFirstChildWithName(new QName(DBSFields.POLICY));
>>>>> +            if (policyElement != null) {
>>>>> +                String policyKey = policyElement.getAttributeValue(new 
>>>>> QName(DBSFields.POLICY_KEY));
>>>>> +                Policy policy = PolicyEngine.getPolicy(
>>>>> +                        DBUtils.getInputStreamFromPath(policyKey));
>>>>> +                axisService.getPolicySubject().attachPolicy(policy);
>>>>> +            }
>>>>> +            OMElement enableSecElement= 
>>>>> documentElement.getFirstChildWithName(new QName(DBSFields.ENABLESEC));
>>>>> +            if (enableSecElement != null) {
>>>>> +                
>>>>> axisService.engageModule(this.configCtx.getAxisConfiguration().getModule(
>>>>> +                        DBConstants.SECURITY_MODULE_NAME), 
>>>>> this.configCtx.getAxisConfiguration());
>>>>> +            }
>>>>> +        }catch (Exception e) {
>>>>> +            throw new DataServiceFault(e, "Error in processing security 
>>>>> policy");
>>>>> +        }
>>>>> +        return axisService;
>>>>> +    }
>>>>> +
>>>>>      @SuppressWarnings("unchecked")
>>>>>         private void secureVaultResolve(OMElement dbsElement) {
>>>>>         String secretAliasAttr = dbsElement.getAttributeValue(new 
>>>>> QName(DataSourceConstants.SECURE_VAULT_NS,
>>>>> _______________________________________________
>>>>> Commits mailing list
>>>>> [email protected]
>>>>> http://wso2.org/cgi-bin/mailman/listinfo/commits
>>>>> 
>>>>> 
>>>>> 
>>>>> -- 
>>>>> Kasun Gajasinghe
>>>>> Senior Software Engineer, WSO2 Inc.
>>>>> email: kasung AT spamfree wso2.com
>>>>> linked-in: http://lk.linkedin.com/in/gajasinghe
>>>>> blog: http://kasunbg.org
>>>> 
>>>> 
>>>> 
>>>> -- 
>>>> Anjana Fernando
>>>> Senior Technical Lead
>>>> WSO2 Inc. | http://wso2.com
>>>> lean . enterprise . middleware
>>> 
>>> 
>>> 
>>> -- 
>>> Best Regards..
>>> 
>>> Chanika Geeganage
>>> Software Engineer
>>> Mobile : +94773522586
>>> WSO2, Inc.; http://wso2.com
>> 
>> 
>> 
>> -- 
>> Kasun Gajasinghe
>> Senior Software Engineer, WSO2 Inc.
>> email: kasung AT spamfree wso2.com
>> linked-in: http://lk.linkedin.com/in/gajasinghe
>> blog: http://kasunbg.org
>>  
>>  
>> 
>> _______________________________________________
>> Architecture mailing list
>> [email protected]
>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
> 
> 
> 
> -- 
> Jasintha Dasanayake
> Senior Software Engineer
> WSO2 Inc. | http://wso2.com
> lean . enterprise . middleware
> 
> mobile :- 0711368118
> _______________________________________________
> Architecture mailing list
> [email protected]
> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
_______________________________________________
Architecture mailing list
[email protected]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture

Reply via email to