Refactoring of buisness logic

* added DurationHelper to have access to Convertion in every class
* removed tenant specific getter and setter from PollConfigurationHelper
* changed getter and setter in TenantMetaData to use DurationObjects instead of Strings
* updated UI to call new functions
* updated module tests

Signed-off-by: Nonnenmacher Fabian <fabian.nonnenmacher@bosch-si.com>
This commit is contained in:
Fabian Nonnenmacher
2016-01-19 16:41:13 +01:00
committed by Nonnenmacher Fabian
parent 4675ebf22c
commit 088df73ea9
6 changed files with 152 additions and 147 deletions

View File

@@ -4,6 +4,8 @@ import java.time.Duration;
import javax.annotation.PostConstruct;
import org.eclipse.hawkbit.repository.SystemManagement;
import org.eclipse.hawkbit.repository.model.TenantMetaData;
import org.eclipse.hawkbit.repository.model.helper.PollConfigurationHelper;
import org.eclipse.hawkbit.ui.tenantconfiguration.polling.DurationConfigField;
import org.eclipse.hawkbit.ui.utils.I18N;
@@ -34,6 +36,9 @@ public class PollingConfigurationView extends BaseConfigurationView
@Autowired
PollConfigurationHelper pollConfigurationHelper;
@Autowired
private transient SystemManagement systemManagement;
@Autowired
private DurationConfigField fieldPollingTime;
@@ -61,7 +66,9 @@ public class PollingConfigurationView extends BaseConfigurationView
headerDisSetType.addStyleName("config-panel-header");
vLayout.addComponent(headerDisSetType);
tenantPollingTime = pollConfigurationHelper.getTenantPollTimeIntervall();
final TenantMetaData tenantMetaData = systemManagement.getTenantMetadata();
tenantPollingTime = tenantMetaData.getPollingTime();
fieldPollingTime.setInitValues(i18n.get("configuration.polling.time"), tenantPollingTime,
pollConfigurationHelper.getGlobalPollTimeInterval());
fieldPollingTime.setAllowedRange(pollConfigurationHelper.getMinimumPollingInterval(),
@@ -70,7 +77,7 @@ public class PollingConfigurationView extends BaseConfigurationView
vLayout.addComponent(fieldPollingTime);
tenantPollingOverdueTime = pollConfigurationHelper.getTenantOverduePollTimeIntervall();
tenantPollingOverdueTime = tenantMetaData.getPollingOverdueTime();
fieldPollingOverdueTime.setInitValues(i18n.get("configuration.polling.overduetime"), tenantPollingOverdueTime,
pollConfigurationHelper.getGlobalOverduePollTimeInterval());
@@ -88,16 +95,25 @@ public class PollingConfigurationView extends BaseConfigurationView
public void save() {
// make sure values are only saved, when the value has been changed
boolean hasChanged = false;
final TenantMetaData tenantMetaData = systemManagement.getTenantMetadata();
if (!compareDurations(tenantPollingTime, fieldPollingTime.getValue())) {
tenantPollingTime = fieldPollingTime.getValue();
pollConfigurationHelper.setTenantPollTimeIntervall(fieldPollingTime.getValue());
tenantMetaData.setPollingTime(fieldPollingTime.getValue());
hasChanged = true;
}
if (!compareDurations(tenantPollingOverdueTime, fieldPollingOverdueTime.getValue())) {
tenantPollingOverdueTime = fieldPollingOverdueTime.getValue();
pollConfigurationHelper.setTenantOverduePollTimeIntervall(fieldPollingOverdueTime.getValue());
tenantMetaData.setPollingOverdueTime(fieldPollingOverdueTime.getValue());
hasChanged = true;
}
if (hasChanged) {
systemManagement.updateTenantMetadata(tenantMetaData);
}
}
@Override