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]