private List<TopologyEvent> createChangeEvents( Map<File, Topology> oldTopologies, Map<File, Topology> newTopologies) { ArrayList<TopologyEvent> events = new ArrayList<>(); // Go through the old topologies and find anything that was deleted. for (Entry<File, Topology> oldTopology : oldTopologies.entrySet()) { if (!newTopologies.containsKey(oldTopology.getKey())) { events.add(new TopologyEvent(TopologyEvent.Type.DELETED, oldTopology.getValue())); } } // Go through the new topologies and figure out what was updated vs added. for (Entry<File, Topology> newTopology : newTopologies.entrySet()) { if (oldTopologies.containsKey(newTopology.getKey())) { Topology oldTopology = oldTopologies.get(newTopology.getKey()); if (newTopology.getValue().getTimestamp() > oldTopology.getTimestamp()) { events.add(new TopologyEvent(TopologyEvent.Type.UPDATED, newTopology.getValue())); } } else { events.add(new TopologyEvent(TopologyEvent.Type.CREATED, newTopology.getValue())); } } return events; }
@Override public void handleTopologyEvent( List<TopologyEvent> events ) { synchronized ( GatewayServer.this ) { for( TopologyEvent event : events ) { Topology topology = event.getTopology(); File deployDir = calculateAbsoluteDeploymentsDir(); if( event.getType().equals( TopologyEvent.Type.DELETED ) ) { handleDeleteDeployment(topology, deployDir); } else { handleCreateDeployment(topology, deployDir); } } } }
@Override public void handleTopologyEvent( List<TopologyEvent> events ) { synchronized ( GatewayServer.this ) { for( TopologyEvent event : events ) { Topology topology = event.getTopology(); File deployDir = calculateAbsoluteDeploymentsDir(); if( event.getType().equals( TopologyEvent.Type.DELETED ) ) { handleDeleteDeployment(topology, deployDir); } else { handleCreateDeployment(topology, deployDir); } } } }
private List<TopologyEvent> createChangeEvents( Map<File, Topology> oldTopologies, Map<File, Topology> newTopologies) { ArrayList<TopologyEvent> events = new ArrayList<>(); // Go through the old topologies and find anything that was deleted. for (Entry<File, Topology> oldTopology : oldTopologies.entrySet()) { if (!newTopologies.containsKey(oldTopology.getKey())) { events.add(new TopologyEvent(TopologyEvent.Type.DELETED, oldTopology.getValue())); } } // Go through the new topologies and figure out what was updated vs added. for (Entry<File, Topology> newTopology : newTopologies.entrySet()) { if (oldTopologies.containsKey(newTopology.getKey())) { Topology oldTopology = oldTopologies.get(newTopology.getKey()); if (newTopology.getValue().getTimestamp() > oldTopology.getTimestamp()) { events.add(new TopologyEvent(TopologyEvent.Type.UPDATED, newTopology.getValue())); } } else { events.add(new TopologyEvent(TopologyEvent.Type.CREATED, newTopology.getValue())); } } return events; }