1 package org.onap.vid.job;
3 import org.onap.vid.job.command.*;
6 import java.util.stream.Collectors;
7 import java.util.stream.Stream;
9 import static org.onap.vid.utils.Streams.not;
13 HttpCall(HttpCallCommand.class),
14 AggregateState(AggregateStateCommand.class),
15 ServiceInstantiation(MacroServiceInstantiationCommand.class),
16 MacroServiceInstantiation(MacroServiceInstantiationCommand.class),
17 ALaCarteServiceInstantiation(ALaCarteServiceInstantiationCommand.class),
18 ALaCarteService(ALaCarteServiceCommand.class),
19 VnfInstantiation(VnfInstantiationCommand.class),
20 VfmoduleInstantiation(VfmoduleInstantiationCommand.class),
21 VolumeGroupInstantiation(VolumeGroupInstantiationCommand.class),
22 VolumeGroupInProgressStatus(VolumeGroupInProgressStatusCommand.class),
23 NetworkInstantiation(NetworkInstantiationCommand.class),
24 InstanceGroupInstantiation(InstanceGroupInstantiationCommand.class),
25 InstanceGroup(InstanceGroupCommand.class),
26 InProgressStatus(ServiceInProgressStatusCommand.class),
27 ResourceInProgressStatus(ResourceInProgressStatusCommand.class),
28 VnfInProgressStatus(VnfInProgressStatusCommand.class),
29 Watching(WatchingCommand.class),
30 WatchingBaseModule(WatchingCommandBaseModule.class),
31 NoOp(NoOpCommand.class);
33 private static final Map<Class, JobType> REVERSE_MAP = Stream.of(values())
34 .filter(not(jobType -> jobType.equals(ServiceInstantiation)))
35 .collect(Collectors.toMap(t -> t.getCommandClass(), t -> t));
37 private final Class commandClass;
39 <T extends JobCommand> JobType(Class<T> commandClass) {
40 this.commandClass = commandClass;
43 public Class getCommandClass() {
46 static JobType jobTypeOf(Class commandClass) {
47 return REVERSE_MAP.get(commandClass);