Search in sources :

Example 1 with LaserTimeOutException

use of cern.laser.client.LaserTimeOutException in project ACS by ACS-Community.

the class AlarmSelectionHelper method subscribe.

//
// -- PUBLIC METHODS ----------------------------------------------
//
public Map subscribe(Selection selection) throws LaserConnectionException, LaserException, LaserTimeOutException {
    String sql_filter = buildSQLFilter(selection);
    Collection category_ids = setupCategorySubscriptions(selection, sql_filter);
    // start init subscription
    setInitialized(false);
    String console_id = "";
    String host_name = "";
    try {
        console_id = UUIDGenerator.getInstance().getUUID().toString();
        host_name = InetAddress.getLocalHost().getHostName();
    } catch (UnknownHostException e) {
        throw new LaserException("unable to get a unique id for the console", e);
    }
    String init_topic = getClientRootTopic() + "." + console_id;
    String init_sql_filter = buildInitSQLFilter(sql_filter);
    long init_subscription;
    try {
        init_subscription = getSubscriber().subscribe(init_topic, getInitialSelectionListener(), init_sql_filter);
    } catch (Exception e) {
        LOGGER.error("unable to subscribe to topic " + init_topic, e);
        throw new LaserException("unable to subscribe to topic " + init_topic, e);
    }
    try {
        if (m_laser != null) {
            int[] cis = new int[category_ids.size()];
            int pos = 0;
            for (Iterator iter = category_ids.iterator(); iter.hasNext(); ) {
                cis[pos++] = ((Integer) iter.next()).intValue();
            }
            m_laser.select(cis, console_id);
        } else {
            throw new NullPointerException("AlarmSystem component is null");
        }
    } catch (alma.alarmsystem.LaserProcessingException lpe) {
        try {
            getSubscriber().unSubscribe(init_subscription);
        } catch (JMSException e1) {
        // Intentionally left blank
        } catch (LaserException e1) {
        // Intentionally left blank
        }
        LOGGER.error("server is initializing");
        throw new LaserConnectionException("server is initializing", lpe);
    } catch (Exception e3) {
        throw new LaserException("unable to perform initial selection at host " + host_name, e3);
    }
    resetInitWaitTime();
    waitForInit();
    try {
        // stop init subscription
        getSubscriber().unSubscribe(init_subscription);
    } catch (Exception e) {
        LOGGER.info("exception when unsubscribing", e);
    }
    if (isInitialized()) {
        return getInitialSelection();
    } else {
    //throw new LaserTimeOutException("initial selection timed out");
    }
    return getInitialSelection();
}
Also used : UnknownHostException(java.net.UnknownHostException) JMSException(javax.jms.JMSException) LaserConnectionException(cern.laser.client.LaserConnectionException) LaserConnectionException(cern.laser.client.LaserConnectionException) LaserException(cern.laser.client.LaserException) UnknownHostException(java.net.UnknownHostException) JMSException(javax.jms.JMSException) MOMException(cern.cmw.mom.pubsub.MOMException) LaserSelectionException(cern.laser.client.services.selection.LaserSelectionException) LaserTimeOutException(cern.laser.client.LaserTimeOutException) Iterator(java.util.Iterator) Collection(java.util.Collection) LaserException(cern.laser.client.LaserException)

Example 2 with LaserTimeOutException

use of cern.laser.client.LaserTimeOutException in project ACS by ACS-Community.

the class AlarmSearchHelper method search.

//
// -- PUBLIC METHODS ----------------------------------------------
//
public void search(Selection selection, int nbOfRows) throws LaserConnectionException, LaserException, LaserTimeOutException {
    searchFinished(false);
    String console_id = "";
    String host_name = "";
    try {
        console_id = UUIDGenerator.getInstance().getUUID().toString();
        host_name = InetAddress.getLocalHost().getHostName();
    } catch (UnknownHostException e) {
        throw new LaserException("unable to get a unique id for the console : " + e.getMessage());
    }
    String init_topic = getSearchRootTopic() + "." + console_id;
    long init_subscription;
    try {
        init_subscription = getSubscriber().subscribe(init_topic, getSearchListener(), null);
    } catch (Exception e) {
        throw new LaserException("unable to subscribe to topic " + init_topic + " : " + e.getMessage());
    }
    // activate the selection on the BT
    Integer[] category_ids = getCategoryIds(selection);
    String sql = buildSQLFilter(selection, nbOfRows);
    try {
        if (m_laser != null) {
            int[] cis = new int[category_ids.length];
            for (int i = 0; i < category_ids.length; i++) cis[i] = category_ids[i].intValue();
            m_laser.search(cis, sql, console_id);
        } else {
            throw new NullPointerException("AlarmSystem component is null");
        }
    } catch (Exception e) {
        throw new LaserException("unable to perform initial selection at host " + host_name + " : " + e.getMessage());
    }
    resetInitWaitTime();
    waitForInit();
    try {
        // stop init subscription
        getSubscriber().unSubscribe(init_subscription);
    } catch (Exception e) {
    // Intentionally left blank
    }
}
Also used : UnknownHostException(java.net.UnknownHostException) LaserConnectionException(cern.laser.client.LaserConnectionException) LaserSearchException(cern.laser.client.services.selection.LaserSearchException) LaserException(cern.laser.client.LaserException) UnknownHostException(java.net.UnknownHostException) MOMException(cern.cmw.mom.pubsub.MOMException) LaserTimeOutException(cern.laser.client.LaserTimeOutException) LaserException(cern.laser.client.LaserException)

Aggregations

MOMException (cern.cmw.mom.pubsub.MOMException)2 LaserConnectionException (cern.laser.client.LaserConnectionException)2 LaserException (cern.laser.client.LaserException)2 LaserTimeOutException (cern.laser.client.LaserTimeOutException)2 UnknownHostException (java.net.UnknownHostException)2 LaserSearchException (cern.laser.client.services.selection.LaserSearchException)1 LaserSelectionException (cern.laser.client.services.selection.LaserSelectionException)1 Collection (java.util.Collection)1 Iterator (java.util.Iterator)1 JMSException (javax.jms.JMSException)1