public void renameSource(String name, String newName) throws Exception { boolean debug = log.isDebugEnabled(); if (debug) { log.debug(TextUtil.repeat("-", 70)); log.debug("Renaming source " + name + " to " + newName + "."); } Partition partition = getPartition(); boolean running = false; if (partition != null) { SourceManager sourceManager = partition.getSourceManager(); running = sourceManager.isRunning(name); if (running) sourceManager.stopSource(name); } removeSourceService(name); PartitionConfig partitionConfig = getPartitionConfig(); SourceConfigManager sourceConfigManager = partitionConfig.getSourceConfigManager(); sourceConfigManager.renameSourceConfig(name, newName); if (partition != null) { SourceManager sourceManager = partition.getSourceManager(); if (running) sourceManager.startSource(newName); } createSourceService(newName); }
public void removeSource(String name) throws Exception { Partition partition = getPartition(); Directory directory = partition.getDirectory(); Collection<Entry> entries = directory.getEntriesBySourceName(name); if (entries != null && !entries.isEmpty()) { throw new Exception("Source " + name + " is in use."); } SourceManager sourceManager = partition.getSourceManager(); sourceManager.stopSource(name); SourceConfigManager sourceConfigManager = sourceManager.getSourceConfigManager(); sourceConfigManager.removeSourceConfig(name); removeSourceService(name); }