All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.zbus.common.BrokerInfo Maven / Gradle / Ivy

The newest version!
package org.zbus.common;

import java.util.HashMap;
import java.util.Map;

import org.zbus.json.JSONObject;
import org.zbus.json.parser.JSONParser;

public class BrokerInfo{
	long lastUpdatedTime = System.currentTimeMillis();
	String broker;
	Map mqTable = new HashMap(); 
	
	public boolean isObsolete(long timeout){
		return (System.currentTimeMillis()-lastUpdatedTime)>timeout;
	}

	public long getLastUpdatedTime() {
		return lastUpdatedTime;
	}

	public void setLastUpdatedTime(long lastUpdatedTime) {
		this.lastUpdatedTime = lastUpdatedTime;
	}

	public String getBroker() {
		return broker;
	}

	public void setBroker(String broker) {
		this.broker = broker;
	}

	public Map getMqTable() {
		return mqTable;
	}

	public void setMqTable(Map mqTable) {
		this.mqTable = mqTable;
	}
  

	@Override
	public String toString() {
		JSONObject json = new JSONObject();
		json.put("lastUpdatedTime", this.lastUpdatedTime);
		json.put("broker", this.broker);
		JSONObject mqTable = new JSONObject();
		for(Map.Entry e : this.mqTable.entrySet()){
			mqTable.put(e.getKey(), e.getValue());
		}
		json.put("mqTable", mqTable);
		return json.toJSONString();
	}    
	
	public static BrokerInfo fromJson(JSONObject json){ 
		BrokerInfo info = new BrokerInfo();
		info.lastUpdatedTime = (Long)json.get("lastUpdatedTime");
		info.broker = (String)json.get("broker");
		
		JSONObject mqTable = (JSONObject)json.get("mqTable");
		for(String key : mqTable.keySet()){
			JSONObject brokerMqInfoJson = (JSONObject)mqTable.get(key);
			info.mqTable.put(key, BrokerMqInfo.fromJson(brokerMqInfoJson));
		}
		return info;
	}
	
	public static void main(String[] args) throws Exception{
		BrokerInfo info = new BrokerInfo();
		info.broker = "127.0.0.1:15555";
		info.lastUpdatedTime = System.currentTimeMillis();
		info.mqTable.put("MyMQ", new BrokerMqInfo());
		
		System.out.println(info);
		JSONParser parser = new JSONParser();
		JSONObject json = (JSONObject) parser.parse(info.toString());
		
		BrokerInfo info2 = BrokerInfo.fromJson(json);
		System.out.println(info2);
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy