changes to add sharp checkpoint

git-svn-id: https://hyracks.googlecode.com/svn/branches/hyracks_lsm_tree@3001 123451ca-8445-de46-9d55-352943316053
diff --git a/hyracks-storage-am-lsm-common/src/main/java/edu/uci/ics/hyracks/storage/am/lsm/common/api/ILSMIOOperationCallback.java b/hyracks-storage-am-lsm-common/src/main/java/edu/uci/ics/hyracks/storage/am/lsm/common/api/ILSMIOOperationCallback.java
index 48416fd..bf12583 100644
--- a/hyracks-storage-am-lsm-common/src/main/java/edu/uci/ics/hyracks/storage/am/lsm/common/api/ILSMIOOperationCallback.java
+++ b/hyracks-storage-am-lsm-common/src/main/java/edu/uci/ics/hyracks/storage/am/lsm/common/api/ILSMIOOperationCallback.java
@@ -5,10 +5,10 @@
 import edu.uci.ics.hyracks.api.exceptions.HyracksDataException;
 
 public interface ILSMIOOperationCallback {
-    public void beforeOperation(ILSMIOOperation operation) throws HyracksDataException;
+    public void beforeOperation() throws HyracksDataException;
 
-    public void afterOperation(ILSMIOOperation operation, List<ILSMComponent> oldComponents, ILSMComponent newComponent)
+    public void afterOperation(List<ILSMComponent> oldComponents, ILSMComponent newComponent)
             throws HyracksDataException;
 
-    public void afterFinalize(ILSMIOOperation operation, ILSMComponent newComponent) throws HyracksDataException;
+    public void afterFinalize(ILSMComponent newComponent) throws HyracksDataException;
 }
diff --git a/hyracks-storage-am-lsm-common/src/main/java/edu/uci/ics/hyracks/storage/am/lsm/common/api/ILSMIndex.java b/hyracks-storage-am-lsm-common/src/main/java/edu/uci/ics/hyracks/storage/am/lsm/common/api/ILSMIndex.java
index 085626c..cff47bb 100644
--- a/hyracks-storage-am-lsm-common/src/main/java/edu/uci/ics/hyracks/storage/am/lsm/common/api/ILSMIndex.java
+++ b/hyracks-storage-am-lsm-common/src/main/java/edu/uci/ics/hyracks/storage/am/lsm/common/api/ILSMIndex.java
@@ -32,6 +32,7 @@
  * concurrent searches/updates/merges may be ongoing.
  */
 public interface ILSMIndex extends IIndex {
+    
     public void deactivate(boolean flushOnExit) throws HyracksDataException;
 
     public ILSMIndexAccessor createAccessor(IModificationOperationCallback modificationCallback,
diff --git a/hyracks-storage-am-lsm-common/src/main/java/edu/uci/ics/hyracks/storage/am/lsm/common/impls/BlockingIOOperationCallbackWrapper.java b/hyracks-storage-am-lsm-common/src/main/java/edu/uci/ics/hyracks/storage/am/lsm/common/impls/BlockingIOOperationCallbackWrapper.java
index 7558721..34e1f0d 100644
--- a/hyracks-storage-am-lsm-common/src/main/java/edu/uci/ics/hyracks/storage/am/lsm/common/impls/BlockingIOOperationCallbackWrapper.java
+++ b/hyracks-storage-am-lsm-common/src/main/java/edu/uci/ics/hyracks/storage/am/lsm/common/impls/BlockingIOOperationCallbackWrapper.java
@@ -4,7 +4,6 @@
 
 import edu.uci.ics.hyracks.api.exceptions.HyracksDataException;
 import edu.uci.ics.hyracks.storage.am.lsm.common.api.ILSMComponent;
-import edu.uci.ics.hyracks.storage.am.lsm.common.api.ILSMIOOperation;
 import edu.uci.ics.hyracks.storage.am.lsm.common.api.ILSMIOOperationCallback;
 
 public class BlockingIOOperationCallbackWrapper implements ILSMIOOperationCallback {
@@ -25,20 +24,19 @@
     }
 
     @Override
-    public void beforeOperation(ILSMIOOperation operation) throws HyracksDataException {
-        wrappedCallback.beforeOperation(operation);
+    public void beforeOperation() throws HyracksDataException {
+        wrappedCallback.beforeOperation();
     }
 
     @Override
-    public void afterOperation(ILSMIOOperation operation, List<ILSMComponent> oldComponents, ILSMComponent newComponent)
+    public void afterOperation(List<ILSMComponent> oldComponents, ILSMComponent newComponent)
             throws HyracksDataException {
-        wrappedCallback.afterOperation(operation, oldComponents, newComponent);
+        wrappedCallback.afterOperation(oldComponents, newComponent);
     }
 
     @Override
-    public synchronized void afterFinalize(ILSMIOOperation operation, ILSMComponent newComponent)
-            throws HyracksDataException {
-        wrappedCallback.afterFinalize(operation, newComponent);
+    public synchronized void afterFinalize(ILSMComponent newComponent) throws HyracksDataException {
+        wrappedCallback.afterFinalize(newComponent);
         this.notifyAll();
         notified = true;
     }
diff --git a/hyracks-storage-am-lsm-common/src/main/java/edu/uci/ics/hyracks/storage/am/lsm/common/impls/LSMHarness.java b/hyracks-storage-am-lsm-common/src/main/java/edu/uci/ics/hyracks/storage/am/lsm/common/impls/LSMHarness.java
index da87ed9..4a140b4 100644
--- a/hyracks-storage-am-lsm-common/src/main/java/edu/uci/ics/hyracks/storage/am/lsm/common/impls/LSMHarness.java
+++ b/hyracks-storage-am-lsm-common/src/main/java/edu/uci/ics/hyracks/storage/am/lsm/common/impls/LSMHarness.java
@@ -175,11 +175,11 @@
     @Override
     public void flush(ILSMIndexOperationContext ctx, ILSMIOOperation operation) throws HyracksDataException,
             IndexException {
-        operation.getCallback().beforeOperation(operation);
+        operation.getCallback().beforeOperation();
         ILSMComponent newComponent = lsmIndex.flush(operation);
-        operation.getCallback().afterOperation(operation, null, newComponent);
+        operation.getCallback().afterOperation(null, newComponent);
         lsmIndex.markAsValid(newComponent);
-        operation.getCallback().afterFinalize(operation, newComponent);
+        operation.getCallback().afterFinalize(newComponent);
 
         lsmIndex.addComponent(newComponent);
         int numComponents = lsmIndex.getImmutableComponents().size();
@@ -206,12 +206,12 @@
     public void merge(ILSMIndexOperationContext ctx, ILSMIOOperation operation) throws HyracksDataException,
             IndexException {
         List<ILSMComponent> mergedComponents = new ArrayList<ILSMComponent>();
-        operation.getCallback().beforeOperation(operation);
+        operation.getCallback().beforeOperation();
         ILSMComponent newComponent = lsmIndex.merge(mergedComponents, operation);
         ctx.getComponentHolder().addAll(mergedComponents);
-        operation.getCallback().afterOperation(operation, mergedComponents, newComponent);
+        operation.getCallback().afterOperation(mergedComponents, newComponent);
         lsmIndex.markAsValid(newComponent);
-        operation.getCallback().afterFinalize(operation, newComponent);
+        operation.getCallback().afterFinalize(newComponent);
         lsmIndex.subsumeMergedComponents(newComponent, mergedComponents);
         exitComponents(ctx, LSMOperationType.MERGE, false);
     }
diff --git a/hyracks-storage-am-lsm-common/src/main/java/edu/uci/ics/hyracks/storage/am/lsm/common/impls/NoOpIOOperationCallback.java b/hyracks-storage-am-lsm-common/src/main/java/edu/uci/ics/hyracks/storage/am/lsm/common/impls/NoOpIOOperationCallback.java
index 999568e..b123b30 100644
--- a/hyracks-storage-am-lsm-common/src/main/java/edu/uci/ics/hyracks/storage/am/lsm/common/impls/NoOpIOOperationCallback.java
+++ b/hyracks-storage-am-lsm-common/src/main/java/edu/uci/ics/hyracks/storage/am/lsm/common/impls/NoOpIOOperationCallback.java
@@ -4,7 +4,6 @@
 
 import edu.uci.ics.hyracks.api.exceptions.HyracksDataException;
 import edu.uci.ics.hyracks.storage.am.lsm.common.api.ILSMComponent;
-import edu.uci.ics.hyracks.storage.am.lsm.common.api.ILSMIOOperation;
 import edu.uci.ics.hyracks.storage.am.lsm.common.api.ILSMIOOperationCallback;
 import edu.uci.ics.hyracks.storage.am.lsm.common.api.ILSMIOOperationCallbackProvider;
 import edu.uci.ics.hyracks.storage.am.lsm.common.api.ILSMIndex;
@@ -13,18 +12,18 @@
     INSTANCE;
 
     @Override
-    public void beforeOperation(ILSMIOOperation operation) throws HyracksDataException {
+    public void beforeOperation() throws HyracksDataException {
         // Do nothing.
     }
 
     @Override
-    public void afterOperation(ILSMIOOperation operation, List<ILSMComponent> oldComponents, ILSMComponent newComponent)
+    public void afterOperation(List<ILSMComponent> oldComponents, ILSMComponent newComponent)
             throws HyracksDataException {
         // Do nothing.
     }
 
     @Override
-    public void afterFinalize(ILSMIOOperation operation, ILSMComponent newComponent) throws HyracksDataException {
+    public void afterFinalize(ILSMComponent newComponent) throws HyracksDataException {
         // Do nothing.
     }