Convert Sparky to Spring-Boot
[aai/sparky-be.git] / sparkybe-onap-service / src / test / java / org / onap / aai / sparky / synchronizer / TestSyncController.java
diff --git a/sparkybe-onap-service/src/test/java/org/onap/aai/sparky/synchronizer/TestSyncController.java b/sparkybe-onap-service/src/test/java/org/onap/aai/sparky/synchronizer/TestSyncController.java
new file mode 100644 (file)
index 0000000..c61f78b
--- /dev/null
@@ -0,0 +1,177 @@
+package org.onap.aai.sparky.synchronizer;
+
+import java.util.Calendar;
+import java.util.Date;
+import java.util.concurrent.Semaphore;
+
+import org.onap.aai.sparky.sync.IndexCleaner;
+import org.onap.aai.sparky.sync.IndexSynchronizer;
+import org.onap.aai.sparky.sync.IndexValidator;
+import org.onap.aai.sparky.sync.SyncController;
+import org.onap.aai.sparky.sync.SyncControllerImpl.SyncActions;
+import org.onap.aai.sparky.sync.enumeration.OperationState;
+import org.onap.aai.sparky.sync.enumeration.SynchronizerState;
+
+public class TestSyncController implements SyncController {
+
+  private String controllerName;
+  private boolean periodic;
+  private SynchronizerState internalState;
+  private Semaphore gate;
+  
+  public TestSyncController(String name) {
+    this.controllerName = name;
+    this.internalState = SynchronizerState.IDLE;
+    this.gate = new Semaphore(1);
+  }
+  
+  
+  @Override
+  public String getControllerName() {
+    return this.controllerName;
+  }
+
+  @Override
+  public OperationState performAction(SyncActions requestedAction) {
+    
+    if (gate.tryAcquire()) {
+
+      internalState = SynchronizerState.PERFORMING_SYNCHRONIZATION;
+
+   //   System.out.println("performaAction = " + requestedAction);
+
+      System.out.println("Sync started with thread = " + Thread.currentThread().getName()
+          + " at date = " + new Date(Calendar.getInstance().getTimeInMillis()));
+
+      try {
+        Thread.sleep(10000L);
+      } catch (InterruptedException e) {
+        // TODO Auto-generated catch block
+        e.printStackTrace();
+      }
+
+      System.out.println("Sync done with thread = " + Thread.currentThread().getName()
+          + " at date = " + new Date(Calendar.getInstance().getTimeInMillis()));
+      internalState = SynchronizerState.IDLE;
+
+      System.out.println("Next Sync at = " + Thread.currentThread().getName()
+          + " at date = " + new Date(Calendar.getInstance().getTimeInMillis() + 30000L));
+
+      
+      gate.release();
+      
+      return OperationState.OK;
+    } else {
+      return OperationState.IGNORED_SYNC_NOT_IDLE;
+    }
+  }
+
+  @Override
+  public void registerEntitySynchronizer(IndexSynchronizer entitySynchronizer) {
+    // TODO Auto-generated method stub
+    
+  }
+
+  @Override
+  public void registerIndexValidator(IndexValidator indexValidator) {
+    // TODO Auto-generated method stub
+    
+  }
+
+  @Override
+  public void registerIndexCleaner(IndexCleaner indexCleaner) {
+    // TODO Auto-generated method stub
+    
+  }
+
+  @Override
+  public void shutdown() {
+    // TODO Auto-generated method stub
+   // System.out.println("shutdown");
+  }
+
+  @Override
+  public SynchronizerState getState() {
+ //   System.out.println("getState()");
+    return SynchronizerState.IDLE;
+  }
+
+  @Override
+  public long getDelayInMs() {
+    // TODO Auto-generated method stub
+    return 1000L;
+  }
+
+  @Override
+  public void setDelayInMs(long delayInMs) {
+    // TODO Auto-generated method stub
+    
+  }
+
+  @Override
+  public long getSyncFrequencyInMs() {
+    // TODO Auto-generated method stub
+    return 30000L;
+  }
+
+  @Override
+  public void setSyncFrequencyInMs(long syncFrequencyInMs) {
+    // TODO Auto-generated method stub
+    
+  }
+
+  @Override
+  public Date getSyncStartTime() {
+//    System.out.println("getSyncStateTime()");
+    // TODO Auto-generated method stub
+    return null;
+  }
+
+  @Override
+  public void setSyncStartTime(Date syncStartTime) {
+    // TODO Auto-generated method stub
+    
+  }
+
+  @Override
+  public Date getLastExecutionDate() {
+    // TODO Auto-generated method stub
+    return null;
+  }
+
+  @Override
+  public void setLastExecutionDate(Date lastExecutionDate) {
+    // TODO Auto-generated method stub
+    
+  }
+
+  
+  @Override
+  public Calendar getCreationTime() {
+    // TODO Auto-generated method stub
+    return null;
+  }
+  
+  @Override
+  public String getNextSyncTime() {
+    // TODO Auto-generated method stub
+    return null;
+  }
+
+
+  @Override
+  public boolean isPeriodicSyncEnabled() {
+    // TODO Auto-generated method stub
+    return false;
+  }
+
+
+  @Override
+  public boolean isRunOnceSyncEnabled() {
+    // TODO Auto-generated method stub
+    return false;
+  }
+  
+  
+
+}