|
From: <li...@us...> - 2008-10-24 16:13:39
|
Revision: 2248
http://cogkit.svn.sourceforge.net/cogkit/?rev=2248&view=rev
Author: liuwt
Date: 2008-10-24 16:13:25 +0000 (Fri, 24 Oct 2008)
Log Message:
-----------
a class for endpoint reference management
Added Paths:
-----------
trunk/current/src/cog/modules/transfer-gui/src/org/globus/transfer/reliable/client/eprmgmt/
trunk/current/src/cog/modules/transfer-gui/src/org/globus/transfer/reliable/client/eprmgmt/EPRManager.java
Added: trunk/current/src/cog/modules/transfer-gui/src/org/globus/transfer/reliable/client/eprmgmt/EPRManager.java
===================================================================
--- trunk/current/src/cog/modules/transfer-gui/src/org/globus/transfer/reliable/client/eprmgmt/EPRManager.java (rev 0)
+++ trunk/current/src/cog/modules/transfer-gui/src/org/globus/transfer/reliable/client/eprmgmt/EPRManager.java 2008-10-24 16:13:25 UTC (rev 2248)
@@ -0,0 +1,99 @@
+package org.globus.transfer.reliable.client.eprmgmt;
+
+import java.io.File;
+import java.io.FileReader;
+import java.io.FileWriter;
+import java.io.Reader;
+import java.io.Writer;
+
+import javax.xml.namespace.QName;
+
+import org.apache.axis.message.addressing.EndpointReferenceType;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.globus.wsrf.encoding.ObjectDeserializer;
+import org.globus.wsrf.encoding.ObjectSerializer;
+import org.xml.sax.InputSource;
+
+public class EPRManager {
+ private final static String EPR_DIR = "epr";
+ private static Log logger = LogFactory.getLog(EPRManager.class);
+
+ public void saveEPR(EndpointReferenceType epr) throws Exception {
+ if (null == epr) {
+ throw new Exception("can not save a null EPR");
+ }
+
+ String resourceKey = epr.getProperties().get_any()[0].getValue();
+ if (null == resourceKey || "".equals(resourceKey.trim())) {
+ resourceKey = new Long(System.currentTimeMillis()).toString();
+ }
+
+ QName qname = new QName("", "epr");
+ File file = new File(EPR_DIR, resourceKey);
+ Writer writer = null;
+ try {
+ writer = new FileWriter(file);
+ ObjectSerializer.serialize(writer, epr, qname);
+ } catch (Exception e) {
+ logger.debug(e.getMessage(), e);
+ throw e;
+ } finally {
+ if (null != writer) {
+ writer.close();
+ }
+ }
+
+ }
+
+ public EndpointReferenceType getEPR(String resourceKey) throws Exception {
+ if (null == resourceKey || "".equals(resourceKey.trim())) {
+ throw new Exception("resource key can not be null");
+ }
+
+ File file = new File(EPR_DIR, resourceKey);
+ if (!file.exists() || !file.isFile()) {
+ return null;
+ }
+
+ Reader reader = null;
+ try {
+ reader = new FileReader(file);
+ InputSource inputSource = new InputSource(reader);
+ EndpointReferenceType ret = (EndpointReferenceType)ObjectDeserializer.deserialize(
+ inputSource, EndpointReferenceType.class);
+
+ return ret;
+ } catch(Exception e) {
+ logger.debug(e.getMessage(), e);
+ } finally {
+ if (null != reader) {
+ reader.close();
+ }
+ }
+
+ return null;
+ }
+
+ public boolean deleteEPR(String resourceKey) {
+ if (null == resourceKey || "".equals(resourceKey.trim())) {
+ return true;
+ }
+
+ File file = new File(EPR_DIR, resourceKey);
+ return file.delete();
+ }
+
+ public static void main(String[] args) {
+ EPRManager e = new EPRManager();
+ EndpointReferenceType p;
+ try {
+ p = e.getEPR("22558696");
+ //System.out.println(p);
+ } catch (Exception e1) {
+ // TODO Auto-generated catch block
+ e1.printStackTrace();
+ }
+
+ }
+}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|