private void addPrograms(ImmutableMap.Builder<String, String> properties) { addPrograms(ProgramType.MAPREDUCE, appSpec.getMapReduce().values(), properties); addPrograms(ProgramType.SERVICE, appSpec.getServices().values(), properties); addPrograms(ProgramType.SPARK, appSpec.getSpark().values(), properties); addPrograms(ProgramType.WORKER, appSpec.getWorkers().values(), properties); addPrograms(ProgramType.WORKFLOW, appSpec.getWorkflows().values(), properties); }
private void addPrograms(ImmutableMap.Builder<String, String> properties) { addPrograms(ProgramType.FLOW, appSpec.getFlows().values(), properties); addPrograms(ProgramType.MAPREDUCE, appSpec.getMapReduce().values(), properties); addPrograms(ProgramType.SERVICE, appSpec.getServices().values(), properties); addPrograms(ProgramType.SPARK, appSpec.getSpark().values(), properties); addPrograms(ProgramType.WORKER, appSpec.getWorkers().values(), properties); addPrograms(ProgramType.WORKFLOW, appSpec.getWorkflows().values(), properties); }
@Override public Map<String, String> getSystemPropertiesToAdd() { ImmutableMap.Builder<String, String> properties = ImmutableMap.builder(); properties.put(ENTITY_NAME_KEY, appSpec.getName()); properties.put(VERSION_KEY, appId.getVersion()); String description = appSpec.getDescription(); if (!Strings.isNullOrEmpty(description)) { properties.put(DESCRIPTION_KEY, description); } properties.put(CREATION_TIME_KEY, creationTime); addPrograms(properties); addSchedules(properties); // appSpec.getPlugins() returns all instances of all plugins, so there may be duplicates. // we only store unique plugins right now Set<PluginClass> existingPluginClasses = new HashSet<>(); for (Plugin plugin : appSpec.getPlugins().values()) { if (!existingPluginClasses.contains(plugin.getPluginClass())) { SystemMetadataProvider.addPlugin(plugin.getPluginClass(), null, properties); existingPluginClasses.add(plugin.getPluginClass()); } } return properties.build(); }
@Override public Map<String, String> getSystemPropertiesToAdd() { ImmutableMap.Builder<String, String> properties = ImmutableMap.builder(); properties.put(ENTITY_NAME_KEY, appSpec.getName()); properties.put(VERSION_KEY, appId.getVersion()); String description = appSpec.getDescription(); if (!Strings.isNullOrEmpty(description)) { properties.put(DESCRIPTION_KEY, description); } if (!existing) { properties.put(CREATION_TIME_KEY, String.valueOf(System.currentTimeMillis())); } addPrograms(properties); addSchedules(properties); // appSpec.getPlugins() returns all instances of all plugins, so there may be duplicates. // we only store unique plugins right now Set<PluginClass> existingPluginClasses = new HashSet<>(); for (Plugin plugin : appSpec.getPlugins().values()) { if (!existingPluginClasses.contains(plugin.getPluginClass())) { addPlugin(plugin.getPluginClass(), null, properties); existingPluginClasses.add(plugin.getPluginClass()); } } return properties.build(); }