Java 类com.vaadin.ui.Table.TableTransferable 实例源码
项目:hawkbit
文件:SMDeleteActionsLayout.java
@Override
protected void processDroppedComponent(final DragAndDropEvent event) {
final Component sourceComponent = event.getTransferable().getSourceComponent();
if (sourceComponent instanceof Table) {
final Table sourceTable = (Table) event.getTransferable().getSourceComponent();
addToDeleteList(sourceTable, (TableTransferable) event.getTransferable());
updateSWActionCount();
}
if (sourceComponent.getId().startsWith(UIComponentIdProvider.UPLOAD_TYPE_BUTTON_PREFIX)) {
final String swModuleTypeName = sourceComponent.getId()
.replace(UIComponentIdProvider.UPLOAD_TYPE_BUTTON_PREFIX, "");
if (artifactUploadState.getSoftwareModuleFilters().getSoftwareModuleType()
.map(type -> type.getName().equalsIgnoreCase(swModuleTypeName)).orElse(false)) {
notification.displayValidationError(
i18n.getMessage("message.swmodule.type.check.delete", new Object[] { swModuleTypeName }));
} else {
deleteSWModuleType(swModuleTypeName);
updateSWActionCount();
}
}
}
项目:hawkbit
文件:TargetTableHeader.java
private void filterByDroppedDist(final DragAndDropEvent event) {
if (doValidations(event)) {
final TableTransferable tableTransferable = (TableTransferable) event.getTransferable();
final Table source = tableTransferable.getSourceComponent();
if (!UIComponentIdProvider.DIST_TABLE_ID.equals(source.getId())) {
return;
}
final Set<Long> distributionIdSet = getDropppedDistributionDetails(tableTransferable);
if (CollectionUtils.isEmpty(distributionIdSet)) {
return;
}
final Long distributionSetId = distributionIdSet.iterator().next();
final Optional<DistributionSet> distributionSet = distributionSetManagement
.get(distributionSetId);
if (!distributionSet.isPresent()) {
notification.displayWarning(i18n.getMessage("distributionset.not.exists"));
return;
}
final DistributionSetIdName distributionSetIdName = new DistributionSetIdName(distributionSet.get());
getManagementUIState().getTargetTableFilters().setDistributionSet(distributionSetIdName);
addFilterTextField(distributionSetIdName);
}
}
项目:hawkbit
文件:TargetTableHeader.java
/**
* Validation for drag event.
*
* @param dragEvent
* @return
*/
private Boolean doValidations(final DragAndDropEvent dragEvent) {
final Component compsource = dragEvent.getTransferable().getSourceComponent();
Boolean isValid = Boolean.TRUE;
if (compsource instanceof Table && !isComplexFilterViewDisplayed) {
final TableTransferable transferable = (TableTransferable) dragEvent.getTransferable();
final Table source = transferable.getSourceComponent();
if (!source.getId().equals(UIComponentIdProvider.DIST_TABLE_ID)) {
notification.displayValidationError(i18n.getMessage("message.action.not.allowed"));
isValid = Boolean.FALSE;
} else {
if (getDropppedDistributionDetails(transferable).size() > 1) {
notification.displayValidationError(i18n.getMessage("message.onlyone.distribution.dropallowed"));
isValid = Boolean.FALSE;
}
}
} else {
notification.displayValidationError(i18n.getMessage("message.action.not.allowed"));
isValid = Boolean.FALSE;
}
return isValid;
}
项目:hawkbit
文件:DistributionTagDropEvent.java
private void processDistributionDrop(final DragAndDropEvent event) {
final com.vaadin.event.dd.TargetDetails targetDetails = event.getTargetDetails();
final TableTransferable transferable = (TableTransferable) event.getTransferable();
final AbstractTable<?> source = (AbstractTable<?>) transferable.getSourceComponent();
final Set<Long> distSelected = source.getDeletedEntityByTransferable(transferable);
final String distTagName = HawkbitCommonUtil.removePrefix(targetDetails.getTarget().getId(),
SPUIDefinitions.DISTRIBUTION_TAG_ID_PREFIXS);
final List<String> tagsClickedList = distFilterParameters.getDistSetTags();
final DistributionSetTagAssignmentResult result = distributionSetManagement.toggleTagAssignment(distSelected,
distTagName);
notification.displaySuccess(HawkbitCommonUtil.createAssignmentMessage(distTagName, result, i18n));
if (result.getUnassigned() >= 1 && !tagsClickedList.isEmpty()) {
eventBus.publish(this, TargetFilterEvent.FILTER_BY_TAG);
}
}
项目:hawkbit
文件:DeleteActionsLayout.java
private void addInDeleteDistributionList(final Table sourceTable, final TableTransferable transferable) {
final AbstractTable<?> distTable = (AbstractTable<?>) sourceTable;
final Set<Long> ids = distTable.getDeletedEntityByTransferable(transferable);
final Long dsInBulkUpload = managementUIState.getTargetTableFilters().getBulkUpload().getDsNameAndVersion();
if (isDsInUseInBulkUpload(ids, dsInBulkUpload)) {
ids.remove(dsInBulkUpload);
}
if (ids.isEmpty()) {
return;
}
final List<DistributionSet> findDistributionSetAllById = distributionSetManagement.get(ids);
if (findDistributionSetAllById.isEmpty()) {
notification.displayWarning(i18n.getMessage("distributionsets.not.exists"));
return;
}
final Set<DistributionSetIdName> distributionIdNameSet = findDistributionSetAllById.stream()
.map(distributionSet -> new DistributionSetIdName(distributionSet)).collect(Collectors.toSet());
checkDeletedDistributionSets(distributionIdNameSet);
}
项目:hawkbit
文件:DSDeleteActionsLayout.java
@Override
protected void processDroppedComponent(final DragAndDropEvent event) {
final Component sourceComponent = event.getTransferable().getSourceComponent();
if (sourceComponent instanceof Table) {
final Table sourceTable = (Table) event.getTransferable().getSourceComponent();
if (isDistributionTable(sourceTable)) {
addInDeleteDistributionList(sourceTable, (TableTransferable) event.getTransferable());
updateDSActionCount();
} else if (isSoftwareModuleTable(sourceTable)) {
addToSWDeleteList(sourceTable, (TableTransferable) event.getTransferable());
updateDSActionCount();
}
} else if (sourceComponent.getId().startsWith(SPUIDefinitions.DISTRIBUTION_SET_TYPE_ID_PREFIXS)) {
processDeleteDitSetType(sourceComponent.getId());
} else if (sourceComponent.getId().startsWith(SPUIDefinitions.SOFTWARE_MODULE_TAG_ID_PREFIXS)) {
processDeleteSWType(sourceComponent.getId());
}
}
项目:hawkbit
文件:DSDeleteActionsLayout.java
private void addInDeleteDistributionList(final Table sourceTable, final TableTransferable transferable) {
final AbstractTable<?> table = (AbstractTable<?>) sourceTable;
final Set<Long> ids = table.getDeletedEntityByTransferable(transferable);
final List<DistributionSet> findDistributionSetAllById = distributionSetManagement
.get(ids);
if (findDistributionSetAllById.isEmpty()) {
notification.displayWarning(i18n.getMessage("distributionsets.not.exists"));
return;
}
final Set<DistributionSetIdName> distributionIdNameSet = findDistributionSetAllById.stream()
.map(DistributionSetIdName::new).collect(Collectors.toSet());
final int existingDeletedDistributionsSize = manageDistUIState.getDeletedDistributionList().size();
manageDistUIState.getDeletedDistributionList().addAll(distributionIdNameSet);
final int newDeletedDistributionsSize = manageDistUIState.getDeletedDistributionList().size();
if (newDeletedDistributionsSize == existingDeletedDistributionsSize) {
notification.displayValidationError(i18n.getMessage("message.targets.already.deleted"));
} else if (newDeletedDistributionsSize - existingDeletedDistributionsSize != distributionIdNameSet.size()) {
notification.displayValidationError(i18n.getMessage("message.dist.deleted.pending"));
}
}
项目:hawkbit
文件:SMDeleteActionsLayout.java
private void addToDeleteList(final Table sourceTable, final TableTransferable transferable) {
final AbstractTable<?> swTable = (AbstractTable<?>) sourceTable;
final Set<Long> swModuleIdNameSet = swTable.getDeletedEntityByTransferable(transferable);
swModuleIdNameSet.forEach(id -> {
final String swModuleName = (String) sourceTable.getContainerDataSource().getItem(id)
.getItemProperty(SPUILabelDefinitions.NAME_VERSION).getValue();
artifactUploadState.getDeleteSofwareModules().put(id, swModuleName);
});
}
项目:hawkbit
文件:DistributionTagDropEvent.java
@Override
public void drop(final DragAndDropEvent event) {
if (validate(event) && isNoTagAssigned(event)) {
final TableTransferable tbl = (TableTransferable) event.getTransferable();
final Table source = tbl.getSourceComponent();
if (source.getId().equals(UIComponentIdProvider.DIST_TABLE_ID)) {
processDistributionDrop(event);
}
}
}
项目:hawkbit
文件:DistributionTagDropEvent.java
private Boolean validate(final DragAndDropEvent event) {
final Component compsource = event.getTransferable().getSourceComponent();
if (!(compsource instanceof Table)) {
notification.displayValidationError(i18n.getMessage(SPUILabelDefinitions.ACTION_NOT_ALLOWED));
return false;
} else {
final Table source = ((TableTransferable) event.getTransferable()).getSourceComponent();
if (!validateIfSourceIsDs(source) && !checkForDSUpdatePermission()) {
return false;
}
}
return true;
}
项目:hawkbit
文件:DeleteActionsLayout.java
private void processDeletion(final DragAndDropEvent event, final Component source) {
if (DeleteActionsLayoutHelper.isTargetTable(source) && canTargetBeDeleted()) {
addInDeleteTargetList((Table) source, (TableTransferable) event.getTransferable());
updateActionCount();
} else if (DeleteActionsLayoutHelper.isDistributionTable(source) && canDSBeDeleted()) {
addInDeleteDistributionList((Table) source, (TableTransferable) event.getTransferable());
updateActionCount();
} else if (DeleteActionsLayoutHelper.isTargetTag(source) && canTargetBeDeleted()
&& tagNotInUSeInBulkUpload(source)) {
deleteTargetTag(source);
} else if (DeleteActionsLayoutHelper.isDistributionTag(source) && canDSBeDeleted()) {
deleteDistributionTag(source);
}
}
项目:hawkbit
文件:DeleteActionsLayout.java
private void addInDeleteTargetList(final Table sourceTable, final TableTransferable transferable) {
final TargetTable targetTable = (TargetTable) sourceTable;
final Set<Long> targetIdSet = targetTable.getDeletedEntityByTransferable(transferable);
final Collection<Target> findTargetAllById = targetManagement.get(targetIdSet);
if (findTargetAllById.isEmpty()) {
notification.displayWarning(i18n.getMessage("targets.not.exists"));
return;
}
final Set<TargetIdName> targetIdNames = findTargetAllById.stream().map(target -> new TargetIdName(target))
.collect(Collectors.toSet());
checkDeletedTargets(targetIdNames);
}
项目:hawkbit
文件:DSDeleteActionsLayout.java
private void addToSWDeleteList(final Table sourceTable, final TableTransferable transferable) {
final AbstractTable<?> swTable = (AbstractTable<?>) sourceTable;
final Set<Long> swModuleIdNameSet = swTable.getDeletedEntityByTransferable(transferable);
swModuleIdNameSet.forEach(id -> {
final String swModuleName = (String) sourceTable.getContainerDataSource().getItem(id)
.getItemProperty(SPUILabelDefinitions.NAME_VERSION).getValue();
manageDistUIState.getDeleteSofwareModulesList().put(id, swModuleName);
});
}
项目:XACML
文件:PolicyWorkspace.java
@Override
public void drop(DragAndDropEvent event) {
Transferable t = event.getTransferable();
Component source = t.getSourceComponent();
if (source != this.treeWorkspace) {
assert(false);
throw new IllegalArgumentException();
}
TableTransferable tt = (TableTransferable) t;
File sourceFile = (File) tt.getItemId();
AbstractSelectTargetDetails target = (AbstractSelectTargetDetails)event.getTargetDetails();
File targetFile = (File) target.getItemIdOver();
if (sourceFile.isFile() && targetFile != null && targetFile.isDirectory()) {
//
// Construct destination filename
//
Path dest = targetFile.toPath().resolve(sourceFile.getName());
//
// Check if the target domain exists
//
if (Files.exists(dest)) {
//
// Prompt the user
//
Notification.show("A policy file with that name already exists in that directory.", Notification.Type.ERROR_MESSAGE);
} else {
//
// Go ahead and rename it
//
this.renamePolicyFile(sourceFile, dest.toFile(), targetFile);
}
}
}
项目:hawkbit
文件:TargetTableHeader.java
private static Set<Long> getDropppedDistributionDetails(final TableTransferable transferable) {
final AbstractTable<?> distTable = (AbstractTable<?>) transferable.getSourceComponent();
return distTable.getDeletedEntityByTransferable(transferable);
}