2 * ============LICENSE_START=======================================================
3 * ONAP : ccsdk features
4 * ================================================================================
5 * Copyright (C) 2020 highstreet technologies GmbH Intellectual Property.
7 * ================================================================================
8 * Licensed under the Apache License, Version 2.0 (the "License");
9 * you may not use this file except in compliance with the License.
10 * You may obtain a copy of the License at
12 * http://www.apache.org/licenses/LICENSE-2.0
14 * Unless required by applicable law or agreed to in writing, software
15 * distributed under the License is distributed on an "AS IS" BASIS,
16 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 * See the License for the specific language governing permissions and
18 * limitations under the License.
19 * ============LICENSE_END=========================================================
22 package org.onap.ccsdk.features.sdnr.wt.dataprovider.setup;
24 import org.onap.ccsdk.features.sdnr.wt.dataprovider.model.SdnrDbType;
25 import org.onap.ccsdk.features.sdnr.wt.dataprovider.setup.data.DataMigrationReport;
26 import org.onap.ccsdk.features.sdnr.wt.dataprovider.setup.data.Release;
27 import org.onap.ccsdk.features.sdnr.wt.dataprovider.setup.database.ElasticsearchDataMigrationProvider;
28 import org.onap.ccsdk.features.sdnr.wt.dataprovider.setup.database.MariaDbDataMigrationProvider;
30 public class DataMigrationProviderImpl implements DataMigrationProviderService {
32 private final DataMigrationProviderService dbProvider;
34 public DataMigrationProviderImpl(SdnrDbType type, String url, String username, String password, boolean trustAll,
35 long timeoutms) throws Exception {
36 if (type == SdnrDbType.ELASTICSEARCH) {
37 dbProvider = new ElasticsearchDataMigrationProvider(url, username, password, trustAll, timeoutms);
39 dbProvider = new MariaDbDataMigrationProvider(url, username, password, trustAll, timeoutms);
44 public DataMigrationReport importData(String filename, boolean dryrun) throws Exception {
45 return this.dbProvider.importData(filename, dryrun, Release.CURRENT_RELEASE);
49 public DataMigrationReport importData(String filename, boolean dryrun, Release forRelease) throws Exception {
50 return this.dbProvider.importData(filename, dryrun, forRelease);
55 * export data if file exists .1 (.n) will be created
59 public DataMigrationReport exportData(String filename) {
60 return this.dbProvider.exportData(filename);
64 public Release getCurrentVersion() {
65 return Release.CURRENT_RELEASE;
70 public Release autoDetectRelease() {
71 return this.dbProvider.autoDetectRelease();
75 public boolean initDatabase(Release release, int numShards, int numReplicas, String dbPrefix, boolean forceRecreate,
77 return this.dbProvider.initDatabase(release, numShards, numReplicas, dbPrefix, forceRecreate, timeoutms);
81 public boolean clearDatabase(Release release, String dbPrefix, long timeoutms) {
82 return this.dbProvider.clearDatabase(release, dbPrefix, timeoutms);
89 public boolean clearCompleteDatabase(long timeoutms) {
90 return this.clearCompleteDatabase(timeoutms);