Hi all, In the IS, when a secondary JDBC user store is creating the database connection is not tested. So when we do a operation on the user store, exceptions are thrown. So to fix the issue, I need to check the database connection before creating the user store.
Same scenario happens in DSS. It uses org.wso2.carbon.ndatasource.stub and generate a client and call the relevant methods. But as you can see imports are done as org.wso2.carbon.ndatasource.ui.stub in [1]. So if I do the same thing and build my component, I builds without errors. But when I add the jar to the pack and run the server it gives runtime errors(can't remember the exact error. but it was about problems with finding the correct packages and classes.). But if I add the org.wso2.carbon.ndatasource.ui component also to the dropins folder, it works without errors. But I can't add the UI component to the IS as it will change the UI of the IS. When I checked the folder structure of the jar of the stub, it was like org/wso2/carbon/ndatasource/ui/stub. So I think there is a problem with exporting the packages in the stub. So I did some changes to the pom of the stub (in the maven-antrun-plugin section) changing some package names when generating the stub from wsdl2java (changed pom and diff are attached here). So by doing this, I can test the connection in IS without a problem. As changing the stub will break the other components that user the stub, I changed the above mentioned UI component. Now it is working without a problem. (not much sure of any other component that use the stub) Can someone please comment about the suitability of this approach. [1] https://svn.wso2.org/repos/wso2/carbon/platform/branches/turing/components/ndatasource/org.wso2.carbon.ndatasource.ui/4.2.2/src/main/java/org/wso2/carbon/ndatasource/ui/NDataSourceAdminServiceClient.java Thank you, Maduranga
<?xml version="1.0" encoding="utf-8"?> <!-- ~ Copyright (c) 2005-2011, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. ~ ~ WSO2 Inc. licenses this file to you under the Apache License, ~ Version 2.0 (the "License"); you may not use this file except ~ in compliance with the License. ~ You may obtain a copy of the License at ~ ~ http://www.apache.org/licenses/LICENSE-2.0 ~ ~ Unless required by applicable law or agreed to in writing, ~ software distributed under the License is distributed on an ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY ~ KIND, either express or implied. See the License for the ~ specific language governing permissions and limitations ~ under the License. --> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <parent> <artifactId>carbon-service-stubs</artifactId> <groupId>org.wso2.carbon</groupId> <version>4.2.0</version> <relativePath>../../pom.xml</relativePath> </parent> <modelVersion>4.0.0</modelVersion> <artifactId>org.wso2.carbon.ndatasource.stub</artifactId> <packaging>bundle</packaging> <name>WSO2 Carbon - New Data Sources Stub</name> <version>4.2.1</version> <url>http://wso2.org</url> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-antrun-plugin</artifactId> <version>1.1</version> <executions> <execution> <id>source-code-generation</id> <phase>process-resources</phase> <goals> <goal>run</goal> </goals> <configuration> <tasks> <path id="wsdl2java.classpath"> <pathelement location="${settings.localRepository}/org/apache/ws/commons/axiom/wso2/axiom/${orbit.version.axiom}/axiom-${orbit.version.axiom}.jar"/> <pathelement location="${settings.localRepository}/org/apache/axis2/wso2/axis2-client/${orbit.version.axis2}/axis2-client-${orbit.version.axis2}.jar" /> <pathelement location="${settings.localRepository}/org/apache/axis2/wso2/axis2/${orbit.version.axis2}/axis2-${orbit.version.axis2}.jar" /> </path> <java classname="org.apache.axis2.wsdl.WSDL2Java" fork="true"> <arg line="-uri src/main/resources/NDataSourceAdmin.wsdl -u -uw -p org.wso2.carbon.ndatasource.stub -o target/generated-code -ns2p http://core.ndatasource.carbon.wso2.org/xsd=org.wso2.carbon.ndatasource.stub.core.xsd,http://services.core.ndatasource.carbon.wso2.org=org.wso2.carbon.ndatasource.stub.core.services,http://services.core.ndatasource.carbon.wso2.org/xsd=org.wso2.carbon.ndatasource.stub.core.services.xsd,http://common.ndatasource.carbon.wso2.org/xsd=org.wso2.carbon.ndatasource.stub.common.xsd,http://org.apache.axis2/xsd=org.wso2.carbon.ndatasource.stub.axis2.xsd" /> <classpath refid="wsdl2java.classpath" /> </java> </tasks> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId> <executions> <execution> <id>add-source</id> <phase>generate-sources</phase> <goals> <goal>add-source</goal> </goals> <configuration> <sources> <source> target/generated-code/src </source> </sources> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.apache.felix</groupId> <artifactId>maven-bundle-plugin</artifactId> <extensions>true</extensions> <configuration> <instructions> <Bundle-SymbolicName> ${project.artifactId} </Bundle-SymbolicName> <Bundle-Vendor>WSO2 Inc</Bundle-Vendor> <Export-Package> org.wso2.carbon.ndatasource.stub.*;version="${carbon.platform.package.export.version}" </Export-Package> <Import-Package> !org.wso2.carbon.ndatasource.stub.*, *;resolution:=optional </Import-Package> </instructions> </configuration> </plugin> </plugins> </build> <dependencies> <dependency> <groupId>org.apache.axis2.wso2</groupId> <artifactId>axis2</artifactId> </dependency> </dependencies> </project>
Index: pom.xml =================================================================== --- pom.xml (revision 199066) +++ pom.xml (working copy) @@ -49,8 +49,8 @@ <java classname="org.apache.axis2.wsdl.WSDL2Java" fork="true"> <arg line="-uri src/main/resources/NDataSourceAdmin.wsdl -u -uw - -p org.wso2.carbon.ndatasource.ui.stub -o target/generated-code - -ns2p http://core.ndatasource.carbon.wso2.org/xsd=org.wso2.carbon.ndatasource.ui.stub.core.xsd,http://services.core.ndatasource.carbon.wso2.org=org.wso2.carbon.ndatasource.ui.stub.core.services,http://services.core.ndatasource.carbon.wso2.org/xsd=org.wso2.carbon.ndatasource.ui.stub.core.services.xsd,http://common.ndatasource.carbon.wso2.org/xsd=org.wso2.carbon.ndatasource.ui.stub.common.xsd,http://org.apache.axis2/xsd=org.wso2.carbon.ndatasource.ui.stub.axis2.xsd" /> + -p org.wso2.carbon.ndatasource.stub -o target/generated-code + -ns2p http://core.ndatasource.carbon.wso2.org/xsd=org.wso2.carbon.ndatasource.stub.core.xsd,http://services.core.ndatasource.carbon.wso2.org=org.wso2.carbon.ndatasource.stub.core.services,http://services.core.ndatasource.carbon.wso2.org/xsd=org.wso2.carbon.ndatasource.stub.core.services.xsd,http://common.ndatasource.carbon.wso2.org/xsd=org.wso2.carbon.ndatasource.stub.common.xsd,http://org.apache.axis2/xsd=org.wso2.carbon.ndatasource.stub.axis2.xsd" /> <classpath refid="wsdl2java.classpath" /> </java> </tasks>
_______________________________________________ Dev mailing list [email protected] http://wso2.org/cgi-bin/mailman/listinfo/dev
