From: <ha...@us...> - 2008-10-02 18:42:48
|
Revision: 2213 http://cogkit.svn.sourceforge.net/cogkit/?rev=2213&view=rev Author: hategan Date: 2008-10-02 18:42:31 +0000 (Thu, 02 Oct 2008) Log Message: ----------- updated handlers Modified Paths: -------------- trunk/current/src/cog/modules/provider-coaster/src/org/globus/cog/abstraction/impl/file/coaster/handlers/ExistsHandler.java trunk/current/src/cog/modules/provider-coaster/src/org/globus/cog/abstraction/impl/file/coaster/handlers/GetFileHandler.java trunk/current/src/cog/modules/provider-coaster/src/org/globus/cog/abstraction/impl/file/coaster/handlers/ListHandler.java trunk/current/src/cog/modules/provider-coaster/src/org/globus/cog/abstraction/impl/file/coaster/handlers/RmdirHandler.java Modified: trunk/current/src/cog/modules/provider-coaster/src/org/globus/cog/abstraction/impl/file/coaster/handlers/ExistsHandler.java =================================================================== --- trunk/current/src/cog/modules/provider-coaster/src/org/globus/cog/abstraction/impl/file/coaster/handlers/ExistsHandler.java 2008-10-02 18:41:23 UTC (rev 2212) +++ trunk/current/src/cog/modules/provider-coaster/src/org/globus/cog/abstraction/impl/file/coaster/handlers/ExistsHandler.java 2008-10-02 18:42:31 UTC (rev 2213) @@ -11,13 +11,17 @@ import java.io.File; +import org.apache.log4j.Logger; import org.globus.cog.karajan.workflow.service.ProtocolException; public class ExistsHandler extends CoasterFileRequestHandler { + public static final Logger logger = Logger.getLogger(ExistsHandler.class); public void requestComplete() throws ProtocolException { File f = normalize(getInDataAsString(0)); - + if (logger.isInfoEnabled()) { + logger.info("Checking if " + f.getAbsolutePath() + " exists"); + } if (f.exists()) { addOutData(true); } Modified: trunk/current/src/cog/modules/provider-coaster/src/org/globus/cog/abstraction/impl/file/coaster/handlers/GetFileHandler.java =================================================================== --- trunk/current/src/cog/modules/provider-coaster/src/org/globus/cog/abstraction/impl/file/coaster/handlers/GetFileHandler.java 2008-10-02 18:41:23 UTC (rev 2212) +++ trunk/current/src/cog/modules/provider-coaster/src/org/globus/cog/abstraction/impl/file/coaster/handlers/GetFileHandler.java 2008-10-02 18:42:31 UTC (rev 2213) @@ -17,6 +17,7 @@ import org.apache.log4j.Logger; import org.globus.cog.karajan.workflow.service.ProtocolException; +import org.globus.cog.karajan.workflow.service.channels.KarajanChannel; public class GetFileHandler extends CoasterFileRequestHandler { public static final Logger logger = Logger @@ -50,12 +51,13 @@ is = new FileInputStream(f); } catch (Exception e) { + logger.info("Could not open file", e); ex = e; } } public boolean hasNext() { - return first || crt < size && ex == null; + return (first || crt < size) && ex == null; } public Object next() { @@ -93,15 +95,31 @@ } public int size() { - return chunks + 1; + return ex == null ? chunks + 1 : 0; } }; } - + public void send() throws ProtocolException { - super.send(); + KarajanChannel channel = getChannel(); + Collection outData = getOutData(); + if (channel == null) { + throw new ProtocolException("Unregistered command"); + } + if (logger.isDebugEnabled()) { + logger.debug(ppOutData("HND")); + } + boolean fin = (outData == null) || (outData.size() == 0); + if (!fin) { + Iterator i = outData.iterator(); + while (i.hasNext()) { + byte[] buf = (byte[]) i.next(); + channel.sendTaggedReply(getId(), buf, !i.hasNext(), getErrorFlag()); + } + } if (ex != null) { - sendError(ex.getMessage(), ex); + logger.info("Transfer exception", ex); + channel.sendTaggedReply(getId(), ex.getMessage().getBytes(), true, true); } } } Modified: trunk/current/src/cog/modules/provider-coaster/src/org/globus/cog/abstraction/impl/file/coaster/handlers/ListHandler.java =================================================================== --- trunk/current/src/cog/modules/provider-coaster/src/org/globus/cog/abstraction/impl/file/coaster/handlers/ListHandler.java 2008-10-02 18:41:23 UTC (rev 2212) +++ trunk/current/src/cog/modules/provider-coaster/src/org/globus/cog/abstraction/impl/file/coaster/handlers/ListHandler.java 2008-10-02 18:42:31 UTC (rev 2213) @@ -10,27 +10,47 @@ package org.globus.cog.abstraction.impl.file.coaster.handlers; import java.io.File; +import java.util.Date; +import org.apache.log4j.Logger; import org.globus.cog.abstraction.interfaces.GridFile; import org.globus.cog.karajan.workflow.service.ProtocolException; public class ListHandler extends CoasterFileRequestHandler { + public static final Logger logger = Logger.getLogger(ListHandler.class); public void requestComplete() throws ProtocolException { File f = normalize(getInDataAsString(0)); - + if (logger.isInfoEnabled()) { + logger.info("Listing files in " + f.getAbsolutePath()); + } File[] l = f.listFiles(); - for (int i = 0; i < l.length; i++) { - f = l[i]; - addOutData(f.getAbsolutePath()); - addOutData(f.isDirectory() ? GridFile.DIRECTORY : GridFile.FILE); - addOutData(""); - addOutData(f.length()); - addOutData(0); - addOutData(0); - addOutData(0); + if (l == null) { + if (logger.isInfoEnabled()) { + logger.info("Invalid directory: " + f.getAbsolutePath()); + } + sendError("No such directory: " + f.getAbsolutePath()); } - sendReply(); + else { + if (logger.isInfoEnabled()) { + logger.info("Listing " + l.length + " files"); + } + for (int i = 0; i < l.length; i++) { + f = l[i]; + addOutData(f.getAbsolutePath()); + addOutData(new Date().toString()); + addOutData(f.isDirectory() ? GridFile.DIRECTORY + : GridFile.FILE); + addOutData(f.length()); + addOutData(0); + addOutData(0); + addOutData(0); + } + if (logger.isInfoEnabled()) { + logger.info("Sending reply"); + } + sendReply(); + } } } Modified: trunk/current/src/cog/modules/provider-coaster/src/org/globus/cog/abstraction/impl/file/coaster/handlers/RmdirHandler.java =================================================================== --- trunk/current/src/cog/modules/provider-coaster/src/org/globus/cog/abstraction/impl/file/coaster/handlers/RmdirHandler.java 2008-10-02 18:41:23 UTC (rev 2212) +++ trunk/current/src/cog/modules/provider-coaster/src/org/globus/cog/abstraction/impl/file/coaster/handlers/RmdirHandler.java 2008-10-02 18:42:31 UTC (rev 2213) @@ -21,7 +21,7 @@ if (!f.isDirectory()) { sendError("Not a directory: " + f); } - if (!f.delete() && f.exists()) { + else if (!f.delete() && f.exists()) { sendError("Failed to delete directory " + f); } else { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |