summaryrefslogtreecommitdiffstats
path: root/openecomp-be/tools/zusammen-tools/src/main/java/org/openecomp/core/tools/commands
diff options
context:
space:
mode:
Diffstat (limited to 'openecomp-be/tools/zusammen-tools/src/main/java/org/openecomp/core/tools/commands')
-rw-r--r--openecomp-be/tools/zusammen-tools/src/main/java/org/openecomp/core/tools/commands/AddContributorCommand.java167
-rw-r--r--openecomp-be/tools/zusammen-tools/src/main/java/org/openecomp/core/tools/commands/Command.java44
-rw-r--r--openecomp-be/tools/zusammen-tools/src/main/java/org/openecomp/core/tools/commands/CommandName.java10
-rw-r--r--openecomp-be/tools/zusammen-tools/src/main/java/org/openecomp/core/tools/commands/CommandsHolder.java80
-rw-r--r--openecomp-be/tools/zusammen-tools/src/main/java/org/openecomp/core/tools/commands/HealAll.java185
-rw-r--r--openecomp-be/tools/zusammen-tools/src/main/java/org/openecomp/core/tools/commands/PopulateUserPermissions.java28
-rw-r--r--openecomp-be/tools/zusammen-tools/src/main/java/org/openecomp/core/tools/commands/SetHealingFlag.java41
7 files changed, 367 insertions, 188 deletions
diff --git a/openecomp-be/tools/zusammen-tools/src/main/java/org/openecomp/core/tools/commands/AddContributorCommand.java b/openecomp-be/tools/zusammen-tools/src/main/java/org/openecomp/core/tools/commands/AddContributorCommand.java
index caa688d007..2c13ab7749 100644
--- a/openecomp-be/tools/zusammen-tools/src/main/java/org/openecomp/core/tools/commands/AddContributorCommand.java
+++ b/openecomp-be/tools/zusammen-tools/src/main/java/org/openecomp/core/tools/commands/AddContributorCommand.java
@@ -1,11 +1,5 @@
package org.openecomp.core.tools.commands;
-import org.openecomp.core.tools.concurrent.ItemAddContributorsTask;
-import org.openecomp.core.tools.exceptions.CommandExecutionRuntimeException;
-import org.openecomp.core.tools.store.ItemHandler;
-import org.openecomp.core.tools.store.NotificationHandler;
-import org.openecomp.core.tools.store.PermissionHandler;
-
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
@@ -17,88 +11,111 @@ import java.util.concurrent.Executors;
import java.util.concurrent.Future;
import java.util.stream.Collectors;
import java.util.stream.Stream;
-
-public class AddContributorCommand {
-
-
- private static final int DEFAULT_THREAD_NUMBER = 8;
- private static final String ERROR_TRYING_TO_READ_FILE = "Error while trying to read item list";
- private static final String COMMAND_ADD_CONTRIBUTOR_FAILED =
- "Command AddContributor execution failed.";
-
- private AddContributorCommand() {
- // it's a utility class, prevent instantiation
- }
-
- public static void add(String itemListPath, String userListPath) {
-
- List<String> itemList;
- try {
- itemList = getItemList(itemListPath);
- } catch (IOException e) {
- throw new CommandExecutionRuntimeException(ERROR_TRYING_TO_READ_FILE +
- "from:" + itemListPath, e);
+import org.apache.commons.cli.CommandLine;
+import org.apache.commons.cli.Option;
+import org.openecomp.core.tools.concurrent.ItemAddContributorsTask;
+import org.openecomp.core.tools.exceptions.CommandExecutionRuntimeException;
+import org.openecomp.core.tools.store.ItemHandler;
+import org.openecomp.core.tools.store.NotificationHandler;
+import org.openecomp.core.tools.store.PermissionHandler;
+import org.openecomp.sdc.logging.api.Logger;
+import org.openecomp.sdc.logging.api.LoggerFactory;
+
+public class AddContributorCommand extends Command {
+
+ private static final Logger LOGGER = LoggerFactory.getLogger(AddContributorCommand.class);
+ private static final String ITEMS_PATH_OPTION = "p";
+ private static final String UUSERS_PATH_OPTION = "u";
+ private static final int DEFAULT_THREAD_NUMBER = 8;
+ private static final String ERROR_TRYING_TO_READ_FILE = "Error while trying to read item list";
+ private static final String COMMAND_ADD_CONTRIBUTOR_FAILED = "Command AddContributor execution failed.";
+
+ AddContributorCommand() {
+ options.addOption(Option.builder(ITEMS_PATH_OPTION).hasArg().argName("file")
+ .desc("file containing list of item ids, mandatory").build());
+ options.addOption(Option.builder(UUSERS_PATH_OPTION).hasArg().argName("file")
+ .desc("file containing list of users, mandatory").build());
}
- List<String> userList;
- try {
- userList = load(userListPath).collect(Collectors.toList());
- } catch (IOException e) {
- throw new CommandExecutionRuntimeException(ERROR_TRYING_TO_READ_FILE +
- "from:" + userListPath, e);
+
+ @Override
+ public boolean execute(String[] args) {
+ CommandLine cmd = parseArgs(args);
+
+ if (!cmd.hasOption(ITEMS_PATH_OPTION) || !cmd.hasOption(UUSERS_PATH_OPTION)) {
+ LOGGER.error("Arguments p and u are mandatory");
+ return false;
+ }
+
+ String itemListPath = cmd.getOptionValue(ITEMS_PATH_OPTION);
+ String userListPath = cmd.getOptionValue(UUSERS_PATH_OPTION);
+
+ List<String> itemList;
+ try {
+ itemList = getItemList(itemListPath);
+ } catch (IOException e) {
+ throw new CommandExecutionRuntimeException(ERROR_TRYING_TO_READ_FILE + "from:" + itemListPath, e);
+ }
+ List<String> userList;
+ try {
+ userList = load(userListPath).collect(Collectors.toList());
+ } catch (IOException e) {
+ throw new CommandExecutionRuntimeException(ERROR_TRYING_TO_READ_FILE + "from:" + userListPath, e);
+ }
+
+ List<ItemAddContributorsTask> tasks =
+ itemList.stream().map(itemid -> createTask(itemid, userList)).collect(Collectors.toList());
+
+ ExecutorService executor = null;
+
+ try {
+ executor = Executors.newFixedThreadPool(DEFAULT_THREAD_NUMBER);
+ executeAllTasks(executor, tasks);
+ } catch (InterruptedException e) {
+ throw new CommandExecutionRuntimeException(COMMAND_ADD_CONTRIBUTOR_FAILED, e);
+ } finally {
+ if (executor != null) {
+ executor.shutdownNow();
+ }
+ }
+ return true;
}
- List<ItemAddContributorsTask> tasks =
- itemList.stream().map(itemid -> createTask(itemid, userList)).collect(Collectors.toList());
+ @Override
+ public CommandName getCommandName() {
+ return CommandName.ADD_CONTRIBUTOR;
+ }
- ExecutorService executor = null;
+ private static List<String> getItemList(String itemListPath) throws IOException {
+ List<String> itemList;
+ if (itemListPath != null) {
+ itemList = load(itemListPath).collect(Collectors.toList());
+ } else {
+ itemList = new ItemHandler().getItemList();
+ }
- try {
- executor = Executors.newFixedThreadPool(DEFAULT_THREAD_NUMBER);
- executeAllTasks(executor, tasks);
- } catch (InterruptedException e) {
- throw new CommandExecutionRuntimeException(COMMAND_ADD_CONTRIBUTOR_FAILED, e);
- } finally {
- if (executor != null) {
- executor.shutdownNow();
- }
- }
- }
-
- private static List<String> getItemList(String itemListPath) throws IOException {
- List<String> itemList;
- if (itemListPath != null) {
- itemList = load(itemListPath).collect(Collectors.toList());
- } else {
- itemList = new ItemHandler().getItemList();
+ return itemList;
}
- return itemList;
- }
-
- private static void executeAllTasks(ExecutorService executor,
- Collection<? extends Callable<String>> tasks)
- throws InterruptedException {
- List<Future<String>> futureTasks;
- futureTasks = executor.invokeAll(tasks);
- boolean isThreadOpen = true;
- while (isThreadOpen) {
- isThreadOpen = futureTasks.stream().anyMatch(future -> !future.isDone());
+ private static void executeAllTasks(ExecutorService executor, Collection<? extends Callable<String>> tasks)
+ throws InterruptedException {
+ List<Future<String>> futureTasks;
+ futureTasks = executor.invokeAll(tasks);
+ boolean isThreadOpen = true;
+ while (isThreadOpen) {
+ isThreadOpen = futureTasks.stream().anyMatch(future -> !future.isDone());
+ }
}
- }
+ private static ItemAddContributorsTask createTask(String itemId, List<String> users) {
+ return new ItemAddContributorsTask(new PermissionHandler(), new NotificationHandler(), itemId, users);
+ }
- private static ItemAddContributorsTask createTask(String itemId, List<String> users) {
- return new ItemAddContributorsTask(new PermissionHandler(), new NotificationHandler(),
- itemId, users);
- }
-
- private static Stream<String> load(String filePath)
- throws IOException {
- return Files.lines(Paths.get(filePath));
+ private static Stream<String> load(String filePath) throws IOException {
+ return Files.lines(Paths.get(filePath));
- }
+ }
}
diff --git a/openecomp-be/tools/zusammen-tools/src/main/java/org/openecomp/core/tools/commands/Command.java b/openecomp-be/tools/zusammen-tools/src/main/java/org/openecomp/core/tools/commands/Command.java
new file mode 100644
index 0000000000..b8d1d51bf5
--- /dev/null
+++ b/openecomp-be/tools/zusammen-tools/src/main/java/org/openecomp/core/tools/commands/Command.java
@@ -0,0 +1,44 @@
+package org.openecomp.core.tools.commands;
+
+import org.apache.commons.cli.CommandLine;
+import org.apache.commons.cli.CommandLineParser;
+import org.apache.commons.cli.DefaultParser;
+import org.apache.commons.cli.HelpFormatter;
+import org.apache.commons.cli.Option;
+import org.apache.commons.cli.Options;
+import org.apache.commons.cli.ParseException;
+
+public abstract class Command {
+
+ static final String COMMAND_OPTION = "c";
+ protected final Options options = new Options();
+
+ protected Command() {
+ options.addOption(
+ Option.builder(COMMAND_OPTION).hasArg().argName("command").desc(getCommandName().name()).build());
+ }
+
+ protected CommandLine parseArgs(String[] args) {
+ CommandLineParser parser = new DefaultParser();
+ CommandLine cmd;
+ try {
+ cmd = parser.parse(options, args);
+ } catch (ParseException e) {
+ throw new RuntimeException(e);
+ }
+ return cmd;
+ }
+
+ public void printUsage() {
+ HelpFormatter formater = new HelpFormatter();
+ formater.printHelp("zusammenMainTool", options);
+ }
+
+ public void register(){
+ CommandsHolder.addCommand(this);
+ }
+
+ public abstract boolean execute(String[] args);
+
+ public abstract CommandName getCommandName();
+}
diff --git a/openecomp-be/tools/zusammen-tools/src/main/java/org/openecomp/core/tools/commands/CommandName.java b/openecomp-be/tools/zusammen-tools/src/main/java/org/openecomp/core/tools/commands/CommandName.java
new file mode 100644
index 0000000000..7fa04a3907
--- /dev/null
+++ b/openecomp-be/tools/zusammen-tools/src/main/java/org/openecomp/core/tools/commands/CommandName.java
@@ -0,0 +1,10 @@
+package org.openecomp.core.tools.commands;
+
+public enum CommandName {
+ RESET_OLD_VERSION,
+ EXPORT,
+ IMPORT,
+ HEAL_ALL,
+ POPULATE_USER_PERMISSIONS,
+ ADD_CONTRIBUTOR
+}
diff --git a/openecomp-be/tools/zusammen-tools/src/main/java/org/openecomp/core/tools/commands/CommandsHolder.java b/openecomp-be/tools/zusammen-tools/src/main/java/org/openecomp/core/tools/commands/CommandsHolder.java
new file mode 100644
index 0000000000..b6cc0487ea
--- /dev/null
+++ b/openecomp-be/tools/zusammen-tools/src/main/java/org/openecomp/core/tools/commands/CommandsHolder.java
@@ -0,0 +1,80 @@
+package org.openecomp.core.tools.commands;
+
+import static org.openecomp.core.tools.commands.Command.COMMAND_OPTION;
+import static org.openecomp.core.tools.util.Utils.printMessage;
+
+import java.util.EnumMap;
+import java.util.Map;
+import java.util.Optional;
+import org.apache.commons.cli.CommandLine;
+import org.apache.commons.cli.DefaultParser;
+import org.apache.commons.cli.Option;
+import org.apache.commons.cli.Options;
+import org.apache.commons.cli.ParseException;
+import org.openecomp.core.tools.exportinfo.ExportDataCommand;
+import org.openecomp.core.tools.importinfo.ImportDataCommand;
+import org.openecomp.sdc.logging.api.Logger;
+import org.openecomp.sdc.logging.api.LoggerFactory;
+
+public class CommandsHolder {
+
+ private static final Logger LOGGER = LoggerFactory.getLogger(CommandsHolder.class);
+ private static final Options OPTIONS = new Options();
+ private static final Map<CommandName, Command> COMMANDS = new EnumMap<>(CommandName.class);
+
+ static {
+ OPTIONS.addOption(
+ Option.builder(COMMAND_OPTION).hasArg().argName("command").desc("command name, mandatory").build());
+ registerCommands();
+ }
+
+ private static void registerCommands() {
+ new SetHealingFlag().register();
+ new ExportDataCommand().register();
+ new ImportDataCommand().register();
+ new HealAll().register();
+ new PopulateUserPermissions().register();
+ new AddContributorCommand().register();
+ }
+
+ private CommandsHolder() {
+ }
+
+ public static Optional<Command> getCommand(String[] args) {
+ CommandLine cmd = parseArgs(args);
+ return cmd == null || !cmd.hasOption(COMMAND_OPTION) || cmd.getOptionValue(COMMAND_OPTION) == null
+ ? Optional.empty()
+ : getCommandName(cmd.getOptionValue(COMMAND_OPTION)).map(COMMANDS::get);
+ }
+
+ public static void printUsages() {
+ COMMANDS.values().forEach(Command::printUsage);
+ }
+
+ private static Optional<CommandName> getCommandName(String commandName) {
+ try {
+ return Optional.of(CommandName.valueOf(commandName));
+ } catch (IllegalArgumentException iae) {
+ printMessage(LOGGER, String.format("message: %s is illegal command.", commandName));
+ return Optional.empty();
+ }
+ }
+
+ private static CommandLine parseArgs(String[] args) {
+ try {
+ return new DefaultParser().parse(OPTIONS, args, true);
+ } catch (ParseException e) {
+ LOGGER.error("Error parsing arguments", e);
+ return null;
+ }
+ }
+
+ static void addCommand(Command command) {
+ CommandName commandName = command.getCommandName();
+ if (COMMANDS.containsKey(commandName)) {
+ throw new IllegalArgumentException(
+ String.format("Command with the name %s was already registered", commandName));
+ }
+ COMMANDS.put(commandName, command);
+ }
+}
diff --git a/openecomp-be/tools/zusammen-tools/src/main/java/org/openecomp/core/tools/commands/HealAll.java b/openecomp-be/tools/zusammen-tools/src/main/java/org/openecomp/core/tools/commands/HealAll.java
index d6344f75bd..8e0bb0e6b6 100644
--- a/openecomp-be/tools/zusammen-tools/src/main/java/org/openecomp/core/tools/commands/HealAll.java
+++ b/openecomp-be/tools/zusammen-tools/src/main/java/org/openecomp/core/tools/commands/HealAll.java
@@ -1,17 +1,5 @@
package org.openecomp.core.tools.commands;
-import org.apache.commons.collections.CollectionUtils;
-import org.openecomp.core.tools.concurrent.ItemHealingTask;
-import org.openecomp.core.tools.exceptions.HealingRuntimeException;
-import org.openecomp.core.tools.loaders.VersionInfoCassandraLoader;
-import org.openecomp.sdc.healing.api.HealingManager;
-import org.openecomp.sdc.healing.factory.HealingManagerFactory;
-import org.openecomp.sdc.vendorsoftwareproduct.VendorSoftwareProductConstants;
-import org.openecomp.sdc.vendorsoftwareproduct.VendorSoftwareProductManager;
-import org.openecomp.sdc.vendorsoftwareproduct.VspManagerFactory;
-import org.openecomp.sdc.versioning.dao.types.Version;
-import org.openecomp.sdc.versioning.dao.types.VersionInfoEntity;
-
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
@@ -25,105 +13,128 @@ import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;
import java.util.stream.Stream;
+import org.apache.commons.cli.CommandLine;
+import org.apache.commons.cli.Option;
+import org.apache.commons.collections.CollectionUtils;
+import org.openecomp.core.tools.concurrent.ItemHealingTask;
+import org.openecomp.core.tools.exceptions.HealingRuntimeException;
+import org.openecomp.core.tools.loaders.VersionInfoCassandraLoader;
+import org.openecomp.sdc.healing.api.HealingManager;
+import org.openecomp.sdc.healing.factory.HealingManagerFactory;
+import org.openecomp.sdc.vendorsoftwareproduct.VendorSoftwareProductConstants;
+import org.openecomp.sdc.vendorsoftwareproduct.VendorSoftwareProductManager;
+import org.openecomp.sdc.vendorsoftwareproduct.VspManagerFactory;
+import org.openecomp.sdc.versioning.dao.types.Version;
+import org.openecomp.sdc.versioning.dao.types.VersionInfoEntity;
/**
* Created by ayalaben on 11/6/2017
*/
-public class HealAll {
+public class HealAll extends Command {
- private static final int DEFAULT_THREAD_NUMBER = 100;
- private static List<ItemHealingTask> tasks = new ArrayList<>();
- private static VendorSoftwareProductManager vspManager = VspManagerFactory
- .getInstance().createInterface();
- private static HealingManager healingManager = HealingManagerFactory.getInstance()
- .createInterface();
+ private static final int DEFAULT_THREAD_NUMBER = 100;
+ private static final String THREAD_NUM_OPTION = "t";
+ private static List<ItemHealingTask> tasks = new ArrayList<>();
+ private VendorSoftwareProductManager vspManager;
+ private HealingManager healingManager;
- private HealAll() {
- }
+ HealAll() {
+ options.addOption(
+ Option.builder(THREAD_NUM_OPTION).hasArg().argName("number").desc("number of threads").build());
+ }
- public static void healAll(String threadNumber) {
+ @Override
+ public boolean execute(String[] args) {
+ CommandLine cmd = parseArgs(args);
- String logFileName = "healing.log";
- try (BufferedWriter log = new BufferedWriter(new FileWriter(logFileName, true))) {
+ vspManager = VspManagerFactory.getInstance().createInterface();
+ healingManager = HealingManagerFactory.getInstance().createInterface();
- writeToLog("----starting healing------", log);
- Instant startTime = Instant.now();
+ String logFileName = "healing.log";
+ try (BufferedWriter log = new BufferedWriter(new FileWriter(logFileName, true))) {
- int numberOfThreads = Objects.nonNull(threadNumber) ? Integer.valueOf(threadNumber) :
- DEFAULT_THREAD_NUMBER;
- ExecutorService executor = Executors.newFixedThreadPool(numberOfThreads);
+ writeToLog("----starting healing------", log);
+ Instant startTime = Instant.now();
- filterByEntityType(VersionInfoCassandraLoader.list(),
- VendorSoftwareProductConstants.VENDOR_SOFTWARE_PRODUCT_VERSIONABLE_TYPE).forEach
- (HealAll::addTaskToTasks);
+ int numberOfThreads =
+ cmd.hasOption(THREAD_NUM_OPTION) && Objects.nonNull(cmd.getOptionValue(THREAD_NUM_OPTION))
+ ? Integer.valueOf(cmd.getOptionValue(THREAD_NUM_OPTION))
+ : DEFAULT_THREAD_NUMBER;
+ ExecutorService executor = Executors.newFixedThreadPool(numberOfThreads);
- executeAllTasks(executor, log);
+ filterByEntityType(VersionInfoCassandraLoader.list(),
+ VendorSoftwareProductConstants.VENDOR_SOFTWARE_PRODUCT_VERSIONABLE_TYPE)
+ .forEach(this::addTaskToTasks);
- writeToLog("----finished healing------", log);
- Instant endTime = Instant.now();
- writeToLog("Total runtime was: " + Duration.between(startTime, endTime), log);
- } catch (IOException e) {
- throw new HealingRuntimeException("can't initial healing log file '" + logFileName + "'", e);
+ executeAllTasks(executor, log);
+
+ writeToLog("----finished healing------", log);
+ Instant endTime = Instant.now();
+ writeToLog("Total runtime was: " + Duration.between(startTime, endTime), log);
+ } catch (IOException e) {
+ throw new HealingRuntimeException("can't initial healing log file '" + logFileName + "'", e);
+ }
+ return true;
}
- System.exit(1);
- }
+ @Override
+ public CommandName getCommandName() {
+ return CommandName.HEAL_ALL;
+ }
- private static void executeAllTasks(ExecutorService executor, BufferedWriter log) {
- List<Future<String>> futureTasks;
- try {
- futureTasks = executor.invokeAll(tasks);
- futureTasks.forEach(future -> {
+ private static void executeAllTasks(ExecutorService executor, BufferedWriter log) {
+ List<Future<String>> futureTasks;
try {
- log.write(future.get());
- log.newLine();
- } catch (Exception e) {
- writeToLog(e.getMessage(), log);
+ futureTasks = executor.invokeAll(tasks);
+ futureTasks.forEach(future -> {
+ try {
+ log.write(future.get());
+ log.newLine();
+ } catch (Exception e) {
+ writeToLog(e.getMessage(), log);
+ }
+ });
+ } catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
+ writeToLog("migration tasks failed with message: " + e.getMessage(), log);
+ throw new HealingRuntimeException(e);
}
- });
- } catch (InterruptedException e) {
- Thread.currentThread().interrupt();
- writeToLog("migration tasks failed with message: " + e.getMessage(), log);
- throw new HealingRuntimeException(e);
- }
- boolean isThreadOpen = true;
- while (isThreadOpen) {
- isThreadOpen = futureTasks.stream().anyMatch(future -> !future.isDone());
+ boolean isThreadOpen = true;
+ while (isThreadOpen) {
+ isThreadOpen = futureTasks.stream().anyMatch(future -> !future.isDone());
+ }
}
- }
- private static Version resolveVersion(VersionInfoEntity versionInfoEntity) {
- if (Objects.nonNull(versionInfoEntity.getCandidate())) {
- return versionInfoEntity.getCandidate().getVersion();
- } else if (!CollectionUtils.isEmpty(versionInfoEntity.getViewableVersions())) {
+ private static Version resolveVersion(VersionInfoEntity versionInfoEntity) {
+ if (Objects.nonNull(versionInfoEntity.getCandidate())) {
+ return versionInfoEntity.getCandidate().getVersion();
+ } else if (!CollectionUtils.isEmpty(versionInfoEntity.getViewableVersions())) {
- return versionInfoEntity.getViewableVersions().stream().max(Version::compareTo)
- .orElse(new Version());
+ return versionInfoEntity.getViewableVersions().stream().max(Version::compareTo).orElse(new Version());
+ }
+ return versionInfoEntity.getActiveVersion();
}
- return versionInfoEntity.getActiveVersion();
- }
-
- private static void writeToLog(String message, BufferedWriter log) {
- try {
- log.write(message);
- log.newLine();
- } catch (IOException e) {
- throw new HealingRuntimeException("unable to write to healing all log file.", e);
+
+ private static void writeToLog(String message, BufferedWriter log) {
+ try {
+ log.write(message);
+ log.newLine();
+ } catch (IOException e) {
+ throw new HealingRuntimeException("unable to write to healing all log file.", e);
+ }
+ }
+
+ private static Stream<VersionInfoEntity> filterByEntityType(Collection<VersionInfoEntity> versionInfoEntities,
+ String entityType) {
+ return versionInfoEntities.stream()
+ .filter(versionInfoEntity -> versionInfoEntity.getEntityType().equals(entityType));
+ }
+
+ private void addTaskToTasks(VersionInfoEntity versionInfoEntity) {
+ tasks.add(new ItemHealingTask(versionInfoEntity.getEntityId(), resolveVersion(versionInfoEntity).toString(),
+ vspManager, healingManager));
}
- }
-
- private static Stream<VersionInfoEntity> filterByEntityType(
- Collection<VersionInfoEntity> versionInfoEntities, String entityType) {
- return versionInfoEntities.stream().filter(versionInfoEntity -> versionInfoEntity
- .getEntityType().equals(entityType));
- }
-
- private static void addTaskToTasks(VersionInfoEntity versionInfoEntity) {
- tasks.add(new ItemHealingTask(versionInfoEntity.getEntityId(), resolveVersion
- (versionInfoEntity).toString(),
- vspManager, healingManager));
- }
}
diff --git a/openecomp-be/tools/zusammen-tools/src/main/java/org/openecomp/core/tools/commands/PopulateUserPermissions.java b/openecomp-be/tools/zusammen-tools/src/main/java/org/openecomp/core/tools/commands/PopulateUserPermissions.java
index fb415c5653..ad280e16c6 100644
--- a/openecomp-be/tools/zusammen-tools/src/main/java/org/openecomp/core/tools/commands/PopulateUserPermissions.java
+++ b/openecomp-be/tools/zusammen-tools/src/main/java/org/openecomp/core/tools/commands/PopulateUserPermissions.java
@@ -16,31 +16,33 @@
package org.openecomp.core.tools.commands;
+import static org.openecomp.core.tools.commands.CommandName.POPULATE_USER_PERMISSIONS;
+
+import java.util.Collections;
+import java.util.List;
import org.openecomp.core.tools.store.PermissionHandler;
import org.openecomp.sdc.itempermissions.type.ItemPermissionsEntity;
-import java.util.*;
-
-
-public class PopulateUserPermissions {
- private static PermissionHandler permissionHandler = new PermissionHandler();
-
- private PopulateUserPermissions(){ }
-
- public static void execute() {
+public class PopulateUserPermissions extends Command {
+ @Override
+ public boolean execute(String[] args) {
+ PermissionHandler permissionHandler = new PermissionHandler();
List<ItemPermissionsEntity> permissions = permissionHandler.getAll();
permissions.forEach(itemPermissionsEntity -> {
if (!itemPermissionsEntity.getUserId().isEmpty() && !itemPermissionsEntity.getPermission().isEmpty()) {
- permissionHandler.addItem
- (Collections.singleton(itemPermissionsEntity.getItemId()),
- itemPermissionsEntity.getUserId(),itemPermissionsEntity.getPermission());
+ permissionHandler.addItem(Collections.singleton(itemPermissionsEntity.getItemId()),
+ itemPermissionsEntity.getUserId(), itemPermissionsEntity.getPermission());
}
});
- System.exit(0);
+ return true;
+ }
+ @Override
+ public CommandName getCommandName() {
+ return POPULATE_USER_PERMISSIONS;
}
}
diff --git a/openecomp-be/tools/zusammen-tools/src/main/java/org/openecomp/core/tools/commands/SetHealingFlag.java b/openecomp-be/tools/zusammen-tools/src/main/java/org/openecomp/core/tools/commands/SetHealingFlag.java
index fc20b66e3b..c8aee891d0 100644
--- a/openecomp-be/tools/zusammen-tools/src/main/java/org/openecomp/core/tools/commands/SetHealingFlag.java
+++ b/openecomp-be/tools/zusammen-tools/src/main/java/org/openecomp/core/tools/commands/SetHealingFlag.java
@@ -1,33 +1,48 @@
package org.openecomp.core.tools.commands;
+import static org.openecomp.core.tools.commands.CommandName.RESET_OLD_VERSION;
+
import com.datastax.driver.core.ResultSet;
+import java.util.ArrayList;
+import org.apache.commons.cli.CommandLine;
+import org.apache.commons.cli.Option;
import org.openecomp.core.tools.store.HealingHandler;
import org.openecomp.core.tools.store.VersionCassandraLoader;
import org.openecomp.core.tools.store.zusammen.datatypes.HealingEntity;
-import java.util.ArrayList;
-
/**
* Created by ayalaben on 10/15/2017
*/
-public class SetHealingFlag {
+public class SetHealingFlag extends Command {
+
+ private static final String VERSION_OPTION = "v";
+ SetHealingFlag() {
+ options.addOption(Option.builder(VERSION_OPTION).hasArg().argName("version").desc("release version").build());
+ }
- private SetHealingFlag(){}
+ @Override
+ public boolean execute(String[] args) {
+ CommandLine cmd = parseArgs(args);
+ String oldVersion = cmd.hasOption(VERSION_OPTION) ? cmd.getOptionValue(VERSION_OPTION) : null;
- public static void populateHealingTable(String oldVersion) {
+ VersionCassandraLoader versionCassandraLoader = new VersionCassandraLoader();
+ ResultSet listItemVersion = versionCassandraLoader.listItemVersion();
- VersionCassandraLoader versionCassandraLoader = new VersionCassandraLoader();
- ResultSet listItemVersion = versionCassandraLoader.listItemVersion();
+ ArrayList<HealingEntity> healingEntities = new ArrayList<>();
- ArrayList<HealingEntity> healingEntities = new ArrayList<>();
+ listItemVersion.iterator().forEachRemaining(entry -> healingEntities.add(new HealingEntity(entry.getString(0),
+ entry.getString(1), entry.getString(2), true, oldVersion)));
- listItemVersion.iterator().forEachRemaining(entry -> healingEntities.add(new HealingEntity
- (entry.getString(0),entry.getString(1),entry.getString(2),true,oldVersion)));
+ HealingHandler healingHandler = new HealingHandler();
+ healingHandler.populateHealingTable(healingEntities);
- HealingHandler healingHandler = new HealingHandler();
- healingHandler.populateHealingTable(healingEntities);
+ return true;
+ }
- }
+ @Override
+ public CommandName getCommandName() {
+ return RESET_OLD_VERSION;
+ }
}