Adding UI extensibility
[aai/sparky-be.git] / src / test / java / org / onap / aai / sparky / synchronizer / SyncControllerBuilder.java
1 /**
2  * ============LICENSE_START===================================================
3  * SPARKY (AAI UI service)
4  * ============================================================================
5  * Copyright © 2017 AT&T Intellectual Property.
6  * Copyright © 2017 Amdocs
7  * All rights reserved.
8  * ============================================================================
9  * Licensed under the Apache License, Version 2.0 (the "License");
10  * you may not use this file except in compliance with the License.
11  * You may obtain a copy of the License at
12  *
13  *      http://www.apache.org/licenses/LICENSE-2.0
14  *
15  * Unless required by applicable law or agreed to in writing, software
16  * distributed under the License is distributed on an "AS IS" BASIS,
17  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18  * See the License for the specific language governing permissions and
19  * limitations under the License.
20  * ============LICENSE_END=====================================================
21  *
22  * ECOMP and OpenECOMP are trademarks
23  * and service marks of AT&T Intellectual Property.
24  */
25
26 package org.onap.aai.sparky.synchronizer;
27
28 /**
29  * The Class SyncControllerBuilder.
30  */
31 public class SyncControllerBuilder {
32
33
34   /*
35    * We'll have to revisit this class, as the sync controllers are wired up pretty differently now
36    */
37
38   /**
39    * Test elastic search update api.
40    */
41   /*
42    * public void testElasticSearchUpdateApi() { try {
43    * 
44    * RestClientBuilder clientBuilder = new RestClientBuilder(); clientBuilder.setUseHttps(false);
45    * 
46    * RestfulDataAccessor nonCachingRestProvider = new RestfulDataAccessor(clientBuilder);
47    * 
48    * ElasticSearchConfig esConfig = ElasticSearchConfig.getConfig(); ElasticSearchDataProvider
49    * elasticSearchDataProvider = new ElasticSearchAdapter(nonCachingRestProvider, esConfig);
50    * 
51    * String payload =
52    * "{ \"entityType\": \"complex\", \"pkey\": \"MORRISTOWN0075\", \"location\": { \"lat\": \"40.793414\", \"lon\": \"-74.480432\" }, \"selfLink\": \"https://aai-int1.test.att.com:8443/aai/v8/cloud-infrastructure/complexes/complex/MORRISTOWN0075?nodes-only\" }\n"
53    * ;
54    * 
55    * String updateRequest = elasticSearchDataProvider.buildBulkImportOperationRequest(
56    * "topographysearchindex-localhost", "default",
57    * "1e2a6ba9e09d5e1bcb016b3a0b8d50273b42828e47957bd2a2f3ce1854744f5f", "6", payload);
58    * 
59    * OperationResult or = elasticSearchDataProvider.doBulkOperation("http://localhost:9200/_bulk",
60    * updateRequest);
61    * 
62    * System.out.println(or.toString());
63    * 
64    * /* String BULK_IMPORT_INDEX_TEMPLATE =
65    * "{\"index\":{\"_index\":\"%s\",\"_type\":\"%s\",\"_id\":\"%s\", \"_version\":\"%s\"}}\n";
66    * 
67    * StringBuilder updateRequestPayload = new StringBuilder(128);
68    * updateRequestPayload.append(String.format(BULK_IMPORT_INDEX_TEMPLATE,
69    * "topographysearchindex-localhost", "default",
70    * "1e2a6ba9e09d5e1bcb016b3a0b8d50273b42828e47957bd2a2f3ce1854744f5f", "5"));
71    * 
72    * 
73    * updateRequestPayload.append(payload);
74    * 
75    * OperationResult or = nonCachingRestProvider.doRestfulOperation(HttpMethod.PUT,
76    * "http://localhost:9200/_bulk", updateRequestPayload.toString(),
77    * RestfulDataAccessor.APPLICATION_X_WWW_FORM_URL_ENCODED, RestfulDataAccessor.APPLICATION_JSON);
78    */
79
80
81   /*
82    * } catch (Exception exc) { exc.printStackTrace(); System.out.println(
83    * "Error:  failed to sync with message = " + exc.getMessage()); } }
84    * 
85    * /** Do historical entity sync.
86    *//*
87      * public void doHistoricalEntitySync() { try { SyncController syncController = new
88      * SyncControllerImpl("historicalEntityTestController");
89      * 
90      * ActiveInventoryAdapter aaiAdapter = new ActiveInventoryAdapter(new OxmModelLoader(), new
91      * RestClientBuilder());
92      * 
93      * RestClientBuilder clientBuilder = new RestClientBuilder(); clientBuilder.setUseHttps(false);
94      * 
95      * RestfulDataAccessor nonCachingRestProvider = new RestfulDataAccessor(clientBuilder);
96      * 
97      * ElasticSearchConfig esConfig = ElasticSearchConfig.getConfig();
98      * 
99      * ElasticSearchAdapter esAdapter = new ElasticSearchAdapter(nonCachingRestProvider,esConfig);
100      * 
101      * 
102      * IndexIntegrityValidator entityCounterHistoryValidator = new
103      * IndexIntegrityValidator(nonCachingRestProvider, esConfig.getEntityCountHistoryIndex(),
104      * esConfig.getType(), esConfig.getIpAddress(), esConfig.getHttpPort(),
105      * esConfig.buildElasticSearchEntityCountHistoryTableConfig());
106      * 
107      * syncController.registerIndexValidator(entityCounterHistoryValidator);
108      * 
109      * 
110      * //////
111      * 
112      * 
113      * 
114      * HistoricalEntitySummarizer historicalSummarizer = new
115      * HistoricalEntitySummarizer(esConfig.getEntityCountHistoryIndex());
116      * historicalSummarizer.setAaiDataProvider(aaiAdapter);
117      * historicalSummarizer.setEsDataProvider(esAdapter);
118      * syncController.registerEntitySynchronizer(historicalSummarizer);
119      * 
120      * ////
121      * 
122      * /* IndexIntegrityValidator entitySearchIndexValidator = new IndexIntegrityValidator(new
123      * RestClientBuilder());
124      * 
125      * entitySearchIndexValidator.setIndexName("topographysearchindex-localhost");
126      * entitySearchIndexValidator.setIndexType("default");
127      * entitySearchIndexValidator.setIndexSettings("");
128      * entitySearchIndexValidator.setIndexSettings("");
129      * 
130      * syncController.registerIndexValidator(entitySearchIndexValidator);
131      */
132
133   ////
134
135   /*
136    * IndexCleaner index1Cleaner = new ElasticSearchIndexCleaner(nonCachingRestProvider,
137    * "topographysearchindex-localhost", "default", "127.0.0.1", "9200", 5, 5000);
138    */
139
140   // syncController.registerIndexCleaner(index1Cleaner);
141
142   ///
143   /*
144    * for (int x = 0; x < 10; x++) {
145    * 
146    * syncController.performAction(SyncActions.SYNCHRONIZE);
147    * 
148    * while (syncController.getState() == SynchronizerState.PERFORMING_SYNCHRONIZATION) {
149    * 
150    * System.out.println("sync controller state = " + syncController.getState());
151    * 
152    * Thread.sleep(1000); } }
153    * 
154    * syncController.shutdown();
155    * 
156    * } catch (Exception exc) { exc.printStackTrace(); System.out.println(
157    * "Error:  failed to sync with message = " + exc.getMessage()); } }
158    * 
159    * /** Do geo entity sync.
160    *//*
161      * public void doGeoEntitySync() { try {
162      * 
163      * ActiveInventoryAdapter aaiAdapter = new ActiveInventoryAdapter(new OxmModelLoader(), new
164      * RestClientBuilder());
165      * 
166      * RestClientBuilder clientBuilder = new RestClientBuilder(); clientBuilder.setUseHttps(false);
167      * 
168      * RestfulDataAccessor nonCachingRestProvider = new RestfulDataAccessor(clientBuilder);
169      * ElasticSearchConfig esConfig = ElasticSearchConfig.getConfig();
170      * 
171      * ElasticSearchAdapter esAdapter = new ElasticSearchAdapter(nonCachingRestProvider,esConfig);
172      * 
173      * IndexIntegrityValidator entitySearchIndexValidator = new
174      * IndexIntegrityValidator(nonCachingRestProvider, esConfig.getIndexName(), esConfig.getType(),
175      * esConfig.getIpAddress(), esConfig.getHttpPort(), esConfig.buildElasticSearchTableConfig());
176      * 
177      * SyncController syncController = new SyncControllerImpl("geoEntitySyncTestController");
178      * syncController.registerIndexValidator(entitySearchIndexValidator);
179      * 
180      * 
181      * //////
182      * 
183      * GeoSynchronizer geoSync = new GeoSynchronizer("topographysearchindex-localhost");
184      * geoSync.setAaiDataProvider(aaiAdapter); geoSync.setEsDataProvider(esAdapter);
185      * syncController.registerEntitySynchronizer(geoSync);
186      * 
187      * ////
188      * 
189      * /* IndexIntegrityValidator entitySearchIndexValidator = new IndexIntegrityValidator(new
190      * RestClientBuilder());
191      * 
192      * entitySearchIndexValidator.setIndexName("topographysearchindex-localhost");
193      * entitySearchIndexValidator.setIndexType("default");
194      * entitySearchIndexValidator.setIndexSettings("");
195      * entitySearchIndexValidator.setIndexSettings("");
196      * 
197      * syncController.registerIndexValidator(entitySearchIndexValidator);
198      */
199
200   ////
201
202   /*
203    * IndexCleaner index1Cleaner = new ElasticSearchIndexCleaner(nonCachingRestProvider,
204    * "topographysearchindex-localhost", "default", "127.0.0.1", "9200", 5, 5000);
205    */
206
207   // syncController.registerIndexCleaner(index1Cleaner);
208
209   ///
210   /*
211    * syncController.performAction(SyncActions.SYNCHRONIZE);
212    * 
213    * while (syncController.getState() == SynchronizerState.PERFORMING_SYNCHRONIZATION) {
214    * Thread.sleep(1000); }
215    * 
216    * syncController.shutdown();
217    * 
218    * } catch (Exception exc) { exc.printStackTrace(); System.out.println(
219    * "Error:  failed to sync with message = " + exc.getMessage()); } }
220    * 
221    * /** Do searchable entitysync.
222    *//*
223      * public void doSearchableEntitysync() { try {
224      * 
225      * 
226      * ActiveInventoryAdapter aaiAdapter = new ActiveInventoryAdapter(new OxmModelLoader(), new
227      * RestClientBuilder());
228      * 
229      * RestClientBuilder clientBuilder = new RestClientBuilder(); clientBuilder.setUseHttps(false);
230      * 
231      * RestfulDataAccessor nonCachingRestProvider = new RestfulDataAccessor(clientBuilder);
232      * ElasticSearchConfig esConfig = ElasticSearchConfig.getConfig();
233      * 
234      * ElasticSearchAdapter esAdapter = new ElasticSearchAdapter(nonCachingRestProvider,esConfig);
235      * 
236      * //////
237      * 
238      * SyncController syncController = new SyncControllerImpl("searchtableEntityTestController");
239      * 
240      * ViewInspectEntitySynchronizer ses = new
241      * ViewInspectEntitySynchronizer("entitysearchindex-localhost");
242      * ses.setAaiDataProvider(aaiAdapter); ses.setEsDataProvider(esAdapter);
243      * syncController.registerEntitySynchronizer(ses);
244      * 
245      * ////
246      * 
247      * /* IndexIntegrityValidator entitySearchIndexValidator = new IndexIntegrityValidator(new
248      * RestClientBuilder());
249      * 
250      * entitySearchIndexValidator.setIndexName("esi-sync2-localhost");
251      * entitySearchIndexValidator.setIndexType("default");
252      * 
253      * syncController.registerIndexValidator(entitySearchIndexValidator);
254      */
255
256   ////
257
258   /*
259    * IndexCleaner index1Cleaner = new ElasticSearchIndexCleaner(nonCachingRestProvider,
260    * "entitysearchindex-localhost", "default", "127.0.0.1", "9200", 5, 5000);
261    * 
262    * syncController.registerIndexCleaner(index1Cleaner);
263    */
264
265   ///
266   /*
267    * syncController.performAction(SyncActions.SYNCHRONIZE);
268    * 
269    * while (syncController.getState() == SynchronizerState.PERFORMING_SYNCHRONIZATION) {
270    * Thread.sleep(1000); }
271    * 
272    * syncController.shutdown();
273    * 
274    * } catch (Exception exc) { exc.printStackTrace(); System.out.println(
275    * "Error:  failed to sync with message = " + exc.getMessage()); } }
276    * 
277    * /** Do cross entity reference sync.
278    *//*
279      * public void doCrossEntityReferenceSync() { try {
280      * 
281      * ActiveInventoryAdapter aaiAdapter = new ActiveInventoryAdapter(new OxmModelLoader(), new
282      * RestClientBuilder());
283      * 
284      * RestClientBuilder clientBuilder = new RestClientBuilder(); clientBuilder.setUseHttps(false);
285      * 
286      * RestfulDataAccessor nonCachingRestProvider = new RestfulDataAccessor(clientBuilder);
287      * ElasticSearchConfig esConfig = ElasticSearchConfig.getConfig();
288      * 
289      * ElasticSearchAdapter esAdapter = new ElasticSearchAdapter(nonCachingRestProvider,esConfig);
290      * 
291      * SyncController syncController = new SyncControllerImpl("crossEntityRefSyncController");
292      * 
293      * CrossEntityReferenceSynchronizer cers = new
294      * CrossEntityReferenceSynchronizer("entitysearchindex-localhost",
295      * ActiveInventoryConfig.getConfig()); cers.setAaiDataProvider(aaiAdapter);
296      * cers.setEsDataProvider(esAdapter); syncController.registerEntitySynchronizer(cers);
297      * 
298      * ViewInspectEntitySynchronizer ses = new
299      * ViewInspectEntitySynchronizer("entitysearchindex-localhost");
300      * ses.setAaiDataProvider(aaiAdapter); ses.setEsDataProvider(esAdapter);
301      * syncController.registerEntitySynchronizer(ses);
302      * 
303      * ElasticSearchConfig config = ElasticSearchConfig.getConfig();
304      * 
305      * IndexIntegrityValidator entitySearchIndexValidator = new IndexIntegrityValidator(
306      * nonCachingRestProvider, config.getIndexName(), config.getType(), config.getIpAddress(),
307      * config.getHttpPort(), config.buildElasticSearchTableConfig());
308      * 
309      * syncController.registerIndexValidator(entitySearchIndexValidator);
310      * 
311      * ////
312      * 
313      * IndexCleaner index1Cleaner = new ElasticSearchIndexCleaner(nonCachingRestProvider,
314      * config.getIndexName(), config.getType(), config.getIpAddress(), config.getHttpPort(), 5,
315      * 5000);
316      * 
317      * syncController.registerIndexCleaner(index1Cleaner);
318      * 
319      * ///
320      * 
321      * syncController.performAction(SyncActions.SYNCHRONIZE);
322      * 
323      * while (syncController.getState() == SynchronizerState.PERFORMING_SYNCHRONIZATION) {
324      * Thread.sleep(1000); }
325      * 
326      * syncController.shutdown();
327      * 
328      * } catch (Exception exc) { exc.printStackTrace(); System.out.println(
329      * "Error:  Failed to sync with message = " + exc.getMessage()); } }
330      * 
331      * /** Do suggestion entitysync.
332      *//*
333        * public void doSuggestionEntitySync() { try { ActiveInventoryAdapter aaiAdapter = new
334        * ActiveInventoryAdapter(new OxmModelLoader(), new RestClientBuilder());
335        * 
336        * RestClientBuilder clientBuilder = new RestClientBuilder();
337        * clientBuilder.setUseHttps(false);
338        * 
339        * RestfulDataAccessor nonCachingRestProvider = new RestfulDataAccessor(clientBuilder);
340        * ElasticSearchConfig esConfig = ElasticSearchConfig.getConfig();
341        * 
342        * ElasticSearchAdapter esAdapter = new ElasticSearchAdapter(nonCachingRestProvider,
343        * esConfig);
344        * 
345        * SyncController syncController = new SyncControllerImpl("suggestionEntityTestController");
346        * 
347        * AutosuggestionSynchronizer ses = new
348        * AutosuggestionSynchronizer("entityautosuggestindex-localhost");
349        * ses.setAaiDataProvider(aaiAdapter); ses.setEsDataProvider(esAdapter);
350        * syncController.registerEntitySynchronizer(ses);
351        * 
352        * syncController.performAction(SyncActions.SYNCHRONIZE);
353        * 
354        * while (syncController.getState() == SynchronizerState.PERFORMING_SYNCHRONIZATION) {
355        * Thread.sleep(1000); }
356        * 
357        * syncController.shutdown();
358        * 
359        * } catch (Exception exc) { exc.printStackTrace(); System.out.println(
360        * "Error:  failed to sync with message = " + exc.getMessage()); } }
361        * 
362        * /* Do no op sync.
363        *//*
364          * public void doNoOpSync() { try { SyncController syncController = new
365          * SyncControllerImpl("noopSyncTestController");
366          * 
367          * /* ActiveInventoryAdapter aaiAdapter = new ActiveInventoryAdapter(new
368          * RestClientBuilder());
369          * 
370          * aaiAdapter.setCacheEnabled(true);
371          * 
372          * /*InMemoryEntityCache aaiInMemoryCache = new InMemoryEntityCache();
373          * aaiAdapter.setEntityCache(aaiInMemoryCache);
374          */
375
376   /*
377    * PersistentEntityCache aaiDiskCache = new PersistentEntityCache();
378    * aaiAdapter.setEntityCache(aaiDiskCache);
379    * 
380    * ElasticSearchConfig config = ElasticSearchConfig.getConfig(); OXMModelLoader loader =
381    * OXMModelLoader.getInstance(); SyncAdapter syncAdapter = new SyncAdapter(new
382    * RestClientBuilder(), config, loader);
383    * 
384    * //////
385    * 
386    * SearchableEntitySynchronizer ses = new SearchableEntitySynchronizer();
387    * ses.setAaiDataProvider(aaiAdapter); ses.setEsDataProvider(syncAdapter);
388    * syncController.registerEntitySynchronizer(ses);
389    * 
390    * ////
391    * 
392    * IndexIntegrityValidator entitySearchIndexValidator = new IndexIntegrityValidator(new
393    * RestClientBuilder());
394    * 
395    * entitySearchIndexValidator.setIndexName("esi-sync2-localhost");
396    * entitySearchIndexValidator.setIndexType("default");
397    * entitySearchIndexValidator.setIndexSettings("");
398    * entitySearchIndexValidator.setIndexSettings("");
399    * 
400    * syncController.registerIndexValidator(entitySearchIndexValidator);
401    * 
402    * ////
403    * 
404    * ElasticSearchEntityPurger p1 = new ElasticSearchEntityPurger(new RestClientBuilder());
405    * p1.setIndexName("esi-blal-blah");
406    * 
407    * ElasticSearchEntityPurger p2 = new ElasticSearchEntityPurger(new RestClientBuilder());
408    * p2.setIndexName("esi-topo-blah");
409    */
410   ///
411   /*
412    * syncController.performAction(SyncActions.SYNCHRONIZE);
413    * 
414    * while (syncController.getState() == SynchronizerState.PERFORMING_SYNCHRONIZATION) {
415    * Thread.sleep(1000); }
416    * 
417    * syncController.shutdown();
418    * 
419    * } catch (Exception exc) { System.out.println("Error:  failed to sync with message = " +
420    * exc.getMessage()); } }
421    * 
422    * 
423    * /** The main method.
424    *
425    * @param args the arguments
426    *//*
427      * public static void main(String[] args) { //boolean runSearchableEntitySync = false; //boolean
428      * runGeoEntitySync = true;
429      * 
430      * //System.setProperty("AJSC_HOME", "e:\\dev"); //
431      * System.getProperties().setProperty("AJSC_HOME", //
432      * "c:\\rpo\\tier-support-ui\\target\\swm\\package\\nix\\" // +
433      * "dist_files\\opt\\app\\ajsc-tier-support-ui");
434      * 
435      * System.setProperty("CONFIG_HOME", "appconfig-local"); System.setProperty("AJSC_HOME",
436      * "x:\\1710_extensibility\\");
437      * 
438      * SyncControllerBuilder syncBuilder = new SyncControllerBuilder();
439      * 
440      * /* if (runSearchableEntitySync) syncBuilder.doSearchableEntitysync();
441      */
442   /*
443    * syncBuilder.doSearchableEntitysync(); // syncBuilder.doCrossEntityReferenceSync(); //
444    * syncBuilder.doHistoricalEntitySync(); // syncBuilder.doGeoEntitySync();
445    * //syncBuilder.doSuggestionEntitySync(); //syncBuilder.doMasterEntitySync();
446    * 
447    * // syncBuilder.testElasticSearchUpdateAPI();
448    * 
449    * /* if (runGeoEntitySync) { syncBuilder.doGeoEntitySync(); }
450    */
451
452
453
454   // }
455 }