Merge branch 'master' into Artifiact_upload_directory_upload

This commit is contained in:
asharani-murugesh
2016-02-25 17:07:20 +01:00
29 changed files with 312 additions and 287 deletions

View File

@@ -78,7 +78,8 @@ public class SoftwareModuleTable extends AbstractTable {
@Autowired
private UploadViewAcceptCriteria uploadViewAcceptCriteria;
/**
* Initialize the filter layout.
*/
@@ -127,12 +128,7 @@ public class SoftwareModuleTable extends AbstractTable {
*/
@Override
protected Container createContainer() {
final Map<String, Object> queryConfiguration = new HashMap<String, Object>();
artifactUploadState.getSoftwareModuleFilters().getSearchText()
.ifPresent(value -> queryConfiguration.put(SPUIDefinitions.FILTER_BY_TEXT, value));
artifactUploadState.getSoftwareModuleFilters().getSoftwareModuleType()
.ifPresent(type -> queryConfiguration.put(SPUIDefinitions.BY_SOFTWARE_MODULE_TYPE, type));
final Map<String, Object> queryConfiguration = prepareQueryConfigFilters();
final BeanQueryFactory<BaseSwModuleBeanQuery> swQF = new BeanQueryFactory<BaseSwModuleBeanQuery>(
BaseSwModuleBeanQuery.class);
@@ -142,6 +138,19 @@ public class SoftwareModuleTable extends AbstractTable {
new LazyQueryDefinition(true, SPUIDefinitions.PAGE_SIZE, "swId"), swQF);
return container;
}
private Map<String, Object> prepareQueryConfigFilters() {
final Map<String, Object> queryConfig = new HashMap<String, Object>();
artifactUploadState.getSoftwareModuleFilters().getSearchText()
.ifPresent(value -> queryConfig.put(SPUIDefinitions.FILTER_BY_TEXT, value));
artifactUploadState.getSoftwareModuleFilters().getSoftwareModuleType()
.ifPresent(type -> queryConfig.put(SPUIDefinitions.BY_SOFTWARE_MODULE_TYPE, type));
return queryConfig;
}
@Override
protected void addContainerProperties(final Container container) {

View File

@@ -219,8 +219,10 @@ public class SoftwareModuleTableHeader extends AbstractTableHeader {
*/
@Override
protected void resetSearchText() {
artifactUploadState.getSoftwareModuleFilters().setSearchText(null);
eventbus.publish(this, SMFilterEvent.REMOVER_FILTER_BY_TEXT);
if(artifactUploadState.getSoftwareModuleFilters().getSearchText().isPresent()){
artifactUploadState.getSoftwareModuleFilters().setSearchText(null);
eventbus.publish(this, SMFilterEvent.REMOVER_FILTER_BY_TEXT);
}
}
/*

View File

@@ -11,6 +11,7 @@ package org.eclipse.hawkbit.ui.components;
import java.util.Arrays;
import java.util.Map;
import org.apache.commons.lang3.StringUtils;
import org.eclipse.hawkbit.repository.model.DistributionSet;
import org.eclipse.hawkbit.ui.decorators.SPUIButtonDecorator;
import org.eclipse.hawkbit.ui.decorators.SPUIComboBoxDecorator;
@@ -23,7 +24,6 @@ import org.eclipse.hawkbit.ui.utils.SPUIDefinitions;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.vaadin.sass.internal.util.StringUtil;
import com.vaadin.server.ExternalResource;
import com.vaadin.server.FontAwesome;
import com.vaadin.server.Resource;
@@ -108,16 +108,16 @@ public final class SPUIComponentProvider {
final Class<? extends SPUIHeaderLayoutDecorator> tableHeaderLayoutDecorator) {
// Do we really need this???
HorizontalLayout hLayout = getHorizontalLayout(new SPUIHorizontalLayout().getUiHorizontalLayout().getClass());
if (tableHeaderLayoutDecorator == null) {
return hLayout;
}
try {
SPUIHeaderLayoutDecorator layoutDecorator = null;
if (tableHeaderLayoutDecorator != null) {
layoutDecorator = tableHeaderLayoutDecorator.newInstance();
hLayout = layoutDecorator.decorate(hLayout);
}
} catch (final InstantiationException exception) {
LOG.error("Error occured while creating horizontal decorator " + SPUIHeaderLayoutDecorator.class,
exception);
} catch (final IllegalAccessException exception) {
final SPUIHeaderLayoutDecorator layoutDecorator = tableHeaderLayoutDecorator.newInstance();
hLayout = layoutDecorator.decorate(hLayout);
} catch (final InstantiationException | IllegalAccessException exception) {
LOG.error("Error occured while creating horizontal decorator " + SPUIHeaderLayoutDecorator.class,
exception);
}
@@ -324,7 +324,7 @@ public final class SPUIComponentProvider {
* @return Label
*/
public static Label createNameValueLabel(final String label, final String... values) {
final String valueStr = StringUtil.collectionToDelimitedString(Arrays.asList(values), " ");
final String valueStr = StringUtils.join(Arrays.asList(values), " ");
final Label nameValueLabel = new Label(getBoldHTMLText(label) + valueStr, ContentMode.HTML);
nameValueLabel.setSizeFull();
nameValueLabel.addStyleName(SPUIDefinitions.TEXT_STYLE);

View File

@@ -114,7 +114,7 @@ public class DistributionSetTable extends AbstractTable {
@Autowired
private transient TargetManagement targetManagement;
/**
* Initialize the component.
*/
@@ -157,21 +157,28 @@ public class DistributionSetTable extends AbstractTable {
@Override
protected Container createContainer() {
final Map<String, Object> queryConfiguration = new HashMap<>();
manageDistUIState.getManageDistFilters().getSearchText()
.ifPresent(value -> queryConfiguration.put(SPUIDefinitions.FILTER_BY_TEXT, value));
if (null != manageDistUIState.getManageDistFilters().getClickedDistSetType()) {
queryConfiguration.put(SPUIDefinitions.FILTER_BY_DISTRIBUTION_SET_TYPE,
manageDistUIState.getManageDistFilters().getClickedDistSetType());
}
final Map<String, Object> queryConfiguration = prepareQueryConfigFilters();
final BeanQueryFactory<ManageDistBeanQuery> distributionQF = new BeanQueryFactory<>(ManageDistBeanQuery.class);
distributionQF.setQueryConfiguration(queryConfiguration);
return new LazyQueryContainer(
new LazyQueryDefinition(true, SPUIDefinitions.PAGE_SIZE, SPUILabelDefinitions.VAR_DIST_ID_NAME),
distributionQF);
}
private Map<String, Object> prepareQueryConfigFilters() {
final Map<String, Object> queryConfig = new HashMap<String, Object>();
manageDistUIState.getManageDistFilters().getSearchText()
.ifPresent(value -> queryConfig.put(SPUIDefinitions.FILTER_BY_TEXT, value));
if (null != manageDistUIState.getManageDistFilters().getClickedDistSetType()) {
queryConfig.put(SPUIDefinitions.FILTER_BY_DISTRIBUTION_SET_TYPE,
manageDistUIState.getManageDistFilters().getClickedDistSetType());
}
return queryConfig;
}
/*
* (non-Javadoc)

View File

@@ -170,9 +170,10 @@ public class DistributionSetTableHeader extends AbstractTableHeader {
@Override
protected void resetSearchText() {
manageDistUIstate.getManageDistFilters().setSearchText(null);
eventbus.publish(this, DistributionTableFilterEvent.REMOVE_FILTER_BY_TEXT);
if(manageDistUIstate.getManageDistFilters().getSearchText().isPresent()){
manageDistUIstate.getManageDistFilters().setSearchText(null);
eventbus.publish(this, DistributionTableFilterEvent.REMOVE_FILTER_BY_TEXT);
}
}
@Override

View File

@@ -94,8 +94,8 @@ public class SwModuleTable extends AbstractTable {
@Autowired
private ArtifactDetailsLayout artifactDetailsLayout;
/**
/**
* Initialize the filter layout.
*/
@PostConstruct
@@ -177,15 +177,7 @@ public class SwModuleTable extends AbstractTable {
*/
@Override
protected Container createContainer() {
final Map<String, Object> queryConfiguration = new HashMap<String, Object>();
manageDistUIState.getSoftwareModuleFilters().getSearchText()
.ifPresent(value -> queryConfiguration.put(SPUIDefinitions.FILTER_BY_TEXT, value));
manageDistUIState.getSoftwareModuleFilters().getSoftwareModuleType()
.ifPresent(type -> queryConfiguration.put(SPUIDefinitions.BY_SOFTWARE_MODULE_TYPE, type));
manageDistUIState.getLastSelectedDistribution().ifPresent(
distIdName -> queryConfiguration.put(SPUIDefinitions.ORDER_BY_DISTRIBUTION, distIdName.getId()));
final Map<String, Object> queryConfiguration = prepareQueryConfigFilters();
final BeanQueryFactory<SwModuleBeanQuery> swQF = new BeanQueryFactory<SwModuleBeanQuery>(
SwModuleBeanQuery.class);
@@ -195,6 +187,20 @@ public class SwModuleTable extends AbstractTable {
new LazyQueryDefinition(true, SPUIDefinitions.PAGE_SIZE, "swId"), swQF);
return container;
}
private Map<String, Object> prepareQueryConfigFilters() {
final Map<String, Object> queryConfig = new HashMap<String, Object>();
manageDistUIState.getSoftwareModuleFilters().getSearchText()
.ifPresent(value -> queryConfig.put(SPUIDefinitions.FILTER_BY_TEXT, value));
manageDistUIState.getSoftwareModuleFilters().getSoftwareModuleType()
.ifPresent(type -> queryConfig.put(SPUIDefinitions.BY_SOFTWARE_MODULE_TYPE, type));
manageDistUIState.getLastSelectedDistribution().ifPresent(
distIdName -> queryConfig.put(SPUIDefinitions.ORDER_BY_DISTRIBUTION, distIdName.getId()));
return queryConfig;
}
/*
* (non-Javadoc)

View File

@@ -203,8 +203,10 @@ public class SwModuleTableHeader extends AbstractTableHeader {
*/
@Override
protected void resetSearchText() {
manageDistUIState.getSoftwareModuleFilters().setSearchText(null);
eventbus.publish(this, SMFilterEvent.REMOVER_FILTER_BY_TEXT);
if(manageDistUIState.getSoftwareModuleFilters().getSearchText().isPresent()){
manageDistUIState.getSoftwareModuleFilters().setSearchText(null);
eventbus.publish(this, SMFilterEvent.REMOVER_FILTER_BY_TEXT);
}
}
/*

View File

@@ -112,7 +112,8 @@ public class DistributionTable extends AbstractTable {
private Boolean isDistPinned = false;
private Button distributinPinnedBtn;
/**
* Initialize the distribution table.
*/
@@ -141,7 +142,7 @@ public class DistributionTable extends AbstractTable {
|| event == DistributionTableFilterEvent.REMOVE_FILTER_BY_TEXT
|| event == DistributionTableFilterEvent.FILTER_BY_TAG) {
UI.getCurrent().access(() -> refreshFilter());
}
}
}
@EventBusListenerMethod(scope = EventScope.SESSION)
@@ -219,18 +220,8 @@ public class DistributionTable extends AbstractTable {
*/
@Override
protected Container createContainer() {
final Map<String, Object> queryConfiguration = new HashMap<String, Object>();
managementUIState.getDistributionTableFilters().getSearchText()
.ifPresent(value -> queryConfiguration.put(SPUIDefinitions.FILTER_BY_TEXT, value));
managementUIState.getDistributionTableFilters().getPinnedTargetId()
.ifPresent(value -> queryConfiguration.put(SPUIDefinitions.ORDER_BY_PINNED_TARGET, value));
final List<String> list = new ArrayList<String>();
queryConfiguration.put(SPUIDefinitions.FILTER_BY_NO_TAG,
managementUIState.getDistributionTableFilters().isNoTagSelected());
if (!managementUIState.getDistributionTableFilters().getDistSetTags().isEmpty()) {
list.addAll(managementUIState.getDistributionTableFilters().getDistSetTags());
}
queryConfiguration.put(SPUIDefinitions.FILTER_BY_TAG, list);
final Map<String, Object> queryConfiguration = prepareQueryConfigFilters();
final BeanQueryFactory<DistributionBeanQuery> distributionQF = new BeanQueryFactory<DistributionBeanQuery>(
DistributionBeanQuery.class);
distributionQF.setQueryConfiguration(queryConfiguration);
@@ -239,6 +230,22 @@ public class DistributionTable extends AbstractTable {
distributionQF);
return distributionContainer;
}
private Map<String, Object> prepareQueryConfigFilters() {
final Map<String, Object> queryConfig = new HashMap<String, Object>();
managementUIState.getDistributionTableFilters().getSearchText()
.ifPresent(value -> queryConfig.put(SPUIDefinitions.FILTER_BY_TEXT, value));
managementUIState.getDistributionTableFilters().getPinnedTargetId()
.ifPresent(value -> queryConfig.put(SPUIDefinitions.ORDER_BY_PINNED_TARGET, value));
final List<String> list = new ArrayList<String>();
queryConfig.put(SPUIDefinitions.FILTER_BY_NO_TAG,
managementUIState.getDistributionTableFilters().isNoTagSelected());
if (!managementUIState.getDistributionTableFilters().getDistSetTags().isEmpty()) {
list.addAll(managementUIState.getDistributionTableFilters().getDistSetTags());
}
queryConfig.put(SPUIDefinitions.FILTER_BY_TAG, list);
return queryConfig;
}
/*
* (non-Javadoc)

View File

@@ -210,8 +210,10 @@ public class DistributionTableHeader extends AbstractTableHeader {
*/
@Override
protected void resetSearchText() {
managementUIState.getDistributionTableFilters().setSearchText(null);
eventbus.publish(this, DistributionTableFilterEvent.REMOVE_FILTER_BY_TEXT);
if( managementUIState.getDistributionTableFilters().getSearchText().isPresent()){
managementUIState.getDistributionTableFilters().setSearchText(null);
eventbus.publish(this, DistributionTableFilterEvent.REMOVE_FILTER_BY_TEXT);
}
}
/*

View File

@@ -15,6 +15,7 @@ import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.Set;
import java.util.stream.Collectors;
@@ -73,8 +74,8 @@ import org.vaadin.spring.events.EventBus;
import org.vaadin.spring.events.EventScope;
import org.vaadin.spring.events.annotation.EventBusListenerMethod;
import com.google.common.base.Strings;
import com.google.common.collect.Iterables;
import com.google.gwt.thirdparty.guava.common.base.Strings;
import com.vaadin.data.Container;
import com.vaadin.data.Item;
import com.vaadin.event.Action;
@@ -104,6 +105,8 @@ import com.vaadin.ui.themes.ValoTheme;
@ViewScope
public class TargetTable extends AbstractTable implements Handler {
private static final String TARGET_PINNED = "targetPinned";
private static final long serialVersionUID = -2300392868806614568L;
private static final Logger LOG = LoggerFactory.getLogger(TargetTable.class);
@@ -138,6 +141,8 @@ public class TargetTable extends AbstractTable implements Handler {
private Boolean isTargetPinned = Boolean.FALSE;
private ShortcutAction actionSelectAll;
private ShortcutAction actionUnSelectAll;
@Override
@PostConstruct
@@ -271,7 +276,7 @@ public class TargetTable extends AbstractTable implements Handler {
final Map<String, Object> queryConfig = prepareQueryConfigFilters();
// Create TargetBeanQuery factory with the query config.
final BeanQueryFactory<TargetBeanQuery> targetQF = new BeanQueryFactory<TargetBeanQuery>(TargetBeanQuery.class);
final BeanQueryFactory<TargetBeanQuery> targetQF = new BeanQueryFactory<>(TargetBeanQuery.class);
targetQF.setQueryConfiguration(queryConfig);
// create lazy query container with lazy defination and query
@@ -394,7 +399,7 @@ public class TargetTable extends AbstractTable implements Handler {
*/
@Override
protected List<TableColumn> getTableVisibleColumns() {
final List<TableColumn> columnList = new ArrayList<TableColumn>();
final List<TableColumn> columnList = new ArrayList<>();
if (isMaximized()) {
columnList.add(new TableColumn(SPUILabelDefinitions.VAR_NAME, i18n.get("header.name"), 0.2f));
columnList.add(new TableColumn(SPUILabelDefinitions.VAR_CREATED_BY, i18n.get("header.createdBy"), 0.1f));
@@ -469,7 +474,7 @@ public class TargetTable extends AbstractTable implements Handler {
}
private Map<String, Object> prepareQueryConfigFilters() {
final Map<String, Object> queryConfig = new HashMap<String, Object>();
final Map<String, Object> queryConfig = new HashMap<>();
managementUIState.getTargetTableFilters().getSearchText()
.ifPresent(value -> queryConfig.put(SPUIDefinitions.FILTER_BY_TEXT, value));
managementUIState.getTargetTableFilters().getDistributionSet()
@@ -481,7 +486,7 @@ public class TargetTable extends AbstractTable implements Handler {
queryConfig.put(SPUIDefinitions.FILTER_BY_NO_TAG, managementUIState.getTargetTableFilters().isNoTagSelected());
if (isFilteredByTags()) {
final List<String> list = new ArrayList<String>();
final List<String> list = new ArrayList<>();
list.addAll(managementUIState.getTargetTableFilters().getClickedTargetTags());
queryConfig.put(SPUIDefinitions.FILTER_BY_TAG, list.toArray(new String[list.size()]));
}
@@ -522,7 +527,7 @@ public class TargetTable extends AbstractTable implements Handler {
pinBtn.setId(SPUIComponetIdProvider.TARGET_PIN_ICON + "." + itemId);
pinBtn.addClickListener(event -> addPinClickListener(event));
if (isPinned(((TargetIdName) itemId).getControllerId())) {
pinBtn.addStyleName("targetPinned");
pinBtn.addStyleName(TARGET_PINNED);
isTargetPinned = Boolean.TRUE;
targetPinnedBtn = pinBtn;
eventBus.publish(this, PinUnpinEvent.PIN_TARGET);
@@ -533,7 +538,7 @@ public class TargetTable extends AbstractTable implements Handler {
}
private boolean isPinned(final String targetId) {
boolean result = false;
boolean result;
if (managementUIState.getDistributionTableFilters().getPinnedTargetId().isPresent()
&& targetId.equals(managementUIState.getDistributionTableFilters().getPinnedTargetId().get())) {
result = true;
@@ -594,7 +599,7 @@ public class TargetTable extends AbstractTable implements Handler {
eventBus.publish(this, PinUnpinEvent.PIN_TARGET);
/* change target table styling */
styleTargetTable();
eventBtn.addStyleName("targetPinned");
eventBtn.addStyleName(TARGET_PINNED);
isTargetPinned = Boolean.FALSE;
}
@@ -605,7 +610,7 @@ public class TargetTable extends AbstractTable implements Handler {
}
private void resetPinStyle(final Button pinBtn) {
pinBtn.removeStyleName("targetPinned");
pinBtn.removeStyleName(TARGET_PINNED);
pinBtn.addStyleName(SPUIStyleDefinitions.TARGET_STATUS_PIN_TOGGLE);
HawkbitCommonUtil.applyStatusLblStyle(this, pinBtn, pinBtn.getData());
}
@@ -644,7 +649,7 @@ public class TargetTable extends AbstractTable implements Handler {
final com.vaadin.event.dd.TargetDetails taregtDet = event.getTargetDetails();
final Table targetTable = (Table) taregtDet.getTarget();
final Set<TargetIdName> targetSelected = HawkbitCommonUtil.getSelectedTargetDetails(targetTable);
final Set<String> targetList = new HashSet<String>();
final Set<String> targetList = new HashSet<>();
final AbstractSelectTargetDetails dropData = (AbstractSelectTargetDetails) event.getTargetDetails();
final Object targetItemId = dropData.getItemIdOver();
if (!targetSelected.contains(targetItemId)) {
@@ -701,9 +706,8 @@ public class TargetTable extends AbstractTable implements Handler {
private static Set<DistributionSetIdName> getDraggedDistributionSet(final TableTransferable transferable,
final Table source) {
@SuppressWarnings("unchecked")
final Set<DistributionSetIdName> distSelected = HawkbitCommonUtil.getSelectedDSDetails(source);
final Set<DistributionSetIdName> distributionIdSet = new HashSet<DistributionSetIdName>();
final Set<DistributionSetIdName> distributionIdSet = new HashSet<>();
if (!distSelected.contains(transferable.getData(ITEMID))) {
distributionIdSet.add((DistributionSetIdName) transferable.getData(ITEMID));
} else {
@@ -828,15 +832,11 @@ public class TargetTable extends AbstractTable implements Handler {
}
}
/**
* @param filterEvent
* @return
*/
private boolean checkFilterEvent(final TargetFilterEvent filterEvent) {
boolean isFilterEvent = false;
boolean isFilter = false;
boolean isRemoveFilters = false;
boolean isStatusFilter = false;
private static boolean checkFilterEvent(final TargetFilterEvent filterEvent) {
boolean isFilterEvent;
boolean isFilter;
boolean isRemoveFilters;
boolean isStatusFilter;
isFilter = filterEvent == TargetFilterEvent.FILTER_BY_TEXT || filterEvent == TargetFilterEvent.FILTER_BY_TAG
|| filterEvent == TargetFilterEvent.FILTER_BY_DISTRIBUTION
|| filterEvent == TargetFilterEvent.FILTER_BY_TARGET_FILTER_QUERY;
@@ -1020,11 +1020,11 @@ public class TargetTable extends AbstractTable implements Handler {
private List<TargetIdName> getTargetIdsBySimpleFilters(final PageRequest pageRequest) {
final Long filterByDistId = managementUIState.getTargetTableFilters().getDistributionSet().isPresent()
? managementUIState.getTargetTableFilters().getDistributionSet().get().getId() : null;
final List<TargetUpdateStatus> statusList = new ArrayList<TargetUpdateStatus>();
final List<TargetUpdateStatus> statusList = new ArrayList<>();
if (isFilteredByStatus()) {
statusList.addAll(managementUIState.getTargetTableFilters().getClickedStatusTargetTags());
}
final List<String> tagList = new ArrayList<String>();
final List<String> tagList = new ArrayList<>();
if (isFilteredByTags()) {
tagList.addAll(managementUIState.getTargetTableFilters().getClickedTargetTags());
}
@@ -1081,7 +1081,7 @@ public class TargetTable extends AbstractTable implements Handler {
String[] targetTags = null;
Long distributionId = null;
String searchText = null;
Boolean noTagClicked = Boolean.FALSE;
Boolean noTagClicked;
Long pinnedDistId = null;
if (isFilteredByTags()) {
@@ -1129,13 +1129,13 @@ public class TargetTable extends AbstractTable implements Handler {
&& !Strings.isNullOrEmpty(managementUIState.getTargetTableFilters().getSearchText().get());
}
private Boolean anyFilterSelected(final Collection<TargetUpdateStatus> status, final Long distributionId,
private static Boolean anyFilterSelected(final Collection<TargetUpdateStatus> status, final Long distributionId,
final Boolean noTagClicked, final String[] targetTags, final String searchText) {
return status == null && distributionId == null && Strings.isNullOrEmpty(searchText)
&& !isTagSelected(targetTags, noTagClicked);
}
private Boolean isTagSelected(final String[] targetTags, final Boolean noTagClicked) {
private static Boolean isTagSelected(final String[] targetTags, final Boolean noTagClicked) {
return targetTags == null && !noTagClicked;
}

View File

@@ -258,8 +258,10 @@ public class TargetTableHeader extends AbstractTableHeader {
@Override
protected void resetSearchText() {
managementUIState.getTargetTableFilters().setSearchText(null);
eventBus.publish(this, TargetFilterEvent.REMOVE_FILTER_BY_TEXT);
if(managementUIState.getTargetTableFilters().getSearchText().isPresent()){
managementUIState.getTargetTableFilters().setSearchText(null);
eventBus.publish(this, TargetFilterEvent.REMOVE_FILTER_BY_TEXT);
}
}
private String getSearchText() {

View File

@@ -15,7 +15,7 @@ import org.eclipse.hawkbit.ui.utils.SPUIDefinitions;
import org.eclipse.hawkbit.ui.utils.SPUILabelDefinitions;
import org.eclipse.hawkbit.ui.utils.SPUIStyleDefinitions;
import com.google.gwt.thirdparty.guava.common.base.Strings;
import com.google.common.base.Strings;
import com.vaadin.server.FontAwesome;
import com.vaadin.ui.AbstractTextField.TextChangeEventMode;
import com.vaadin.ui.Alignment;