package com.voxeo.moho.presence.sip.impl; import java.util.HashMap; import java.util.Map; import org.apache.commons.lang.StringUtils; /** * Convert a String like "ua-profile;profile-type=application;auid="pres-rules"" * to a utility object with a eventName as a string and all parameters as a map. */ public class EventHeader { public static final String NULLEVENT = "nullevent"; protected String m_eventName; protected String _s; protected Map<String, String> m_paras = new HashMap<String, String>(); public EventHeader(String eventHeader) { if (StringUtils.isEmpty(eventHeader)) { return; } _s = eventHeader; String[] eventHeaderArr = StringUtils.split(eventHeader, ';'); setEventName(eventHeaderArr[0]); for (int i = 1; i < eventHeaderArr.length; i++) { String[] paras = StringUtils.split(eventHeaderArr[i], '='); m_paras.put(paras[0].trim(), paras[1].trim()); } } public String getEventId() { String eid = getParameter("id"); if (eid == null) { return NULLEVENT; } return eid; } public void setEventId(String eventId) { setParameter("id", eventId); } public String getEventName() { return m_eventName; } public void setEventName(String eventName) { // convert the event name to the system constants this.m_eventName = Utils.staticEventNameStringAddress(eventName); } public String getParameter(String name) { return m_paras.get(name); } public void setParameter(String name, String value) { m_paras.put(name, value); } public Map<String, String> getAllParameters() { return m_paras; } public String toString() { return _s; } }