Displaying DistributionSet Details in Tooltip

Signed-off-by: venu1278 <venugopal.boodidadinne@in.bosch.com>
This commit is contained in:
venu1278
2016-04-28 15:17:01 +05:30
parent 63d6448432
commit d8d026e9a1
9 changed files with 1468 additions and 1474 deletions

View File

@@ -324,9 +324,9 @@ public abstract class AbstractTable<E extends NamedEntity, I> extends Table {
} }
columnList.add(new TableColumn(SPUILabelDefinitions.VAR_NAME, i18n.get("header.name"), 0.2F)); columnList.add(new TableColumn(SPUILabelDefinitions.VAR_NAME, i18n.get("header.name"), 0.2F));
columnList.add(new TableColumn(SPUILabelDefinitions.ASSIGNED_DISTRIBUTION_NAME_VER, columnList.add(new TableColumn(SPUILabelDefinitions.ASSIGNED_DISTRIBUTION_NAME_VER,
i18n.get("header.assigned.ds"), 0.1F)); i18n.get("header.assigned.ds"), 0.1F));
columnList.add(new TableColumn(SPUILabelDefinitions.INSTALLED_DISTRIBUTION_NAME_VER, columnList.add(new TableColumn(SPUILabelDefinitions.INSTALLED_DISTRIBUTION_NAME_VER,
i18n.get("header.installed.ds"), 0.1F)); i18n.get("header.installed.ds"), 0.1F));
columnList.add(new TableColumn(SPUILabelDefinitions.VAR_CREATED_BY, i18n.get("header.createdBy"), 0.1F)); columnList.add(new TableColumn(SPUILabelDefinitions.VAR_CREATED_BY, i18n.get("header.createdBy"), 0.1F));
columnList.add(new TableColumn(SPUILabelDefinitions.VAR_CREATED_DATE, i18n.get("header.createdDate"), 0.1F)); columnList.add(new TableColumn(SPUILabelDefinitions.VAR_CREATED_DATE, i18n.get("header.createdDate"), 0.1F));
columnList.add(new TableColumn(SPUILabelDefinitions.VAR_LAST_MODIFIED_BY, i18n.get("header.modifiedBy"), 0.1F)); columnList.add(new TableColumn(SPUILabelDefinitions.VAR_LAST_MODIFIED_BY, i18n.get("header.modifiedBy"), 0.1F));

View File

@@ -10,11 +10,9 @@ package org.eclipse.hawkbit.ui.components;
import java.net.URI; import java.net.URI;
import java.security.SecureRandom; import java.security.SecureRandom;
import java.util.Set;
import org.eclipse.hawkbit.repository.model.Action.Status; import org.eclipse.hawkbit.repository.model.Action.Status;
import org.eclipse.hawkbit.repository.model.DistributionSet; import org.eclipse.hawkbit.repository.model.DistributionSet;
import org.eclipse.hawkbit.repository.model.SoftwareModule;
import org.eclipse.hawkbit.repository.model.Target; import org.eclipse.hawkbit.repository.model.Target;
import org.eclipse.hawkbit.repository.model.TargetIdName; import org.eclipse.hawkbit.repository.model.TargetIdName;
import org.eclipse.hawkbit.repository.model.TargetUpdateStatus; import org.eclipse.hawkbit.repository.model.TargetUpdateStatus;
@@ -28,293 +26,293 @@ import org.eclipse.hawkbit.repository.model.TargetUpdateStatus;
* *
*/ */
public class ProxyTarget extends Target { public class ProxyTarget extends Target {
private static final long serialVersionUID = -8891449133620645310L; private static final long serialVersionUID = -8891449133620645310L;
private String controllerId; private String controllerId;
private URI address = null; private URI address = null;
private Long lastTargetQuery = null; private Long lastTargetQuery = null;
private Long installationDate; private Long installationDate;
private TargetUpdateStatus updateStatus = TargetUpdateStatus.UNKNOWN; private TargetUpdateStatus updateStatus = TargetUpdateStatus.UNKNOWN;
private DistributionSet installedDistributionSet; private DistributionSet installedDistributionSet;
private DistributionSet assignedDistributionSet; private DistributionSet assignedDistributionSet;
private TargetIdName targetIdName; private TargetIdName targetIdName;
private String assignedDistNameVersion; private String assignedDistNameVersion;
private String installedDistNameVersion; private String installedDistNameVersion;
private String pollStatusToolTip; private String pollStatusToolTip;
private String createdByUser; private String createdByUser;
private String createdDate; private String createdDate;
private String lastModifiedDate; private String lastModifiedDate;
private String modifiedByUser; private String modifiedByUser;
private Status status; private Status status;
/** /**
* @param controllerId * @param controllerId
*/ */
public ProxyTarget() { public ProxyTarget() {
super(null); super(null);
final Integer generatedId = new SecureRandom().nextInt(Integer.MAX_VALUE) - Integer.MAX_VALUE; final Integer generatedId = new SecureRandom().nextInt(Integer.MAX_VALUE) - Integer.MAX_VALUE;
targetIdName = new TargetIdName(generatedId, generatedId.toString(), generatedId.toString()); targetIdName = new TargetIdName(generatedId, generatedId.toString(), generatedId.toString());
} }
/** /**
* @return the createdByUser * @return the createdByUser
*/ */
public String getCreatedByUser() { public String getCreatedByUser() {
return createdByUser; return createdByUser;
} }
/** /**
* @param createdByUser * @param createdByUser
* the createdByUser to set * the createdByUser to set
*/ */
public void setCreatedByUser(final String createdByUser) { public void setCreatedByUser(final String createdByUser) {
this.createdByUser = createdByUser; this.createdByUser = createdByUser;
} }
/** /**
* @return the createdDate * @return the createdDate
*/ */
public String getCreatedDate() { public String getCreatedDate() {
return createdDate; return createdDate;
} }
/** /**
* @param createdDate * @param createdDate
* the createdDate to set * the createdDate to set
*/ */
public void setCreatedDate(final String createdDate) { public void setCreatedDate(final String createdDate) {
this.createdDate = createdDate; this.createdDate = createdDate;
} }
/** /**
* @return the modifiedByUser * @return the modifiedByUser
*/ */
public String getModifiedByUser() { public String getModifiedByUser() {
return modifiedByUser; return modifiedByUser;
} }
/** /**
* @param modifiedByUser * @param modifiedByUser
* the modifiedByUser to set * the modifiedByUser to set
*/ */
public void setModifiedByUser(final String modifiedByUser) { public void setModifiedByUser(final String modifiedByUser) {
this.modifiedByUser = modifiedByUser; this.modifiedByUser = modifiedByUser;
} }
/** /**
* @return the lastModifiedDate * @return the lastModifiedDate
*/ */
public String getLastModifiedDate() { public String getLastModifiedDate() {
return lastModifiedDate; return lastModifiedDate;
} }
/** /**
* @param lastModifiedDate * @param lastModifiedDate
* the lastModifiedDate to set * the lastModifiedDate to set
*/ */
public void setLastModifiedDate(final String lastModifiedDate) { public void setLastModifiedDate(final String lastModifiedDate) {
this.lastModifiedDate = lastModifiedDate; this.lastModifiedDate = lastModifiedDate;
} }
/** /**
* @return the assignedDistNameVersion * @return the assignedDistNameVersion
*/ */
public String getAssignedDistNameVersion() { public String getAssignedDistNameVersion() {
return assignedDistNameVersion; return assignedDistNameVersion;
} }
/** /**
* @param assignedDistNameVersion * @param assignedDistNameVersion
* the assignedDistNameVersion to set * the assignedDistNameVersion to set
*/ */
public void setAssignedDistNameVersion(final String assignedDistNameVersion) { public void setAssignedDistNameVersion(final String assignedDistNameVersion) {
this.assignedDistNameVersion = assignedDistNameVersion; this.assignedDistNameVersion = assignedDistNameVersion;
} }
/** /**
* @return the installedDistNameVersion * @return the installedDistNameVersion
*/ */
public String getInstalledDistNameVersion() { public String getInstalledDistNameVersion() {
return installedDistNameVersion; return installedDistNameVersion;
} }
/** /**
* @param installedDistNameVersion * @param installedDistNameVersion
* the installedDistNameVersion to set * the installedDistNameVersion to set
*/ */
public void setInstalledDistNameVersion(final String installedDistNameVersion) { public void setInstalledDistNameVersion(final String installedDistNameVersion) {
this.installedDistNameVersion = installedDistNameVersion; this.installedDistNameVersion = installedDistNameVersion;
} }
/** /**
* GET - ID. * GET - ID.
* *
* @return String as ID. * @return String as ID.
*/ */
@Override @Override
public String getControllerId() { public String getControllerId() {
return controllerId; return controllerId;
} }
/** /**
* SET - ID. * SET - ID.
* *
* @param controllerId * @param controllerId
* as ID * as ID
*/ */
@Override @Override
public void setControllerId(final String controllerId) { public void setControllerId(final String controllerId) {
this.controllerId = controllerId; this.controllerId = controllerId;
} }
/** /**
* @return the ipAddress * @return the ipAddress
*/ */
public URI getAddress() { public URI getAddress() {
return address; return address;
} }
/** /**
* @param ipAddress * @param ipAddress
* the ipAddress to set * the ipAddress to set
*/ */
public void setAddress(final URI address) { public void setAddress(final URI address) {
this.address = address; this.address = address;
} }
/** /**
* @return the lastTargetQuery * @return the lastTargetQuery
*/ */
public Long getLastTargetQuery() { public Long getLastTargetQuery() {
return lastTargetQuery; return lastTargetQuery;
} }
/** /**
* @param lastTargetQuery * @param lastTargetQuery
* the lastTargetQuery to set * the lastTargetQuery to set
*/ */
public void setLastTargetQuery(final Long lastTargetQuery) { public void setLastTargetQuery(final Long lastTargetQuery) {
this.lastTargetQuery = lastTargetQuery; this.lastTargetQuery = lastTargetQuery;
} }
/** /**
* @return the installationDate * @return the installationDate
*/ */
public Long getInstallationDate() { public Long getInstallationDate() {
return installationDate; return installationDate;
} }
/** /**
* @param installationDate * @param installationDate
* the installationDate to set * the installationDate to set
*/ */
public void setInstallationDate(final Long installationDate) { public void setInstallationDate(final Long installationDate) {
this.installationDate = installationDate; this.installationDate = installationDate;
} }
/** /**
* @return the updateStatus * @return the updateStatus
*/ */
public TargetUpdateStatus getUpdateStatus() { public TargetUpdateStatus getUpdateStatus() {
return updateStatus; return updateStatus;
} }
/** /**
* @param updateStatus * @param updateStatus
* the updateStatus to set * the updateStatus to set
*/ */
public void setUpdateStatus(final TargetUpdateStatus updateStatus) { public void setUpdateStatus(final TargetUpdateStatus updateStatus) {
this.updateStatus = updateStatus; this.updateStatus = updateStatus;
} }
/** /**
* @return the installedDistributionSet * @return the installedDistributionSet
*/ */
public DistributionSet getInstalledDistributionSet() { public DistributionSet getInstalledDistributionSet() {
return installedDistributionSet; return installedDistributionSet;
} }
/** /**
* @param installedDistributionSet * @param installedDistributionSet
* the installedDistributionSet to set * the installedDistributionSet to set
*/ */
public void setInstalledDistributionSet(final DistributionSet installedDistributionSet) { public void setInstalledDistributionSet(final DistributionSet installedDistributionSet) {
this.installedDistributionSet = installedDistributionSet; this.installedDistributionSet = installedDistributionSet;
} }
/** /**
* @return the assignedDistributionSet * @return the assignedDistributionSet
*/ */
public DistributionSet getAssignedDistributionSet() { public DistributionSet getAssignedDistributionSet() {
return assignedDistributionSet; return assignedDistributionSet;
} }
/** /**
* @param assignedDistributionSet * @param assignedDistributionSet
* the assignedDistributionSet to set * the assignedDistributionSet to set
*/ */
public void setAssignedDistributionSet(DistributionSet assignedDistributionSet) { public void setAssignedDistributionSet(DistributionSet assignedDistributionSet) {
this.assignedDistributionSet = assignedDistributionSet; this.assignedDistributionSet = assignedDistributionSet;
} }
/** /**
* @return the targetIdName * @return the targetIdName
*/ */
@Override @Override
public TargetIdName getTargetIdName() { public TargetIdName getTargetIdName() {
if (this.targetIdName == null) { if (this.targetIdName == null) {
return super.getTargetIdName(); return super.getTargetIdName();
} }
return this.targetIdName; return this.targetIdName;
} }
/** /**
* @param targetIdName * @param targetIdName
* the targetIdName to set * the targetIdName to set
*/ */
public void setTargetIdName(final TargetIdName targetIdName) { public void setTargetIdName(final TargetIdName targetIdName) {
this.targetIdName = targetIdName; this.targetIdName = targetIdName;
} }
/** /**
* @return the pollStatusToolTip * @return the pollStatusToolTip
*/ */
public String getPollStatusToolTip() { public String getPollStatusToolTip() {
return pollStatusToolTip; return pollStatusToolTip;
} }
/** /**
* @param pollStatusToolTip * @param pollStatusToolTip
* the pollStatusToolTip to set * the pollStatusToolTip to set
*/ */
public void setPollStatusToolTip(final String pollStatusToolTip) { public void setPollStatusToolTip(final String pollStatusToolTip) {
this.pollStatusToolTip = pollStatusToolTip; this.pollStatusToolTip = pollStatusToolTip;
} }
/** /**
* @return the status * @return the status
*/ */
public Status getStatus() { public Status getStatus() {
return status; return status;
} }
/** /**
* @param status * @param status
* the status to set * the status to set
*/ */
public void setStatus(final Status status) { public void setStatus(final Status status) {
this.status = status; this.status = status;
} }
} }

View File

@@ -57,259 +57,259 @@ import com.vaadin.ui.themes.ValoTheme;
@ViewScope @ViewScope
public class CreateOrUpdateFilterTable extends Table { public class CreateOrUpdateFilterTable extends Table {
private static final long serialVersionUID = 6887304217281629713L; private static final long serialVersionUID = 6887304217281629713L;
@Autowired @Autowired
private I18N i18n; private I18N i18n;
@Autowired @Autowired
private transient EventBus.SessionEventBus eventBus; private transient EventBus.SessionEventBus eventBus;
@Autowired @Autowired
private FilterManagementUIState filterManagementUIState; private FilterManagementUIState filterManagementUIState;
private LazyQueryContainer container; private LazyQueryContainer container;
private static final int PROPERTY_DEPT = 3; private static final int PROPERTY_DEPT = 3;
private static final String ASSIGN_DIST_SET = "assignedDistributionSet"; private static final String ASSIGN_DIST_SET = "assignedDistributionSet";
private static final String INSTALL_DIST_SET = "installedDistributionSet"; private static final String INSTALL_DIST_SET = "installedDistributionSet";
/** /**
* Initialize the Action History Table. * Initialize the Action History Table.
*/ */
@PostConstruct @PostConstruct
public void init() { public void init() {
setStyleName("sp-table"); setStyleName("sp-table");
setSizeFull(); setSizeFull();
setImmediate(true); setImmediate(true);
setHeight(100.0f, Unit.PERCENTAGE); setHeight(100.0f, Unit.PERCENTAGE);
addStyleName(ValoTheme.TABLE_NO_VERTICAL_LINES); addStyleName(ValoTheme.TABLE_NO_VERTICAL_LINES);
addStyleName(ValoTheme.TABLE_SMALL); addStyleName(ValoTheme.TABLE_SMALL);
setColumnCollapsingAllowed(true); setColumnCollapsingAllowed(true);
addCustomGeneratedColumns(); addCustomGeneratedColumns();
restoreOnLoad(); restoreOnLoad();
populateTableData(); populateTableData();
setId(SPUIComponetIdProvider.CUSTOM_FILTER_TARGET_TABLE_ID); setId(SPUIComponetIdProvider.CUSTOM_FILTER_TARGET_TABLE_ID);
setSelectable(false); setSelectable(false);
eventBus.subscribe(this); eventBus.subscribe(this);
setItemDescriptionGenerator(new TooltipGenerator()); setItemDescriptionGenerator(new TooltipGenerator());
} }
@PreDestroy @PreDestroy
void destroy() { void destroy() {
eventBus.unsubscribe(this); eventBus.unsubscribe(this);
} }
@EventBusListenerMethod(scope = EventScope.SESSION) @EventBusListenerMethod(scope = EventScope.SESSION)
void onEvent(final CustomFilterUIEvent custFUIEvent) { void onEvent(final CustomFilterUIEvent custFUIEvent) {
if (custFUIEvent == CustomFilterUIEvent.TARGET_DETAILS_VIEW if (custFUIEvent == CustomFilterUIEvent.TARGET_DETAILS_VIEW
|| custFUIEvent == CustomFilterUIEvent.CREATE_NEW_FILTER_CLICK) { || custFUIEvent == CustomFilterUIEvent.CREATE_NEW_FILTER_CLICK) {
UI.getCurrent().access(() -> populateTableData()); UI.getCurrent().access(() -> populateTableData());
} else if (custFUIEvent == CustomFilterUIEvent.FILTER_TARGET_BY_QUERY) { } else if (custFUIEvent == CustomFilterUIEvent.FILTER_TARGET_BY_QUERY) {
UI.getCurrent().access(() -> onQuery()); UI.getCurrent().access(() -> onQuery());
} }
} }
private void restoreOnLoad() { private void restoreOnLoad() {
if (filterManagementUIState.isCreateFilterViewDisplayed()) { if (filterManagementUIState.isCreateFilterViewDisplayed()) {
filterManagementUIState.setFilterQueryValue(null); filterManagementUIState.setFilterQueryValue(null);
} else { } else {
filterManagementUIState.getTfQuery() filterManagementUIState.getTfQuery()
.ifPresent(value -> filterManagementUIState.setFilterQueryValue(value.getQuery())); .ifPresent(value -> filterManagementUIState.setFilterQueryValue(value.getQuery()));
} }
} }
/** /**
* Create a empty HierarchicalContainer. * Create a empty HierarchicalContainer.
*/ */
private LazyQueryContainer createContainer() { private LazyQueryContainer createContainer() {
// ADD all the filters to the query config // ADD all the filters to the query config
final Map<String, Object> queryConfig = prepareQueryConfigFilters(); final Map<String, Object> queryConfig = prepareQueryConfigFilters();
// Create TargetBeanQuery factory with the query config. // Create TargetBeanQuery factory with the query config.
final BeanQueryFactory<CustomTargetBeanQuery> targetQF = new BeanQueryFactory<>(CustomTargetBeanQuery.class); final BeanQueryFactory<CustomTargetBeanQuery> targetQF = new BeanQueryFactory<>(CustomTargetBeanQuery.class);
targetQF.setQueryConfiguration(queryConfig); targetQF.setQueryConfiguration(queryConfig);
// create lazy query container with lazy defination and query // create lazy query container with lazy defination and query
final LazyQueryContainer targetTableContainer = new LazyQueryContainer( final LazyQueryContainer targetTableContainer = new LazyQueryContainer(
new LazyQueryDefinition(true, SPUIDefinitions.PAGE_SIZE, SPUILabelDefinitions.VAR_CONT_ID_NAME), new LazyQueryDefinition(true, SPUIDefinitions.PAGE_SIZE, SPUILabelDefinitions.VAR_CONT_ID_NAME),
targetQF); targetQF);
targetTableContainer.getQueryView().getQueryDefinition().setMaxNestedPropertyDepth(PROPERTY_DEPT); targetTableContainer.getQueryView().getQueryDefinition().setMaxNestedPropertyDepth(PROPERTY_DEPT);
return targetTableContainer; return targetTableContainer;
} }
private Map<String, Object> prepareQueryConfigFilters() { private Map<String, Object> prepareQueryConfigFilters() {
final Map<String, Object> queryConfig = new HashMap<>(); final Map<String, Object> queryConfig = new HashMap<>();
if (!Strings.isNullOrEmpty(filterManagementUIState.getFilterQueryValue())) { if (!Strings.isNullOrEmpty(filterManagementUIState.getFilterQueryValue())) {
queryConfig.put(SPUIDefinitions.FILTER_BY_QUERY, filterManagementUIState.getFilterQueryValue()); queryConfig.put(SPUIDefinitions.FILTER_BY_QUERY, filterManagementUIState.getFilterQueryValue());
} }
queryConfig.put(SPUIDefinitions.FILTER_BY_INVALID_QUERY, queryConfig.put(SPUIDefinitions.FILTER_BY_INVALID_QUERY,
filterManagementUIState.getIsFilterByInvalidFilterQuery()); filterManagementUIState.getIsFilterByInvalidFilterQuery());
return queryConfig; return queryConfig;
} }
/** /**
* populate campaign data. * populate campaign data.
* *
*/ */
public void populateTableData() { public void populateTableData() {
container = createContainer(); container = createContainer();
setContainerDataSource(container); setContainerDataSource(container);
addContainerproperties(); addContainerproperties();
setColumnProperties(); setColumnProperties();
setPageLength(30); setPageLength(30);
setCollapsibleColumns(); setCollapsibleColumns();
} }
private void setCollapsibleColumns() { private void setCollapsibleColumns() {
setColumnCollapsed(SPUILabelDefinitions.VAR_LAST_MODIFIED_BY, true); setColumnCollapsed(SPUILabelDefinitions.VAR_LAST_MODIFIED_BY, true);
setColumnCollapsed(SPUILabelDefinitions.VAR_LAST_MODIFIED_DATE, true); setColumnCollapsed(SPUILabelDefinitions.VAR_LAST_MODIFIED_DATE, true);
setColumnCollapsed(ASSIGN_DIST_SET, true); setColumnCollapsed(ASSIGN_DIST_SET, true);
setColumnCollapsed(INSTALL_DIST_SET, true); setColumnCollapsed(INSTALL_DIST_SET, true);
} }
/** /**
* Create a empty HierarchicalContainer. * Create a empty HierarchicalContainer.
*/ */
private void addContainerproperties() { private void addContainerproperties() {
/* Create HierarchicalContainer container */ /* Create HierarchicalContainer container */
container.addContainerProperty(SPUILabelDefinitions.NAME, String.class, null); container.addContainerProperty(SPUILabelDefinitions.NAME, String.class, null);
container.addContainerProperty(SPUILabelDefinitions.VAR_CREATED_BY, String.class, null); container.addContainerProperty(SPUILabelDefinitions.VAR_CREATED_BY, String.class, null);
container.addContainerProperty(SPUILabelDefinitions.VAR_CREATED_DATE, Date.class, null); container.addContainerProperty(SPUILabelDefinitions.VAR_CREATED_DATE, Date.class, null);
container.addContainerProperty(SPUILabelDefinitions.VAR_LAST_MODIFIED_BY, String.class, null, false, true); container.addContainerProperty(SPUILabelDefinitions.VAR_LAST_MODIFIED_BY, String.class, null, false, true);
container.addContainerProperty(SPUILabelDefinitions.VAR_LAST_MODIFIED_DATE, String.class, null, false, true); container.addContainerProperty(SPUILabelDefinitions.VAR_LAST_MODIFIED_DATE, String.class, null, false, true);
container.addContainerProperty(SPUILabelDefinitions.ASSIGNED_DISTRIBUTION_NAME_VER, String.class, ""); container.addContainerProperty(SPUILabelDefinitions.ASSIGNED_DISTRIBUTION_NAME_VER, String.class, "");
container.addContainerProperty(SPUILabelDefinitions.INSTALLED_DISTRIBUTION_NAME_VER, String.class, null); container.addContainerProperty(SPUILabelDefinitions.INSTALLED_DISTRIBUTION_NAME_VER, String.class, null);
container.addContainerProperty(SPUILabelDefinitions.VAR_TARGET_STATUS, TargetUpdateStatus.class, null); container.addContainerProperty(SPUILabelDefinitions.VAR_TARGET_STATUS, TargetUpdateStatus.class, null);
container.addContainerProperty(SPUILabelDefinitions.VAR_DESC, String.class, "", false, true); container.addContainerProperty(SPUILabelDefinitions.VAR_DESC, String.class, "", false, true);
container.addContainerProperty(ASSIGN_DIST_SET, DistributionSet.class, null, false, true); container.addContainerProperty(ASSIGN_DIST_SET, DistributionSet.class, null, false, true);
container.addContainerProperty(INSTALL_DIST_SET, DistributionSet.class, null, false, true); container.addContainerProperty(INSTALL_DIST_SET, DistributionSet.class, null, false, true);
} }
private List<TableColumn> getVisbleColumns() { private List<TableColumn> getVisbleColumns() {
final List<TableColumn> columnList = new ArrayList<>(); final List<TableColumn> columnList = new ArrayList<>();
columnList.add(new TableColumn(SPUILabelDefinitions.NAME, i18n.get("header.name"), 0.15f)); columnList.add(new TableColumn(SPUILabelDefinitions.NAME, i18n.get("header.name"), 0.15f));
columnList.add(new TableColumn(SPUILabelDefinitions.VAR_CREATED_BY, i18n.get("header.createdBy"), 0.1f)); columnList.add(new TableColumn(SPUILabelDefinitions.VAR_CREATED_BY, i18n.get("header.createdBy"), 0.1f));
columnList.add(new TableColumn(SPUILabelDefinitions.VAR_CREATED_DATE, i18n.get("header.createdDate"), 0.1F)); columnList.add(new TableColumn(SPUILabelDefinitions.VAR_CREATED_DATE, i18n.get("header.createdDate"), 0.1F));
columnList.add(new TableColumn(SPUILabelDefinitions.VAR_LAST_MODIFIED_BY, i18n.get("header.modifiedBy"), 0.1F)); columnList.add(new TableColumn(SPUILabelDefinitions.VAR_LAST_MODIFIED_BY, i18n.get("header.modifiedBy"), 0.1F));
columnList.add( columnList.add(
new TableColumn(SPUILabelDefinitions.VAR_LAST_MODIFIED_DATE, i18n.get("header.modifiedDate"), 0.1F)); new TableColumn(SPUILabelDefinitions.VAR_LAST_MODIFIED_DATE, i18n.get("header.modifiedDate"), 0.1F));
columnList.add(new TableColumn(SPUILabelDefinitions.ASSIGNED_DISTRIBUTION_NAME_VER, columnList.add(new TableColumn(SPUILabelDefinitions.ASSIGNED_DISTRIBUTION_NAME_VER,
i18n.get("header.assigned.ds"), 0.125F)); i18n.get("header.assigned.ds"), 0.125F));
columnList.add(new TableColumn(SPUILabelDefinitions.INSTALLED_DISTRIBUTION_NAME_VER, columnList.add(new TableColumn(SPUILabelDefinitions.INSTALLED_DISTRIBUTION_NAME_VER,
i18n.get("header.installed.ds"), 0.125F)); i18n.get("header.installed.ds"), 0.125F));
columnList.add(new TableColumn(SPUILabelDefinitions.VAR_DESC, i18n.get("header.description"), 0.1F)); columnList.add(new TableColumn(SPUILabelDefinitions.VAR_DESC, i18n.get("header.description"), 0.1F));
columnList.add(new TableColumn(SPUILabelDefinitions.STATUS_ICON, i18n.get("header.status"), 0.1F)); columnList.add(new TableColumn(SPUILabelDefinitions.STATUS_ICON, i18n.get("header.status"), 0.1F));
return columnList; return columnList;
} }
private Component getStatusIcon(final Object itemId) { private Component getStatusIcon(final Object itemId) {
final Item row1 = getItem(itemId); final Item row1 = getItem(itemId);
final TargetUpdateStatus targetStatus = (TargetUpdateStatus) row1 final TargetUpdateStatus targetStatus = (TargetUpdateStatus) row1
.getItemProperty(SPUILabelDefinitions.VAR_TARGET_STATUS).getValue(); .getItemProperty(SPUILabelDefinitions.VAR_TARGET_STATUS).getValue();
final Label label = SPUIComponentProvider.getLabel("", SPUILabelDefinitions.SP_LABEL_SIMPLE); final Label label = SPUIComponentProvider.getLabel("", SPUILabelDefinitions.SP_LABEL_SIMPLE);
label.setContentMode(ContentMode.HTML); label.setContentMode(ContentMode.HTML);
if (targetStatus == TargetUpdateStatus.PENDING) { if (targetStatus == TargetUpdateStatus.PENDING) {
label.setDescription("Pending"); label.setDescription("Pending");
label.setStyleName("statusIconYellow"); label.setStyleName("statusIconYellow");
label.setValue(FontAwesome.ADJUST.getHtml()); label.setValue(FontAwesome.ADJUST.getHtml());
} else if (targetStatus == TargetUpdateStatus.REGISTERED) { } else if (targetStatus == TargetUpdateStatus.REGISTERED) {
label.setDescription("Registered"); label.setDescription("Registered");
label.setStyleName("statusIconLightBlue"); label.setStyleName("statusIconLightBlue");
label.setValue(FontAwesome.DOT_CIRCLE_O.getHtml()); label.setValue(FontAwesome.DOT_CIRCLE_O.getHtml());
} else if (targetStatus == TargetUpdateStatus.ERROR) { } else if (targetStatus == TargetUpdateStatus.ERROR) {
label.setDescription(i18n.get("label.error")); label.setDescription(i18n.get("label.error"));
label.setStyleName("statusIconRed"); label.setStyleName("statusIconRed");
label.setValue(FontAwesome.EXCLAMATION_CIRCLE.getHtml()); label.setValue(FontAwesome.EXCLAMATION_CIRCLE.getHtml());
} else if (targetStatus == TargetUpdateStatus.IN_SYNC) { } else if (targetStatus == TargetUpdateStatus.IN_SYNC) {
label.setStyleName("statusIconGreen"); label.setStyleName("statusIconGreen");
label.setDescription("In-Synch"); label.setDescription("In-Synch");
label.setValue(FontAwesome.CHECK_CIRCLE.getHtml()); label.setValue(FontAwesome.CHECK_CIRCLE.getHtml());
} else if (targetStatus == TargetUpdateStatus.UNKNOWN) { } else if (targetStatus == TargetUpdateStatus.UNKNOWN) {
label.setStyleName("statusIconBlue"); label.setStyleName("statusIconBlue");
label.setDescription(i18n.get("label.unknown")); label.setDescription(i18n.get("label.unknown"));
label.setValue(FontAwesome.QUESTION_CIRCLE.getHtml()); label.setValue(FontAwesome.QUESTION_CIRCLE.getHtml());
} }
return label; return label;
} }
private void setColumnProperties() { private void setColumnProperties() {
final List<TableColumn> columnList = getVisbleColumns(); final List<TableColumn> columnList = getVisbleColumns();
final List<Object> swColumnIds = new ArrayList<>(); final List<Object> swColumnIds = new ArrayList<>();
for (final TableColumn column : columnList) { for (final TableColumn column : columnList) {
setColumnHeader(column.getColumnPropertyId(), column.getColumnHeader()); setColumnHeader(column.getColumnPropertyId(), column.getColumnHeader());
setColumnExpandRatio(column.getColumnPropertyId(), column.getExpandRatio()); setColumnExpandRatio(column.getColumnPropertyId(), column.getExpandRatio());
swColumnIds.add(column.getColumnPropertyId()); swColumnIds.add(column.getColumnPropertyId());
} }
setVisibleColumns(swColumnIds.toArray()); setVisibleColumns(swColumnIds.toArray());
} }
protected void addCustomGeneratedColumns() { protected void addCustomGeneratedColumns() {
addGeneratedColumn(SPUILabelDefinitions.STATUS_ICON, (source, itemId, columnId) -> getStatusIcon(itemId)); addGeneratedColumn(SPUILabelDefinitions.STATUS_ICON, (source, itemId, columnId) -> getStatusIcon(itemId));
} }
private void onQuery() { private void onQuery() {
populateTableData(); populateTableData();
eventBus.publish(this, CustomFilterUIEvent.UPDATE_TARGET_FILTER_SEARCH_ICON); eventBus.publish(this, CustomFilterUIEvent.UPDATE_TARGET_FILTER_SEARCH_ICON);
} }
public class TooltipGenerator implements ItemDescriptionGenerator { public class TooltipGenerator implements ItemDescriptionGenerator {
private static final long serialVersionUID = 688730421728162456L; private static final long serialVersionUID = 688730421728162456L;
@Override @Override
public String generateDescription(Component source, Object itemId, Object propertyId) { public String generateDescription(Component source, Object itemId, Object propertyId) {
final DistributionSet distributionSet; final DistributionSet distributionSet;
final Item item = getItem(itemId); final Item item = getItem(itemId);
if (propertyId != null) { if (propertyId != null) {
if (propertyId.equals(SPUILabelDefinitions.ASSIGNED_DISTRIBUTION_NAME_VER)) { if (propertyId.equals(SPUILabelDefinitions.ASSIGNED_DISTRIBUTION_NAME_VER)) {
distributionSet = (DistributionSet) item.getItemProperty(ASSIGN_DIST_SET).getValue(); distributionSet = (DistributionSet) item.getItemProperty(ASSIGN_DIST_SET).getValue();
return getDSDetails(distributionSet); return getDSDetails(distributionSet);
} else if (propertyId.equals(SPUILabelDefinitions.INSTALLED_DISTRIBUTION_NAME_VER)) { } else if (propertyId.equals(SPUILabelDefinitions.INSTALLED_DISTRIBUTION_NAME_VER)) {
distributionSet = (DistributionSet) item.getItemProperty(INSTALL_DIST_SET).getValue(); distributionSet = (DistributionSet) item.getItemProperty(INSTALL_DIST_SET).getValue();
return getDSDetails(distributionSet); return getDSDetails(distributionSet);
} }
} }
return null; return null;
} }
private String getDSDetails(final DistributionSet distributionSet) { private String getDSDetails(final DistributionSet distributionSet) {
StringBuilder swModuleNames = new StringBuilder(); StringBuilder swModuleNames = new StringBuilder();
StringBuilder swModuleVendors = new StringBuilder(); StringBuilder swModuleVendors = new StringBuilder();
final Set<SoftwareModule> swModules = (Set<SoftwareModule>)distributionSet.getModules(); final Set<SoftwareModule> swModules = (Set<SoftwareModule>) distributionSet.getModules();
swModules.forEach(swModule -> { swModules.forEach(swModule -> {
swModuleNames.append(swModule.getName()); swModuleNames.append(swModule.getName());
swModuleNames.append(" , "); swModuleNames.append(" , ");
swModuleVendors.append(swModule.getVendor()); swModuleVendors.append(swModule.getVendor());
swModuleVendors.append(" , "); swModuleVendors.append(" , ");
}); });
StringBuilder stringBuilder = new StringBuilder(); StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append("<ul>"); stringBuilder.append("<ul>");
stringBuilder.append("<li>"); stringBuilder.append("<li>");
stringBuilder.append(" DistributionSet Description : ").append((String) distributionSet.getDescription()); stringBuilder.append(" DistributionSet Description : ").append((String) distributionSet.getDescription());
stringBuilder.append("</li>"); stringBuilder.append("</li>");
stringBuilder.append("<li>"); stringBuilder.append("<li>");
stringBuilder.append(" DistributionSet Type : ").append((distributionSet.getType()).getName()); stringBuilder.append(" DistributionSet Type : ").append((distributionSet.getType()).getName());
stringBuilder.append("</li>"); stringBuilder.append("</li>");
stringBuilder.append("<li>"); stringBuilder.append("<li>");
stringBuilder.append(" Required Migration step : ") stringBuilder.append(" Required Migration step : ")
.append(distributionSet.isRequiredMigrationStep() ? "Yes" : "No"); .append(distributionSet.isRequiredMigrationStep() ? "Yes" : "No");
stringBuilder.append("</li>"); stringBuilder.append("</li>");
stringBuilder.append("<li>"); stringBuilder.append("<li>");
stringBuilder.append("SoftWare Modules : ").append(swModuleNames.toString()); stringBuilder.append("SoftWare Modules : ").append(swModuleNames.toString());
stringBuilder.append("</li>"); stringBuilder.append("</li>");
stringBuilder.append("<li>"); stringBuilder.append("<li>");
stringBuilder.append("Vendor(s) : ").append(swModuleVendors.toString()); stringBuilder.append("Vendor(s) : ").append(swModuleVendors.toString());
stringBuilder.append("</li>"); stringBuilder.append("</li>");
stringBuilder.append("</ul>"); stringBuilder.append("</ul>");
return stringBuilder.toString(); return stringBuilder.toString();
} }
} }
} }

View File

@@ -42,188 +42,188 @@ import com.google.common.base.Strings;
* *
*/ */
public class TargetBeanQuery extends AbstractBeanQuery<ProxyTarget> { public class TargetBeanQuery extends AbstractBeanQuery<ProxyTarget> {
private static final long serialVersionUID = -5645680058303167558L; private static final long serialVersionUID = -5645680058303167558L;
private Sort sort = new Sort(SPUIDefinitions.TARGET_TABLE_CREATE_AT_SORT_ORDER, "createdAt"); private Sort sort = new Sort(SPUIDefinitions.TARGET_TABLE_CREATE_AT_SORT_ORDER, "createdAt");
private Collection<TargetUpdateStatus> status = null; private Collection<TargetUpdateStatus> status = null;
private String[] targetTags = null; private String[] targetTags = null;
private Long distributionId = null; private Long distributionId = null;
private String searchText = null; private String searchText = null;
private Boolean noTagClicked = Boolean.FALSE; private Boolean noTagClicked = Boolean.FALSE;
private transient TargetManagement targetManagement; private transient TargetManagement targetManagement;
private transient I18N i18N; private transient I18N i18N;
private Long pinnedDistId = null; private Long pinnedDistId = null;
private TargetFilterQuery targetFilterQuery; private TargetFilterQuery targetFilterQuery;
private ManagementUIState managementUIState; private ManagementUIState managementUIState;
/** /**
* Parametric Constructor. * Parametric Constructor.
* *
* @param definition * @param definition
* as Def * as Def
* @param queryConfig * @param queryConfig
* as Config * as Config
* @param sortIds * @param sortIds
* as sort * as sort
* @param sortStates * @param sortStates
* as Sort status * as Sort status
*/ */
public TargetBeanQuery(final QueryDefinition definition, final Map<String, Object> queryConfig, public TargetBeanQuery(final QueryDefinition definition, final Map<String, Object> queryConfig,
final Object[] sortIds, final boolean[] sortStates) { final Object[] sortIds, final boolean[] sortStates) {
super(definition, queryConfig, sortIds, sortStates); super(definition, queryConfig, sortIds, sortStates);
if (HawkbitCommonUtil.mapCheckStrKey(queryConfig)) { if (HawkbitCommonUtil.mapCheckStrKey(queryConfig)) {
status = (Collection<TargetUpdateStatus>) queryConfig.get(SPUIDefinitions.FILTER_BY_STATUS); status = (Collection<TargetUpdateStatus>) queryConfig.get(SPUIDefinitions.FILTER_BY_STATUS);
targetTags = (String[]) queryConfig.get(SPUIDefinitions.FILTER_BY_TAG); targetTags = (String[]) queryConfig.get(SPUIDefinitions.FILTER_BY_TAG);
noTagClicked = (Boolean) queryConfig.get(SPUIDefinitions.FILTER_BY_NO_TAG); noTagClicked = (Boolean) queryConfig.get(SPUIDefinitions.FILTER_BY_NO_TAG);
distributionId = (Long) queryConfig.get(SPUIDefinitions.FILTER_BY_DISTRIBUTION); distributionId = (Long) queryConfig.get(SPUIDefinitions.FILTER_BY_DISTRIBUTION);
searchText = (String) queryConfig.get(SPUIDefinitions.FILTER_BY_TEXT); searchText = (String) queryConfig.get(SPUIDefinitions.FILTER_BY_TEXT);
targetFilterQuery = (TargetFilterQuery) queryConfig.get(SPUIDefinitions.FILTER_BY_TARGET_FILTER_QUERY); targetFilterQuery = (TargetFilterQuery) queryConfig.get(SPUIDefinitions.FILTER_BY_TARGET_FILTER_QUERY);
if (!Strings.isNullOrEmpty(searchText)) { if (!Strings.isNullOrEmpty(searchText)) {
searchText = String.format("%%%s%%", searchText); searchText = String.format("%%%s%%", searchText);
} }
pinnedDistId = (Long) queryConfig.get(SPUIDefinitions.ORDER_BY_DISTRIBUTION); pinnedDistId = (Long) queryConfig.get(SPUIDefinitions.ORDER_BY_DISTRIBUTION);
} }
if (HawkbitCommonUtil.checkBolArray(sortStates)) { if (HawkbitCommonUtil.checkBolArray(sortStates)) {
// Initalize Sor // Initalize Sor
sort = new Sort(sortStates[0] ? Direction.ASC : Direction.DESC, (String) sortIds[0]); sort = new Sort(sortStates[0] ? Direction.ASC : Direction.DESC, (String) sortIds[0]);
// Add sort. // Add sort.
for (int targetId = 1; targetId < sortIds.length; targetId++) { for (int targetId = 1; targetId < sortIds.length; targetId++) {
sort.and(new Sort(sortStates[targetId] ? Direction.ASC : Direction.DESC, (String) sortIds[targetId])); sort.and(new Sort(sortStates[targetId] ? Direction.ASC : Direction.DESC, (String) sortIds[targetId]));
} }
} }
} }
@Override @Override
protected ProxyTarget constructBean() { protected ProxyTarget constructBean() {
return new ProxyTarget(); return new ProxyTarget();
} }
@Override @Override
protected List<ProxyTarget> loadBeans(final int startIndex, final int count) { protected List<ProxyTarget> loadBeans(final int startIndex, final int count) {
Slice<Target> targetBeans; Slice<Target> targetBeans;
final List<ProxyTarget> proxyTargetBeans = new ArrayList<>(); final List<ProxyTarget> proxyTargetBeans = new ArrayList<>();
if (pinnedDistId != null) { if (pinnedDistId != null) {
targetBeans = getTargetManagement().findTargetsAllOrderByLinkedDistributionSet( targetBeans = getTargetManagement().findTargetsAllOrderByLinkedDistributionSet(
new OffsetBasedPageRequest(startIndex, SPUIDefinitions.PAGE_SIZE, sort), pinnedDistId, new OffsetBasedPageRequest(startIndex, SPUIDefinitions.PAGE_SIZE, sort), pinnedDistId,
distributionId, status, searchText, noTagClicked, targetTags); distributionId, status, searchText, noTagClicked, targetTags);
} else if (null != targetFilterQuery) { } else if (null != targetFilterQuery) {
targetBeans = getTargetManagement().findTargetsAll(targetFilterQuery, targetBeans = getTargetManagement().findTargetsAll(targetFilterQuery,
new PageRequest(startIndex / SPUIDefinitions.PAGE_SIZE, SPUIDefinitions.PAGE_SIZE, sort)); new PageRequest(startIndex / SPUIDefinitions.PAGE_SIZE, SPUIDefinitions.PAGE_SIZE, sort));
} else if (!anyFilterSelected()) { } else if (!anyFilterSelected()) {
targetBeans = getTargetManagement().findTargetsAll( targetBeans = getTargetManagement().findTargetsAll(
new PageRequest(startIndex / SPUIDefinitions.PAGE_SIZE, SPUIDefinitions.PAGE_SIZE, sort)); new PageRequest(startIndex / SPUIDefinitions.PAGE_SIZE, SPUIDefinitions.PAGE_SIZE, sort));
} else { } else {
targetBeans = getTargetManagement().findTargetByFilters( targetBeans = getTargetManagement().findTargetByFilters(
new PageRequest(startIndex / SPUIDefinitions.PAGE_SIZE, SPUIDefinitions.PAGE_SIZE, sort), status, new PageRequest(startIndex / SPUIDefinitions.PAGE_SIZE, SPUIDefinitions.PAGE_SIZE, sort), status,
searchText, distributionId, noTagClicked, targetTags); searchText, distributionId, noTagClicked, targetTags);
} }
for (final Target targ : targetBeans) { for (final Target targ : targetBeans) {
final ProxyTarget prxyTarget = new ProxyTarget(); final ProxyTarget prxyTarget = new ProxyTarget();
prxyTarget.setTargetIdName(targ.getTargetIdName()); prxyTarget.setTargetIdName(targ.getTargetIdName());
prxyTarget.setName(targ.getName()); prxyTarget.setName(targ.getName());
prxyTarget.setDescription(targ.getDescription()); prxyTarget.setDescription(targ.getDescription());
prxyTarget.setControllerId(targ.getControllerId()); prxyTarget.setControllerId(targ.getControllerId());
prxyTarget.setInstallationDate(targ.getTargetInfo().getInstallationDate()); prxyTarget.setInstallationDate(targ.getTargetInfo().getInstallationDate());
prxyTarget.setAddress(targ.getTargetInfo().getAddress()); prxyTarget.setAddress(targ.getTargetInfo().getAddress());
prxyTarget.setLastTargetQuery(targ.getTargetInfo().getLastTargetQuery()); prxyTarget.setLastTargetQuery(targ.getTargetInfo().getLastTargetQuery());
prxyTarget.setUpdateStatus(targ.getTargetInfo().getUpdateStatus()); prxyTarget.setUpdateStatus(targ.getTargetInfo().getUpdateStatus());
prxyTarget.setLastModifiedDate(SPDateTimeUtil.getFormattedDate(targ.getLastModifiedAt())); prxyTarget.setLastModifiedDate(SPDateTimeUtil.getFormattedDate(targ.getLastModifiedAt()));
prxyTarget.setCreatedDate(SPDateTimeUtil.getFormattedDate(targ.getCreatedAt())); prxyTarget.setCreatedDate(SPDateTimeUtil.getFormattedDate(targ.getCreatedAt()));
prxyTarget.setCreatedAt(targ.getCreatedAt()); prxyTarget.setCreatedAt(targ.getCreatedAt());
prxyTarget.setCreatedByUser(UserDetailsFormatter.loadAndFormatCreatedBy(targ)); prxyTarget.setCreatedByUser(UserDetailsFormatter.loadAndFormatCreatedBy(targ));
prxyTarget.setModifiedByUser(UserDetailsFormatter.loadAndFormatLastModifiedBy(targ)); prxyTarget.setModifiedByUser(UserDetailsFormatter.loadAndFormatLastModifiedBy(targ));
if (pinnedDistId == null) { if (pinnedDistId == null) {
prxyTarget.setInstalledDistributionSet(null); prxyTarget.setInstalledDistributionSet(null);
prxyTarget.setAssignedDistributionSet(null); prxyTarget.setAssignedDistributionSet(null);
} else { } else {
final Target target = getTargetManagement().findTargetByControllerIDWithDetails(targ.getControllerId()); final Target target = getTargetManagement().findTargetByControllerIDWithDetails(targ.getControllerId());
final DistributionSet installedDistributionSet = target.getTargetInfo().getInstalledDistributionSet(); final DistributionSet installedDistributionSet = target.getTargetInfo().getInstalledDistributionSet();
prxyTarget.setInstalledDistNameVersion(HawkbitCommonUtil.getFormattedNameVersion( prxyTarget.setInstalledDistNameVersion(HawkbitCommonUtil.getFormattedNameVersion(
installedDistributionSet.getName(), installedDistributionSet.getVersion())); installedDistributionSet.getName(), installedDistributionSet.getVersion()));
prxyTarget.setInstalledDistributionSet(installedDistributionSet); prxyTarget.setInstalledDistributionSet(installedDistributionSet);
final DistributionSet assignedDistributionSet = target.getAssignedDistributionSet(); final DistributionSet assignedDistributionSet = target.getAssignedDistributionSet();
prxyTarget.setAssignedDistNameVersion(HawkbitCommonUtil.getFormattedNameVersion( prxyTarget.setAssignedDistNameVersion(HawkbitCommonUtil.getFormattedNameVersion(
assignedDistributionSet.getName(), assignedDistributionSet.getVersion())); assignedDistributionSet.getName(), assignedDistributionSet.getVersion()));
prxyTarget.setAssignedDistributionSet(assignedDistributionSet); prxyTarget.setAssignedDistributionSet(assignedDistributionSet);
} }
prxyTarget.setUpdateStatus(targ.getTargetInfo().getUpdateStatus()); prxyTarget.setUpdateStatus(targ.getTargetInfo().getUpdateStatus());
prxyTarget.setLastTargetQuery(targ.getTargetInfo().getLastTargetQuery()); prxyTarget.setLastTargetQuery(targ.getTargetInfo().getLastTargetQuery());
prxyTarget.setTargetInfo(targ.getTargetInfo()); prxyTarget.setTargetInfo(targ.getTargetInfo());
prxyTarget.setPollStatusToolTip( prxyTarget.setPollStatusToolTip(
HawkbitCommonUtil.getPollStatusToolTip(prxyTarget.getTargetInfo().getPollStatus(), getI18N())); HawkbitCommonUtil.getPollStatusToolTip(prxyTarget.getTargetInfo().getPollStatus(), getI18N()));
proxyTargetBeans.add(prxyTarget); proxyTargetBeans.add(prxyTarget);
} }
return proxyTargetBeans; return proxyTargetBeans;
} }
private Boolean isTagSelected() { private Boolean isTagSelected() {
if (targetTags == null && !noTagClicked) { if (targetTags == null && !noTagClicked) {
return false; return false;
} }
return true; return true;
} }
@Override @Override
protected void saveBeans(final List<ProxyTarget> addedTargets, final List<ProxyTarget> modifiedTargets, protected void saveBeans(final List<ProxyTarget> addedTargets, final List<ProxyTarget> modifiedTargets,
final List<ProxyTarget> removedTargets) { final List<ProxyTarget> removedTargets) {
// CRUD operations on Target will be done through repository methods // CRUD operations on Target will be done through repository methods
} }
private Boolean anyFilterSelected() { private Boolean anyFilterSelected() {
if (status == null && distributionId == null && Strings.isNullOrEmpty(searchText) && !isTagSelected()) { if (status == null && distributionId == null && Strings.isNullOrEmpty(searchText) && !isTagSelected()) {
return false; return false;
} }
return true; return true;
} }
@Override @Override
public int size() { public int size() {
final long totSize = getTargetManagement().countTargetsAll(); final long totSize = getTargetManagement().countTargetsAll();
long size; long size;
if (null != targetFilterQuery) { if (null != targetFilterQuery) {
size = getTargetManagement().countTargetByTargetFilterQuery(targetFilterQuery); size = getTargetManagement().countTargetByTargetFilterQuery(targetFilterQuery);
} else if (!anyFilterSelected()) { } else if (!anyFilterSelected()) {
size = totSize; size = totSize;
} else { } else {
size = getTargetManagement().countTargetByFilters(status, searchText, distributionId, noTagClicked, size = getTargetManagement().countTargetByFilters(status, searchText, distributionId, noTagClicked,
targetTags); targetTags);
} }
final ManagementUIState tmpManagementUIState = getManagementUIState(); final ManagementUIState tmpManagementUIState = getManagementUIState();
tmpManagementUIState.setTargetsCountAll(totSize); tmpManagementUIState.setTargetsCountAll(totSize);
if (size > SPUIDefinitions.MAX_TARGET_TABLE_ENTRIES) { if (size > SPUIDefinitions.MAX_TARGET_TABLE_ENTRIES) {
tmpManagementUIState.setTargetsTruncated(size - SPUIDefinitions.MAX_TARGET_TABLE_ENTRIES); tmpManagementUIState.setTargetsTruncated(size - SPUIDefinitions.MAX_TARGET_TABLE_ENTRIES);
size = SPUIDefinitions.MAX_TARGET_TABLE_ENTRIES; size = SPUIDefinitions.MAX_TARGET_TABLE_ENTRIES;
} else { } else {
tmpManagementUIState.setTargetsTruncated(null); tmpManagementUIState.setTargetsTruncated(null);
} }
return (int) size; return (int) size;
} }
private TargetManagement getTargetManagement() { private TargetManagement getTargetManagement() {
if (targetManagement == null) { if (targetManagement == null) {
targetManagement = SpringContextHelper.getBean(TargetManagement.class); targetManagement = SpringContextHelper.getBean(TargetManagement.class);
} }
return targetManagement; return targetManagement;
} }
private ManagementUIState getManagementUIState() { private ManagementUIState getManagementUIState() {
if (managementUIState == null) { if (managementUIState == null) {
managementUIState = SpringContextHelper.getBean(ManagementUIState.class); managementUIState = SpringContextHelper.getBean(ManagementUIState.class);
} }
return managementUIState; return managementUIState;
} }
private I18N getI18N() { private I18N getI18N() {
if (i18N == null) { if (i18N == null) {
i18N = SpringContextHelper.getBean(I18N.class); i18N = SpringContextHelper.getBean(I18N.class);
} }
return i18N; return i18N;
} }
} }

View File

@@ -43,7 +43,6 @@ import org.eclipse.hawkbit.ui.filter.target.CustomTargetFilter;
import org.eclipse.hawkbit.ui.filter.target.TargetSearchTextFilter; import org.eclipse.hawkbit.ui.filter.target.TargetSearchTextFilter;
import org.eclipse.hawkbit.ui.filter.target.TargetStatusFilter; import org.eclipse.hawkbit.ui.filter.target.TargetStatusFilter;
import org.eclipse.hawkbit.ui.filter.target.TargetTagFilter; import org.eclipse.hawkbit.ui.filter.target.TargetTagFilter;
import org.eclipse.hawkbit.ui.filtermanagement.CreateOrUpdateFilterTable.TooltipGenerator;
import org.eclipse.hawkbit.ui.management.event.DragEvent; import org.eclipse.hawkbit.ui.management.event.DragEvent;
import org.eclipse.hawkbit.ui.management.event.ManagementUIEvent; import org.eclipse.hawkbit.ui.management.event.ManagementUIEvent;
import org.eclipse.hawkbit.ui.management.event.ManagementViewAcceptCriteria; import org.eclipse.hawkbit.ui.management.event.ManagementViewAcceptCriteria;
@@ -96,7 +95,6 @@ import com.vaadin.ui.Label;
import com.vaadin.ui.Table; import com.vaadin.ui.Table;
import com.vaadin.ui.UI; import com.vaadin.ui.UI;
import com.vaadin.ui.themes.ValoTheme; import com.vaadin.ui.themes.ValoTheme;
import com.vaadin.ui.AbstractSelect.ItemDescriptionGenerator;
/** /**
* Concrete implementation of Target table. * Concrete implementation of Target table.
@@ -114,8 +112,8 @@ public class TargetTable extends AbstractTable<Target, TargetIdName> implements
private static final int PROPERTY_DEPT = 3; private static final int PROPERTY_DEPT = 3;
private static final String ACTION_NOT_ALLOWED_MSG = "message.action.not.allowed"; private static final String ACTION_NOT_ALLOWED_MSG = "message.action.not.allowed";
private static final String ASSIGN_DIST_SET = "assignedDistributionSet"; private static final String ASSIGN_DIST_SET = "assignedDistributionSet";
private static final String INSTALL_DIST_SET = "installedDistributionSet"; private static final String INSTALL_DIST_SET = "installedDistributionSet";
@Autowired @Autowired
private transient TargetManagement targetManagement; private transient TargetManagement targetManagement;
@@ -1083,60 +1081,59 @@ public class TargetTable extends AbstractTable<Target, TargetIdName> implements
return !managementUIState.getTargetTableFilters().getClickedTargetTags().isEmpty(); return !managementUIState.getTargetTableFilters().getClickedTargetTags().isEmpty();
} }
/** /**
* tooltip for assignedDS and installedDS * tooltip for assignedDS and installedDS
*/ */
protected class TooltipGenerator implements ItemDescriptionGenerator { protected class TooltipGenerator implements ItemDescriptionGenerator {
private static final long serialVersionUID = 688730421728162456L; private static final long serialVersionUID = 688730421728162456L;
@Override @Override
public String generateDescription(Component source, Object itemId, Object propertyId) { public String generateDescription(Component source, Object itemId, Object propertyId) {
final DistributionSet distributionSet; final DistributionSet distributionSet;
final Item item = getItem(itemId); final Item item = getItem(itemId);
if (propertyId != null) { if (propertyId != null) {
if (propertyId.equals(SPUILabelDefinitions.ASSIGNED_DISTRIBUTION_NAME_VER)) { if (propertyId.equals(SPUILabelDefinitions.ASSIGNED_DISTRIBUTION_NAME_VER)) {
distributionSet = (DistributionSet) item.getItemProperty(ASSIGN_DIST_SET).getValue(); distributionSet = (DistributionSet) item.getItemProperty(ASSIGN_DIST_SET).getValue();
return getDSDetails(distributionSet); return getDSDetails(distributionSet);
} else if (propertyId.equals(SPUILabelDefinitions.INSTALLED_DISTRIBUTION_NAME_VER)) { } else if (propertyId.equals(SPUILabelDefinitions.INSTALLED_DISTRIBUTION_NAME_VER)) {
distributionSet = (DistributionSet) item.getItemProperty(INSTALL_DIST_SET).getValue(); distributionSet = (DistributionSet) item.getItemProperty(INSTALL_DIST_SET).getValue();
return getDSDetails(distributionSet); return getDSDetails(distributionSet);
} }
} }
return null; return null;
} }
private String getDSDetails(final DistributionSet distributionSet) { private String getDSDetails(final DistributionSet distributionSet) {
StringBuilder swModuleNames = new StringBuilder(); StringBuilder swModuleNames = new StringBuilder();
StringBuilder swModuleVendors = new StringBuilder(); StringBuilder swModuleVendors = new StringBuilder();
final Set<SoftwareModule> swModules = (Set<SoftwareModule>)distributionSet.getModules(); final Set<SoftwareModule> swModules = (Set<SoftwareModule>) distributionSet.getModules();
swModules.forEach(swModule -> { swModules.forEach(swModule -> {
swModuleNames.append(swModule.getName()); swModuleNames.append(swModule.getName());
swModuleNames.append(" , "); swModuleNames.append(" , ");
swModuleVendors.append(swModule.getVendor()); swModuleVendors.append(swModule.getVendor());
swModuleVendors.append(" , "); swModuleVendors.append(" , ");
}); });
StringBuilder stringBuilder = new StringBuilder(); StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append("<ul>"); stringBuilder.append("<ul>");
stringBuilder.append("<li>"); stringBuilder.append("<li>");
stringBuilder.append(" DistributionSet Description : ").append((String) distributionSet.getDescription()); stringBuilder.append(" DistributionSet Description : ").append((String) distributionSet.getDescription());
stringBuilder.append("</li>"); stringBuilder.append("</li>");
stringBuilder.append("<li>"); stringBuilder.append("<li>");
stringBuilder.append(" DistributionSet Type : ").append((distributionSet.getType()).getName()); stringBuilder.append(" DistributionSet Type : ").append((distributionSet.getType()).getName());
stringBuilder.append("</li>"); stringBuilder.append("</li>");
stringBuilder.append("<li>"); stringBuilder.append("<li>");
stringBuilder.append(" Required Migration step : ") stringBuilder.append(" Required Migration step : ")
.append(distributionSet.isRequiredMigrationStep() ? "Yes" : "No"); .append(distributionSet.isRequiredMigrationStep() ? "Yes" : "No");
stringBuilder.append("</li>"); stringBuilder.append("</li>");
stringBuilder.append("<li>"); stringBuilder.append("<li>");
stringBuilder.append("SoftWare Modules : ").append(swModuleNames.toString()); stringBuilder.append("SoftWare Modules : ").append(swModuleNames.toString());
stringBuilder.append("</li>"); stringBuilder.append("</li>");
stringBuilder.append("<li>"); stringBuilder.append("<li>");
stringBuilder.append("Vendor(s) : ").append(swModuleVendors.toString()); stringBuilder.append("Vendor(s) : ").append(swModuleVendors.toString());
stringBuilder.append("</li>"); stringBuilder.append("</li>");
stringBuilder.append("</ul>"); stringBuilder.append("</ul>");
return stringBuilder.toString(); return stringBuilder.toString();
} }
} }
} }

View File

@@ -22,197 +22,196 @@ import com.vaadin.server.FontAwesome;
*/ */
public class ProxyRollout extends Rollout { public class ProxyRollout extends Rollout {
private static final long serialVersionUID = 4539849939617681918L; private static final long serialVersionUID = 4539849939617681918L;
private String distributionSetNameVersion; private String distributionSetNameVersion;
private String createdDate; private String createdDate;
private String modifiedDate; private String modifiedDate;
private Long numberOfGroups; private Long numberOfGroups;
private Boolean isActionRecieved = Boolean.FALSE; private Boolean isActionRecieved = Boolean.FALSE;
private Boolean isRequiredMigrationStep = Boolean.FALSE; private Boolean isRequiredMigrationStep = Boolean.FALSE;
private String totalTargetsCount; private String totalTargetsCount;
private RolloutRendererData rolloutRendererData; private RolloutRendererData rolloutRendererData;
private String discription; private String discription;
private String type; private String type;
private Set<SoftwareModule> swModules; private Set<SoftwareModule> swModules;
/**
* @return the isRequiredMigrationStep
*/
public Boolean getIsRequiredMigrationStep() {
return isRequiredMigrationStep;
}
/** /**
* @return the isRequiredMigrationStep * @param isRequiredMigrationStep
*/ * the isRequiredMigrationStep to set
*/
public Boolean getIsRequiredMigrationStep() { public void setIsRequiredMigrationStep(Boolean isRequiredMigrationStep) {
return isRequiredMigrationStep; this.isRequiredMigrationStep = isRequiredMigrationStep;
} }
/** /**
* @param isRequiredMigrationStep * @return the discription
* the isRequiredMigrationStep to set */
*/
public void setIsRequiredMigrationStep(Boolean isRequiredMigrationStep) { public String getDiscription() {
this.isRequiredMigrationStep = isRequiredMigrationStep; return discription;
} }
/**
* @param discription
* the discription to set
*/
/** public void setDiscription(String discription) {
* @return the discription this.discription = discription;
*/ }
public String getDiscription() { /**
return discription; * @return the type
} */
public String getType() {
return type;
}
/** /**
* @param discription * @param type
* the discription to set * the type to set
*/ */
public void setDiscription(String discription) { public void setType(String type) {
this.discription = discription; this.type = type;
} }
/** /**
* @return the type *
*/ * @return the Set of Software modules
public String getType() { */
return type; public Set<SoftwareModule> getSwModules() {
} return swModules;
}
/** /**
* @param type * @param swModules
* the type to set * Set<SoftwareModule> to set
*/ */
public void setSwModules(Set<SoftwareModule> swModules) {
this.swModules = swModules;
}
public void setType(String type) { public RolloutRendererData getRolloutRendererData() {
this.type = type; return rolloutRendererData;
} }
/**
*
* @return the Set of Software modules
*/
public Set<SoftwareModule> getSwModules() {
return swModules;
}
/**
* @param swModules
* Set<SoftwareModule> to set
*/
public void setSwModules(Set<SoftwareModule> swModules) {
this.swModules = swModules;
}
public RolloutRendererData getRolloutRendererData() { public void setRolloutRendererData(RolloutRendererData rendererData) {
return rolloutRendererData; this.rolloutRendererData = rendererData;
} }
public void setRolloutRendererData(RolloutRendererData rendererData) { /**
this.rolloutRendererData = rendererData; * @return the distributionSetNameVersion
} */
public String getDistributionSetNameVersion() {
return distributionSetNameVersion;
}
/** /**
* @return the distributionSetNameVersion * @param distributionSetNameVersion
*/ * the distributionSetNameVersion to set
public String getDistributionSetNameVersion() { */
return distributionSetNameVersion; public void setDistributionSetNameVersion(final String distributionSetNameVersion) {
} this.distributionSetNameVersion = distributionSetNameVersion;
}
/** /**
* @param distributionSetNameVersion * @return the numberOfGroups
* the distributionSetNameVersion to set */
*/ public Long getNumberOfGroups() {
public void setDistributionSetNameVersion(final String distributionSetNameVersion) { return numberOfGroups;
this.distributionSetNameVersion = distributionSetNameVersion; }
}
/** /**
* @return the numberOfGroups * @param numberOfGroups
*/ * the numberOfGroups to set
public Long getNumberOfGroups() { */
return numberOfGroups; public void setNumberOfGroups(final Long numberOfGroups) {
} this.numberOfGroups = numberOfGroups;
}
/** /**
* @param numberOfGroups * @return the createdDate
* the numberOfGroups to set */
*/ public String getCreatedDate() {
public void setNumberOfGroups(final Long numberOfGroups) { return createdDate;
this.numberOfGroups = numberOfGroups; }
}
/** /**
* @return the createdDate * @param createdDate
*/ * the createdDate to set
public String getCreatedDate() { */
return createdDate; public void setCreatedDate(final String createdDate) {
} this.createdDate = createdDate;
}
/** /**
* @param createdDate * @return the modifiedDate
* the createdDate to set */
*/ public String getModifiedDate() {
public void setCreatedDate(final String createdDate) { return modifiedDate;
this.createdDate = createdDate; }
}
/** /**
* @return the modifiedDate * @param modifiedDate
*/ * the modifiedDate to set
public String getModifiedDate() { */
return modifiedDate; public void setModifiedDate(final String modifiedDate) {
} this.modifiedDate = modifiedDate;
}
/** /**
* @param modifiedDate * @return the isActionRecieved
* the modifiedDate to set */
*/ public Boolean getIsActionRecieved() {
public void setModifiedDate(final String modifiedDate) { return isActionRecieved;
this.modifiedDate = modifiedDate; }
}
/** /**
* @return the isActionRecieved * @param isActionRecieved
*/ * the isActionRecieved to set
public Boolean getIsActionRecieved() { */
return isActionRecieved; public void setIsActionRecieved(final Boolean isActionRecieved) {
} this.isActionRecieved = isActionRecieved;
}
/** /**
* @param isActionRecieved * @return the totalTargetsCount
* the isActionRecieved to set */
*/ public String getTotalTargetsCount() {
public void setIsActionRecieved(final Boolean isActionRecieved) { return totalTargetsCount;
this.isActionRecieved = isActionRecieved; }
}
/** /**
* @return the totalTargetsCount * @param totalTargetsCount
*/ * the totalTargetsCount to set
public String getTotalTargetsCount() { */
return totalTargetsCount; public void setTotalTargetsCount(final String totalTargetsCount) {
} this.totalTargetsCount = totalTargetsCount;
}
/** public String getAction() {
* @param totalTargetsCount return FontAwesome.CIRCLE_O.getHtml();
* the totalTargetsCount to set }
*/
public void setTotalTargetsCount(final String totalTargetsCount) {
this.totalTargetsCount = totalTargetsCount;
}
public String getAction() {
return FontAwesome.CIRCLE_O.getHtml();
}
} }

View File

@@ -139,10 +139,10 @@ public class RolloutBeanQuery extends AbstractBeanQuery<ProxyRollout> {
proxyRollout.setTotalTargetCountStatus(totalTargetCountActionStatus); proxyRollout.setTotalTargetCountStatus(totalTargetCountActionStatus);
proxyRollout.setTotalTargetsCount(String.valueOf(rollout.getTotalTargets())); proxyRollout.setTotalTargetsCount(String.valueOf(rollout.getTotalTargets()));
proxyRollout.setDescription(distributionSet.getDescription()); proxyRollout.setDescription(distributionSet.getDescription());
proxyRollout.setType(distributionSet.getType().getName()); proxyRollout.setType(distributionSet.getType().getName());
proxyRollout.setIsRequiredMigrationStep(distributionSet.isRequiredMigrationStep()); proxyRollout.setIsRequiredMigrationStep(distributionSet.isRequiredMigrationStep());
proxyRollout.setSwModules(distributionSet.getModules()); proxyRollout.setSwModules(distributionSet.getModules());
proxyRolloutList.add(proxyRollout); proxyRolloutList.add(proxyRollout);
} }

View File

@@ -105,7 +105,7 @@ public final class HawkbitCommonUtil {
private static final String DELETE_TAG_DROP_REMOVE_SCRIPT = "var o = document.getElementById('show-delete-drop-hint'); if(o) { document.head.removeChild(o); } "; private static final String DELETE_TAG_DROP_REMOVE_SCRIPT = "var o = document.getElementById('show-delete-drop-hint'); if(o) { document.head.removeChild(o); } ";
private static final String ASSIGN_DIST_SET = "assignedDistributionSet"; private static final String ASSIGN_DIST_SET = "assignedDistributionSet";
private static final String INSTALL_DIST_SET = "installedDistributionSet"; private static final String INSTALL_DIST_SET = "installedDistributionSet";
/** /**
* Define empty string. * Define empty string.