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();
}
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
}
}
Aggregations