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

Reply via email to