use of alma.alarmsystem.clients.alarm.AlarmClientException in project ACS by ACS-Community.
the class CategoryClient method getActiveChildren.
/**
* Get the active children of a reduced alarm.
* <P>
* The method asks the alarm service component for the active children of a reduced
* alarm.
*
* @param id The id of the alarm
* @param node <code>true</code> if the alarm is a Node alarm;
* <code>false</code> if the alarm of the passed ID is a multiplicity.
* @return The array of the alarm parent of the alarm with the passed ID
* @throws AlarmClientException In case of error getting the alarms from the component
*/
public Alarm[] getActiveChildren(String id, boolean node) throws AlarmClientException {
if (id == null || id.isEmpty()) {
throw new IllegalArgumentException("Invalid alarm ID");
}
alma.alarmsystem.Alarm[] alarms = null;
try {
if (node) {
alarms = alarm.getActiveNodeChildren(id);
} else {
alarms = alarm.getActiveMultiplicityChildren(id);
}
} catch (Throwable t) {
throw new AlarmClientException("Error getting children from component", t);
}
Alarm[] ret = new Alarm[alarms.length];
for (int t = 0; t < ret.length; t++) {
ret[t] = convertAlarmType(alarms[t]);
}
return ret;
}
use of alma.alarmsystem.clients.alarm.AlarmClientException in project ACS by ACS-Community.
the class CategoryClient method connect.
/**
* Connects to the passed categories of the alarm system
*
* @param listener The lister to notify of the alarms received from the categories
* @param categories The categories to connect to
* @throws AcsJCannotGetComponentEx In case the AlarmService is not available
* @throws AlarmClientException In case of failure connecting the client
*/
public void connect(AlarmSelectionListener listener, Category[] categories) throws AlarmClientException, AcsJCannotGetComponentEx {
if (listener == null) {
throw new IllegalArgumentException("The listener can't be null");
}
if (closed) {
throw new IllegalStateException("SourceClient is closed!");
}
try {
CernAlarmServiceUtils alarmUtils = new CernAlarmServiceUtils(orb, logger);
alarm = alarmUtils.getCernAlarmService();
} catch (Throwable t) {
AcsJCannotGetComponentEx ex = new AcsJCannotGetComponentEx(t);
ex.setReason("Alarm service unavailable");
throw ex;
}
try {
userHandler = new UserHandlerImpl(orb, logger);
logger.log(AcsLogLevel.DEBUG, "UserHandler succesfully built");
testUser = userHandler.getUser("test", orb, logger);
logger.log(AcsLogLevel.DEBUG, "User generated");
defaultConf = testUser.getDefaultConfiguration();
logger.log(AcsLogLevel.DEBUG, "Getting the selection handler");
jms_selectionHandler = AlarmSelectionHandler.get(orb, logger);
addCategories(defaultConf, categories);
// Get the active alarms (they are received by the listener)
java.util.Map<String, Alarm> alreadyActive = jms_selectionHandler.select(defaultConf.getSelection(), listener);
if (alreadyActive != null && alreadyActive.size() > 0) {
Set<String> keys = alreadyActive.keySet();
for (String key : keys) {
listener.onAlarm(alreadyActive.get(key));
}
}
} catch (Throwable t) {
throw new AlarmClientException("Exception connecting the category client", t);
}
}
use of alma.alarmsystem.clients.alarm.AlarmClientException in project ACS by ACS-Community.
the class CategoryClient method getChildren.
/**
* Get the parents of a reduced alarm.
* <P>
* The method asks the alarm service component for the children of a reduced
* alarm.
*
* @param id The id of the alarm
* @param node <code>true</code> if the alarm is a Node alarm;
* <code>false</code> if the alarm of the passed ID is a multiplicity.
* @return The array of the alarm parent of the alarm with the passed ID
* @throws AlarmClientException In case of error getting the alarms from the component
*/
public Alarm[] getChildren(String id, boolean node) throws AlarmClientException {
if (id == null || id.isEmpty()) {
throw new IllegalArgumentException("Invalid alarm ID");
}
alma.alarmsystem.Alarm[] alarms = null;
try {
if (node) {
alarms = alarm.getNodeChildren(id);
} else {
alarms = alarm.getMultiplicityChildren(id);
}
} catch (Throwable t) {
throw new AlarmClientException("Error getting children from component", t);
}
Alarm[] ret = new Alarm[alarms.length];
for (int t = 0; t < ret.length; t++) {
ret[t] = convertAlarmType(alarms[t]);
}
return ret;
}
use of alma.alarmsystem.clients.alarm.AlarmClientException in project ACS by ACS-Community.
the class CategoryClient method close.
/**
* Release all the resource,
*
* @throws AlarmClientException
*/
public void close() throws AlarmClientException {
if (closed) {
return;
}
closed = true;
try {
if (jms_selectionHandler != null) {
jms_selectionHandler.close();
jms_selectionHandler = null;
}
} catch (Exception e) {
throw new AlarmClientException("Exception closing: ", e);
}
}
use of alma.alarmsystem.clients.alarm.AlarmClientException in project ACS by ACS-Community.
the class CategoryClient method getParents.
/**
* Get the parents of a reduced alarm.
* <P>
* The method asks the alarm service component for the parents of a reduced
* alarm.
*
* @param id The id of the alarm
* @param node <code>true</code> if the alarm is a Node alarm;
* <code>false</code> if the alarm of the passed ID is a multiplicity.
* @return The array of the alarm parent of the alarm with the passed ID
* @throws AlarmClientException In case of error getting the alarms from the component
*/
public Alarm[] getParents(String id, boolean node) throws AlarmClientException {
if (id == null || id.isEmpty()) {
throw new IllegalArgumentException("Invalid alarm ID");
}
alma.alarmsystem.Alarm[] alarms = null;
try {
if (node) {
alarms = alarm.getNodeParents(id);
} else {
alarms = alarm.getMultiplicityParents(id);
}
} catch (Throwable t) {
throw new AlarmClientException("Error getting parents from component", t);
}
Alarm[] ret = new Alarm[alarms.length];
for (int t = 0; t < ret.length; t++) {
ret[t] = convertAlarmType(alarms[t]);
}
return ret;
}
Aggregations