Search in sources :

Example 1 with AlarmClientException

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;
}
Also used : Alarm(cern.laser.client.data.Alarm) AlarmClientException(alma.alarmsystem.clients.alarm.AlarmClientException)

Example 2 with AlarmClientException

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);
    }
}
Also used : Alarm(cern.laser.client.data.Alarm) AlarmClientException(alma.alarmsystem.clients.alarm.AlarmClientException) AcsJCannotGetComponentEx(alma.maciErrType.wrappers.AcsJCannotGetComponentEx) CernAlarmServiceUtils(alma.alarmsystem.corbaservice.CernAlarmServiceUtils) UserHandlerImpl(cern.laser.console.impl.UserHandlerImpl)

Example 3 with AlarmClientException

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;
}
Also used : Alarm(cern.laser.client.data.Alarm) AlarmClientException(alma.alarmsystem.clients.alarm.AlarmClientException)

Example 4 with AlarmClientException

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);
    }
}
Also used : AlarmClientException(alma.alarmsystem.clients.alarm.AlarmClientException) AlarmClientException(alma.alarmsystem.clients.alarm.AlarmClientException)

Example 5 with AlarmClientException

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;
}
Also used : Alarm(cern.laser.client.data.Alarm) AlarmClientException(alma.alarmsystem.clients.alarm.AlarmClientException)

Aggregations

AlarmClientException (alma.alarmsystem.clients.alarm.AlarmClientException)5 Alarm (cern.laser.client.data.Alarm)4 CernAlarmServiceUtils (alma.alarmsystem.corbaservice.CernAlarmServiceUtils)1 AcsJCannotGetComponentEx (alma.maciErrType.wrappers.AcsJCannotGetComponentEx)1 UserHandlerImpl (cern.laser.console.impl.UserHandlerImpl)1