[jboss-cvs] JBossAS SVN: r68596 - trunk/spring-int/src/main/org/jboss/spring/deployers.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu Jan 3 07:35:52 EST 2008


Author: alesj
Date: 2008-01-03 07:35:52 -0500 (Thu, 03 Jan 2008)
New Revision: 68596

Modified:
   trunk/spring-int/src/main/org/jboss/spring/deployers/SpringMetaData.java
   trunk/spring-int/src/main/org/jboss/spring/deployers/SpringParserDeployer.java
Log:
Legacy default name option.

Modified: trunk/spring-int/src/main/org/jboss/spring/deployers/SpringMetaData.java
===================================================================
--- trunk/spring-int/src/main/org/jboss/spring/deployers/SpringMetaData.java	2008-01-03 00:06:18 UTC (rev 68595)
+++ trunk/spring-int/src/main/org/jboss/spring/deployers/SpringMetaData.java	2008-01-03 12:35:52 UTC (rev 68596)
@@ -82,4 +82,12 @@
          resource = new UrlResource(fileURL);
       return resource;
    }
+
+   public String toString()
+   {
+      StringBuilder builder = new StringBuilder();
+      builder.append("fileURL=").append(fileURL);
+      builder.append(", defaultName=").append(defaultName);
+      return builder.toString();
+   }
 }

Modified: trunk/spring-int/src/main/org/jboss/spring/deployers/SpringParserDeployer.java
===================================================================
--- trunk/spring-int/src/main/org/jboss/spring/deployers/SpringParserDeployer.java	2008-01-03 00:06:18 UTC (rev 68595)
+++ trunk/spring-int/src/main/org/jboss/spring/deployers/SpringParserDeployer.java	2008-01-03 12:35:52 UTC (rev 68596)
@@ -34,15 +34,42 @@
  */
 public class SpringParserDeployer extends AbstractVFSParsingDeployer<SpringMetaData> implements FileMatcher
 {
+   private boolean useMetaFileNameAsDefault;
+
    public SpringParserDeployer()
    {
       super(SpringMetaData.class);
       setSuffix("-spring.xml");
+      setUseMetaFileNameAsDefault(true);
    }
 
    /**
-    * Get default name.
+    * Get the use name flag.
     *
+    * @return true if the default name should be determined from meta file
+    */
+   protected boolean isUseMetaFileNameAsDefault()
+   {
+      return useMetaFileNameAsDefault;
+   }
+
+   /**
+    * Should we use meta file name as default.
+    * e.g. using string before -spring.xml as the name
+    *
+    * Previous versions used string before .spring as the name,
+    * setting this to false results in this legacy behaviour.
+    *
+    * @param useMetaFileNameAsDefault the flag
+    */
+   public void setUseMetaFileNameAsDefault(boolean useMetaFileNameAsDefault)
+   {
+      this.useMetaFileNameAsDefault = useMetaFileNameAsDefault;
+   }
+
+   /**
+    * Get default name from meta file.
+    *
     * @param file the virtual file
     * @return default name
     */
@@ -53,9 +80,27 @@
       return shortName.substring(0, p);
    }
 
+   /**
+    * Get default name from unit.
+    *
+    * @param unit the deployment unit
+    * @return default name
+    */
+   protected String getDefaultName(VFSDeploymentUnit unit)
+   {
+      String shortName = unit.getSimpleName();
+      int p = shortName.lastIndexOf(".");
+      return shortName.substring(0, p);
+   }
+
    protected SpringMetaData parse(VFSDeploymentUnit unit, VirtualFile file, SpringMetaData metaData) throws Exception
    {
-      return new SpringMetaData(file.toURL(), getDefaultName(file));
+      String defaultName;
+      if (isUseMetaFileNameAsDefault())
+         defaultName = getDefaultName(file);
+      else
+         defaultName = getDefaultName(unit);
+      return new SpringMetaData(file.toURL(), defaultName);
    }
 
    public boolean isDeployable(VirtualFile virtualFile)




More information about the jboss-cvs-commits mailing list