Skip to content
Snippets Groups Projects
Commit 6b396cbd authored by Gwenaelle ABEILLE's avatar Gwenaelle ABEILLE
Browse files

fix: add get properties from device class SnapArchiver

parent 60b38a27
No related branches found
No related tags found
No related merge requests found
......@@ -3,6 +3,7 @@ package org.tango.server.snap.archiver;
import SnapArchiver.grouplink.UsePluginBuilder;
import fr.esrf.Tango.DevFailed;
import fr.soleil.actiongroup.collectiveaction.onattributes.UsePlugin;
import fr.soleil.archiving.common.api.utils.DbConnectionInfo;
import fr.soleil.archiving.snap.api.manager.SnapManagerApi;
import fr.soleil.archiving.snap.api.persistence.SnapshotPersistenceManager;
import fr.soleil.archiving.snap.api.persistence.SnapshotPersistenceManagerFactory;
......@@ -87,12 +88,31 @@ public final class SnapArchiver {
@Init
public void init() throws DevFailed {
try {
// get configuration from device class "SnapManager"
DbConnectionInfo dbConnectionInfo = new DbConnectionInfo("SnapManager");
dbConnectionInfo.initFromClassProperties();
if (dbHost.isEmpty()) {
dbHost = dbConnectionInfo.getDbHost();
}
if (dbName.isEmpty()) {
dbName = dbConnectionInfo.getDbName();
}
if (dbSchema.isEmpty()) {
dbSchema = dbConnectionInfo.getDbSchema();
}
if (dbUser.isEmpty()) {
dbUser = dbConnectionInfo.getDbPassword();
}
if (dbPassword.isEmpty()) {
dbPassword = dbConnectionInfo.getDbPassword();
}
SnapManagerApi.initSnapConnection(dbHost, dbName, dbSchema, dbUser, dbPassword, "false");
SnapshotPersistenceManagerFactory factory = SnapshotPersistenceManagerFactory.getInstance();
manager = factory.getManager(beansFileName, dbUser, dbPassword);
state = DeviceState.ON;
status = "device ready for snapshot";
} catch (SnapshotingException e) {
e.printStackTrace();
throw e.toTangoException();
}
}
......@@ -240,14 +260,15 @@ public final class SnapArchiver {
logger.debug("snapshot {} will contains {} atttributes", snapId, attributeList.size());
UsePluginBuilder builder = new UsePluginBuilder(snapId, manager);
UsePlugin group = builder.build(attributeList);
boolean isExecuted = group.execute();
logger.debug("snapshot {} execution status is {}", snapId, isExecuted);
boolean isExecutionFailed = group.execute();
logger.debug("snapshot {} execution status is {}", snapId, isExecutionFailed);
// group.getMessages();
Map<String, String> messages = group.getMessages();
logger.debug("snapshot {} execution messages are {}", messages);
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append("Snapshot ").append(snapId).append(" for context ").append(contextID).append(" done.\n");
stringBuilder.append("Execution is ").append(isExecuted).append("\nMessages are ").append(messages);
stringBuilder.append("Execution has some errors = ").append(isExecutionFailed).append("\nErrors messages are ").append(messages);
status = stringBuilder.toString();
state = DeviceState.ON;
} catch (SnapshotingException e) {
state = DeviceState.FAULT;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment