Author: ozeigermann
Date: Tue Mar 20 06:58:03 2007
New Revision: 520389

URL: http://svn.apache.org/viewvc?view=rev&rev=520389
Log:
Moved changes for administration command to a sub class in order not to 
overload the base implementation.

Modified:
    
jakarta/commons/proper/transaction/trunk/src/java/org/apache/commons/transaction/file/FileResourceManager.java
    
jakarta/commons/proper/transaction/trunk/src/test/org/apache/commons/transaction/file/FileResourceManagerVirtualAdminCommandsTest.java

Modified: 
jakarta/commons/proper/transaction/trunk/src/java/org/apache/commons/transaction/file/FileResourceManager.java
URL: 
http://svn.apache.org/viewvc/jakarta/commons/proper/transaction/trunk/src/java/org/apache/commons/transaction/file/FileResourceManager.java?view=diff&rev=520389&r1=520388&r2=520389
==============================================================================
--- 
jakarta/commons/proper/transaction/trunk/src/java/org/apache/commons/transaction/file/FileResourceManager.java
 (original)
+++ 
jakarta/commons/proper/transaction/trunk/src/java/org/apache/commons/transaction/file/FileResourceManager.java
 Tue Mar 20 06:58:03 2007
@@ -18,7 +18,6 @@
 
 import java.io.BufferedReader;
 import java.io.BufferedWriter;
-import java.io.ByteArrayInputStream;
 import java.io.File;
 import java.io.FileInputStream;
 import java.io.FileNotFoundException;
@@ -196,8 +195,6 @@
     protected TransactionIdToPathMapper txIdMapper = null;
 
     protected int idCnt = 0;
-    
-    protected String virtualAdminPath = null;
 
     /*
      * --- ctor and general getter / setter methods ---
@@ -205,14 +202,6 @@
      *  
      */
 
-    public String getVirtualAdminPath() {
-        return virtualAdminPath;
-    }
-
-    public void setVirtualAdminPath(String virutalAdminPath) {
-        this.virtualAdminPath = virutalAdminPath;
-    }
-    
     /**
      * Creates a new resource manager operation on the specified directories.
      * 
@@ -728,26 +717,16 @@
     }
 
     public boolean resourceExists(Object txId, Object resourceId) throws 
ResourceManagerException {
-        if (isVirtualAdminId(resourceId)) {
-            logger.logFine("Faking existence of virtual administration 
command");
-            return true;
-        }
-
         lockResource(resourceId, txId, true);
         return (getPathForRead(txId, resourceId) != null);
     }
 
     public void deleteResource(Object txId, Object resourceId) throws 
ResourceManagerException {
-
-        checkForVirtualAdminCommand(resourceId);
-
         deleteResource(txId, resourceId, true);
     }
 
     public void deleteResource(Object txId, Object resourceId, boolean 
assureOnly) throws ResourceManagerException {
 
-        checkForVirtualAdminCommand(resourceId);
-
         if (logger.isFineEnabled()) logger.logFine(txId + " deleting " + 
resourceId);
 
         lockResource(resourceId, txId, false);
@@ -781,16 +760,11 @@
     }
 
     public void createResource(Object txId, Object resourceId) throws 
ResourceManagerException {
-
-        checkForVirtualAdminCommand(resourceId);
-
         createResource(txId, resourceId, true);
     }
 
     public void createResource(Object txId, Object resourceId, boolean 
assureOnly) throws ResourceManagerException {
 
-        checkForVirtualAdminCommand(resourceId);
-
         if (logger.isFineEnabled()) logger.logFine(txId + " creating " + 
resourceId);
 
         lockResource(resourceId, txId, false);
@@ -824,10 +798,6 @@
     }
 
     public void copyResource(Object txId, Object fromResourceId, Object 
toResourceId, boolean overwrite) throws ResourceManagerException {
-        
-        checkForVirtualAdminCommand(fromResourceId);
-        checkForVirtualAdminCommand(toResourceId);
-
         if (logger.isFineEnabled()) logger.logFine(txId + " copying " + 
fromResourceId + " to " + toResourceId);
 
         lockResource(fromResourceId, txId, true);
@@ -855,10 +825,6 @@
     }
 
     public void moveResource(Object txId, Object fromResourceId, Object 
toResourceId, boolean overwrite) throws ResourceManagerException {
-
-        checkForVirtualAdminCommand(fromResourceId);
-        checkForVirtualAdminCommand(toResourceId);
-
         if (logger.isFineEnabled()) logger.logFine(txId + " moving " + 
fromResourceId + " to " + toResourceId);
 
         lockResource(fromResourceId, txId, false);
@@ -870,12 +836,6 @@
     }
 
     public InputStream readResource(Object resourceId) throws 
ResourceManagerException {
-
-        if (isVirtualAdminId(resourceId)) {
-            logger.logWarning("Issuing virtual admin command" + resourceId);
-            return executeAdminCommand(resourceId);
-        }
-        
         // create temporary light weight tx
         Object txId;
         synchronized (globalTransactions) {
@@ -895,12 +855,6 @@
     }
 
     public InputStream readResource(Object txId, Object resourceId) throws 
ResourceManagerException {
-        
-        if (isVirtualAdminId(resourceId)) {
-            String message = "You must not call virtual admin commands (" + 
resourceId + ") from within transactions!";
-            logger.logSevere(message);
-            throw new ResourceManagerException(message);
-        }
 
         if (logger.isFineEnabled()) logger.logFine(txId + " reading " + 
resourceId);
 
@@ -921,73 +875,12 @@
         }
     }
 
-    protected void checkForVirtualAdminCommand(Object resourceId) throws 
ResourceManagerException {
-        if (isVirtualAdminId(resourceId)) {
-            String message = "You must not make modification calls to virtual 
admin commands ("
-                    + resourceId + ")!";
-            logger.logSevere(message);
-            throw new ResourceManagerException(message);
-        }
-    }
-
-    protected boolean isVirtualAdminId(Object resourceId) {
-        return (getVirtualAdminPath() != null && 
resourceId.toString().startsWith(
-                getVirtualAdminPath()));
-    }
-
-    protected InputStream executeAdminCommand(Object resourceId) {
-        StringBuffer sb = new StringBuffer();
-
-        if (!isVirtualAdminId(resourceId)) {
-            String message = "Internal error: " + resourceId.toString()
-                    + " is no administration command, but is supposed to!";
-            sb.append(message);
-            logger.logSevere(message);
-        } else {
-            String command = 
resourceId.toString().substring(getVirtualAdminPath().length());
-            logger.logInfo("Processing admin command " + command);
-
-            // XXX this really should be more flexible
-            try {
-                if (isAKnowCommand(command)) {
-                    if (command.equals("recover")) {
-                        recover();
-                    }
-
-                    String message = "Command " + command + " terminated 
successfully";
-                    sb.append(message);
-                    logger.logInfo(message);
-                } else {
-                    String message = "Command " + command + " unknown";
-                    sb.append(message);
-                    logger.logWarning(message);
-
-                }
-            } catch (ResourceManagerSystemException e) {
-                String message = "Command " + command + " failed with the 
following message: "
-                        + e.getMessage();
-                sb.append(message);
-                logger.logSevere(message, e);
-            }
-
-        }
-        ByteArrayInputStream baIs = new 
ByteArrayInputStream(sb.toString().getBytes());
-        return baIs;
-
-    }
-
-    protected boolean isAKnowCommand(String command) {
-        return command.equals("recover");
-    }
-    
     public OutputStream writeResource(Object txId, Object resourceId) throws 
ResourceManagerException {
         return writeResource(txId, resourceId, false);
     }
 
     public OutputStream writeResource(Object txId, Object resourceId, boolean 
append) throws ResourceManagerException {
 
-        checkForVirtualAdminCommand(resourceId);
-        
         if (logger.isFineEnabled()) logger.logFine(txId + " writing " + 
resourceId);
 
         lockResource(resourceId, txId, false);

Modified: 
jakarta/commons/proper/transaction/trunk/src/test/org/apache/commons/transaction/file/FileResourceManagerVirtualAdminCommandsTest.java
URL: 
http://svn.apache.org/viewvc/jakarta/commons/proper/transaction/trunk/src/test/org/apache/commons/transaction/file/FileResourceManagerVirtualAdminCommandsTest.java?view=diff&rev=520389&r1=520388&r2=520389
==============================================================================
--- 
jakarta/commons/proper/transaction/trunk/src/test/org/apache/commons/transaction/file/FileResourceManagerVirtualAdminCommandsTest.java
 (original)
+++ 
jakarta/commons/proper/transaction/trunk/src/test/org/apache/commons/transaction/file/FileResourceManagerVirtualAdminCommandsTest.java
 Tue Mar 20 06:58:03 2007
@@ -104,8 +104,8 @@
         createFiles(INITIAL_FILES);
     }
 
-    public static FileResourceManager createFRM() {
-        return new FileResourceManager(STORE, WORK, false, sLogger, true) {
+    public static VirtualAdminCommandsFileResourceManager createFRM() {
+        return new VirtualAdminCommandsFileResourceManager(STORE, WORK, false, 
sLogger, true) {
             public void setDirty(Object txId, Throwable t) {
                 dirty = true;
             }
@@ -130,7 +130,7 @@
         sLogger.logInfo("Checking recover() admin command");
         reset();
         createInitialFiles();
-        FileResourceManager frm = createFRM();
+        VirtualAdminCommandsFileResourceManager frm = createFRM();
         frm.setVirtualAdminPath(ADMIN_COMMAND_PREFIX);
         InputStream is = frm.readResource(ADMIN_COMMAND_PREFIX + "recover");
         BufferedReader bf = new BufferedReader(new InputStreamReader(is));



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to