1 package org.onap.aai.sparky.synchronizer;
3 import java.util.Calendar;
5 import java.util.concurrent.Semaphore;
7 import org.onap.aai.sparky.sync.IndexCleaner;
8 import org.onap.aai.sparky.sync.IndexSynchronizer;
9 import org.onap.aai.sparky.sync.IndexValidator;
10 import org.onap.aai.sparky.sync.SyncController;
11 import org.onap.aai.sparky.sync.SyncControllerImpl.SyncActions;
12 import org.onap.aai.sparky.sync.enumeration.OperationState;
13 import org.onap.aai.sparky.sync.enumeration.SynchronizerState;
15 public class TestSyncController implements SyncController {
17 private String controllerName;
18 private boolean periodic;
19 private SynchronizerState internalState;
20 private Semaphore gate;
22 public TestSyncController(String name) {
23 this.controllerName = name;
24 this.internalState = SynchronizerState.IDLE;
25 this.gate = new Semaphore(1);
30 public String getControllerName() {
31 return this.controllerName;
35 public OperationState performAction(SyncActions requestedAction) {
37 if (gate.tryAcquire()) {
39 internalState = SynchronizerState.PERFORMING_SYNCHRONIZATION;
41 // System.out.println("performaAction = " + requestedAction);
43 System.out.println("Sync started with thread = " + Thread.currentThread().getName()
44 + " at date = " + new Date(Calendar.getInstance().getTimeInMillis()));
48 } catch (InterruptedException e) {
49 // TODO Auto-generated catch block
53 System.out.println("Sync done with thread = " + Thread.currentThread().getName()
54 + " at date = " + new Date(Calendar.getInstance().getTimeInMillis()));
55 internalState = SynchronizerState.IDLE;
57 System.out.println("Next Sync at = " + Thread.currentThread().getName() + " at date = "
58 + new Date(Calendar.getInstance().getTimeInMillis() + 30000L));
63 return OperationState.OK;
65 return OperationState.IGNORED_SYNC_NOT_IDLE;
70 public void registerEntitySynchronizer(IndexSynchronizer entitySynchronizer) {
71 // TODO Auto-generated method stub
76 public void registerIndexValidator(IndexValidator indexValidator) {
77 // TODO Auto-generated method stub
82 public void registerIndexCleaner(IndexCleaner indexCleaner) {
83 // TODO Auto-generated method stub
88 public void shutdown() {
89 // TODO Auto-generated method stub
90 // System.out.println("shutdown");
94 public SynchronizerState getState() {
95 // System.out.println("getState()");
96 return SynchronizerState.IDLE;
100 public long getDelayInMs() {
101 // TODO Auto-generated method stub
106 public void setDelayInMs(long delayInMs) {
107 // TODO Auto-generated method stub
112 public long getSyncFrequencyInMs() {
113 // TODO Auto-generated method stub
118 public void setSyncFrequencyInMs(long syncFrequencyInMs) {
119 // TODO Auto-generated method stub
124 public Date getSyncStartTime() {
125 // System.out.println("getSyncStateTime()");
126 // TODO Auto-generated method stub
131 public void setSyncStartTime(Date syncStartTime) {
132 // TODO Auto-generated method stub
137 public Date getLastExecutionDate() {
138 // TODO Auto-generated method stub
143 public void setLastExecutionDate(Date lastExecutionDate) {
144 // TODO Auto-generated method stub
150 public Calendar getCreationTime() {
151 // TODO Auto-generated method stub
156 public String getNextSyncTime() {
157 // TODO Auto-generated method stub
163 public boolean isPeriodicSyncEnabled() {
164 // TODO Auto-generated method stub
170 public boolean isRunOnceSyncEnabled() {
171 // TODO Auto-generated method stub