Skip to content
Snippets Groups Projects
Commit e1f39b71 authored by Alexandre TISON's avatar Alexandre TISON
Browse files

ArchivingMode messages made more consistent for TimeseriesAccess

parent 390c534a
Branches
Tags
1 merge request!1Refactoring TDB/HDB (https://jira.synchrotron-soleil.fr/jira/browse/TANGOARCH-875)
...@@ -11,6 +11,7 @@ import fr.soleil.tango.archiving.TangoArchivingSystemConfigurationService; ...@@ -11,6 +11,7 @@ import fr.soleil.tango.archiving.TangoArchivingSystemConfigurationService;
import fr.soleil.tango.archiving.build.DatabaseConnectionConfig; import fr.soleil.tango.archiving.build.DatabaseConnectionConfig;
import fr.soleil.tango.archiving.build.TangoArchivingServicesBuilder; import fr.soleil.tango.archiving.build.TangoArchivingServicesBuilder;
import fr.soleil.tango.archiving.config.AttributeConfig; import fr.soleil.tango.archiving.config.AttributeConfig;
import fr.soleil.tango.archiving.config.InsertionModes;
import fr.soleil.tango.archiving.infra.tango.ArchivingConfig; import fr.soleil.tango.archiving.infra.tango.ArchivingConfig;
import fr.soleil.tango.archiving.infra.tango.ArchivingConfigs; import fr.soleil.tango.archiving.infra.tango.ArchivingConfigs;
import fr.soleil.tango.archiving.infra.tango.TangoArchiverProperties; import fr.soleil.tango.archiving.infra.tango.TangoArchiverProperties;
...@@ -22,12 +23,7 @@ import org.tango.archiving.server.manager.configuration.ArchivingStartConfig; ...@@ -22,12 +23,7 @@ import org.tango.archiving.server.manager.configuration.ArchivingStartConfig;
import org.tango.archiving.server.manager.configuration.InsertionModesMapper; import org.tango.archiving.server.manager.configuration.InsertionModesMapper;
import org.tango.utils.DevFailedUtils; import org.tango.utils.DevFailedUtils;
import java.util.ArrayList; import java.util.*;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.OptionalInt;
import java.util.Set;
public class TimeseriesAccess implements IArchivingAccess { public class TimeseriesAccess implements IArchivingAccess {
...@@ -132,20 +128,42 @@ public class TimeseriesAccess implements IArchivingAccess { ...@@ -132,20 +128,42 @@ public class TimeseriesAccess implements IArchivingAccess {
return toStringArray(configService.getCurrentInsertionModes(id.getAsInt())); return toStringArray(configService.getCurrentInsertionModes(id.getAsInt()));
} }
private String[] toStringArray(Object toConvert) { private String[] toStringArray(Optional<InsertionModes> toConvert) {
List<String> array = new ArrayList<>(); List<String> array = new ArrayList<>();
Arrays.stream(toConvert.getClass().getDeclaredFields()) if (toConvert.isPresent()){
.forEach(f -> { InsertionModes modes = toConvert.get();
try { if (modes.isPeriodic()) {
f.setAccessible(true); array.add("MODE_P");
Object value = f.get(toConvert); array.add(String.valueOf(modes.getPeriodPeriodic()));
if (value != null) { }
array.add(f.getName() + ": " + f.get(toConvert)); if (modes.isAbsolute()) {
array.add("MODE_A");
array.add(String.valueOf(modes.getPeriodAbsolute()));
array.add(modes.getDecreaseDeltaAbsolute().toString());
array.add(modes.getIncreaseDeltaAbsolute().toString());
array.add(String.valueOf(modes.isSlowDriftAbsolute()));
}
if (modes.isRelative()){
array.add("MODE_R");
array.add(String.valueOf(modes.getPeriodRelative()));
array.add(modes.getDecreasePercentRelative().toString());
array.add(modes.getIncreasePercentRelative().toString());
array.add(String.valueOf(modes.isSlowDriftRelative()));
}
if (modes.isThreshold()) {
array.add("MODE_T");
array.add(String.valueOf(modes.getPeriodThreshold()));
array.add(modes.getMinThresholdValue().toString());
array.add(modes.getMaxThresholdValue().toString());
}
if (modes.isDifference()){
array.add("MODE_D");
array.add(String.valueOf(modes.getPeriodDifference()));
}
if (modes.isEvent()) {
array.add("MODE_EVT");
} }
} catch (IllegalAccessException e) {
array.add(f.getName() + ": error");
} }
});
return array.toArray(new String[0]); return array.toArray(new String[0]);
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment