package org.goldenorb.server; import java.util.HashMap; import java.util.Map; import java.util.concurrent.CountDownLatch; import org.goldenorb.client.OrbTrackerMemberData; public class TServer extends OrbTrackerMemberDataServiceImpl { private static final long serialVersionUID = 2672656370931137360L; private String[] jobsInQueue; private String[] jobsInProgress; private Map<String,OrbTrackerMemberData> memberData = new HashMap<String,OrbTrackerMemberData>(); private CountDownLatch latch; public TServer(CountDownLatch cdlatch) { super(); this.latch = cdlatch; } @Override public synchronized void updateNodeData(OrbTrackerMemberData updatedNode) { memberData.put(updatedNode.getName(), updatedNode); try { latch.countDown(); } catch (Exception e) { e.printStackTrace(); } } @Override public synchronized void removeNodeData(String nodeName) { memberData.remove(nodeName); try { latch.countDown(); } catch (Exception e) { e.printStackTrace(); } } public Map<String,OrbTrackerMemberData> getMemberData() { return memberData; } public void setLatcher(CountDownLatch latch) { this.latch = latch; } @Override public void updateJobs(String[] jobs, String nodeName) { if (nodeName.equalsIgnoreCase("JobQueue")) { jobsInQueue = jobs; } else { jobsInProgress = jobs; } latch.countDown(); } public String[] getJobsInProgress() { return jobsInProgress; } public String[] getJobsInQueue() { return jobsInQueue; } }