Skip to Content.
Sympa Menu

perfsonar-dev - [pS-dev] [GEANT/SA2/ps-java-services] r5910 - in trunk/perfsonar-java-xml-ls: . src/main/java/org/perfsonar/service/lookupservice/components src/test/java/org/perfsonar/tests/components

Subject: perfsonar development work

List archive

[pS-dev] [GEANT/SA2/ps-java-services] r5910 - in trunk/perfsonar-java-xml-ls: . src/main/java/org/perfsonar/service/lookupservice/components src/test/java/org/perfsonar/tests/components


Chronological Thread 
  • From:
  • To:
  • Subject: [pS-dev] [GEANT/SA2/ps-java-services] r5910 - in trunk/perfsonar-java-xml-ls: . src/main/java/org/perfsonar/service/lookupservice/components src/test/java/org/perfsonar/tests/components
  • Date: Tue, 27 Mar 2012 21:56:26 +0100 (BST)

Author: dante.delvaux
Date: 2012-03-27 21:56:26 +0100 (Tue, 27 Mar 2012)
New Revision: 5910

Modified:
trunk/perfsonar-java-xml-ls/pom.xml

trunk/perfsonar-java-xml-ls/src/main/java/org/perfsonar/service/lookupservice/components/DataSourceComponent.java

trunk/perfsonar-java-xml-ls/src/test/java/org/perfsonar/tests/components/DataSourceComponentTest.java
Log:
Using regex to decompose eXist connection URL. Updating pom.xml to say we use
Java6.

Modified: trunk/perfsonar-java-xml-ls/pom.xml
===================================================================
--- trunk/perfsonar-java-xml-ls/pom.xml 2012-03-23 11:00:59 UTC (rev 5909)
+++ trunk/perfsonar-java-xml-ls/pom.xml 2012-03-27 20:56:26 UTC (rev 5910)
@@ -116,7 +116,16 @@
</execution>
</executions>
</plugin>
-
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <version>2.1</version>
+ <configuration>
+ <source>1.6</source>
+ <target>1.6</target>
+ </configuration>
+ </plugin>
+
</plugins>
<pluginManagement>
<plugins>

Modified:
trunk/perfsonar-java-xml-ls/src/main/java/org/perfsonar/service/lookupservice/components/DataSourceComponent.java
===================================================================
---
trunk/perfsonar-java-xml-ls/src/main/java/org/perfsonar/service/lookupservice/components/DataSourceComponent.java
2012-03-23 11:00:59 UTC (rev 5909)
+++
trunk/perfsonar-java-xml-ls/src/main/java/org/perfsonar/service/lookupservice/components/DataSourceComponent.java
2012-03-27 20:56:26 UTC (rev 5910)
@@ -1,5 +1,9 @@
package org.perfsonar.service.lookupservice.components;

+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import org.apache.log4j.Logger;
import org.perfsonar.base2.service.configuration.Component;
import org.perfsonar.base2.service.exceptions.PerfSONARException;

@@ -9,9 +13,12 @@
* user
*
* @author Slawomir Trzaszczka
+ * @author Antoine Delvaux - DANTE
*/
public class DataSourceComponent extends Component {

+ private Logger logger=Logger.getLogger(DataSourceComponent.class);
+
private String username;
private String password;
private String usernameRO;
@@ -25,12 +32,9 @@
username = getOption("username").getValue();
password = getOption("password").getValue();
String[] splitedAddress =
splitURL(getOption("url").getValue());
- if(splitedAddress==null || splitedAddress.length!=2){
- throw new PerfSONARException("Cannot split exist
url");
- }

- url=splitedAddress[0];
- mainCollection=splitedAddress[1];
+ url = splitedAddress[0];
+ mainCollection = splitedAddress[1];

if (!getOptions().containsKey("usernameRO")
|| !getOptions().containsKey("passwordRO")) {
@@ -84,20 +88,27 @@
}

/**
- * splits existDbURL to 2 parts: first is direct address to Exist and
second
- * is main collection name
+ * Splits existDbURL into 2 parts:<ul>
+ * <li>first is direct address to eXist
+ * <li>second is main collection name
+ * </ul>
+ * Example: <tt>xmldb:exist:///db/ls</tt> or
<tt>xmldb:exist://localhost:8080/db/ls</tt>
*
- * @param url
+ * @param url to be splited
* @return
+ * @throws PerfSONARException
*/
- private String[] splitURL(String url) {
- url.indexOf("exist/xmlrpc/db");
- final String pattern = "exist/xmlrpc/db/";
- final int index = url.indexOf("exist/xmlrpc/db/") +
pattern.length();
- String[] result = new String[2];
- result[0] = url.substring(0, index - 1);
- result[1] = url.substring(index);
- return result;
+ private String[] splitURL(String url) throws PerfSONARException {
+ String[] splitedURL = new String[2];
+ Matcher m =
Pattern.compile("(^xmldb:exist://[^/]*/db)(/.*)$").matcher(url);
+ if (m.matches()) {
+ splitedURL[0] = m.group(1);
+ splitedURL[1] = m.group(2);
+ } else {
+ logger.error("Cannot split eXist DB url: " + url);
+ throw new PerfSONARException("Cannot split eXist DB
url: " + url);
+ }
+ return splitedURL;
}

public String getUrl() {

Modified:
trunk/perfsonar-java-xml-ls/src/test/java/org/perfsonar/tests/components/DataSourceComponentTest.java
===================================================================
---
trunk/perfsonar-java-xml-ls/src/test/java/org/perfsonar/tests/components/DataSourceComponentTest.java
2012-03-23 11:00:59 UTC (rev 5909)
+++
trunk/perfsonar-java-xml-ls/src/test/java/org/perfsonar/tests/components/DataSourceComponentTest.java
2012-03-27 20:56:26 UTC (rev 5910)
@@ -21,8 +21,8 @@
DataSourceComponent dsc = (DataSourceComponent)
ConfigurationManager.getInstanceWithoutRunningComponents().getConfiguration().getAuxiliaryComponent(src);
assertNotNull(dsc);

- String username=dsc.getOption("username").getValue();
- String password=dsc.getOption("password").getValue();
+ String username = dsc.getOption("username").getValue();
+ String password = dsc.getOption("password").getValue();
// Check the username and password fields are correctly
initialised
assertEquals(username, dsc.getUsername());
assertEquals(password, dsc.getPassword());
@@ -42,5 +42,10 @@
assertEquals(password, dsc.getPasswordRO());
assertFalse(dsc.hasReadOnlyUser());
}
+
+ // Check URL splitting
+ String url = dsc.getOption("url").getValue();
+ assertEquals(url, dsc.getUrl() + dsc.getMainCollection());
}
+
}



  • [pS-dev] [GEANT/SA2/ps-java-services] r5910 - in trunk/perfsonar-java-xml-ls: . src/main/java/org/perfsonar/service/lookupservice/components src/test/java/org/perfsonar/tests/components, svn-noreply, 03/27/2012

Archive powered by MHonArc 2.6.16.

Top of Page