[jboss-cvs] JBossAS SVN: r77007 - projects/jboss-deployers/trunk/deployers-vfs/src/main/org/jboss/deployers/vfs/plugins/client.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Wed Aug 13 06:48:07 EDT 2008


Author: alesj
Date: 2008-08-13 06:48:07 -0400 (Wed, 13 Aug 2008)
New Revision: 77007

Modified:
   projects/jboss-deployers/trunk/deployers-vfs/src/main/org/jboss/deployers/vfs/plugins/client/AbstractVFSDeployment.java
Log:
[JBDEPLOY-48]; optional direct VFS root serialization.

Modified: projects/jboss-deployers/trunk/deployers-vfs/src/main/org/jboss/deployers/vfs/plugins/client/AbstractVFSDeployment.java
===================================================================
--- projects/jboss-deployers/trunk/deployers-vfs/src/main/org/jboss/deployers/vfs/plugins/client/AbstractVFSDeployment.java	2008-08-13 09:40:01 UTC (rev 77006)
+++ projects/jboss-deployers/trunk/deployers-vfs/src/main/org/jboss/deployers/vfs/plugins/client/AbstractVFSDeployment.java	2008-08-13 10:48:07 UTC (rev 77007)
@@ -42,6 +42,9 @@
    /** The serialVersionUID */
    private static final long serialVersionUID = 2L;
 
+   /** The flag to do direct VF serialization */
+   private boolean directRootSerialization;
+
    /** The root */
    private transient VirtualFile root;
 
@@ -102,16 +105,38 @@
       return "AbstractVFSDeployment(" + getSimpleName() + ")";
    }
 
+   /**
+    * Should we serialize root directly.
+    * e.g. the root is memory virtual file instance
+    * @see org.jboss.virtual.plugins.context.memory.MemoryContextHandler 
+    *
+    * @param directRootSerialization the direct root serialization flag
+    */
+   public void setDirectRootSerialization(boolean directRootSerialization)
+   {
+      this.directRootSerialization = directRootSerialization;
+   }
+
    public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException
    {
       super.readExternal(in);
-      VirtualFileSerializator serializator = (VirtualFileSerializator)in.readObject();
-      root = serializator.getFile();
+      directRootSerialization = in.readBoolean();
+      if (directRootSerialization)
+         root = (VirtualFile)in.readObject();
+      else
+      {
+         VirtualFileSerializator serializator = (VirtualFileSerializator)in.readObject();
+         root = serializator.getFile();
+      }
    }
 
    public void writeExternal(ObjectOutput out) throws IOException
    {
       super.writeExternal(out);
-      out.writeObject(new VirtualFileSerializator(root));
+      out.writeBoolean(directRootSerialization);
+      if (directRootSerialization)
+         out.writeObject(root);
+      else
+         out.writeObject(new VirtualFileSerializator(root));
    }
 }




More information about the jboss-cvs-commits mailing list