Skip to content
Snippets Groups Projects
Commit 60d8c92a authored by Vincent Gramer's avatar Vincent Gramer
Browse files

fix bug 20709

parent 07629c91
No related branches found
No related tags found
No related merge requests found
......@@ -33,6 +33,7 @@ import fr.soleil.hdbtdbArchivingApi.ArchivingApi.ConfigConst;
import fr.soleil.hdbtdbArchivingApi.ArchivingManagerApi.HdbArchivingManagerApiRef;
import fr.soleil.hdbtdbArchivingApi.ArchivingTools.Mode.Mode;
import fr.soleil.hdbtdbArchivingApi.ArchivingTools.Tools.ArchivingException;
import fr.soleil.hdbtdbArchivingApi.ArchivingWatchApi.datasources.db.DBReaderFactory;
import fr.soleil.hdbtdbArchivingApi.ArchivingWatchApi.dto.ArchivingAttribute;
import fr.soleil.hdbtdbArchivingApi.ArchivingWatchApi.dto.ArchivingAttributeSubName;
import fr.soleil.hdbtdbArchivingApi.ArchivingWatchApi.dto.ControlResult;
......@@ -86,7 +87,6 @@ import fr.soleil.hdbtdbArchivingApi.ArchivingWatchApi.tools.Tools;
* detected during this cycle or a previous cycle.
*/
// --------- End of States Description ----------
public class HdbArchivingWatcher extends AbsArchivingWatcher {
// private int state;
private final String m_version;
......@@ -159,6 +159,7 @@ public class HdbArchivingWatcher extends AbsArchivingWatcher {
initLifeCycleManager(LifeCycleManagerFactory.HDB_LIFE_CYCLE);
archivingAttributeComparator = new ArchivingAttributeComparator();
dbReader = DBReaderFactory.getCurrentImpl();
}
// =========================================================
......@@ -178,23 +179,22 @@ public class HdbArchivingWatcher extends AbsArchivingWatcher {
* @return
* @throws DevFailed
*/
public String[] getKOAttributesFromArchivers(boolean doRetry) throws DevFailed {
List<String> archiversStatus = new ArrayList<String>();
String[] archiverNames = ApiUtil.get_db_obj().get_device_exported_for_class(
HdbArchivingManagerApiRef.classDevice);
Group group = new Group("archivers");
public String[] getKOAttributesFromArchivers(final boolean doRetry) throws DevFailed {
final List<String> archiversStatus = new ArrayList<String>();
final String[] archiverNames = ApiUtil.get_db_obj().get_device_exported_for_class(HdbArchivingManagerApiRef.classDevice);
final Group group = new Group("archivers");
group.add(archiverNames);
GroupCmdReplyList replies = group.command_inout("GetKOAttributes", true);
for (Object reply : replies) {
GroupCmdReply r = (GroupCmdReply) reply;
final GroupCmdReplyList replies = group.command_inout("GetKOAttributes", true);
for (final Object reply : replies) {
final GroupCmdReply r = (GroupCmdReply) reply;
try {
DeviceData result = r.get_data();
String archiverStatus = r.dev_name() + " " + Arrays.toString(result.extractStringArray());
final DeviceData result = r.get_data();
final String archiverStatus = r.dev_name() + " " + Arrays.toString(result.extractStringArray());
archiversStatus.add(archiverStatus);
if (doRetry) {
new DeviceProxy(r.dev_name()).command_inout_asynch("RetryForAttribute", result, true);
}
} catch (DevFailed e) {
} catch (final DevFailed e) {
archiversStatus.add(r.dev_name() + " ERROR");
}
}
......@@ -274,8 +274,7 @@ public class HdbArchivingWatcher extends AbsArchivingWatcher {
* @return True if archiving works correctly for this attribute
*/
// =========================================================
private boolean is_attribute_correctly_archived(final String argin, final ControlResult _controlResult)
throws DevFailed {
private boolean is_attribute_correctly_archived(final String argin, final ControlResult _controlResult) throws DevFailed {
if (_controlResult == null) {
throw new DevFailed(HdbArchivingWatcher.getNotYetReadyError());
}
......@@ -442,7 +441,7 @@ public class HdbArchivingWatcher extends AbsArchivingWatcher {
get_logger().info("Entering restart()");
// complete stop
LifeCycleManager lifeCycleManager = getLifeCycleManager();
final LifeCycleManager lifeCycleManager = getLifeCycleManager();
lifeCycleManager.stopProcessing();
final Thread watcherThread = lifeCycleManager.getAsThread();
......
......@@ -33,6 +33,7 @@ import fr.soleil.hdbtdbArchivingApi.ArchivingApi.ConfigConst;
import fr.soleil.hdbtdbArchivingApi.ArchivingManagerApi.TdbArchivingManagerApiRef;
import fr.soleil.hdbtdbArchivingApi.ArchivingTools.Mode.Mode;
import fr.soleil.hdbtdbArchivingApi.ArchivingTools.Tools.ArchivingException;
import fr.soleil.hdbtdbArchivingApi.ArchivingWatchApi.datasources.db.DBReaderFactory;
import fr.soleil.hdbtdbArchivingApi.ArchivingWatchApi.dto.ArchivingAttribute;
import fr.soleil.hdbtdbArchivingApi.ArchivingWatchApi.dto.ArchivingAttributeSubName;
import fr.soleil.hdbtdbArchivingApi.ArchivingWatchApi.dto.ControlResult;
......@@ -86,7 +87,6 @@ import fr.soleil.hdbtdbArchivingApi.ArchivingWatchApi.tools.Tools;
* detected during this cycle or a previous cycle.
*/
// --------- End of States Description ----------
public class TdbArchivingWatcher extends AbsArchivingWatcher {
// private int state;
private final String m_version;
......@@ -158,9 +158,10 @@ public class TdbArchivingWatcher extends AbsArchivingWatcher {
// Initialise variables to default values
super.initArchivingDataWatch();
archivingAttributeComparator = new ArchivingAttributeComparator();
initLifeCycleManager(LifeCycleManagerFactory.TDB_LIFE_CYCLE);
archivingAttributeComparator = new ArchivingAttributeComparator();
dbReader = DBReaderFactory.getCurrentImpl();
}
/**
......@@ -169,24 +170,23 @@ public class TdbArchivingWatcher extends AbsArchivingWatcher {
* @return
* @throws DevFailed
*/
public String[] getKOAttributesFromArchivers(boolean doRetry) throws DevFailed {
public String[] getKOAttributesFromArchivers(final boolean doRetry) throws DevFailed {
List<String> archiversStatus = new ArrayList<String>();
String[] archiverNames = ApiUtil.get_db_obj().get_device_exported_for_class(
TdbArchivingManagerApiRef.classDevice);
Group group = new Group("archivers");
final List<String> archiversStatus = new ArrayList<String>();
final String[] archiverNames = ApiUtil.get_db_obj().get_device_exported_for_class(TdbArchivingManagerApiRef.classDevice);
final Group group = new Group("archivers");
group.add(archiverNames);
GroupCmdReplyList replies = group.command_inout("GetKOAttributes", true);
for (Object reply : replies) {
GroupCmdReply r = (GroupCmdReply) reply;
final GroupCmdReplyList replies = group.command_inout("GetKOAttributes", true);
for (final Object reply : replies) {
final GroupCmdReply r = (GroupCmdReply) reply;
try {
DeviceData result = r.get_data();
String archiverStatus = r.dev_name() + " " + Arrays.toString(result.extractStringArray());
final DeviceData result = r.get_data();
final String archiverStatus = r.dev_name() + " " + Arrays.toString(result.extractStringArray());
archiversStatus.add(archiverStatus);
if (doRetry) {
new DeviceProxy(r.dev_name()).command_inout_asynch("RetryForAttribute", result, true);
}
} catch (DevFailed e) {
} catch (final DevFailed e) {
archiversStatus.add(r.dev_name() + " ERROR");
}
}
......@@ -281,8 +281,7 @@ public class TdbArchivingWatcher extends AbsArchivingWatcher {
* @return True if archiving works correctly for this attribute
*/
// =========================================================
private boolean is_attribute_correctly_archived(final String argin, final ControlResult _controlResult)
throws DevFailed {
private boolean is_attribute_correctly_archived(final String argin, final ControlResult _controlResult) throws DevFailed {
if (_controlResult == null) {
throw new DevFailed(TdbArchivingWatcher.getNotYetReadyError());
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment