Merge pull request #119 from bsinno/Reduce_Duplicate_Code
Reduce some duplicate code
This commit is contained in:
@@ -8,6 +8,7 @@
|
|||||||
*/
|
*/
|
||||||
package org.eclipse.hawkbit.repository;
|
package org.eclipse.hawkbit.repository;
|
||||||
|
|
||||||
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import org.eclipse.hawkbit.repository.model.AssignmentResult;
|
import org.eclipse.hawkbit.repository.model.AssignmentResult;
|
||||||
@@ -19,7 +20,7 @@ import org.eclipse.hawkbit.repository.model.Target;
|
|||||||
* how much of the assignments had already been existed.
|
* how much of the assignments had already been existed.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public class DistributionSetAssignmentResult extends AssignmentResult {
|
public class DistributionSetAssignmentResult extends AssignmentResult<Target> {
|
||||||
|
|
||||||
private final List<String> assignedTargets;
|
private final List<String> assignedTargets;
|
||||||
private final List<Long> actions;
|
private final List<Long> actions;
|
||||||
@@ -45,16 +46,14 @@ public class DistributionSetAssignmentResult extends AssignmentResult {
|
|||||||
*/
|
*/
|
||||||
public DistributionSetAssignmentResult(final List<String> assignedTargets, final int assigned,
|
public DistributionSetAssignmentResult(final List<String> assignedTargets, final int assigned,
|
||||||
final int alreadyAssigned, final List<Long> actions, final TargetManagement targetManagement) {
|
final int alreadyAssigned, final List<Long> actions, final TargetManagement targetManagement) {
|
||||||
super(assigned, alreadyAssigned);
|
super(assigned, alreadyAssigned, 0, Collections.emptyList(), Collections.emptyList());
|
||||||
this.assignedTargets = assignedTargets;
|
this.assignedTargets = assignedTargets;
|
||||||
this.actions = actions;
|
this.actions = actions;
|
||||||
this.targetManagement = targetManagement;
|
this.targetManagement = targetManagement;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
@Override
|
||||||
* @return the assignedTargets
|
public List<Target> getAssignedEntity() {
|
||||||
*/
|
|
||||||
public List<Target> getAssignedTargets() {
|
|
||||||
return targetManagement.findTargetByControllerID(assignedTargets);
|
return targetManagement.findTargetByControllerID(assignedTargets);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -8,29 +8,44 @@
|
|||||||
*/
|
*/
|
||||||
package org.eclipse.hawkbit.repository.model;
|
package org.eclipse.hawkbit.repository.model;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Generic assignment result bean.
|
* Generic assignment result bean.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public class AssignmentResult {
|
public class AssignmentResult<T extends BaseEntity> {
|
||||||
|
|
||||||
private final int total;
|
private final int total;
|
||||||
private final int assigned;
|
private final int assigned;
|
||||||
private final int alreadyAssigned;
|
private final int alreadyAssigned;
|
||||||
|
|
||||||
|
private final int unassigned;
|
||||||
|
private final List<T> assignedEntity;
|
||||||
|
private final List<T> unassignedEntity;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructor.
|
* Constructor.
|
||||||
*
|
*
|
||||||
* @param assigned
|
* @param assigned
|
||||||
* is the number of newly assigned elements.
|
* is the number of newly assigned elements.
|
||||||
* @param alreadyAssigned
|
* @param alreadyAssigned
|
||||||
* is the number of already assigned elements.
|
* number of already assigned/ignored elements
|
||||||
|
* @param unassigned
|
||||||
|
* number of newly assigned elements
|
||||||
|
* @param assignedEntity
|
||||||
|
* {@link List} of assigned entity.
|
||||||
|
* @param unassignedEntity
|
||||||
|
* {@link List} of unassigned entity.
|
||||||
*/
|
*/
|
||||||
public AssignmentResult(final int assigned, final int alreadyAssigned) {
|
public AssignmentResult(final int assigned, final int alreadyAssigned, final int unassigned,
|
||||||
super();
|
final List<T> assignedEntity, final List<T> unassignedEntity) {
|
||||||
this.assigned = assigned;
|
this.assigned = assigned;
|
||||||
this.alreadyAssigned = alreadyAssigned;
|
this.alreadyAssigned = alreadyAssigned;
|
||||||
total = assigned + alreadyAssigned;
|
total = assigned + alreadyAssigned;
|
||||||
|
this.unassigned = unassigned;
|
||||||
|
this.assignedEntity = assignedEntity;
|
||||||
|
this.unassignedEntity = unassignedEntity;
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getAssigned() {
|
public int getAssigned() {
|
||||||
@@ -45,4 +60,17 @@ public class AssignmentResult {
|
|||||||
return alreadyAssigned;
|
return alreadyAssigned;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public int getUnassigned() {
|
||||||
|
return unassigned;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<T> getAssignedEntity() {
|
||||||
|
return assignedEntity;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<T> getUnassignedEntity() {
|
||||||
|
return unassignedEntity;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,11 +14,8 @@ import java.util.List;
|
|||||||
* Result object for {@link DistributionSetTag} assignments.
|
* Result object for {@link DistributionSetTag} assignments.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public class DistributionSetTagAssignmentResult extends AssignmentResult {
|
public class DistributionSetTagAssignmentResult extends AssignmentResult<DistributionSet> {
|
||||||
|
|
||||||
private final int unassigned;
|
|
||||||
private final List<DistributionSet> assignedDs;
|
|
||||||
private final List<DistributionSet> unassignedDs;
|
|
||||||
private final DistributionSetTag distributionSetTag;
|
private final DistributionSetTag distributionSetTag;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -40,27 +37,13 @@ public class DistributionSetTagAssignmentResult extends AssignmentResult {
|
|||||||
public DistributionSetTagAssignmentResult(final int alreadyAssigned, final int assigned, final int unassigned,
|
public DistributionSetTagAssignmentResult(final int alreadyAssigned, final int assigned, final int unassigned,
|
||||||
final List<DistributionSet> assignedDs, final List<DistributionSet> unassignedDs,
|
final List<DistributionSet> assignedDs, final List<DistributionSet> unassignedDs,
|
||||||
final DistributionSetTag distributionSetTag) {
|
final DistributionSetTag distributionSetTag) {
|
||||||
super(assigned, alreadyAssigned);
|
super(assigned, alreadyAssigned,unassigned, assignedDs, unassignedDs);
|
||||||
this.unassigned = unassigned;
|
|
||||||
this.assignedDs = assignedDs;
|
|
||||||
this.unassignedDs = unassignedDs;
|
|
||||||
this.distributionSetTag = distributionSetTag;
|
this.distributionSetTag = distributionSetTag;
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getUnassigned() {
|
|
||||||
return unassigned;
|
|
||||||
}
|
|
||||||
|
|
||||||
public DistributionSetTag getDistributionSetTag() {
|
public DistributionSetTag getDistributionSetTag() {
|
||||||
return distributionSetTag;
|
return distributionSetTag;
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<DistributionSet> getAssignedDs() {
|
|
||||||
return assignedDs;
|
|
||||||
}
|
|
||||||
|
|
||||||
public List<DistributionSet> getUnassignedDs() {
|
|
||||||
return unassignedDs;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,11 +14,8 @@ import java.util.List;
|
|||||||
* Result object for {@link TargetTag} assignments.
|
* Result object for {@link TargetTag} assignments.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public class TargetTagAssignmentResult extends AssignmentResult {
|
public class TargetTagAssignmentResult extends AssignmentResult<Target> {
|
||||||
|
|
||||||
private final int unassigned;
|
|
||||||
private final List<Target> assignedTargets;
|
|
||||||
private final List<Target> unassignedTargets;
|
|
||||||
private final TargetTag targetTag;
|
private final TargetTag targetTag;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -39,25 +36,10 @@ public class TargetTagAssignmentResult extends AssignmentResult {
|
|||||||
*/
|
*/
|
||||||
public TargetTagAssignmentResult(final int alreadyAssigned, final int assigned, final int unassigned,
|
public TargetTagAssignmentResult(final int alreadyAssigned, final int assigned, final int unassigned,
|
||||||
final List<Target> assignedTargets, final List<Target> unassignedTargets, final TargetTag targetTag) {
|
final List<Target> assignedTargets, final List<Target> unassignedTargets, final TargetTag targetTag) {
|
||||||
super(assigned, alreadyAssigned);
|
super(assigned, alreadyAssigned, unassigned, assignedTargets, unassignedTargets);
|
||||||
this.unassigned = unassigned;
|
|
||||||
this.assignedTargets = assignedTargets;
|
|
||||||
this.unassignedTargets = unassignedTargets;
|
|
||||||
this.targetTag = targetTag;
|
this.targetTag = targetTag;
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getUnassigned() {
|
|
||||||
return unassigned;
|
|
||||||
}
|
|
||||||
|
|
||||||
public List<Target> getAssignedTargets() {
|
|
||||||
return assignedTargets;
|
|
||||||
}
|
|
||||||
|
|
||||||
public List<Target> getUnassignedTargets() {
|
|
||||||
return unassignedTargets;
|
|
||||||
}
|
|
||||||
|
|
||||||
public TargetTag getTargetTag() {
|
public TargetTag getTargetTag() {
|
||||||
return targetTag;
|
return targetTag;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -48,7 +48,7 @@ public class ControllerManagementTest extends AbstractIntegrationTest {
|
|||||||
|
|
||||||
assertThat(savedTarget.getTargetInfo().getUpdateStatus()).isEqualTo(TargetUpdateStatus.UNKNOWN);
|
assertThat(savedTarget.getTargetInfo().getUpdateStatus()).isEqualTo(TargetUpdateStatus.UNKNOWN);
|
||||||
|
|
||||||
savedTarget = deploymentManagement.assignDistributionSet(ds, toAssign).getAssignedTargets().iterator().next();
|
savedTarget = deploymentManagement.assignDistributionSet(ds, toAssign).getAssignedEntity().iterator().next();
|
||||||
final Action savedAction = deploymentManagement.findActiveActionsByTarget(savedTarget).get(0);
|
final Action savedAction = deploymentManagement.findActiveActionsByTarget(savedTarget).get(0);
|
||||||
|
|
||||||
assertThat(targetManagement.findTargetByControllerID(savedTarget.getControllerId()).getTargetInfo()
|
assertThat(targetManagement.findTargetByControllerID(savedTarget.getControllerId()).getTargetInfo()
|
||||||
@@ -104,7 +104,7 @@ public class ControllerManagementTest extends AbstractIntegrationTest {
|
|||||||
Target savedTarget = targetManagement.createTarget(target);
|
Target savedTarget = targetManagement.createTarget(target);
|
||||||
final List<Target> toAssign = new ArrayList<>();
|
final List<Target> toAssign = new ArrayList<>();
|
||||||
toAssign.add(savedTarget);
|
toAssign.add(savedTarget);
|
||||||
savedTarget = deploymentManagement.assignDistributionSet(ds, toAssign).getAssignedTargets().iterator().next();
|
savedTarget = deploymentManagement.assignDistributionSet(ds, toAssign).getAssignedEntity().iterator().next();
|
||||||
Action savedAction = deploymentManagement.findActiveActionsByTarget(savedTarget).get(0);
|
Action savedAction = deploymentManagement.findActiveActionsByTarget(savedTarget).get(0);
|
||||||
|
|
||||||
// test and verify
|
// test and verify
|
||||||
|
|||||||
@@ -155,8 +155,8 @@ public class DeploymentManagementTest extends AbstractIntegrationTest {
|
|||||||
List<Target> targets = targetManagement
|
List<Target> targets = targetManagement
|
||||||
.createTargets(TestDataUtil.generateTargets(Constants.MAX_ENTRIES_IN_STATEMENT + 10));
|
.createTargets(TestDataUtil.generateTargets(Constants.MAX_ENTRIES_IN_STATEMENT + 10));
|
||||||
|
|
||||||
targets = deploymentManagement.assignDistributionSet(cancelDs, targets).getAssignedTargets();
|
targets = deploymentManagement.assignDistributionSet(cancelDs, targets).getAssignedEntity();
|
||||||
targets = deploymentManagement.assignDistributionSet(cancelDs2, targets).getAssignedTargets();
|
targets = deploymentManagement.assignDistributionSet(cancelDs2, targets).getAssignedEntity();
|
||||||
|
|
||||||
targetManagement.findAllTargetIds().forEach(targetIdName -> {
|
targetManagement.findAllTargetIds().forEach(targetIdName -> {
|
||||||
assertThat(deploymentManagement.findActiveActionsByTarget(
|
assertThat(deploymentManagement.findActiveActionsByTarget(
|
||||||
@@ -604,7 +604,7 @@ public class DeploymentManagementTest extends AbstractIntegrationTest {
|
|||||||
// activeActions, add a corresponding cancelAction and another
|
// activeActions, add a corresponding cancelAction and another
|
||||||
// UpdateAction for dsA
|
// UpdateAction for dsA
|
||||||
final Iterable<Target> deployed2DS = deploymentManagement
|
final Iterable<Target> deployed2DS = deploymentManagement
|
||||||
.assignDistributionSet(dsA, deployResWithDsB.getDeployedTargets()).getAssignedTargets();
|
.assignDistributionSet(dsA, deployResWithDsB.getDeployedTargets()).getAssignedEntity();
|
||||||
actionRepository.findByDistributionSet(pageRequest, dsA).getContent().get(1);
|
actionRepository.findByDistributionSet(pageRequest, dsA).getContent().get(1);
|
||||||
|
|
||||||
// get final updated version of targets
|
// get final updated version of targets
|
||||||
@@ -761,7 +761,7 @@ public class DeploymentManagementTest extends AbstractIntegrationTest {
|
|||||||
targs.add(targ);
|
targs.add(targ);
|
||||||
|
|
||||||
// doing the assignment
|
// doing the assignment
|
||||||
targs = deploymentManagement.assignDistributionSet(dsA, targs).getAssignedTargets();
|
targs = deploymentManagement.assignDistributionSet(dsA, targs).getAssignedEntity();
|
||||||
targ = targetManagement.findTargetByControllerID(targs.iterator().next().getControllerId());
|
targ = targetManagement.findTargetByControllerID(targs.iterator().next().getControllerId());
|
||||||
|
|
||||||
// checking the revisions of the created entities
|
// checking the revisions of the created entities
|
||||||
@@ -799,7 +799,7 @@ public class DeploymentManagementTest extends AbstractIntegrationTest {
|
|||||||
assertEquals("wrong installed ds", dsA, targ.getTargetInfo().getInstalledDistributionSet());
|
assertEquals("wrong installed ds", dsA, targ.getTargetInfo().getInstalledDistributionSet());
|
||||||
|
|
||||||
targs = deploymentManagement.assignDistributionSet(dsB.getId(), new String[] { "target-id-A" })
|
targs = deploymentManagement.assignDistributionSet(dsB.getId(), new String[] { "target-id-A" })
|
||||||
.getAssignedTargets();
|
.getAssignedEntity();
|
||||||
|
|
||||||
targ = targs.iterator().next();
|
targ = targs.iterator().next();
|
||||||
|
|
||||||
@@ -830,7 +830,7 @@ public class DeploymentManagementTest extends AbstractIntegrationTest {
|
|||||||
|
|
||||||
final List<Target> targs = new ArrayList<Target>();
|
final List<Target> targs = new ArrayList<Target>();
|
||||||
targs.add(targ);
|
targs.add(targ);
|
||||||
final Iterable<Target> savedTargs = deploymentManagement.assignDistributionSet(dsA, targs).getAssignedTargets();
|
final Iterable<Target> savedTargs = deploymentManagement.assignDistributionSet(dsA, targs).getAssignedEntity();
|
||||||
targ = savedTargs.iterator().next();
|
targ = savedTargs.iterator().next();
|
||||||
|
|
||||||
assertThat(dsA.getOptLockRevision()).as("lock revision is wrong").isEqualTo(
|
assertThat(dsA.getOptLockRevision()).as("lock revision is wrong").isEqualTo(
|
||||||
@@ -926,7 +926,7 @@ public class DeploymentManagementTest extends AbstractIntegrationTest {
|
|||||||
// assigning all DistributionSet to the Target in the list
|
// assigning all DistributionSet to the Target in the list
|
||||||
// deployedTargets
|
// deployedTargets
|
||||||
for (final DistributionSet ds : dsList) {
|
for (final DistributionSet ds : dsList) {
|
||||||
deployedTargets = deploymentManagement.assignDistributionSet(ds, deployedTargets).getAssignedTargets();
|
deployedTargets = deploymentManagement.assignDistributionSet(ds, deployedTargets).getAssignedEntity();
|
||||||
}
|
}
|
||||||
|
|
||||||
final DeploymentResult deploymentResult = new DeploymentResult(deployedTargets, nakedTargets, dsList,
|
final DeploymentResult deploymentResult = new DeploymentResult(deployedTargets, nakedTargets, dsList,
|
||||||
|
|||||||
@@ -495,11 +495,11 @@ public class DistributionSetManagementTest extends AbstractIntegrationTest {
|
|||||||
distributionSetManagement.deleteDistributionSet(dsDeleted);
|
distributionSetManagement.deleteDistributionSet(dsDeleted);
|
||||||
dsDeleted = distributionSetManagement.findDistributionSetById(dsDeleted.getId());
|
dsDeleted = distributionSetManagement.findDistributionSetById(dsDeleted.getId());
|
||||||
|
|
||||||
ds100Group1 = distributionSetManagement.toggleTagAssignment(ds100Group1, dsTagA).getAssignedDs();
|
ds100Group1 = distributionSetManagement.toggleTagAssignment(ds100Group1, dsTagA).getAssignedEntity();
|
||||||
dsTagA = distributionSetTagRepository.findByNameEquals(dsTagA.getName());
|
dsTagA = distributionSetTagRepository.findByNameEquals(dsTagA.getName());
|
||||||
ds100Group1 = distributionSetManagement.toggleTagAssignment(ds100Group1, dsTagB).getAssignedDs();
|
ds100Group1 = distributionSetManagement.toggleTagAssignment(ds100Group1, dsTagB).getAssignedEntity();
|
||||||
dsTagA = distributionSetTagRepository.findByNameEquals(dsTagA.getName());
|
dsTagA = distributionSetTagRepository.findByNameEquals(dsTagA.getName());
|
||||||
ds100Group2 = distributionSetManagement.toggleTagAssignment(ds100Group2, dsTagA).getAssignedDs();
|
ds100Group2 = distributionSetManagement.toggleTagAssignment(ds100Group2, dsTagA).getAssignedEntity();
|
||||||
dsTagA = distributionSetTagRepository.findByNameEquals(dsTagA.getName());
|
dsTagA = distributionSetTagRepository.findByNameEquals(dsTagA.getName());
|
||||||
|
|
||||||
// check setup
|
// check setup
|
||||||
|
|||||||
@@ -179,29 +179,29 @@ public class TagManagementTest extends AbstractIntegrationTest {
|
|||||||
DistributionSetTagAssignmentResult result = distributionSetManagement.toggleTagAssignment(groupA, tag);
|
DistributionSetTagAssignmentResult result = distributionSetManagement.toggleTagAssignment(groupA, tag);
|
||||||
assertThat(result.getAlreadyAssigned()).isEqualTo(0);
|
assertThat(result.getAlreadyAssigned()).isEqualTo(0);
|
||||||
assertThat(result.getAssigned()).isEqualTo(20);
|
assertThat(result.getAssigned()).isEqualTo(20);
|
||||||
assertThat(result.getAssignedDs()).containsAll(distributionSetManagement.findDistributionSetListWithDetails(
|
assertThat(result.getAssignedEntity()).containsAll(distributionSetManagement.findDistributionSetListWithDetails(
|
||||||
groupA.stream().map(set -> set.getId()).collect(Collectors.toList())));
|
groupA.stream().map(set -> set.getId()).collect(Collectors.toList())));
|
||||||
assertThat(result.getUnassigned()).isEqualTo(0);
|
assertThat(result.getUnassigned()).isEqualTo(0);
|
||||||
assertThat(result.getUnassignedDs()).isEmpty();
|
assertThat(result.getUnassignedEntity()).isEmpty();
|
||||||
assertThat(result.getDistributionSetTag()).isEqualTo(tag);
|
assertThat(result.getDistributionSetTag()).isEqualTo(tag);
|
||||||
|
|
||||||
// toggle A+B -> A is still assigned and B is assigned as well
|
// toggle A+B -> A is still assigned and B is assigned as well
|
||||||
result = distributionSetManagement.toggleTagAssignment(concat(groupA, groupB), tag);
|
result = distributionSetManagement.toggleTagAssignment(concat(groupA, groupB), tag);
|
||||||
assertThat(result.getAlreadyAssigned()).isEqualTo(20);
|
assertThat(result.getAlreadyAssigned()).isEqualTo(20);
|
||||||
assertThat(result.getAssigned()).isEqualTo(20);
|
assertThat(result.getAssigned()).isEqualTo(20);
|
||||||
assertThat(result.getAssignedDs()).containsAll(distributionSetManagement.findDistributionSetListWithDetails(
|
assertThat(result.getAssignedEntity()).containsAll(distributionSetManagement.findDistributionSetListWithDetails(
|
||||||
groupB.stream().map(set -> set.getId()).collect(Collectors.toList())));
|
groupB.stream().map(set -> set.getId()).collect(Collectors.toList())));
|
||||||
assertThat(result.getUnassigned()).isEqualTo(0);
|
assertThat(result.getUnassigned()).isEqualTo(0);
|
||||||
assertThat(result.getUnassignedDs()).isEmpty();
|
assertThat(result.getUnassignedEntity()).isEmpty();
|
||||||
assertThat(result.getDistributionSetTag()).isEqualTo(tag);
|
assertThat(result.getDistributionSetTag()).isEqualTo(tag);
|
||||||
|
|
||||||
// toggle A+B -> both unassigned
|
// toggle A+B -> both unassigned
|
||||||
result = distributionSetManagement.toggleTagAssignment(concat(groupA, groupB), tag);
|
result = distributionSetManagement.toggleTagAssignment(concat(groupA, groupB), tag);
|
||||||
assertThat(result.getAlreadyAssigned()).isEqualTo(0);
|
assertThat(result.getAlreadyAssigned()).isEqualTo(0);
|
||||||
assertThat(result.getAssigned()).isEqualTo(0);
|
assertThat(result.getAssigned()).isEqualTo(0);
|
||||||
assertThat(result.getAssignedDs()).isEmpty();
|
assertThat(result.getAssignedEntity()).isEmpty();
|
||||||
assertThat(result.getUnassigned()).isEqualTo(40);
|
assertThat(result.getUnassigned()).isEqualTo(40);
|
||||||
assertThat(result.getUnassignedDs()).containsAll(distributionSetManagement.findDistributionSetListWithDetails(
|
assertThat(result.getUnassignedEntity()).containsAll(distributionSetManagement.findDistributionSetListWithDetails(
|
||||||
concat(groupB, groupA).stream().map(set -> set.getId()).collect(Collectors.toList())));
|
concat(groupB, groupA).stream().map(set -> set.getId()).collect(Collectors.toList())));
|
||||||
assertThat(result.getDistributionSetTag()).isEqualTo(tag);
|
assertThat(result.getDistributionSetTag()).isEqualTo(tag);
|
||||||
|
|
||||||
@@ -220,29 +220,29 @@ public class TagManagementTest extends AbstractIntegrationTest {
|
|||||||
TargetTagAssignmentResult result = targetManagement.toggleTagAssignment(groupA, tag);
|
TargetTagAssignmentResult result = targetManagement.toggleTagAssignment(groupA, tag);
|
||||||
assertThat(result.getAlreadyAssigned()).isEqualTo(0);
|
assertThat(result.getAlreadyAssigned()).isEqualTo(0);
|
||||||
assertThat(result.getAssigned()).isEqualTo(20);
|
assertThat(result.getAssigned()).isEqualTo(20);
|
||||||
assertThat(result.getAssignedTargets()).containsAll(targetManagement.findTargetsByControllerIDsWithTags(
|
assertThat(result.getAssignedEntity()).containsAll(targetManagement.findTargetsByControllerIDsWithTags(
|
||||||
groupA.stream().map(target -> target.getControllerId()).collect(Collectors.toList())));
|
groupA.stream().map(target -> target.getControllerId()).collect(Collectors.toList())));
|
||||||
assertThat(result.getUnassigned()).isEqualTo(0);
|
assertThat(result.getUnassigned()).isEqualTo(0);
|
||||||
assertThat(result.getUnassignedTargets()).isEmpty();
|
assertThat(result.getUnassignedEntity()).isEmpty();
|
||||||
assertThat(result.getTargetTag()).isEqualTo(tag);
|
assertThat(result.getTargetTag()).isEqualTo(tag);
|
||||||
|
|
||||||
// toggle A+B -> A is still assigned and B is assigned as well
|
// toggle A+B -> A is still assigned and B is assigned as well
|
||||||
result = targetManagement.toggleTagAssignment(concat(groupA, groupB), tag);
|
result = targetManagement.toggleTagAssignment(concat(groupA, groupB), tag);
|
||||||
assertThat(result.getAlreadyAssigned()).isEqualTo(20);
|
assertThat(result.getAlreadyAssigned()).isEqualTo(20);
|
||||||
assertThat(result.getAssigned()).isEqualTo(20);
|
assertThat(result.getAssigned()).isEqualTo(20);
|
||||||
assertThat(result.getAssignedTargets()).containsAll(targetManagement.findTargetsByControllerIDsWithTags(
|
assertThat(result.getAssignedEntity()).containsAll(targetManagement.findTargetsByControllerIDsWithTags(
|
||||||
groupB.stream().map(target -> target.getControllerId()).collect(Collectors.toList())));
|
groupB.stream().map(target -> target.getControllerId()).collect(Collectors.toList())));
|
||||||
assertThat(result.getUnassigned()).isEqualTo(0);
|
assertThat(result.getUnassigned()).isEqualTo(0);
|
||||||
assertThat(result.getUnassignedTargets()).isEmpty();
|
assertThat(result.getUnassignedEntity()).isEmpty();
|
||||||
assertThat(result.getTargetTag()).isEqualTo(tag);
|
assertThat(result.getTargetTag()).isEqualTo(tag);
|
||||||
|
|
||||||
// toggle A+B -> both unassigned
|
// toggle A+B -> both unassigned
|
||||||
result = targetManagement.toggleTagAssignment(concat(groupA, groupB), tag);
|
result = targetManagement.toggleTagAssignment(concat(groupA, groupB), tag);
|
||||||
assertThat(result.getAlreadyAssigned()).isEqualTo(0);
|
assertThat(result.getAlreadyAssigned()).isEqualTo(0);
|
||||||
assertThat(result.getAssigned()).isEqualTo(0);
|
assertThat(result.getAssigned()).isEqualTo(0);
|
||||||
assertThat(result.getAssignedTargets()).isEmpty();
|
assertThat(result.getAssignedEntity()).isEmpty();
|
||||||
assertThat(result.getUnassigned()).isEqualTo(40);
|
assertThat(result.getUnassigned()).isEqualTo(40);
|
||||||
assertThat(result.getUnassignedTargets()).containsAll(targetManagement.findTargetsByControllerIDsWithTags(
|
assertThat(result.getUnassignedEntity()).containsAll(targetManagement.findTargetsByControllerIDsWithTags(
|
||||||
concat(groupB, groupA).stream().map(target -> target.getControllerId()).collect(Collectors.toList())));
|
concat(groupB, groupA).stream().map(target -> target.getControllerId()).collect(Collectors.toList())));
|
||||||
assertThat(result.getTargetTag()).isEqualTo(tag);
|
assertThat(result.getTargetTag()).isEqualTo(tag);
|
||||||
|
|
||||||
|
|||||||
@@ -64,19 +64,19 @@ public class TargetManagementSearchTest extends AbstractIntegrationTest {
|
|||||||
final String targetDsAIdPref = "targ-A";
|
final String targetDsAIdPref = "targ-A";
|
||||||
List<Target> targAs = targetManagement.createTargets(
|
List<Target> targAs = targetManagement.createTargets(
|
||||||
TestDataUtil.buildTargetFixtures(100, targetDsAIdPref, targetDsAIdPref.concat(" description")));
|
TestDataUtil.buildTargetFixtures(100, targetDsAIdPref, targetDsAIdPref.concat(" description")));
|
||||||
targAs = targetManagement.toggleTagAssignment(targAs, targTagX).getAssignedTargets();
|
targAs = targetManagement.toggleTagAssignment(targAs, targTagX).getAssignedEntity();
|
||||||
|
|
||||||
final String targetDsBIdPref = "targ-B";
|
final String targetDsBIdPref = "targ-B";
|
||||||
List<Target> targBs = targetManagement.createTargets(
|
List<Target> targBs = targetManagement.createTargets(
|
||||||
TestDataUtil.buildTargetFixtures(100, targetDsBIdPref, targetDsBIdPref.concat(" description")));
|
TestDataUtil.buildTargetFixtures(100, targetDsBIdPref, targetDsBIdPref.concat(" description")));
|
||||||
targBs = targetManagement.toggleTagAssignment(targBs, targTagY).getAssignedTargets();
|
targBs = targetManagement.toggleTagAssignment(targBs, targTagY).getAssignedEntity();
|
||||||
targBs = targetManagement.toggleTagAssignment(targBs, targTagW).getAssignedTargets();
|
targBs = targetManagement.toggleTagAssignment(targBs, targTagW).getAssignedEntity();
|
||||||
|
|
||||||
final String targetDsCIdPref = "targ-C";
|
final String targetDsCIdPref = "targ-C";
|
||||||
List<Target> targCs = targetManagement.createTargets(
|
List<Target> targCs = targetManagement.createTargets(
|
||||||
TestDataUtil.buildTargetFixtures(100, targetDsCIdPref, targetDsCIdPref.concat(" description")));
|
TestDataUtil.buildTargetFixtures(100, targetDsCIdPref, targetDsCIdPref.concat(" description")));
|
||||||
targCs = targetManagement.toggleTagAssignment(targCs, targTagZ).getAssignedTargets();
|
targCs = targetManagement.toggleTagAssignment(targCs, targTagZ).getAssignedEntity();
|
||||||
targCs = targetManagement.toggleTagAssignment(targCs, targTagW).getAssignedTargets();
|
targCs = targetManagement.toggleTagAssignment(targCs, targTagW).getAssignedEntity();
|
||||||
|
|
||||||
final String targetDsDIdPref = "targ-D";
|
final String targetDsDIdPref = "targ-D";
|
||||||
final List<Target> targDs = targetManagement.createTargets(
|
final List<Target> targDs = targetManagement.createTargets(
|
||||||
@@ -688,8 +688,8 @@ public class TargetManagementSearchTest extends AbstractIntegrationTest {
|
|||||||
final DistributionSet ds = TestDataUtil.generateDistributionSet("a", softwareManagement,
|
final DistributionSet ds = TestDataUtil.generateDistributionSet("a", softwareManagement,
|
||||||
distributionSetManagement);
|
distributionSetManagement);
|
||||||
|
|
||||||
targAssigned = deploymentManagement.assignDistributionSet(ds, targAssigned).getAssignedTargets();
|
targAssigned = deploymentManagement.assignDistributionSet(ds, targAssigned).getAssignedEntity();
|
||||||
targInstalled = deploymentManagement.assignDistributionSet(ds, targInstalled).getAssignedTargets();
|
targInstalled = deploymentManagement.assignDistributionSet(ds, targInstalled).getAssignedEntity();
|
||||||
targInstalled = sendUpdateActionStatusToTargets(ds, targInstalled, Status.FINISHED, "installed");
|
targInstalled = sendUpdateActionStatusToTargets(ds, targInstalled, Status.FINISHED, "installed");
|
||||||
|
|
||||||
final Slice<Target> result = targetManagement.findTargetsAllOrderByLinkedDistributionSet(pageReq, ds.getId(),
|
final Slice<Target> result = targetManagement.findTargetsAllOrderByLinkedDistributionSet(pageReq, ds.getId(),
|
||||||
|
|||||||
@@ -49,7 +49,6 @@ import org.slf4j.LoggerFactory;
|
|||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.context.ConfigurableApplicationContext;
|
import org.springframework.context.ConfigurableApplicationContext;
|
||||||
import org.springframework.data.auditing.AuditingHandler;
|
import org.springframework.data.auditing.AuditingHandler;
|
||||||
import org.springframework.data.auditing.DateTimeProvider;
|
|
||||||
import org.springframework.data.jpa.repository.Modifying;
|
import org.springframework.data.jpa.repository.Modifying;
|
||||||
import org.springframework.security.authentication.TestingAuthenticationToken;
|
import org.springframework.security.authentication.TestingAuthenticationToken;
|
||||||
import org.springframework.security.core.context.SecurityContext;
|
import org.springframework.security.core.context.SecurityContext;
|
||||||
@@ -132,24 +131,18 @@ public final class RepositoryDataGenerator {
|
|||||||
final DistributionSetTag dsTag = tagManagement
|
final DistributionSetTag dsTag = tagManagement
|
||||||
.createDistributionSetTag(new DistributionSetTag("For " + group + "s"));
|
.createDistributionSetTag(new DistributionSetTag("For " + group + "s"));
|
||||||
|
|
||||||
auditingHandler.setDateTimeProvider(new DateTimeProvider() {
|
auditingHandler.setDateTimeProvider(() -> {
|
||||||
@Override
|
final Calendar instance = Calendar.getInstance();
|
||||||
public Calendar getNow() {
|
instance.add(Calendar.MONTH, -new Random().nextInt(7));
|
||||||
final Calendar instance = Calendar.getInstance();
|
|
||||||
instance.add(Calendar.MONTH, -new Random().nextInt(7));
|
|
||||||
|
|
||||||
return instance;
|
return instance;
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
|
||||||
final List<Target> targets = createTargetTestGroup(group, 20 * sizeMultiplikator);
|
final List<Target> targets = createTargetTestGroup(group, 20 * sizeMultiplikator);
|
||||||
|
|
||||||
auditingHandler.setDateTimeProvider(new DateTimeProvider() {
|
auditingHandler.setDateTimeProvider(() -> {
|
||||||
@Override
|
final Calendar instance = Calendar.getInstance();
|
||||||
public Calendar getNow() {
|
return instance;
|
||||||
final Calendar instance = Calendar.getInstance();
|
|
||||||
return instance;
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
|
||||||
LOG.debug("initDemoRepo - start now real action history for group: {}", group);
|
LOG.debug("initDemoRepo - start now real action history for group: {}", group);
|
||||||
@@ -290,7 +283,7 @@ public final class RepositoryDataGenerator {
|
|||||||
|
|
||||||
LOG.debug("createTargetTestGroup: {} targets status updated including IP", group);
|
LOG.debug("createTargetTestGroup: {} targets status updated including IP", group);
|
||||||
|
|
||||||
return targetManagement.toggleTagAssignment(targAs, targTag).getAssignedTargets();
|
return targetManagement.toggleTagAssignment(targAs, targTag).getAssignedEntity();
|
||||||
}
|
}
|
||||||
|
|
||||||
private List<Target> buildTargets(final int noOfTgts, final String descriptionPrefix) {
|
private List<Target> buildTargets(final int noOfTgts, final String descriptionPrefix) {
|
||||||
@@ -328,75 +321,70 @@ public final class RepositoryDataGenerator {
|
|||||||
private void initDemoRepo(final int sizeMultiplikator, final int loadtestgroups) {
|
private void initDemoRepo(final int sizeMultiplikator, final int loadtestgroups) {
|
||||||
final LoremIpsum jlorem = new LoremIpsum();
|
final LoremIpsum jlorem = new LoremIpsum();
|
||||||
|
|
||||||
runAsAllAuthorityContext(new Runnable() {
|
runAsAllAuthorityContext(() -> {
|
||||||
|
dbCleanupUtil.cleanupDB(null);
|
||||||
|
|
||||||
@Override
|
// generate targets and assign DS
|
||||||
public void run() {
|
// 5 groups - 100 targets each -> 500
|
||||||
dbCleanupUtil.cleanupDB(null);
|
final String[] targetTestGroups = { "SHC", "CCU", "Vehicle", "Vending machine", "ECU" };
|
||||||
|
|
||||||
// generate targets and assign DS
|
final String[] modulesTypes = { "HeadUnit_FW", "EDC17_FW", "OSGi_Bundle" };
|
||||||
// 5 groups - 100 targets each -> 500
|
|
||||||
final String[] targetTestGroups = { "SHC", "CCU", "Vehicle", "Vending machine", "ECU" };
|
|
||||||
|
|
||||||
final String[] modulesTypes = { "HeadUnit_FW", "EDC17_FW", "OSGi_Bundle" };
|
final DistributionSetTag depTag = tagManagement
|
||||||
|
.createDistributionSetTag(new DistributionSetTag("deprecated"));
|
||||||
|
|
||||||
final DistributionSetTag depTag = tagManagement
|
Arrays.stream(targetTestGroups).forEach(group -> {
|
||||||
.createDistributionSetTag(new DistributionSetTag("deprecated"));
|
generateTestTagetGroup(group, sizeMultiplikator);
|
||||||
|
});
|
||||||
|
|
||||||
Arrays.stream(targetTestGroups).forEach(group -> {
|
// garbage DS
|
||||||
generateTestTagetGroup(group, sizeMultiplikator);
|
LOG.debug("initDemoRepo - start now DS garbage");
|
||||||
});
|
TestDataUtil.generateDistributionSets("Generic Software Package", sizeMultiplikator,
|
||||||
|
softwareManagement, distributionSetManagement);
|
||||||
|
LOG.debug("initDemoRepo - DS garbage finished");
|
||||||
|
|
||||||
// garbage DS
|
LOG.debug("initDemoRepo - start now Extra Software Modules and types");
|
||||||
LOG.debug("initDemoRepo - start now DS garbage");
|
Arrays.stream(modulesTypes).forEach(typeName -> {
|
||||||
TestDataUtil.generateDistributionSets("Generic Software Package", sizeMultiplikator,
|
final SoftwareModuleType smtype = softwareManagement.createSoftwareModuleType(
|
||||||
softwareManagement, distributionSetManagement);
|
new SoftwareModuleType(typeName.toLowerCase().replaceAll("\\s+", ""), typeName,
|
||||||
LOG.debug("initDemoRepo - DS garbage finished");
|
jlorem.words(5), Integer.MAX_VALUE));
|
||||||
|
|
||||||
LOG.debug("initDemoRepo - start now Extra Software Modules and types");
|
for (int i1 = 0; i1 < sizeMultiplikator; i1++) {
|
||||||
Arrays.stream(modulesTypes).forEach(typeName -> {
|
softwareManagement.createSoftwareModule(new SoftwareModule(smtype, typeName + i1, "1.0." + i1,
|
||||||
final SoftwareModuleType smtype = softwareManagement.createSoftwareModuleType(
|
jlorem.words(5), "the " + typeName + " vendor Inc."));
|
||||||
new SoftwareModuleType(typeName.toLowerCase().replaceAll("\\s+", ""), typeName,
|
|
||||||
jlorem.words(5), Integer.MAX_VALUE));
|
|
||||||
|
|
||||||
for (int i = 0; i < sizeMultiplikator; i++) {
|
|
||||||
softwareManagement.createSoftwareModule(new SoftwareModule(smtype, typeName + i, "1.0." + i,
|
|
||||||
jlorem.words(5), "the " + typeName + " vendor Inc."));
|
|
||||||
}
|
|
||||||
|
|
||||||
});
|
|
||||||
LOG.debug("initDemoRepo - Extra Software Modules and types finished");
|
|
||||||
|
|
||||||
LOG.debug("initDemoRepo - start now target garbage");
|
|
||||||
|
|
||||||
// garbage targets
|
|
||||||
// unknown
|
|
||||||
targetManagement
|
|
||||||
.createTargets(TestDataUtil.generateTargets(targetTestGroups.length * sizeMultiplikator));
|
|
||||||
|
|
||||||
// registered
|
|
||||||
targetManagement.createTargets(
|
|
||||||
TestDataUtil.generateTargets(targetTestGroups.length * sizeMultiplikator, "registered"),
|
|
||||||
TargetUpdateStatus.REGISTERED, System.currentTimeMillis(), generateIPAddress());
|
|
||||||
|
|
||||||
// pending
|
|
||||||
final DistributionSetTag dsTag = tagManagement
|
|
||||||
.createDistributionSetTag(new DistributionSetTag("OnlyAssignedTag"));
|
|
||||||
final DistributionSet ds = TestDataUtil.generateDistributionSet("Pending DS", "v1.0",
|
|
||||||
softwareManagement, distributionSetManagement,
|
|
||||||
Arrays.asList(new DistributionSetTag[] { dsTag }));
|
|
||||||
deploymentManagement.assignDistributionSet(ds, targetManagement.createTargets(
|
|
||||||
TestDataUtil.generateTargets(targetTestGroups.length * sizeMultiplikator, "pending")));
|
|
||||||
|
|
||||||
// Load test means additional 1_000_000 target
|
|
||||||
|
|
||||||
for (int i = 0; i < loadtestgroups; i++) {
|
|
||||||
targetManagement.createTargets(TestDataUtil.generateTargets(i * 1_000, 1_000, "loadtest-"));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
LOG.debug("initDemoRepo complete");
|
});
|
||||||
|
LOG.debug("initDemoRepo - Extra Software Modules and types finished");
|
||||||
|
|
||||||
|
LOG.debug("initDemoRepo - start now target garbage");
|
||||||
|
|
||||||
|
// garbage targets
|
||||||
|
// unknown
|
||||||
|
targetManagement
|
||||||
|
.createTargets(TestDataUtil.generateTargets(targetTestGroups.length * sizeMultiplikator));
|
||||||
|
|
||||||
|
// registered
|
||||||
|
targetManagement.createTargets(
|
||||||
|
TestDataUtil.generateTargets(targetTestGroups.length * sizeMultiplikator, "registered"),
|
||||||
|
TargetUpdateStatus.REGISTERED, System.currentTimeMillis(), generateIPAddress());
|
||||||
|
|
||||||
|
// pending
|
||||||
|
final DistributionSetTag dsTag = tagManagement
|
||||||
|
.createDistributionSetTag(new DistributionSetTag("OnlyAssignedTag"));
|
||||||
|
final DistributionSet ds = TestDataUtil.generateDistributionSet("Pending DS", "v1.0",
|
||||||
|
softwareManagement, distributionSetManagement,
|
||||||
|
Arrays.asList(new DistributionSetTag[] { dsTag }));
|
||||||
|
deploymentManagement.assignDistributionSet(ds, targetManagement.createTargets(
|
||||||
|
TestDataUtil.generateTargets(targetTestGroups.length * sizeMultiplikator, "pending")));
|
||||||
|
|
||||||
|
// Load test means additional 1_000_000 target
|
||||||
|
|
||||||
|
for (int i2 = 0; i2 < loadtestgroups; i2++) {
|
||||||
|
targetManagement.createTargets(TestDataUtil.generateTargets(i2 * 1_000, 1_000, "loadtest-"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
LOG.debug("initDemoRepo complete");
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -139,9 +139,9 @@ public class DistributionSetTagResource implements DistributionSetTagRestApi {
|
|||||||
|
|
||||||
final DistributionSetTagAssigmentResultRest tagAssigmentResultRest = new DistributionSetTagAssigmentResultRest();
|
final DistributionSetTagAssigmentResultRest tagAssigmentResultRest = new DistributionSetTagAssigmentResultRest();
|
||||||
tagAssigmentResultRest.setAssignedDistributionSets(
|
tagAssigmentResultRest.setAssignedDistributionSets(
|
||||||
DistributionSetMapper.toResponseDistributionSets(assigmentResult.getAssignedDs()));
|
DistributionSetMapper.toResponseDistributionSets(assigmentResult.getAssignedEntity()));
|
||||||
tagAssigmentResultRest.setUnassignedDistributionSets(
|
tagAssigmentResultRest.setUnassignedDistributionSets(
|
||||||
DistributionSetMapper.toResponseDistributionSets(assigmentResult.getUnassignedDs()));
|
DistributionSetMapper.toResponseDistributionSets(assigmentResult.getUnassignedEntity()));
|
||||||
|
|
||||||
LOG.debug("Toggled assignedDS {} and unassignedDS{}", assigmentResult.getAssigned(),
|
LOG.debug("Toggled assignedDS {} and unassignedDS{}", assigmentResult.getAssigned(),
|
||||||
assigmentResult.getUnassigned());
|
assigmentResult.getUnassigned());
|
||||||
|
|||||||
@@ -263,7 +263,7 @@ public class TargetResource implements TargetRestApi {
|
|||||||
final ActionType type = (dsId.getType() != null)
|
final ActionType type = (dsId.getType() != null)
|
||||||
? RestResourceConversionHelper.convertActionType(dsId.getType()) : ActionType.FORCED;
|
? RestResourceConversionHelper.convertActionType(dsId.getType()) : ActionType.FORCED;
|
||||||
final Iterator<Target> changed = this.deploymentManagement
|
final Iterator<Target> changed = this.deploymentManagement
|
||||||
.assignDistributionSet(dsId.getId(), type, dsId.getForcetime(), targetId).getAssignedTargets()
|
.assignDistributionSet(dsId.getId(), type, dsId.getForcetime(), targetId).getAssignedEntity()
|
||||||
.iterator();
|
.iterator();
|
||||||
if (changed.hasNext()) {
|
if (changed.hasNext()) {
|
||||||
return new ResponseEntity<>(HttpStatus.OK);
|
return new ResponseEntity<>(HttpStatus.OK);
|
||||||
|
|||||||
@@ -133,8 +133,8 @@ public class TargetTagResource implements TargetTagRestApi {
|
|||||||
.toggleTagAssignment(findTargetControllerIds(assignedTargetRequestBodies), targetTag.getName());
|
.toggleTagAssignment(findTargetControllerIds(assignedTargetRequestBodies), targetTag.getName());
|
||||||
|
|
||||||
final TargetTagAssigmentResultRest tagAssigmentResultRest = new TargetTagAssigmentResultRest();
|
final TargetTagAssigmentResultRest tagAssigmentResultRest = new TargetTagAssigmentResultRest();
|
||||||
tagAssigmentResultRest.setAssignedTargets(TargetMapper.toResponse(assigmentResult.getAssignedTargets()));
|
tagAssigmentResultRest.setAssignedTargets(TargetMapper.toResponse(assigmentResult.getAssignedEntity()));
|
||||||
tagAssigmentResultRest.setUnassignedTargets(TargetMapper.toResponse(assigmentResult.getUnassignedTargets()));
|
tagAssigmentResultRest.setUnassignedTargets(TargetMapper.toResponse(assigmentResult.getUnassignedEntity()));
|
||||||
return new ResponseEntity<>(tagAssigmentResultRest, HttpStatus.OK);
|
return new ResponseEntity<>(tagAssigmentResultRest, HttpStatus.OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -114,12 +114,12 @@ public class DeploymentBaseTest extends AbstractIntegrationTestWithMongoDB {
|
|||||||
assertThat(actionStatusRepository.findAll()).isEmpty();
|
assertThat(actionStatusRepository.findAll()).isEmpty();
|
||||||
|
|
||||||
List<Target> saved = deploymentManagement.assignDistributionSet(ds.getId(), ActionType.FORCED,
|
List<Target> saved = deploymentManagement.assignDistributionSet(ds.getId(), ActionType.FORCED,
|
||||||
Action.NO_FORCE_TIME, savedTarget.getControllerId()).getAssignedTargets();
|
Action.NO_FORCE_TIME, savedTarget.getControllerId()).getAssignedEntity();
|
||||||
assertThat(deploymentManagement.findActiveActionsByTarget(savedTarget)).hasSize(1);
|
assertThat(deploymentManagement.findActiveActionsByTarget(savedTarget)).hasSize(1);
|
||||||
|
|
||||||
final Action action = deploymentManagement.findActiveActionsByTarget(savedTarget).get(0);
|
final Action action = deploymentManagement.findActiveActionsByTarget(savedTarget).get(0);
|
||||||
assertThat(actionRepository.findAll()).hasSize(1);
|
assertThat(actionRepository.findAll()).hasSize(1);
|
||||||
saved = deploymentManagement.assignDistributionSet(ds2, saved).getAssignedTargets();
|
saved = deploymentManagement.assignDistributionSet(ds2, saved).getAssignedEntity();
|
||||||
assertThat(deploymentManagement.findActiveActionsByTarget(savedTarget)).hasSize(2);
|
assertThat(deploymentManagement.findActiveActionsByTarget(savedTarget)).hasSize(2);
|
||||||
assertThat(actionRepository.findAll()).hasSize(2);
|
assertThat(actionRepository.findAll()).hasSize(2);
|
||||||
|
|
||||||
@@ -236,12 +236,12 @@ public class DeploymentBaseTest extends AbstractIntegrationTestWithMongoDB {
|
|||||||
|
|
||||||
List<Target> saved = deploymentManagement
|
List<Target> saved = deploymentManagement
|
||||||
.assignDistributionSet(ds.getId(), ActionType.SOFT, Action.NO_FORCE_TIME, savedTarget.getControllerId())
|
.assignDistributionSet(ds.getId(), ActionType.SOFT, Action.NO_FORCE_TIME, savedTarget.getControllerId())
|
||||||
.getAssignedTargets();
|
.getAssignedEntity();
|
||||||
assertThat(deploymentManagement.findActiveActionsByTarget(savedTarget)).hasSize(1);
|
assertThat(deploymentManagement.findActiveActionsByTarget(savedTarget)).hasSize(1);
|
||||||
|
|
||||||
final Action action = deploymentManagement.findActiveActionsByTarget(savedTarget).get(0);
|
final Action action = deploymentManagement.findActiveActionsByTarget(savedTarget).get(0);
|
||||||
assertThat(actionRepository.findAll()).hasSize(1);
|
assertThat(actionRepository.findAll()).hasSize(1);
|
||||||
saved = deploymentManagement.assignDistributionSet(ds2, saved).getAssignedTargets();
|
saved = deploymentManagement.assignDistributionSet(ds2, saved).getAssignedEntity();
|
||||||
assertThat(deploymentManagement.findActiveActionsByTarget(savedTarget)).hasSize(2);
|
assertThat(deploymentManagement.findActiveActionsByTarget(savedTarget)).hasSize(2);
|
||||||
assertThat(actionRepository.findAll()).hasSize(2);
|
assertThat(actionRepository.findAll()).hasSize(2);
|
||||||
|
|
||||||
@@ -358,12 +358,12 @@ public class DeploymentBaseTest extends AbstractIntegrationTestWithMongoDB {
|
|||||||
assertThat(actionStatusRepository.findAll()).isEmpty();
|
assertThat(actionStatusRepository.findAll()).isEmpty();
|
||||||
|
|
||||||
List<Target> saved = deploymentManagement.assignDistributionSet(ds.getId(), ActionType.TIMEFORCED,
|
List<Target> saved = deploymentManagement.assignDistributionSet(ds.getId(), ActionType.TIMEFORCED,
|
||||||
System.currentTimeMillis(), savedTarget.getControllerId()).getAssignedTargets();
|
System.currentTimeMillis(), savedTarget.getControllerId()).getAssignedEntity();
|
||||||
assertThat(deploymentManagement.findActiveActionsByTarget(savedTarget)).hasSize(1);
|
assertThat(deploymentManagement.findActiveActionsByTarget(savedTarget)).hasSize(1);
|
||||||
|
|
||||||
final Action action = deploymentManagement.findActiveActionsByTarget(savedTarget).get(0);
|
final Action action = deploymentManagement.findActiveActionsByTarget(savedTarget).get(0);
|
||||||
assertThat(actionRepository.findAll()).hasSize(1);
|
assertThat(actionRepository.findAll()).hasSize(1);
|
||||||
saved = deploymentManagement.assignDistributionSet(ds2, saved).getAssignedTargets();
|
saved = deploymentManagement.assignDistributionSet(ds2, saved).getAssignedEntity();
|
||||||
assertThat(deploymentManagement.findActiveActionsByTarget(savedTarget)).hasSize(2);
|
assertThat(deploymentManagement.findActiveActionsByTarget(savedTarget)).hasSize(2);
|
||||||
assertThat(actionRepository.findAll()).hasSize(2);
|
assertThat(actionRepository.findAll()).hasSize(2);
|
||||||
|
|
||||||
@@ -887,7 +887,7 @@ public class DeploymentBaseTest extends AbstractIntegrationTestWithMongoDB {
|
|||||||
|
|
||||||
assertThat(targetManagement.findTargetByControllerID("4712").getTargetInfo().getUpdateStatus())
|
assertThat(targetManagement.findTargetByControllerID("4712").getTargetInfo().getUpdateStatus())
|
||||||
.isEqualTo(TargetUpdateStatus.UNKNOWN);
|
.isEqualTo(TargetUpdateStatus.UNKNOWN);
|
||||||
savedTarget = deploymentManagement.assignDistributionSet(savedSet, toAssign).getAssignedTargets().iterator()
|
savedTarget = deploymentManagement.assignDistributionSet(savedSet, toAssign).getAssignedEntity().iterator()
|
||||||
.next();
|
.next();
|
||||||
deploymentManagement.assignDistributionSet(savedSet2, toAssign2);
|
deploymentManagement.assignDistributionSet(savedSet2, toAssign2);
|
||||||
|
|
||||||
|
|||||||
@@ -270,7 +270,7 @@ public class RootControllerTest extends AbstractIntegrationTestWithMongoDB {
|
|||||||
Target savedTarget = targetManagement.createTarget(target);
|
Target savedTarget = targetManagement.createTarget(target);
|
||||||
final List<Target> toAssign = new ArrayList<Target>();
|
final List<Target> toAssign = new ArrayList<Target>();
|
||||||
toAssign.add(savedTarget);
|
toAssign.add(savedTarget);
|
||||||
savedTarget = deploymentManagement.assignDistributionSet(ds, toAssign).getAssignedTargets().iterator().next();
|
savedTarget = deploymentManagement.assignDistributionSet(ds, toAssign).getAssignedEntity().iterator().next();
|
||||||
final Action savedAction = deploymentManagement.findActiveActionsByTarget(savedTarget).get(0);
|
final Action savedAction = deploymentManagement.findActiveActionsByTarget(savedTarget).get(0);
|
||||||
mvc.perform(post("/{tenant}/controller/v1/911/deploymentBase/" + savedAction.getId() + "/feedback",
|
mvc.perform(post("/{tenant}/controller/v1/911/deploymentBase/" + savedAction.getId() + "/feedback",
|
||||||
tenantAware.getCurrentTenant())
|
tenantAware.getCurrentTenant())
|
||||||
|
|||||||
@@ -1029,7 +1029,7 @@ public class TargetResourceTest extends AbstractIntegrationTest {
|
|||||||
|
|
||||||
// Update
|
// Update
|
||||||
final List<Target> updatedTargets = deploymentManagement.assignDistributionSet(one, targets)
|
final List<Target> updatedTargets = deploymentManagement.assignDistributionSet(one, targets)
|
||||||
.getAssignedTargets();
|
.getAssignedEntity();
|
||||||
// 2nd update
|
// 2nd update
|
||||||
// sleep 10ms to ensure that we can sort by reportedAt
|
// sleep 10ms to ensure that we can sort by reportedAt
|
||||||
Thread.sleep(10);
|
Thread.sleep(10);
|
||||||
|
|||||||
@@ -14,12 +14,7 @@ import java.util.List;
|
|||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import org.eclipse.hawkbit.ui.common.AbstractAcceptCriteria;
|
import org.eclipse.hawkbit.ui.common.AbstractAcceptCriteria;
|
||||||
import org.eclipse.hawkbit.ui.management.event.DragEvent;
|
|
||||||
import org.eclipse.hawkbit.ui.utils.SPUIComponetIdProvider;
|
import org.eclipse.hawkbit.ui.utils.SPUIComponetIdProvider;
|
||||||
import org.eclipse.hawkbit.ui.utils.SPUILabelDefinitions;
|
|
||||||
import org.eclipse.hawkbit.ui.utils.UINotification;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
|
||||||
import org.vaadin.spring.events.EventBus;
|
|
||||||
|
|
||||||
import com.vaadin.spring.annotation.SpringComponent;
|
import com.vaadin.spring.annotation.SpringComponent;
|
||||||
import com.vaadin.spring.annotation.ViewScope;
|
import com.vaadin.spring.annotation.ViewScope;
|
||||||
@@ -28,8 +23,6 @@ import com.vaadin.ui.Component;
|
|||||||
/**
|
/**
|
||||||
* Upload UI View for Accept criteria.
|
* Upload UI View for Accept criteria.
|
||||||
*
|
*
|
||||||
*
|
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
@SpringComponent
|
@SpringComponent
|
||||||
@ViewScope
|
@ViewScope
|
||||||
@@ -41,29 +34,6 @@ public class UploadViewAcceptCriteria extends AbstractAcceptCriteria {
|
|||||||
|
|
||||||
private static final Map<String, Object> DROP_HINTS_CONFIGS = createDropHintConfigurations();
|
private static final Map<String, Object> DROP_HINTS_CONFIGS = createDropHintConfigurations();
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private transient UINotification uiNotification;
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private transient EventBus.SessionEventBus eventBus;
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void analyseDragComponent(final Component compsource) {
|
|
||||||
final String sourceID = getComponentId(compsource);
|
|
||||||
final Object event = DROP_HINTS_CONFIGS.get(sourceID);
|
|
||||||
eventBus.publish(this, event);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void hideDropHints() {
|
|
||||||
eventBus.publish(this, DragEvent.HIDE_DROP_HINT);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void invalidDrop() {
|
|
||||||
uiNotification.displayValidationError(SPUILabelDefinitions.ACTION_NOT_ALLOWED);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected String getComponentId(final Component component) {
|
protected String getComponentId(final Component component) {
|
||||||
String id = component.getId();
|
String id = component.getId();
|
||||||
@@ -78,11 +48,6 @@ public class UploadViewAcceptCriteria extends AbstractAcceptCriteria {
|
|||||||
return DROP_HINTS_CONFIGS;
|
return DROP_HINTS_CONFIGS;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void publishDragStartEvent(final Object event) {
|
|
||||||
eventBus.publish(this, event);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected Map<String, List<String>> getDropConfigurations() {
|
protected Map<String, List<String>> getDropConfigurations() {
|
||||||
return DROP_CONFIGS;
|
return DROP_CONFIGS;
|
||||||
|
|||||||
@@ -11,22 +11,15 @@ package org.eclipse.hawkbit.ui.artifacts.footer;
|
|||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
import javax.annotation.PostConstruct;
|
|
||||||
import javax.annotation.PreDestroy;
|
|
||||||
|
|
||||||
import org.eclipse.hawkbit.repository.SpPermissionChecker;
|
|
||||||
import org.eclipse.hawkbit.ui.artifacts.event.UploadArtifactUIEvent;
|
import org.eclipse.hawkbit.ui.artifacts.event.UploadArtifactUIEvent;
|
||||||
import org.eclipse.hawkbit.ui.artifacts.event.UploadViewAcceptCriteria;
|
import org.eclipse.hawkbit.ui.artifacts.event.UploadViewAcceptCriteria;
|
||||||
import org.eclipse.hawkbit.ui.artifacts.state.ArtifactUploadState;
|
import org.eclipse.hawkbit.ui.artifacts.state.ArtifactUploadState;
|
||||||
import org.eclipse.hawkbit.ui.common.footer.AbstractDeleteActionsLayout;
|
import org.eclipse.hawkbit.ui.common.footer.AbstractDeleteActionsLayout;
|
||||||
import org.eclipse.hawkbit.ui.management.event.DragEvent;
|
import org.eclipse.hawkbit.ui.management.event.DragEvent;
|
||||||
import org.eclipse.hawkbit.ui.utils.I18N;
|
|
||||||
import org.eclipse.hawkbit.ui.utils.SPUIComponetIdProvider;
|
import org.eclipse.hawkbit.ui.utils.SPUIComponetIdProvider;
|
||||||
import org.eclipse.hawkbit.ui.utils.SPUIDefinitions;
|
import org.eclipse.hawkbit.ui.utils.SPUIDefinitions;
|
||||||
import org.eclipse.hawkbit.ui.utils.SPUILabelDefinitions;
|
import org.eclipse.hawkbit.ui.utils.SPUILabelDefinitions;
|
||||||
import org.eclipse.hawkbit.ui.utils.UINotification;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.vaadin.spring.events.EventBus;
|
|
||||||
import org.vaadin.spring.events.EventScope;
|
import org.vaadin.spring.events.EventScope;
|
||||||
import org.vaadin.spring.events.annotation.EventBusListenerMethod;
|
import org.vaadin.spring.events.annotation.EventBusListenerMethod;
|
||||||
|
|
||||||
@@ -50,18 +43,6 @@ public class SMDeleteActionsLayout extends AbstractDeleteActionsLayout {
|
|||||||
|
|
||||||
private static final long serialVersionUID = -3273982053389866299L;
|
private static final long serialVersionUID = -3273982053389866299L;
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private I18N i18n;
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private SpPermissionChecker permChecker;
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private transient EventBus.SessionEventBus eventBus;
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private transient UINotification notification;
|
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private ArtifactUploadState artifactUploadState;
|
private ArtifactUploadState artifactUploadState;
|
||||||
|
|
||||||
@@ -71,22 +52,6 @@ public class SMDeleteActionsLayout extends AbstractDeleteActionsLayout {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private UploadViewAcceptCriteria uploadViewAcceptCriteria;
|
private UploadViewAcceptCriteria uploadViewAcceptCriteria;
|
||||||
|
|
||||||
@Override
|
|
||||||
@PostConstruct
|
|
||||||
protected void init() {
|
|
||||||
super.init();
|
|
||||||
eventBus.subscribe(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
@PreDestroy
|
|
||||||
void destroy() {
|
|
||||||
/*
|
|
||||||
* It's good manners to do this, even though vaadin-spring will
|
|
||||||
* automatically unsubscribe when this UI is garbage collected.
|
|
||||||
*/
|
|
||||||
eventBus.unsubscribe(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
@EventBusListenerMethod(scope = EventScope.SESSION)
|
@EventBusListenerMethod(scope = EventScope.SESSION)
|
||||||
void onEvent(final UploadArtifactUIEvent event) {
|
void onEvent(final UploadArtifactUIEvent event) {
|
||||||
|
|
||||||
@@ -211,26 +176,11 @@ public class SMDeleteActionsLayout extends AbstractDeleteActionsLayout {
|
|||||||
updateActionsCount(count);
|
updateActionsCount(count);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
protected String getNoActionsButtonLabel() {
|
|
||||||
return i18n.get("button.no.actions");
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected String getActionsButtonLabel() {
|
|
||||||
return i18n.get("button.actions");
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void restoreActionCount() {
|
protected void restoreActionCount() {
|
||||||
updateSWActionCount();
|
updateSWActionCount();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
protected String getUnsavedActionsWindowCaption() {
|
|
||||||
return i18n.get("caption.save.window");
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void unsavedActionsWindowClosed() {
|
protected void unsavedActionsWindowClosed() {
|
||||||
final String message = uploadViewConfirmationWindowLayout.getConsolidatedMessage();
|
final String message = uploadViewConfirmationWindowLayout.getConsolidatedMessage();
|
||||||
|
|||||||
@@ -8,10 +8,6 @@
|
|||||||
*/
|
*/
|
||||||
package org.eclipse.hawkbit.ui.artifacts.smtable;
|
package org.eclipse.hawkbit.ui.artifacts.smtable;
|
||||||
|
|
||||||
import javax.annotation.PostConstruct;
|
|
||||||
import javax.annotation.PreDestroy;
|
|
||||||
|
|
||||||
import org.eclipse.hawkbit.repository.SpPermissionChecker;
|
|
||||||
import org.eclipse.hawkbit.repository.model.SoftwareModule;
|
import org.eclipse.hawkbit.repository.model.SoftwareModule;
|
||||||
import org.eclipse.hawkbit.ui.artifacts.event.SoftwareModuleEvent;
|
import org.eclipse.hawkbit.ui.artifacts.event.SoftwareModuleEvent;
|
||||||
import org.eclipse.hawkbit.ui.artifacts.event.SoftwareModuleEvent.SoftwareModuleEventType;
|
import org.eclipse.hawkbit.ui.artifacts.event.SoftwareModuleEvent.SoftwareModuleEventType;
|
||||||
@@ -19,10 +15,8 @@ import org.eclipse.hawkbit.ui.artifacts.state.ArtifactUploadState;
|
|||||||
import org.eclipse.hawkbit.ui.common.detailslayout.AbstractTableDetailsLayout;
|
import org.eclipse.hawkbit.ui.common.detailslayout.AbstractTableDetailsLayout;
|
||||||
import org.eclipse.hawkbit.ui.components.SPUIComponentProvider;
|
import org.eclipse.hawkbit.ui.components.SPUIComponentProvider;
|
||||||
import org.eclipse.hawkbit.ui.utils.HawkbitCommonUtil;
|
import org.eclipse.hawkbit.ui.utils.HawkbitCommonUtil;
|
||||||
import org.eclipse.hawkbit.ui.utils.I18N;
|
|
||||||
import org.eclipse.hawkbit.ui.utils.SPUIComponetIdProvider;
|
import org.eclipse.hawkbit.ui.utils.SPUIComponetIdProvider;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.vaadin.spring.events.EventBus;
|
|
||||||
import org.vaadin.spring.events.EventScope;
|
import org.vaadin.spring.events.EventScope;
|
||||||
import org.vaadin.spring.events.annotation.EventBusListenerMethod;
|
import org.vaadin.spring.events.annotation.EventBusListenerMethod;
|
||||||
|
|
||||||
@@ -46,38 +40,16 @@ public class SoftwareModuleDetails extends AbstractTableDetailsLayout {
|
|||||||
|
|
||||||
private static final long serialVersionUID = -4900381301076646366L;
|
private static final long serialVersionUID = -4900381301076646366L;
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private I18N i18n;
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private transient EventBus.SessionEventBus eventBus;
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private SpPermissionChecker permissionChecker;
|
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private SoftwareModuleAddUpdateWindow softwareModuleAddUpdateWindow;
|
private SoftwareModuleAddUpdateWindow softwareModuleAddUpdateWindow;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private ArtifactUploadState artifactUploadState;
|
private ArtifactUploadState artifactUploadState;
|
||||||
|
|
||||||
private UI ui;
|
|
||||||
|
|
||||||
private Long swModuleId;
|
private Long swModuleId;
|
||||||
|
|
||||||
private SoftwareModule selectedSwModule;
|
private SoftwareModule selectedSwModule;
|
||||||
|
|
||||||
/**
|
|
||||||
* Initialize the component.
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
@PostConstruct
|
|
||||||
protected void init() {
|
|
||||||
super.init();
|
|
||||||
ui = UI.getCurrent();
|
|
||||||
eventBus.subscribe(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected String getEditButtonId() {
|
protected String getEditButtonId() {
|
||||||
return SPUIComponetIdProvider.UPLOAD_SW_MODULE_EDIT_BUTTON;
|
return SPUIComponetIdProvider.UPLOAD_SW_MODULE_EDIT_BUTTON;
|
||||||
@@ -175,58 +147,24 @@ public class SoftwareModuleDetails extends AbstractTableDetailsLayout {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@PreDestroy
|
|
||||||
void destroy() {
|
|
||||||
/*
|
|
||||||
* It's good manners to do this, even though vaadin-spring will
|
|
||||||
* automatically unsubscribe when this UI is garbage collected.
|
|
||||||
*/
|
|
||||||
eventBus.unsubscribe(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* (non-Javadoc)
|
|
||||||
*
|
|
||||||
* @see
|
|
||||||
* org.eclipse.hawkbit.server.ui.common.detailslayout.TableDetailsLayout#
|
|
||||||
* getDefaultCaption()
|
|
||||||
*/
|
|
||||||
@Override
|
@Override
|
||||||
protected String getDefaultCaption() {
|
protected String getDefaultCaption() {
|
||||||
return i18n.get("upload.swModuleTable.header");
|
return i18n.get("upload.swModuleTable.header");
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* (non-Javadoc)
|
|
||||||
*
|
|
||||||
* @see
|
|
||||||
* org.eclipse.hawkbit.server.ui.common.detailslayout.TableDetailsLayout#
|
|
||||||
* onLoadIsSwModuleSelected()
|
|
||||||
*/
|
|
||||||
@Override
|
@Override
|
||||||
protected Boolean onLoadIsTableRowSelected() {
|
protected Boolean onLoadIsTableRowSelected() {
|
||||||
return artifactUploadState.getSelectedBaseSoftwareModule().isPresent();
|
return artifactUploadState.getSelectedBaseSoftwareModule().isPresent();
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* (non-Javadoc)
|
|
||||||
*
|
|
||||||
* @see
|
|
||||||
* org.eclipse.hawkbit.server.ui.common.detailslayout.TableDetailsLayout#
|
|
||||||
* onLoadIsTableMaximized()
|
|
||||||
*/
|
|
||||||
@Override
|
@Override
|
||||||
protected Boolean onLoadIsTableMaximized() {
|
protected Boolean onLoadIsTableMaximized() {
|
||||||
return artifactUploadState.isSwModuleTableMaximized();
|
return artifactUploadState.isSwModuleTableMaximized();
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* (non-Javadoc)
|
|
||||||
*
|
|
||||||
* @see
|
|
||||||
* org.eclipse.hawkbit.server.ui.common.detailslayout.TableDetailsLayout#
|
|
||||||
* populateDetailsWidget()
|
|
||||||
*/
|
|
||||||
@Override
|
@Override
|
||||||
protected void populateDetailsWidget() {
|
protected void populateDetailsWidget() {
|
||||||
populateDetailsWidget(selectedSwModule);
|
populateDetailsWidget(selectedSwModule);
|
||||||
@@ -266,12 +204,7 @@ public class SoftwareModuleDetails extends AbstractTableDetailsLayout {
|
|||||||
return permissionChecker.hasUpdateDistributionPermission();
|
return permissionChecker.hasUpdateDistributionPermission();
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* (non-Javadoc)
|
|
||||||
*
|
|
||||||
* @see hawkbit.server.ui.common.detailslayout.AbstractTableDetailsLayout#
|
|
||||||
* getTabSheetId()
|
|
||||||
*/
|
|
||||||
@Override
|
@Override
|
||||||
protected String getTabSheetId() {
|
protected String getTabSheetId() {
|
||||||
return null;
|
return null;
|
||||||
|
|||||||
@@ -8,20 +8,14 @@
|
|||||||
*/
|
*/
|
||||||
package org.eclipse.hawkbit.ui.artifacts.smtable;
|
package org.eclipse.hawkbit.ui.artifacts.smtable;
|
||||||
|
|
||||||
import javax.annotation.PostConstruct;
|
|
||||||
import javax.annotation.PreDestroy;
|
|
||||||
|
|
||||||
import org.eclipse.hawkbit.repository.SpPermissionChecker;
|
|
||||||
import org.eclipse.hawkbit.ui.artifacts.event.SMFilterEvent;
|
import org.eclipse.hawkbit.ui.artifacts.event.SMFilterEvent;
|
||||||
import org.eclipse.hawkbit.ui.artifacts.event.SoftwareModuleEvent;
|
import org.eclipse.hawkbit.ui.artifacts.event.SoftwareModuleEvent;
|
||||||
import org.eclipse.hawkbit.ui.artifacts.event.SoftwareModuleEvent.SoftwareModuleEventType;
|
import org.eclipse.hawkbit.ui.artifacts.event.SoftwareModuleEvent.SoftwareModuleEventType;
|
||||||
import org.eclipse.hawkbit.ui.artifacts.event.UploadArtifactUIEvent;
|
import org.eclipse.hawkbit.ui.artifacts.event.UploadArtifactUIEvent;
|
||||||
import org.eclipse.hawkbit.ui.artifacts.state.ArtifactUploadState;
|
import org.eclipse.hawkbit.ui.artifacts.state.ArtifactUploadState;
|
||||||
import org.eclipse.hawkbit.ui.common.table.AbstractTableHeader;
|
import org.eclipse.hawkbit.ui.common.table.AbstractTableHeader;
|
||||||
import org.eclipse.hawkbit.ui.utils.I18N;
|
|
||||||
import org.eclipse.hawkbit.ui.utils.SPUIComponetIdProvider;
|
import org.eclipse.hawkbit.ui.utils.SPUIComponetIdProvider;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.vaadin.spring.events.EventBus;
|
|
||||||
import org.vaadin.spring.events.EventScope;
|
import org.vaadin.spring.events.EventScope;
|
||||||
import org.vaadin.spring.events.annotation.EventBusListenerMethod;
|
import org.vaadin.spring.events.annotation.EventBusListenerMethod;
|
||||||
|
|
||||||
@@ -44,31 +38,12 @@ public class SoftwareModuleTableHeader extends AbstractTableHeader {
|
|||||||
|
|
||||||
private static final long serialVersionUID = 242961845006626297L;
|
private static final long serialVersionUID = 242961845006626297L;
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private I18N i18n;
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private SpPermissionChecker permChecker;
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private transient EventBus.SessionEventBus eventbus;
|
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private ArtifactUploadState artifactUploadState;
|
private ArtifactUploadState artifactUploadState;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private SoftwareModuleAddUpdateWindow softwareModuleAddUpdateWindow;
|
private SoftwareModuleAddUpdateWindow softwareModuleAddUpdateWindow;
|
||||||
|
|
||||||
/**
|
|
||||||
* Initialize the components.
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
@PostConstruct
|
|
||||||
protected void init() {
|
|
||||||
super.init();
|
|
||||||
eventbus.subscribe(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
@EventBusListenerMethod(scope = EventScope.SESSION)
|
@EventBusListenerMethod(scope = EventScope.SESSION)
|
||||||
void onEvent(final UploadArtifactUIEvent event) {
|
void onEvent(final UploadArtifactUIEvent event) {
|
||||||
if (event == UploadArtifactUIEvent.HIDE_FILTER_BY_TYPE) {
|
if (event == UploadArtifactUIEvent.HIDE_FILTER_BY_TYPE) {
|
||||||
@@ -76,14 +51,6 @@ public class SoftwareModuleTableHeader extends AbstractTableHeader {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@PreDestroy
|
|
||||||
void destroy() {
|
|
||||||
/*
|
|
||||||
* It's good manners to do this, even though vaadin-spring will
|
|
||||||
* automatically unsubscribe when this UI is garbage collected.
|
|
||||||
*/
|
|
||||||
eventbus.unsubscribe(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected String getHeaderCaption() {
|
protected String getHeaderCaption() {
|
||||||
|
|||||||
@@ -8,21 +8,17 @@
|
|||||||
*/
|
*/
|
||||||
package org.eclipse.hawkbit.ui.artifacts.smtype;
|
package org.eclipse.hawkbit.ui.artifacts.smtype;
|
||||||
|
|
||||||
import javax.annotation.PreDestroy;
|
|
||||||
|
|
||||||
import org.eclipse.hawkbit.ui.artifacts.event.SoftwareModuleTypeEvent;
|
import org.eclipse.hawkbit.ui.artifacts.event.SoftwareModuleTypeEvent;
|
||||||
import org.eclipse.hawkbit.ui.artifacts.event.UploadArtifactUIEvent;
|
import org.eclipse.hawkbit.ui.artifacts.event.UploadArtifactUIEvent;
|
||||||
import org.eclipse.hawkbit.ui.artifacts.event.UploadViewAcceptCriteria;
|
import org.eclipse.hawkbit.ui.artifacts.event.UploadViewAcceptCriteria;
|
||||||
import org.eclipse.hawkbit.ui.artifacts.state.ArtifactUploadState;
|
import org.eclipse.hawkbit.ui.artifacts.state.ArtifactUploadState;
|
||||||
import org.eclipse.hawkbit.ui.common.SoftwareModuleTypeBeanQuery;
|
import org.eclipse.hawkbit.ui.common.SoftwareModuleTypeBeanQuery;
|
||||||
import org.eclipse.hawkbit.ui.common.filterlayout.AbstractFilterButtonClickBehaviour;
|
|
||||||
import org.eclipse.hawkbit.ui.common.filterlayout.AbstractFilterButtons;
|
import org.eclipse.hawkbit.ui.common.filterlayout.AbstractFilterButtons;
|
||||||
import org.eclipse.hawkbit.ui.utils.HawkbitCommonUtil;
|
import org.eclipse.hawkbit.ui.utils.HawkbitCommonUtil;
|
||||||
import org.eclipse.hawkbit.ui.utils.SPUIComponetIdProvider;
|
import org.eclipse.hawkbit.ui.utils.SPUIComponetIdProvider;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.vaadin.addons.lazyquerycontainer.BeanQueryFactory;
|
import org.vaadin.addons.lazyquerycontainer.BeanQueryFactory;
|
||||||
import org.vaadin.addons.lazyquerycontainer.LazyQueryContainer;
|
import org.vaadin.addons.lazyquerycontainer.LazyQueryContainer;
|
||||||
import org.vaadin.spring.events.EventBus;
|
|
||||||
import org.vaadin.spring.events.EventScope;
|
import org.vaadin.spring.events.EventScope;
|
||||||
import org.vaadin.spring.events.annotation.EventBusListenerMethod;
|
import org.vaadin.spring.events.annotation.EventBusListenerMethod;
|
||||||
|
|
||||||
@@ -48,26 +44,6 @@ public class SMTypeFilterButtons extends AbstractFilterButtons {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private UploadViewAcceptCriteria uploadViewAcceptCriteria;
|
private UploadViewAcceptCriteria uploadViewAcceptCriteria;
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private transient EventBus.SessionEventBus eventBus;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Initialize component.
|
|
||||||
*
|
|
||||||
* @param filterButtonClickBehaviour
|
|
||||||
* the clickable behaviour.
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public void init(final AbstractFilterButtonClickBehaviour filterButtonClickBehaviour) {
|
|
||||||
super.init(filterButtonClickBehaviour);
|
|
||||||
eventBus.subscribe(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
@PreDestroy
|
|
||||||
void destroy() {
|
|
||||||
eventBus.unsubscribe(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
@EventBusListenerMethod(scope = EventScope.SESSION)
|
@EventBusListenerMethod(scope = EventScope.SESSION)
|
||||||
void onEvent(final SoftwareModuleTypeEvent event) {
|
void onEvent(final SoftwareModuleTypeEvent event) {
|
||||||
if (event.getSoftwareModuleTypeEnum() == SoftwareModuleTypeEvent.SoftwareModuleTypeEnum.ADD_SOFTWARE_MODULE_TYPE
|
if (event.getSoftwareModuleTypeEnum() == SoftwareModuleTypeEvent.SoftwareModuleTypeEnum.ADD_SOFTWARE_MODULE_TYPE
|
||||||
|
|||||||
@@ -10,7 +10,6 @@ package org.eclipse.hawkbit.ui.artifacts.smtype;
|
|||||||
|
|
||||||
import javax.annotation.PostConstruct;
|
import javax.annotation.PostConstruct;
|
||||||
|
|
||||||
import org.eclipse.hawkbit.repository.SpPermissionChecker;
|
|
||||||
import org.eclipse.hawkbit.ui.artifacts.event.UploadArtifactUIEvent;
|
import org.eclipse.hawkbit.ui.artifacts.event.UploadArtifactUIEvent;
|
||||||
import org.eclipse.hawkbit.ui.artifacts.state.ArtifactUploadState;
|
import org.eclipse.hawkbit.ui.artifacts.state.ArtifactUploadState;
|
||||||
import org.eclipse.hawkbit.ui.common.filterlayout.AbstractFilterHeader;
|
import org.eclipse.hawkbit.ui.common.filterlayout.AbstractFilterHeader;
|
||||||
@@ -18,7 +17,6 @@ import org.eclipse.hawkbit.ui.utils.SPUIComponetIdProvider;
|
|||||||
import org.eclipse.hawkbit.ui.utils.SPUIDefinitions;
|
import org.eclipse.hawkbit.ui.utils.SPUIDefinitions;
|
||||||
import org.eclipse.hawkbit.ui.utils.SPUILabelDefinitions;
|
import org.eclipse.hawkbit.ui.utils.SPUILabelDefinitions;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.vaadin.spring.events.EventBus;
|
|
||||||
|
|
||||||
import com.vaadin.spring.annotation.SpringComponent;
|
import com.vaadin.spring.annotation.SpringComponent;
|
||||||
import com.vaadin.spring.annotation.ViewScope;
|
import com.vaadin.spring.annotation.ViewScope;
|
||||||
@@ -35,12 +33,6 @@ public class SMTypeFilterHeader extends AbstractFilterHeader {
|
|||||||
|
|
||||||
private static final long serialVersionUID = -4855810338059032342L;
|
private static final long serialVersionUID = -4855810338059032342L;
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private SpPermissionChecker permChecker;
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private transient EventBus.SessionEventBus eventbus;
|
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private ArtifactUploadState artifactUploadState;
|
private ArtifactUploadState artifactUploadState;
|
||||||
|
|
||||||
@@ -84,7 +76,7 @@ public class SMTypeFilterHeader extends AbstractFilterHeader {
|
|||||||
@Override
|
@Override
|
||||||
protected void hideFilterButtonLayout() {
|
protected void hideFilterButtonLayout() {
|
||||||
artifactUploadState.setSwTypeFilterClosed(true);
|
artifactUploadState.setSwTypeFilterClosed(true);
|
||||||
eventbus.publish(this, UploadArtifactUIEvent.HIDE_FILTER_BY_TYPE);
|
eventBus.publish(this, UploadArtifactUIEvent.HIDE_FILTER_BY_TYPE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -13,8 +13,13 @@ import java.util.List;
|
|||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
|
import org.eclipse.hawkbit.ui.management.event.DragEvent;
|
||||||
import org.eclipse.hawkbit.ui.utils.HawkbitCommonUtil;
|
import org.eclipse.hawkbit.ui.utils.HawkbitCommonUtil;
|
||||||
import org.eclipse.hawkbit.ui.utils.SPUIDefinitions;
|
import org.eclipse.hawkbit.ui.utils.SPUIDefinitions;
|
||||||
|
import org.eclipse.hawkbit.ui.utils.SPUILabelDefinitions;
|
||||||
|
import org.eclipse.hawkbit.ui.utils.UINotification;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.vaadin.spring.events.EventBus;
|
||||||
|
|
||||||
import com.vaadin.event.dd.DragAndDropEvent;
|
import com.vaadin.event.dd.DragAndDropEvent;
|
||||||
import com.vaadin.event.dd.acceptcriteria.ServerSideCriterion;
|
import com.vaadin.event.dd.acceptcriteria.ServerSideCriterion;
|
||||||
@@ -27,9 +32,6 @@ import com.vaadin.ui.Table;
|
|||||||
/**
|
/**
|
||||||
* Abstract class for Accept criteria.
|
* Abstract class for Accept criteria.
|
||||||
*
|
*
|
||||||
*
|
|
||||||
*
|
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
public abstract class AbstractAcceptCriteria extends ServerSideCriterion {
|
public abstract class AbstractAcceptCriteria extends ServerSideCriterion {
|
||||||
|
|
||||||
@@ -37,13 +39,12 @@ public abstract class AbstractAcceptCriteria extends ServerSideCriterion {
|
|||||||
|
|
||||||
private int previousRowCount;
|
private int previousRowCount;
|
||||||
|
|
||||||
/*
|
@Autowired
|
||||||
* (non-Javadoc)
|
protected transient UINotification uiNotification;
|
||||||
*
|
|
||||||
* @see
|
@Autowired
|
||||||
* com.vaadin.event.dd.acceptcriteria.AcceptCriterion#accept(com.vaadin.
|
protected transient EventBus.SessionEventBus eventBus;
|
||||||
* event.dd.DragAndDropEvent )
|
|
||||||
*/
|
|
||||||
@Override
|
@Override
|
||||||
public boolean accept(final DragAndDropEvent dragEvent) {
|
public boolean accept(final DragAndDropEvent dragEvent) {
|
||||||
final Component compsource = dragEvent.getTransferable().getSourceComponent();
|
final Component compsource = dragEvent.getTransferable().getSourceComponent();
|
||||||
@@ -129,7 +130,7 @@ public abstract class AbstractAcceptCriteria extends ServerSideCriterion {
|
|||||||
protected void analyseDragComponent(final Component compsource) {
|
protected void analyseDragComponent(final Component compsource) {
|
||||||
final String sourceID = getComponentId(compsource);
|
final String sourceID = getComponentId(compsource);
|
||||||
final Object event = getDropHintConfigurations().get(sourceID);
|
final Object event = getDropHintConfigurations().get(sourceID);
|
||||||
publishDragStartEvent(event);
|
eventBus.publish(this, event);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -159,23 +160,19 @@ public abstract class AbstractAcceptCriteria extends ServerSideCriterion {
|
|||||||
*/
|
*/
|
||||||
protected abstract String getComponentId(final Component component);
|
protected abstract String getComponentId(final Component component);
|
||||||
|
|
||||||
/**
|
|
||||||
* publish the given event into eventBus.
|
|
||||||
*
|
|
||||||
* @param event
|
|
||||||
* to be published in eventBus.
|
|
||||||
*/
|
|
||||||
protected abstract void publishDragStartEvent(Object event);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Hide the drop hints. Dragging is stopped.
|
* Hide the drop hints. Dragging is stopped.
|
||||||
*/
|
*/
|
||||||
protected abstract void hideDropHints();
|
protected void hideDropHints() {
|
||||||
|
eventBus.publish(this, DragEvent.HIDE_DROP_HINT);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Display invalid drop message.
|
* Display invalid drop message.
|
||||||
*/
|
*/
|
||||||
protected abstract void invalidDrop();
|
protected void invalidDrop() {
|
||||||
|
uiNotification.displayValidationError(SPUILabelDefinitions.ACTION_NOT_ALLOWED);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return
|
* @return
|
||||||
|
|||||||
@@ -10,6 +10,10 @@ package org.eclipse.hawkbit.ui.common.detailslayout;
|
|||||||
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
import javax.annotation.PostConstruct;
|
||||||
|
import javax.annotation.PreDestroy;
|
||||||
|
|
||||||
|
import org.eclipse.hawkbit.repository.SpPermissionChecker;
|
||||||
import org.eclipse.hawkbit.repository.model.Target;
|
import org.eclipse.hawkbit.repository.model.Target;
|
||||||
import org.eclipse.hawkbit.ui.components.SPUIComponentProvider;
|
import org.eclipse.hawkbit.ui.components.SPUIComponentProvider;
|
||||||
import org.eclipse.hawkbit.ui.decorators.SPUIButtonStyleSmallNoBorder;
|
import org.eclipse.hawkbit.ui.decorators.SPUIButtonStyleSmallNoBorder;
|
||||||
@@ -19,6 +23,8 @@ import org.eclipse.hawkbit.ui.utils.SPDateTimeUtil;
|
|||||||
import org.eclipse.hawkbit.ui.utils.SPUIComponetIdProvider;
|
import org.eclipse.hawkbit.ui.utils.SPUIComponetIdProvider;
|
||||||
import org.eclipse.hawkbit.ui.utils.SPUILabelDefinitions;
|
import org.eclipse.hawkbit.ui.utils.SPUILabelDefinitions;
|
||||||
import org.eclipse.hawkbit.ui.utils.SPUIStyleDefinitions;
|
import org.eclipse.hawkbit.ui.utils.SPUIStyleDefinitions;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.vaadin.spring.events.EventBus;
|
||||||
|
|
||||||
import com.vaadin.server.FontAwesome;
|
import com.vaadin.server.FontAwesome;
|
||||||
import com.vaadin.shared.ui.label.ContentMode;
|
import com.vaadin.shared.ui.label.ContentMode;
|
||||||
@@ -27,6 +33,7 @@ import com.vaadin.ui.Button;
|
|||||||
import com.vaadin.ui.HorizontalLayout;
|
import com.vaadin.ui.HorizontalLayout;
|
||||||
import com.vaadin.ui.Label;
|
import com.vaadin.ui.Label;
|
||||||
import com.vaadin.ui.TabSheet;
|
import com.vaadin.ui.TabSheet;
|
||||||
|
import com.vaadin.ui.UI;
|
||||||
import com.vaadin.ui.VerticalLayout;
|
import com.vaadin.ui.VerticalLayout;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -37,6 +44,17 @@ public abstract class AbstractTableDetailsLayout extends VerticalLayout {
|
|||||||
|
|
||||||
private static final long serialVersionUID = 4862529368471627190L;
|
private static final long serialVersionUID = 4862529368471627190L;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
protected I18N i18n;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
protected transient EventBus.SessionEventBus eventBus;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
protected SpPermissionChecker permissionChecker;
|
||||||
|
|
||||||
|
protected UI ui;
|
||||||
|
|
||||||
private Label caption;
|
private Label caption;
|
||||||
|
|
||||||
private Button editButton;
|
private Button editButton;
|
||||||
@@ -54,7 +72,9 @@ public abstract class AbstractTableDetailsLayout extends VerticalLayout {
|
|||||||
/**
|
/**
|
||||||
* Initialize components.
|
* Initialize components.
|
||||||
*/
|
*/
|
||||||
|
@PostConstruct
|
||||||
protected void init() {
|
protected void init() {
|
||||||
|
ui = UI.getCurrent();
|
||||||
createComponents();
|
createComponents();
|
||||||
buildLayout();
|
buildLayout();
|
||||||
/**
|
/**
|
||||||
@@ -62,6 +82,12 @@ public abstract class AbstractTableDetailsLayout extends VerticalLayout {
|
|||||||
* selected in table.
|
* selected in table.
|
||||||
*/
|
*/
|
||||||
restoreState();
|
restoreState();
|
||||||
|
eventBus.subscribe(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
@PreDestroy
|
||||||
|
void destroy() {
|
||||||
|
eventBus.unsubscribe(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void createComponents() {
|
private void createComponents() {
|
||||||
|
|||||||
@@ -11,13 +11,17 @@ package org.eclipse.hawkbit.ui.common.filterlayout;
|
|||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import javax.annotation.PreDestroy;
|
||||||
|
|
||||||
import org.eclipse.hawkbit.ui.components.SPUIComponentProvider;
|
import org.eclipse.hawkbit.ui.components.SPUIComponentProvider;
|
||||||
import org.eclipse.hawkbit.ui.decorators.SPUITagButtonStyle;
|
import org.eclipse.hawkbit.ui.decorators.SPUITagButtonStyle;
|
||||||
import org.eclipse.hawkbit.ui.utils.HawkbitCommonUtil;
|
import org.eclipse.hawkbit.ui.utils.HawkbitCommonUtil;
|
||||||
import org.eclipse.hawkbit.ui.utils.SPUIDefinitions;
|
import org.eclipse.hawkbit.ui.utils.SPUIDefinitions;
|
||||||
import org.eclipse.hawkbit.ui.utils.SPUILabelDefinitions;
|
import org.eclipse.hawkbit.ui.utils.SPUILabelDefinitions;
|
||||||
import org.eclipse.hawkbit.ui.utils.SPUIStyleDefinitions;
|
import org.eclipse.hawkbit.ui.utils.SPUIStyleDefinitions;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.vaadin.addons.lazyquerycontainer.LazyQueryContainer;
|
import org.vaadin.addons.lazyquerycontainer.LazyQueryContainer;
|
||||||
|
import org.vaadin.spring.events.EventBus;
|
||||||
|
|
||||||
import com.vaadin.data.Item;
|
import com.vaadin.data.Item;
|
||||||
import com.vaadin.event.dd.DropHandler;
|
import com.vaadin.event.dd.DropHandler;
|
||||||
@@ -43,6 +47,9 @@ public abstract class AbstractFilterButtons extends Table {
|
|||||||
|
|
||||||
protected static final String FILTER_BUTTON_COLUMN = "filterButton";
|
protected static final String FILTER_BUTTON_COLUMN = "filterButton";
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
protected transient EventBus.SessionEventBus eventBus;
|
||||||
|
|
||||||
private AbstractFilterButtonClickBehaviour filterButtonClickBehaviour;
|
private AbstractFilterButtonClickBehaviour filterButtonClickBehaviour;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -54,6 +61,12 @@ public abstract class AbstractFilterButtons extends Table {
|
|||||||
public void init(final AbstractFilterButtonClickBehaviour filterButtonClickBehaviour) {
|
public void init(final AbstractFilterButtonClickBehaviour filterButtonClickBehaviour) {
|
||||||
this.filterButtonClickBehaviour = filterButtonClickBehaviour;
|
this.filterButtonClickBehaviour = filterButtonClickBehaviour;
|
||||||
createTable();
|
createTable();
|
||||||
|
eventBus.subscribe(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
@PreDestroy
|
||||||
|
void destroy() {
|
||||||
|
eventBus.unsubscribe(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void createTable() {
|
private void createTable() {
|
||||||
@@ -88,12 +101,7 @@ public abstract class AbstractFilterButtons extends Table {
|
|||||||
|
|
||||||
@SuppressWarnings("serial")
|
@SuppressWarnings("serial")
|
||||||
protected void addColumn() {
|
protected void addColumn() {
|
||||||
addGeneratedColumn(FILTER_BUTTON_COLUMN, new ColumnGenerator() {
|
addGeneratedColumn(FILTER_BUTTON_COLUMN, (source, itemId, columnId) -> addGeneratedCell(itemId));
|
||||||
@Override
|
|
||||||
public Object generateCell(final Table source, final Object itemId, final Object columnId) {
|
|
||||||
return addGeneratedCell(itemId);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -8,10 +8,13 @@
|
|||||||
*/
|
*/
|
||||||
package org.eclipse.hawkbit.ui.common.filterlayout;
|
package org.eclipse.hawkbit.ui.common.filterlayout;
|
||||||
|
|
||||||
|
import org.eclipse.hawkbit.repository.SpPermissionChecker;
|
||||||
import org.eclipse.hawkbit.ui.components.SPUIComponentProvider;
|
import org.eclipse.hawkbit.ui.components.SPUIComponentProvider;
|
||||||
import org.eclipse.hawkbit.ui.decorators.SPUIButtonStyleSmallNoBorder;
|
import org.eclipse.hawkbit.ui.decorators.SPUIButtonStyleSmallNoBorder;
|
||||||
import org.eclipse.hawkbit.ui.utils.SPUILabelDefinitions;
|
import org.eclipse.hawkbit.ui.utils.SPUILabelDefinitions;
|
||||||
import org.eclipse.hawkbit.ui.utils.SPUIStyleDefinitions;
|
import org.eclipse.hawkbit.ui.utils.SPUIStyleDefinitions;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.vaadin.spring.events.EventBus;
|
||||||
|
|
||||||
import com.vaadin.server.FontAwesome;
|
import com.vaadin.server.FontAwesome;
|
||||||
import com.vaadin.ui.Alignment;
|
import com.vaadin.ui.Alignment;
|
||||||
@@ -31,6 +34,13 @@ public abstract class AbstractFilterHeader extends VerticalLayout {
|
|||||||
|
|
||||||
private static final long serialVersionUID = -1388340600522323332L;
|
private static final long serialVersionUID = -1388340600522323332L;
|
||||||
|
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
protected SpPermissionChecker permChecker;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
protected transient EventBus.SessionEventBus eventBus;
|
||||||
|
|
||||||
private Label title;
|
private Label title;
|
||||||
|
|
||||||
private Button config;
|
private Button config;
|
||||||
|
|||||||
@@ -8,12 +8,20 @@
|
|||||||
*/
|
*/
|
||||||
package org.eclipse.hawkbit.ui.common.footer;
|
package org.eclipse.hawkbit.ui.common.footer;
|
||||||
|
|
||||||
|
import javax.annotation.PostConstruct;
|
||||||
|
import javax.annotation.PreDestroy;
|
||||||
|
|
||||||
|
import org.eclipse.hawkbit.repository.SpPermissionChecker;
|
||||||
import org.eclipse.hawkbit.ui.components.SPUIComponentProvider;
|
import org.eclipse.hawkbit.ui.components.SPUIComponentProvider;
|
||||||
import org.eclipse.hawkbit.ui.decorators.SPUIButtonStyleSmall;
|
import org.eclipse.hawkbit.ui.decorators.SPUIButtonStyleSmall;
|
||||||
import org.eclipse.hawkbit.ui.utils.HawkbitCommonUtil;
|
import org.eclipse.hawkbit.ui.utils.HawkbitCommonUtil;
|
||||||
|
import org.eclipse.hawkbit.ui.utils.I18N;
|
||||||
import org.eclipse.hawkbit.ui.utils.SPUIComponetIdProvider;
|
import org.eclipse.hawkbit.ui.utils.SPUIComponetIdProvider;
|
||||||
import org.eclipse.hawkbit.ui.utils.SPUIDefinitions;
|
import org.eclipse.hawkbit.ui.utils.SPUIDefinitions;
|
||||||
import org.eclipse.hawkbit.ui.utils.SPUIStyleDefinitions;
|
import org.eclipse.hawkbit.ui.utils.SPUIStyleDefinitions;
|
||||||
|
import org.eclipse.hawkbit.ui.utils.UINotification;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.vaadin.spring.events.EventBus;
|
||||||
|
|
||||||
import com.vaadin.event.dd.DragAndDropEvent;
|
import com.vaadin.event.dd.DragAndDropEvent;
|
||||||
import com.vaadin.event.dd.DropHandler;
|
import com.vaadin.event.dd.DropHandler;
|
||||||
@@ -34,14 +42,23 @@ import com.vaadin.ui.themes.ValoTheme;
|
|||||||
/**
|
/**
|
||||||
* Parent class for footer layout.
|
* Parent class for footer layout.
|
||||||
*
|
*
|
||||||
*
|
|
||||||
*
|
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
public abstract class AbstractDeleteActionsLayout extends VerticalLayout implements DropHandler {
|
public abstract class AbstractDeleteActionsLayout extends VerticalLayout implements DropHandler {
|
||||||
|
|
||||||
private static final long serialVersionUID = -6047975388519155509L;
|
private static final long serialVersionUID = -6047975388519155509L;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
protected I18N i18n;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
protected SpPermissionChecker permChecker;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
protected transient EventBus.SessionEventBus eventBus;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
protected transient UINotification notification;
|
||||||
|
|
||||||
private DragAndDropWrapper deleteWrapper;
|
private DragAndDropWrapper deleteWrapper;
|
||||||
|
|
||||||
private Button noActionBtn;
|
private Button noActionBtn;
|
||||||
@@ -53,12 +70,19 @@ public abstract class AbstractDeleteActionsLayout extends VerticalLayout impleme
|
|||||||
/**
|
/**
|
||||||
* Initialize.
|
* Initialize.
|
||||||
*/
|
*/
|
||||||
|
@PostConstruct
|
||||||
protected void init() {
|
protected void init() {
|
||||||
if (hasCountMessage() || hasDeletePermission() || hasUpdatePermission() || hasBulkUploadPermission()) {
|
if (hasCountMessage() || hasDeletePermission() || hasUpdatePermission() || hasBulkUploadPermission()) {
|
||||||
createComponents();
|
createComponents();
|
||||||
buildLayout();
|
buildLayout();
|
||||||
reload();
|
reload();
|
||||||
}
|
}
|
||||||
|
eventBus.subscribe(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
@PreDestroy
|
||||||
|
void destroy() {
|
||||||
|
eventBus.unsubscribe(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void reload() {
|
private void reload() {
|
||||||
@@ -311,14 +335,27 @@ public abstract class AbstractDeleteActionsLayout extends VerticalLayout impleme
|
|||||||
*
|
*
|
||||||
* @return the no actions label.
|
* @return the no actions label.
|
||||||
*/
|
*/
|
||||||
protected abstract String getNoActionsButtonLabel();
|
protected String getNoActionsButtonLabel() {
|
||||||
|
return i18n.get("button.no.actions");
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the pending actions button label.
|
* Get the pending actions button label.
|
||||||
*
|
*
|
||||||
* @return the actions label.
|
* @return the actions label.
|
||||||
*/
|
*/
|
||||||
protected abstract String getActionsButtonLabel();
|
protected String getActionsButtonLabel() {
|
||||||
|
return i18n.get("button.actions");
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get caption of unsaved actions window.
|
||||||
|
*
|
||||||
|
* @return caption of the window.
|
||||||
|
*/
|
||||||
|
protected String getUnsavedActionsWindowCaption() {
|
||||||
|
return i18n.get("caption.save.window");
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* reload the count value.
|
* reload the count value.
|
||||||
@@ -330,13 +367,6 @@ public abstract class AbstractDeleteActionsLayout extends VerticalLayout impleme
|
|||||||
*/
|
*/
|
||||||
protected abstract void restoreBulkUploadStatusCount();
|
protected abstract void restoreBulkUploadStatusCount();
|
||||||
|
|
||||||
/**
|
|
||||||
* Get caption of unsaved actions window.
|
|
||||||
*
|
|
||||||
* @return caption of the window.
|
|
||||||
*/
|
|
||||||
protected abstract String getUnsavedActionsWindowCaption();
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This method will be called when unsaved actions window is closed.
|
* This method will be called when unsaved actions window is closed.
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -8,7 +8,13 @@
|
|||||||
*/
|
*/
|
||||||
package org.eclipse.hawkbit.ui.common.grid;
|
package org.eclipse.hawkbit.ui.common.grid;
|
||||||
|
|
||||||
|
import javax.annotation.PostConstruct;
|
||||||
|
import javax.annotation.PreDestroy;
|
||||||
|
|
||||||
|
import org.eclipse.hawkbit.ui.utils.I18N;
|
||||||
import org.eclipse.hawkbit.ui.utils.SPUIDefinitions;
|
import org.eclipse.hawkbit.ui.utils.SPUIDefinitions;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.vaadin.spring.events.EventBus;
|
||||||
|
|
||||||
import com.vaadin.data.Container;
|
import com.vaadin.data.Container;
|
||||||
import com.vaadin.data.Container.Indexed;
|
import com.vaadin.data.Container.Indexed;
|
||||||
@@ -22,9 +28,17 @@ public abstract class AbstractGrid extends Grid {
|
|||||||
|
|
||||||
private static final long serialVersionUID = 4856562746502217630L;
|
private static final long serialVersionUID = 4856562746502217630L;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
protected I18N i18n;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
protected transient EventBus.SessionEventBus eventBus;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Initialize the components.
|
* Initialize the components.
|
||||||
*/
|
*/
|
||||||
|
@PostConstruct
|
||||||
protected void init() {
|
protected void init() {
|
||||||
setSizeFull();
|
setSizeFull();
|
||||||
setImmediate(true);
|
setImmediate(true);
|
||||||
@@ -32,6 +46,12 @@ public abstract class AbstractGrid extends Grid {
|
|||||||
setSelectionMode(SelectionMode.NONE);
|
setSelectionMode(SelectionMode.NONE);
|
||||||
setColumnReorderingAllowed(true);
|
setColumnReorderingAllowed(true);
|
||||||
addNewContainerDS();
|
addNewContainerDS();
|
||||||
|
eventBus.subscribe(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
@PreDestroy
|
||||||
|
void destroy() {
|
||||||
|
eventBus.unsubscribe(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void addNewContainerDS() {
|
public void addNewContainerDS() {
|
||||||
@@ -43,13 +63,13 @@ public abstract class AbstractGrid extends Grid {
|
|||||||
setColumnHeaderNames();
|
setColumnHeaderNames();
|
||||||
addColumnRenderes();
|
addColumnRenderes();
|
||||||
|
|
||||||
CellDescriptionGenerator cellDescriptionGenerator = getDescriptionGenerator();
|
final CellDescriptionGenerator cellDescriptionGenerator = getDescriptionGenerator();
|
||||||
if (getDescriptionGenerator() != null) {
|
if (getDescriptionGenerator() != null) {
|
||||||
setCellDescriptionGenerator(cellDescriptionGenerator);
|
setCellDescriptionGenerator(cellDescriptionGenerator);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Allow column hiding
|
// Allow column hiding
|
||||||
for (Column c : getColumns()) {
|
for (final Column c : getColumns()) {
|
||||||
c.setHidable(true);
|
c.setHidable(true);
|
||||||
}
|
}
|
||||||
setHiddenColumns();
|
setHiddenColumns();
|
||||||
|
|||||||
@@ -8,13 +8,20 @@
|
|||||||
*/
|
*/
|
||||||
package org.eclipse.hawkbit.ui.common.table;
|
package org.eclipse.hawkbit.ui.common.table;
|
||||||
|
|
||||||
|
import javax.annotation.PostConstruct;
|
||||||
|
import javax.annotation.PreDestroy;
|
||||||
|
|
||||||
|
import org.eclipse.hawkbit.repository.SpPermissionChecker;
|
||||||
import org.eclipse.hawkbit.ui.components.SPUIButton;
|
import org.eclipse.hawkbit.ui.components.SPUIButton;
|
||||||
import org.eclipse.hawkbit.ui.components.SPUIComponentProvider;
|
import org.eclipse.hawkbit.ui.components.SPUIComponentProvider;
|
||||||
import org.eclipse.hawkbit.ui.decorators.SPUIButtonStyleSmallNoBorder;
|
import org.eclipse.hawkbit.ui.decorators.SPUIButtonStyleSmallNoBorder;
|
||||||
import org.eclipse.hawkbit.ui.utils.HawkbitCommonUtil;
|
import org.eclipse.hawkbit.ui.utils.HawkbitCommonUtil;
|
||||||
|
import org.eclipse.hawkbit.ui.utils.I18N;
|
||||||
import org.eclipse.hawkbit.ui.utils.SPUIDefinitions;
|
import org.eclipse.hawkbit.ui.utils.SPUIDefinitions;
|
||||||
import org.eclipse.hawkbit.ui.utils.SPUILabelDefinitions;
|
import org.eclipse.hawkbit.ui.utils.SPUILabelDefinitions;
|
||||||
import org.eclipse.hawkbit.ui.utils.SPUIStyleDefinitions;
|
import org.eclipse.hawkbit.ui.utils.SPUIStyleDefinitions;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.vaadin.spring.events.EventBus;
|
||||||
|
|
||||||
import com.vaadin.event.dd.DropHandler;
|
import com.vaadin.event.dd.DropHandler;
|
||||||
import com.vaadin.server.FontAwesome;
|
import com.vaadin.server.FontAwesome;
|
||||||
@@ -38,6 +45,16 @@ public abstract class AbstractTableHeader extends VerticalLayout {
|
|||||||
|
|
||||||
private static final long serialVersionUID = 4881626370291837175L;
|
private static final long serialVersionUID = 4881626370291837175L;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
protected I18N i18n;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
protected SpPermissionChecker permChecker;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
protected transient EventBus.SessionEventBus eventbus;
|
||||||
|
|
||||||
|
|
||||||
private Label headerCaption;
|
private Label headerCaption;
|
||||||
|
|
||||||
private TextField searchField;
|
private TextField searchField;
|
||||||
@@ -59,10 +76,17 @@ public abstract class AbstractTableHeader extends VerticalLayout {
|
|||||||
/**
|
/**
|
||||||
* Initialze components.
|
* Initialze components.
|
||||||
*/
|
*/
|
||||||
|
@PostConstruct
|
||||||
protected void init() {
|
protected void init() {
|
||||||
createComponents();
|
createComponents();
|
||||||
buildLayout();
|
buildLayout();
|
||||||
restoreState();
|
restoreState();
|
||||||
|
eventbus.subscribe(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
@PreDestroy
|
||||||
|
void destroy() {
|
||||||
|
eventbus.unsubscribe(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void createComponents() {
|
private void createComponents() {
|
||||||
|
|||||||
@@ -13,10 +13,17 @@ import java.util.HashMap;
|
|||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
|
||||||
|
import javax.annotation.PostConstruct;
|
||||||
|
import javax.annotation.PreDestroy;
|
||||||
|
|
||||||
|
import org.eclipse.hawkbit.repository.SpPermissionChecker;
|
||||||
import org.eclipse.hawkbit.ui.management.state.ManagementUIState;
|
import org.eclipse.hawkbit.ui.management.state.ManagementUIState;
|
||||||
|
import org.eclipse.hawkbit.ui.utils.I18N;
|
||||||
import org.eclipse.hawkbit.ui.utils.SPUIDefinitions;
|
import org.eclipse.hawkbit.ui.utils.SPUIDefinitions;
|
||||||
import org.eclipse.hawkbit.ui.utils.SPUIStyleDefinitions;
|
import org.eclipse.hawkbit.ui.utils.SPUIStyleDefinitions;
|
||||||
|
import org.eclipse.hawkbit.ui.utils.UINotification;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.vaadin.spring.events.EventBus;
|
||||||
import org.vaadin.tokenfield.TokenField;
|
import org.vaadin.tokenfield.TokenField;
|
||||||
import org.vaadin.tokenfield.TokenField.InsertPosition;
|
import org.vaadin.tokenfield.TokenField.InsertPosition;
|
||||||
|
|
||||||
@@ -53,12 +60,32 @@ public abstract class AbstractTagToken implements Serializable {
|
|||||||
|
|
||||||
protected CssLayout tokenLayout = new CssLayout();
|
protected CssLayout tokenLayout = new CssLayout();
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
protected SpPermissionChecker checker;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
protected I18N i18n;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
protected UINotification uinotification;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
protected transient EventBus.SessionEventBus eventBus;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
protected ManagementUIState managementUIState;
|
protected ManagementUIState managementUIState;
|
||||||
|
|
||||||
|
@PostConstruct
|
||||||
protected void init() {
|
protected void init() {
|
||||||
createTokenField();
|
createTokenField();
|
||||||
checkIfTagAssignedIsAllowed();
|
checkIfTagAssignedIsAllowed();
|
||||||
|
eventBus.subscribe(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@PreDestroy
|
||||||
|
void destroy() {
|
||||||
|
eventBus.unsubscribe(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void createTokenField() {
|
private void createTokenField() {
|
||||||
|
|||||||
@@ -8,54 +8,25 @@
|
|||||||
*/
|
*/
|
||||||
package org.eclipse.hawkbit.ui.common.tagdetails;
|
package org.eclipse.hawkbit.ui.common.tagdetails;
|
||||||
|
|
||||||
import javax.annotation.PostConstruct;
|
|
||||||
import javax.annotation.PreDestroy;
|
|
||||||
|
|
||||||
import org.eclipse.hawkbit.eventbus.event.TargetTagCreatedBulkEvent;
|
import org.eclipse.hawkbit.eventbus.event.TargetTagCreatedBulkEvent;
|
||||||
import org.eclipse.hawkbit.eventbus.event.TargetTagDeletedEvent;
|
import org.eclipse.hawkbit.eventbus.event.TargetTagDeletedEvent;
|
||||||
import org.eclipse.hawkbit.repository.SpPermissionChecker;
|
|
||||||
import org.eclipse.hawkbit.repository.TagManagement;
|
import org.eclipse.hawkbit.repository.TagManagement;
|
||||||
import org.eclipse.hawkbit.repository.model.TargetTag;
|
import org.eclipse.hawkbit.repository.model.TargetTag;
|
||||||
import org.eclipse.hawkbit.ui.utils.I18N;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.vaadin.spring.events.EventBus;
|
|
||||||
import org.vaadin.spring.events.EventScope;
|
import org.vaadin.spring.events.EventScope;
|
||||||
import org.vaadin.spring.events.annotation.EventBusListenerMethod;
|
import org.vaadin.spring.events.annotation.EventBusListenerMethod;
|
||||||
|
|
||||||
import com.vaadin.ui.UI;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Abstract class for target tag token layout.
|
* Abstract class for target tag token layout.
|
||||||
*/
|
*/
|
||||||
public abstract class AbstractTargetTagToken extends AbstractTagToken {
|
public abstract class AbstractTargetTagToken extends AbstractTagToken {
|
||||||
|
|
||||||
private static final long serialVersionUID = 7772876588903171201L;
|
private static final long serialVersionUID = 7772876588903171201L;
|
||||||
protected UI ui;
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
protected transient EventBus.SessionEventBus eventBus;
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
protected I18N i18n;
|
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
protected transient TagManagement tagManagement;
|
protected transient TagManagement tagManagement;
|
||||||
|
|
||||||
@Autowired
|
|
||||||
protected SpPermissionChecker checker;
|
|
||||||
|
|
||||||
@Override
|
|
||||||
@PostConstruct
|
|
||||||
protected void init() {
|
|
||||||
super.init();
|
|
||||||
ui = UI.getCurrent();
|
|
||||||
eventBus.subscribe(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
@PreDestroy
|
|
||||||
void destroy() {
|
|
||||||
eventBus.unsubscribe(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
@EventBusListenerMethod(scope = EventScope.SESSION)
|
@EventBusListenerMethod(scope = EventScope.SESSION)
|
||||||
void onEventTargetTagCreated(final TargetTagCreatedBulkEvent event) {
|
void onEventTargetTagCreated(final TargetTagCreatedBulkEvent event) {
|
||||||
|
|||||||
@@ -14,7 +14,6 @@ import java.util.List;
|
|||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
import javax.annotation.PostConstruct;
|
|
||||||
import javax.annotation.PreDestroy;
|
import javax.annotation.PreDestroy;
|
||||||
|
|
||||||
import org.eclipse.hawkbit.eventbus.event.DistributionSetTagAssigmentResultEvent;
|
import org.eclipse.hawkbit.eventbus.event.DistributionSetTagAssigmentResultEvent;
|
||||||
@@ -22,7 +21,6 @@ import org.eclipse.hawkbit.eventbus.event.DistributionSetTagCreatedBulkEvent;
|
|||||||
import org.eclipse.hawkbit.eventbus.event.DistributionSetTagDeletedEvent;
|
import org.eclipse.hawkbit.eventbus.event.DistributionSetTagDeletedEvent;
|
||||||
import org.eclipse.hawkbit.eventbus.event.DistributionSetTagUpdateEvent;
|
import org.eclipse.hawkbit.eventbus.event.DistributionSetTagUpdateEvent;
|
||||||
import org.eclipse.hawkbit.repository.DistributionSetManagement;
|
import org.eclipse.hawkbit.repository.DistributionSetManagement;
|
||||||
import org.eclipse.hawkbit.repository.SpPermissionChecker;
|
|
||||||
import org.eclipse.hawkbit.repository.TagManagement;
|
import org.eclipse.hawkbit.repository.TagManagement;
|
||||||
import org.eclipse.hawkbit.repository.model.DistributionSet;
|
import org.eclipse.hawkbit.repository.model.DistributionSet;
|
||||||
import org.eclipse.hawkbit.repository.model.DistributionSetTag;
|
import org.eclipse.hawkbit.repository.model.DistributionSetTag;
|
||||||
@@ -31,10 +29,7 @@ import org.eclipse.hawkbit.ui.management.event.DistributionTableEvent;
|
|||||||
import org.eclipse.hawkbit.ui.management.event.DistributionTableEvent.DistributionComponentEvent;
|
import org.eclipse.hawkbit.ui.management.event.DistributionTableEvent.DistributionComponentEvent;
|
||||||
import org.eclipse.hawkbit.ui.management.event.ManagementUIEvent;
|
import org.eclipse.hawkbit.ui.management.event.ManagementUIEvent;
|
||||||
import org.eclipse.hawkbit.ui.utils.HawkbitCommonUtil;
|
import org.eclipse.hawkbit.ui.utils.HawkbitCommonUtil;
|
||||||
import org.eclipse.hawkbit.ui.utils.I18N;
|
|
||||||
import org.eclipse.hawkbit.ui.utils.UINotification;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.vaadin.spring.events.EventBus;
|
|
||||||
import org.vaadin.spring.events.EventScope;
|
import org.vaadin.spring.events.EventScope;
|
||||||
import org.vaadin.spring.events.annotation.EventBusListenerMethod;
|
import org.vaadin.spring.events.annotation.EventBusListenerMethod;
|
||||||
|
|
||||||
@@ -52,19 +47,6 @@ import com.vaadin.ui.UI;
|
|||||||
public class DistributionTagToken extends AbstractTagToken {
|
public class DistributionTagToken extends AbstractTagToken {
|
||||||
|
|
||||||
private static final long serialVersionUID = -8022738301736043396L;
|
private static final long serialVersionUID = -8022738301736043396L;
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private SpPermissionChecker spChecker;
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private I18N i18n;
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private UINotification uinotification;
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private transient EventBus.SessionEventBus eventBus;
|
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private transient TagManagement tagManagement;
|
private transient TagManagement tagManagement;
|
||||||
|
|
||||||
@@ -73,20 +55,9 @@ public class DistributionTagToken extends AbstractTagToken {
|
|||||||
|
|
||||||
private DistributionSet selectedDS;
|
private DistributionSet selectedDS;
|
||||||
|
|
||||||
private UI ui;
|
|
||||||
|
|
||||||
// To Be Done : have to set this value based on view???
|
// To Be Done : have to set this value based on view???
|
||||||
private static final Boolean NOTAGS_SELECTED = Boolean.FALSE;
|
private static final Boolean NOTAGS_SELECTED = Boolean.FALSE;
|
||||||
|
|
||||||
@Override
|
|
||||||
@PostConstruct
|
|
||||||
protected void init() {
|
|
||||||
super.init();
|
|
||||||
ui = UI.getCurrent();
|
|
||||||
eventBus.subscribe(this);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected String getTagStyleName() {
|
protected String getTagStyleName() {
|
||||||
return "distribution-tag-";
|
return "distribution-tag-";
|
||||||
@@ -114,7 +85,7 @@ public class DistributionTagToken extends AbstractTagToken {
|
|||||||
distributionList.add(selectedDS.getId());
|
distributionList.add(selectedDS.getId());
|
||||||
final DistributionSetTagAssignmentResult result = distributionSetManagement.toggleTagAssignment(distributionList,
|
final DistributionSetTagAssignmentResult result = distributionSetManagement.toggleTagAssignment(distributionList,
|
||||||
tagNameSelected);
|
tagNameSelected);
|
||||||
uinotification.displaySuccess(HawkbitCommonUtil.getDistributionTagAssignmentMsg(tagNameSelected, result, i18n));
|
uinotification.displaySuccess(HawkbitCommonUtil.createAssignmentMessage(tagNameSelected, result, i18n));
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -140,7 +111,7 @@ public class DistributionTagToken extends AbstractTagToken {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected Boolean isToggleTagAssignmentAllowed() {
|
protected Boolean isToggleTagAssignmentAllowed() {
|
||||||
return spChecker.hasUpdateDistributionPermission();
|
return checker.hasUpdateDistributionPermission();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -163,18 +134,15 @@ public class DistributionTagToken extends AbstractTagToken {
|
|||||||
|
|
||||||
@EventBusListenerMethod(scope = EventScope.SESSION)
|
@EventBusListenerMethod(scope = EventScope.SESSION)
|
||||||
void onEvent(final DistributionTableEvent distributionTableEvent) {
|
void onEvent(final DistributionTableEvent distributionTableEvent) {
|
||||||
if (distributionTableEvent.getDistributionComponentEvent() == DistributionComponentEvent.ON_VALUE_CHANGE) {
|
if (distributionTableEvent.getDistributionComponentEvent() != DistributionComponentEvent.ON_VALUE_CHANGE) {
|
||||||
ui.access(() -> {
|
return;
|
||||||
/**
|
|
||||||
* distributionTableEvent.getDistributionSet() is null when
|
|
||||||
* table has no data.
|
|
||||||
*/
|
|
||||||
if (distributionTableEvent.getDistributionSet() != null) {
|
|
||||||
selectedDS = distributionTableEvent.getDistributionSet();
|
|
||||||
repopulateToken();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
UI.getCurrent().access(() -> {
|
||||||
|
if (distributionTableEvent.getDistributionSet() != null) {
|
||||||
|
selectedDS = distributionTableEvent.getDistributionSet();
|
||||||
|
repopulateToken();
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventBusListenerMethod(scope = EventScope.SESSION)
|
@EventBusListenerMethod(scope = EventScope.SESSION)
|
||||||
@@ -214,7 +182,7 @@ public class DistributionTagToken extends AbstractTagToken {
|
|||||||
|
|
||||||
protected boolean isAssign(final DistributionSetTagAssignmentResult assignmentResult) {
|
protected boolean isAssign(final DistributionSetTagAssignmentResult assignmentResult) {
|
||||||
if (assignmentResult.getAssigned() > 0) {
|
if (assignmentResult.getAssigned() > 0) {
|
||||||
final List<Long> assignedDsNames = assignmentResult.getAssignedDs().stream().map(t -> t.getId())
|
final List<Long> assignedDsNames = assignmentResult.getAssignedEntity().stream().map(t -> t.getId())
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
if (assignedDsNames.contains(managementUIState.getLastSelectedDsIdName().getId())) {
|
if (assignedDsNames.contains(managementUIState.getLastSelectedDsIdName().getId())) {
|
||||||
return true;
|
return true;
|
||||||
@@ -225,7 +193,7 @@ public class DistributionTagToken extends AbstractTagToken {
|
|||||||
|
|
||||||
protected boolean isUnassign(final DistributionSetTagAssignmentResult assignmentResult) {
|
protected boolean isUnassign(final DistributionSetTagAssignmentResult assignmentResult) {
|
||||||
if (assignmentResult.getUnassigned() > 0) {
|
if (assignmentResult.getUnassigned() > 0) {
|
||||||
final List<Long> assignedDsNames = assignmentResult.getUnassignedDs().stream().map(t -> t.getId())
|
final List<Long> assignedDsNames = assignmentResult.getUnassignedEntity().stream().map(t -> t.getId())
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
if (assignedDsNames.contains(managementUIState.getLastSelectedDsIdName().getId())) {
|
if (assignedDsNames.contains(managementUIState.getLastSelectedDsIdName().getId())) {
|
||||||
return true;
|
return true;
|
||||||
@@ -234,6 +202,7 @@ public class DistributionTagToken extends AbstractTagToken {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
@PreDestroy
|
@PreDestroy
|
||||||
void destroy() {
|
void destroy() {
|
||||||
eventBus.unsubscribe(this);
|
eventBus.unsubscribe(this);
|
||||||
|
|||||||
@@ -32,6 +32,7 @@ import org.vaadin.spring.events.annotation.EventBusListenerMethod;
|
|||||||
import com.vaadin.data.Item;
|
import com.vaadin.data.Item;
|
||||||
import com.vaadin.spring.annotation.SpringComponent;
|
import com.vaadin.spring.annotation.SpringComponent;
|
||||||
import com.vaadin.spring.annotation.ViewScope;
|
import com.vaadin.spring.annotation.ViewScope;
|
||||||
|
import com.vaadin.ui.UI;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Implementation of Target tag token.
|
* Implementation of Target tag token.
|
||||||
@@ -81,7 +82,7 @@ public class TargetTagToken extends AbstractTargetTagToken {
|
|||||||
final Set<String> targetList = new HashSet<>();
|
final Set<String> targetList = new HashSet<>();
|
||||||
targetList.add(selectedTarget.getControllerId());
|
targetList.add(selectedTarget.getControllerId());
|
||||||
final TargetTagAssignmentResult result = targetManagement.toggleTagAssignment(targetList, tagNameSelected);
|
final TargetTagAssignmentResult result = targetManagement.toggleTagAssignment(targetList, tagNameSelected);
|
||||||
uinotification.displaySuccess(HawkbitCommonUtil.getTargetTagAssigmentMsg(tagNameSelected, result, i18n));
|
uinotification.displaySuccess(HawkbitCommonUtil.createAssignmentMessage(tagNameSelected, result, i18n));
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -151,7 +152,7 @@ public class TargetTagToken extends AbstractTargetTagToken {
|
|||||||
|
|
||||||
protected boolean isAssign(final TargetTagAssignmentResult assignmentResult) {
|
protected boolean isAssign(final TargetTagAssignmentResult assignmentResult) {
|
||||||
if (assignmentResult.getAssigned() > 0) {
|
if (assignmentResult.getAssigned() > 0) {
|
||||||
final List<String> assignedTargetNames = assignmentResult.getAssignedTargets().stream()
|
final List<String> assignedTargetNames = assignmentResult.getAssignedEntity().stream()
|
||||||
.map(t -> t.getControllerId()).collect(Collectors.toList());
|
.map(t -> t.getControllerId()).collect(Collectors.toList());
|
||||||
if (assignedTargetNames.contains(managementUIState.getLastSelectedTargetIdName().getControllerId())) {
|
if (assignedTargetNames.contains(managementUIState.getLastSelectedTargetIdName().getControllerId())) {
|
||||||
return true;
|
return true;
|
||||||
@@ -162,7 +163,7 @@ public class TargetTagToken extends AbstractTargetTagToken {
|
|||||||
|
|
||||||
protected boolean isUnassign(final TargetTagAssignmentResult assignmentResult) {
|
protected boolean isUnassign(final TargetTagAssignmentResult assignmentResult) {
|
||||||
if (assignmentResult.getUnassigned() > 0) {
|
if (assignmentResult.getUnassigned() > 0) {
|
||||||
final List<String> unassignedTargetNamesList = assignmentResult.getUnassignedTargets().stream()
|
final List<String> unassignedTargetNamesList = assignmentResult.getUnassignedEntity().stream()
|
||||||
.map(t -> t.getControllerId()).collect(Collectors.toList());
|
.map(t -> t.getControllerId()).collect(Collectors.toList());
|
||||||
if (unassignedTargetNamesList.contains(managementUIState.getLastSelectedTargetIdName().getControllerId())) {
|
if (unassignedTargetNamesList.contains(managementUIState.getLastSelectedTargetIdName().getControllerId())) {
|
||||||
return true;
|
return true;
|
||||||
@@ -175,10 +176,7 @@ public class TargetTagToken extends AbstractTargetTagToken {
|
|||||||
void onEvent(final TargetTableEvent targetTableEvent) {
|
void onEvent(final TargetTableEvent targetTableEvent) {
|
||||||
if (targetTableEvent.getTargetComponentEvent() == TargetComponentEvent.SELECTED_TARGET
|
if (targetTableEvent.getTargetComponentEvent() == TargetComponentEvent.SELECTED_TARGET
|
||||||
&& targetTableEvent.getTarget() != null) {
|
&& targetTableEvent.getTarget() != null) {
|
||||||
ui.access(() -> {
|
UI.getCurrent().access(() -> {
|
||||||
/**
|
|
||||||
* targetTableEvent.getTarget() is null when table has no data.
|
|
||||||
*/
|
|
||||||
selectedTarget = targetTableEvent.getTarget();
|
selectedTarget = targetTableEvent.getTarget();
|
||||||
repopulateToken();
|
repopulateToken();
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -8,10 +8,7 @@
|
|||||||
*/
|
*/
|
||||||
package org.eclipse.hawkbit.ui.distributions.disttype;
|
package org.eclipse.hawkbit.ui.distributions.disttype;
|
||||||
|
|
||||||
import javax.annotation.PreDestroy;
|
|
||||||
|
|
||||||
import org.eclipse.hawkbit.ui.common.DistributionSetTypeBeanQuery;
|
import org.eclipse.hawkbit.ui.common.DistributionSetTypeBeanQuery;
|
||||||
import org.eclipse.hawkbit.ui.common.filterlayout.AbstractFilterButtonClickBehaviour;
|
|
||||||
import org.eclipse.hawkbit.ui.common.filterlayout.AbstractFilterButtons;
|
import org.eclipse.hawkbit.ui.common.filterlayout.AbstractFilterButtons;
|
||||||
import org.eclipse.hawkbit.ui.distributions.event.DistributionSetTypeEvent;
|
import org.eclipse.hawkbit.ui.distributions.event.DistributionSetTypeEvent;
|
||||||
import org.eclipse.hawkbit.ui.distributions.event.DistributionsViewAcceptCriteria;
|
import org.eclipse.hawkbit.ui.distributions.event.DistributionsViewAcceptCriteria;
|
||||||
@@ -23,7 +20,6 @@ import org.eclipse.hawkbit.ui.utils.SPUIDefinitions;
|
|||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.vaadin.addons.lazyquerycontainer.BeanQueryFactory;
|
import org.vaadin.addons.lazyquerycontainer.BeanQueryFactory;
|
||||||
import org.vaadin.addons.lazyquerycontainer.LazyQueryContainer;
|
import org.vaadin.addons.lazyquerycontainer.LazyQueryContainer;
|
||||||
import org.vaadin.spring.events.EventBus;
|
|
||||||
import org.vaadin.spring.events.EventScope;
|
import org.vaadin.spring.events.EventScope;
|
||||||
import org.vaadin.spring.events.annotation.EventBusListenerMethod;
|
import org.vaadin.spring.events.annotation.EventBusListenerMethod;
|
||||||
|
|
||||||
@@ -45,27 +41,12 @@ public class DSTypeFilterButtons extends AbstractFilterButtons {
|
|||||||
|
|
||||||
private static final long serialVersionUID = 771251569981876005L;
|
private static final long serialVersionUID = 771251569981876005L;
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private transient EventBus.SessionEventBus eventBus;
|
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private ManageDistUIState manageDistUIState;
|
private ManageDistUIState manageDistUIState;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private DistributionsViewAcceptCriteria distributionsViewAcceptCriteria;
|
private DistributionsViewAcceptCriteria distributionsViewAcceptCriteria;
|
||||||
|
|
||||||
/**
|
|
||||||
* Initialize component.
|
|
||||||
*
|
|
||||||
* @param filterButtonClickBehaviour
|
|
||||||
* the clickable behaviour.
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public void init(final AbstractFilterButtonClickBehaviour filterButtonClickBehaviour) {
|
|
||||||
super.init(filterButtonClickBehaviour);
|
|
||||||
eventBus.subscribe(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected String getButtonsTableId() {
|
protected String getButtonsTableId() {
|
||||||
|
|
||||||
@@ -140,9 +121,4 @@ public class DSTypeFilterButtons extends AbstractFilterButtons {
|
|||||||
setContainerDataSource(createButtonsLazyQueryContainer());
|
setContainerDataSource(createButtonsLazyQueryContainer());
|
||||||
}
|
}
|
||||||
|
|
||||||
@PreDestroy
|
|
||||||
void destroy() {
|
|
||||||
eventBus.unsubscribe(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,14 +10,12 @@ package org.eclipse.hawkbit.ui.distributions.disttype;
|
|||||||
|
|
||||||
import javax.annotation.PostConstruct;
|
import javax.annotation.PostConstruct;
|
||||||
|
|
||||||
import org.eclipse.hawkbit.repository.SpPermissionChecker;
|
|
||||||
import org.eclipse.hawkbit.ui.common.filterlayout.AbstractFilterHeader;
|
import org.eclipse.hawkbit.ui.common.filterlayout.AbstractFilterHeader;
|
||||||
import org.eclipse.hawkbit.ui.distributions.event.DistributionsUIEvent;
|
import org.eclipse.hawkbit.ui.distributions.event.DistributionsUIEvent;
|
||||||
import org.eclipse.hawkbit.ui.distributions.state.ManageDistUIState;
|
import org.eclipse.hawkbit.ui.distributions.state.ManageDistUIState;
|
||||||
import org.eclipse.hawkbit.ui.utils.SPUIDefinitions;
|
import org.eclipse.hawkbit.ui.utils.SPUIDefinitions;
|
||||||
import org.eclipse.hawkbit.ui.utils.SPUILabelDefinitions;
|
import org.eclipse.hawkbit.ui.utils.SPUILabelDefinitions;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.vaadin.spring.events.EventBus;
|
|
||||||
|
|
||||||
import com.vaadin.spring.annotation.SpringComponent;
|
import com.vaadin.spring.annotation.SpringComponent;
|
||||||
import com.vaadin.spring.annotation.ViewScope;
|
import com.vaadin.spring.annotation.ViewScope;
|
||||||
@@ -34,12 +32,6 @@ public class DSTypeFilterHeader extends AbstractFilterHeader {
|
|||||||
|
|
||||||
private static final long serialVersionUID = 3433417459392880222L;
|
private static final long serialVersionUID = 3433417459392880222L;
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private SpPermissionChecker permChecker;
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private transient EventBus.SessionEventBus eventbus;
|
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private ManageDistUIState manageDistUIState;
|
private ManageDistUIState manageDistUIState;
|
||||||
|
|
||||||
@@ -81,8 +73,7 @@ public class DSTypeFilterHeader extends AbstractFilterHeader {
|
|||||||
@Override
|
@Override
|
||||||
protected void hideFilterButtonLayout() {
|
protected void hideFilterButtonLayout() {
|
||||||
manageDistUIState.setDistTypeFilterClosed(true);
|
manageDistUIState.setDistTypeFilterClosed(true);
|
||||||
eventbus.publish(this, DistributionsUIEvent.HIDE_DIST_FILTER_BY_TYPE);
|
eventBus.publish(this, DistributionsUIEvent.HIDE_DIST_FILTER_BY_TYPE);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -13,12 +13,8 @@ import java.util.HashSet;
|
|||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
import javax.annotation.PostConstruct;
|
|
||||||
import javax.annotation.PreDestroy;
|
|
||||||
|
|
||||||
import org.eclipse.hawkbit.repository.DistributionSetManagement;
|
import org.eclipse.hawkbit.repository.DistributionSetManagement;
|
||||||
import org.eclipse.hawkbit.repository.SoftwareManagement;
|
import org.eclipse.hawkbit.repository.SoftwareManagement;
|
||||||
import org.eclipse.hawkbit.repository.SpPermissionChecker;
|
|
||||||
import org.eclipse.hawkbit.repository.model.DistributionSet;
|
import org.eclipse.hawkbit.repository.model.DistributionSet;
|
||||||
import org.eclipse.hawkbit.repository.model.DistributionSetIdName;
|
import org.eclipse.hawkbit.repository.model.DistributionSetIdName;
|
||||||
import org.eclipse.hawkbit.repository.model.SoftwareModule;
|
import org.eclipse.hawkbit.repository.model.SoftwareModule;
|
||||||
@@ -37,10 +33,8 @@ import org.eclipse.hawkbit.ui.management.dstable.DistributionAddUpdateWindowLayo
|
|||||||
import org.eclipse.hawkbit.ui.management.event.DistributionTableEvent;
|
import org.eclipse.hawkbit.ui.management.event.DistributionTableEvent;
|
||||||
import org.eclipse.hawkbit.ui.management.event.DistributionTableEvent.DistributionComponentEvent;
|
import org.eclipse.hawkbit.ui.management.event.DistributionTableEvent.DistributionComponentEvent;
|
||||||
import org.eclipse.hawkbit.ui.utils.HawkbitCommonUtil;
|
import org.eclipse.hawkbit.ui.utils.HawkbitCommonUtil;
|
||||||
import org.eclipse.hawkbit.ui.utils.I18N;
|
|
||||||
import org.eclipse.hawkbit.ui.utils.SPUIComponetIdProvider;
|
import org.eclipse.hawkbit.ui.utils.SPUIComponetIdProvider;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.vaadin.spring.events.EventBus;
|
|
||||||
import org.vaadin.spring.events.EventScope;
|
import org.vaadin.spring.events.EventScope;
|
||||||
import org.vaadin.spring.events.annotation.EventBusListenerMethod;
|
import org.vaadin.spring.events.annotation.EventBusListenerMethod;
|
||||||
|
|
||||||
@@ -72,15 +66,6 @@ public class DistributionSetDetails extends AbstractTableDetailsLayout {
|
|||||||
|
|
||||||
private static final String UNASSIGN_SOFT_MODULE = "unassignSoftModule";
|
private static final String UNASSIGN_SOFT_MODULE = "unassignSoftModule";
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private I18N i18n;
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private transient EventBus.SessionEventBus eventBus;
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private SpPermissionChecker permissionChecker;
|
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private ManageDistUIState manageDistUIState;
|
private ManageDistUIState manageDistUIState;
|
||||||
|
|
||||||
@@ -104,21 +89,16 @@ public class DistributionSetDetails extends AbstractTableDetailsLayout {
|
|||||||
|
|
||||||
private Long dsId;
|
private Long dsId;
|
||||||
|
|
||||||
private UI ui;
|
|
||||||
|
|
||||||
Map<String, StringBuilder> assignedSWModule = new HashMap<>();
|
Map<String, StringBuilder> assignedSWModule = new HashMap<>();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* softwareLayout Initialize the component.
|
* softwareLayout Initialize the component.
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
@PostConstruct
|
|
||||||
protected void init() {
|
protected void init() {
|
||||||
softwareModuleTable = new SoftwareModuleDetailsTable();
|
softwareModuleTable = new SoftwareModuleDetailsTable();
|
||||||
softwareModuleTable.init(i18n, true, permissionChecker, distributionSetManagement, eventBus, manageDistUIState);
|
softwareModuleTable.init(i18n, true, permissionChecker, distributionSetManagement, eventBus, manageDistUIState);
|
||||||
super.init();
|
super.init();
|
||||||
ui = UI.getCurrent();
|
|
||||||
eventBus.subscribe(this);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
protected VerticalLayout createTagsLayout() {
|
protected VerticalLayout createTagsLayout() {
|
||||||
@@ -321,12 +301,6 @@ public class DistributionSetDetails extends AbstractTableDetailsLayout {
|
|||||||
this.dsId = dsId;
|
this.dsId = dsId;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* (non-Javadoc)
|
|
||||||
*
|
|
||||||
* @see hawkbit.server.ui.common.detailslayout.AbstractTableDetailsLayout#
|
|
||||||
* onEdit(com.vaadin.ui .Button.ClickEvent)
|
|
||||||
*/
|
|
||||||
@Override
|
@Override
|
||||||
protected void onEdit(final ClickEvent event) {
|
protected void onEdit(final ClickEvent event) {
|
||||||
final Window newDistWindow = distributionAddUpdateWindowLayout.getWindow();
|
final Window newDistWindow = distributionAddUpdateWindowLayout.getWindow();
|
||||||
@@ -336,68 +310,32 @@ public class DistributionSetDetails extends AbstractTableDetailsLayout {
|
|||||||
newDistWindow.setVisible(Boolean.TRUE);
|
newDistWindow.setVisible(Boolean.TRUE);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* (non-Javadoc)
|
|
||||||
*
|
|
||||||
* @see hawkbit.server.ui.common.detailslayout.AbstractTableDetailsLayout#
|
|
||||||
* getEditButtonId()
|
|
||||||
*/
|
|
||||||
@Override
|
@Override
|
||||||
protected String getEditButtonId() {
|
protected String getEditButtonId() {
|
||||||
return SPUIComponetIdProvider.DS_EDIT_BUTTON;
|
return SPUIComponetIdProvider.DS_EDIT_BUTTON;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* (non-Javadoc)
|
|
||||||
*
|
|
||||||
* @see hawkbit.server.ui.common.detailslayout.AbstractTableDetailsLayout#
|
|
||||||
* onLoadIsSwModuleSelected ()
|
|
||||||
*/
|
|
||||||
@Override
|
@Override
|
||||||
protected Boolean onLoadIsTableRowSelected() {
|
protected Boolean onLoadIsTableRowSelected() {
|
||||||
return manageDistUIState.getSelectedDistributions().isPresent()
|
return manageDistUIState.getSelectedDistributions().isPresent()
|
||||||
&& !manageDistUIState.getSelectedDistributions().get().isEmpty();
|
&& !manageDistUIState.getSelectedDistributions().get().isEmpty();
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* (non-Javadoc)
|
|
||||||
*
|
|
||||||
* @see hawkbit.server.ui.common.detailslayout.AbstractTableDetailsLayout#
|
|
||||||
* onLoadIsTableMaximized ()
|
|
||||||
*/
|
|
||||||
@Override
|
@Override
|
||||||
protected Boolean onLoadIsTableMaximized() {
|
protected Boolean onLoadIsTableMaximized() {
|
||||||
return manageDistUIState.isDsTableMaximized();
|
return manageDistUIState.isDsTableMaximized();
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* (non-Javadoc)
|
|
||||||
*
|
|
||||||
* @see hawkbit.server.ui.common.detailslayout.AbstractTableDetailsLayout#
|
|
||||||
* populateDetailsWidget()
|
|
||||||
*/
|
|
||||||
@Override
|
@Override
|
||||||
protected void populateDetailsWidget() {
|
protected void populateDetailsWidget() {
|
||||||
populateDetailsWidget(selectedDsModule);
|
populateDetailsWidget(selectedDsModule);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* (non-Javadoc)
|
|
||||||
*
|
|
||||||
* @see hawkbit.server.ui.common.detailslayout.AbstractTableDetailsLayout#
|
|
||||||
* getDefaultCaption()
|
|
||||||
*/
|
|
||||||
@Override
|
@Override
|
||||||
protected String getDefaultCaption() {
|
protected String getDefaultCaption() {
|
||||||
return i18n.get("distribution.details.header");
|
return i18n.get("distribution.details.header");
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* (non-Javadoc)
|
|
||||||
*
|
|
||||||
* @see hawkbit.server.ui.common.detailslayout.AbstractTableDetailsLayout#
|
|
||||||
* addTabs(com.vaadin. ui.TabSheet)
|
|
||||||
*/
|
|
||||||
@Override
|
@Override
|
||||||
protected void addTabs(final TabSheet detailsTab) {
|
protected void addTabs(final TabSheet detailsTab) {
|
||||||
detailsTab.addTab(createDetailsLayout(), i18n.get("caption.tab.details"), null);
|
detailsTab.addTab(createDetailsLayout(), i18n.get("caption.tab.details"), null);
|
||||||
@@ -407,23 +345,11 @@ public class DistributionSetDetails extends AbstractTableDetailsLayout {
|
|||||||
detailsTab.addTab(createLogLayout(), i18n.get("caption.logs.tab"), null);
|
detailsTab.addTab(createLogLayout(), i18n.get("caption.logs.tab"), null);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* (non-Javadoc)
|
|
||||||
*
|
|
||||||
* @see hawkbit.server.ui.common.detailslayout.AbstractTableDetailsLayout#
|
|
||||||
* clearDetails()
|
|
||||||
*/
|
|
||||||
@Override
|
@Override
|
||||||
protected void clearDetails() {
|
protected void clearDetails() {
|
||||||
populateDetailsWidget(null);
|
populateDetailsWidget(null);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* (non-Javadoc)
|
|
||||||
*
|
|
||||||
* @see hawkbit.server.ui.common.detailslayout.AbstractTableDetailsLayout#
|
|
||||||
* hasEditSoftwareModulePermission()
|
|
||||||
*/
|
|
||||||
@Override
|
@Override
|
||||||
protected Boolean hasEditPermission() {
|
protected Boolean hasEditPermission() {
|
||||||
return permissionChecker.hasUpdateDistributionPermission();
|
return permissionChecker.hasUpdateDistributionPermission();
|
||||||
@@ -498,21 +424,6 @@ public class DistributionSetDetails extends AbstractTableDetailsLayout {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@PreDestroy
|
|
||||||
void destroy() {
|
|
||||||
/*
|
|
||||||
* It's good to do this, even though vaadin-spring will automatically
|
|
||||||
* unsubscribe .
|
|
||||||
*/
|
|
||||||
eventBus.unsubscribe(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* (non-Javadoc)
|
|
||||||
*
|
|
||||||
* @see hawkbit.server.ui.common.detailslayout.AbstractTableDetailsLayout#
|
|
||||||
* getTabSheetId()
|
|
||||||
*/
|
|
||||||
@Override
|
@Override
|
||||||
protected String getTabSheetId() {
|
protected String getTabSheetId() {
|
||||||
return null;
|
return null;
|
||||||
|
|||||||
@@ -8,10 +8,6 @@
|
|||||||
*/
|
*/
|
||||||
package org.eclipse.hawkbit.ui.distributions.dstable;
|
package org.eclipse.hawkbit.ui.distributions.dstable;
|
||||||
|
|
||||||
import javax.annotation.PostConstruct;
|
|
||||||
import javax.annotation.PreDestroy;
|
|
||||||
|
|
||||||
import org.eclipse.hawkbit.repository.SpPermissionChecker;
|
|
||||||
import org.eclipse.hawkbit.ui.common.table.AbstractTableHeader;
|
import org.eclipse.hawkbit.ui.common.table.AbstractTableHeader;
|
||||||
import org.eclipse.hawkbit.ui.distributions.event.DistributionsUIEvent;
|
import org.eclipse.hawkbit.ui.distributions.event.DistributionsUIEvent;
|
||||||
import org.eclipse.hawkbit.ui.distributions.event.DragEvent;
|
import org.eclipse.hawkbit.ui.distributions.event.DragEvent;
|
||||||
@@ -20,10 +16,8 @@ import org.eclipse.hawkbit.ui.management.dstable.DistributionAddUpdateWindowLayo
|
|||||||
import org.eclipse.hawkbit.ui.management.event.DistributionTableEvent;
|
import org.eclipse.hawkbit.ui.management.event.DistributionTableEvent;
|
||||||
import org.eclipse.hawkbit.ui.management.event.DistributionTableEvent.DistributionComponentEvent;
|
import org.eclipse.hawkbit.ui.management.event.DistributionTableEvent.DistributionComponentEvent;
|
||||||
import org.eclipse.hawkbit.ui.management.event.DistributionTableFilterEvent;
|
import org.eclipse.hawkbit.ui.management.event.DistributionTableFilterEvent;
|
||||||
import org.eclipse.hawkbit.ui.utils.I18N;
|
|
||||||
import org.eclipse.hawkbit.ui.utils.SPUIComponetIdProvider;
|
import org.eclipse.hawkbit.ui.utils.SPUIComponetIdProvider;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.vaadin.spring.events.EventBus;
|
|
||||||
import org.vaadin.spring.events.EventScope;
|
import org.vaadin.spring.events.EventScope;
|
||||||
import org.vaadin.spring.events.annotation.EventBusListenerMethod;
|
import org.vaadin.spring.events.annotation.EventBusListenerMethod;
|
||||||
|
|
||||||
@@ -43,28 +37,12 @@ public class DistributionSetTableHeader extends AbstractTableHeader {
|
|||||||
|
|
||||||
private static final long serialVersionUID = -3483238438474530748L;
|
private static final long serialVersionUID = -3483238438474530748L;
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private I18N i18n;
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private SpPermissionChecker permChecker;
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private transient EventBus.SessionEventBus eventbus;
|
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private ManageDistUIState manageDistUIstate;
|
private ManageDistUIState manageDistUIstate;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private DistributionAddUpdateWindowLayout addUpdateWindowLayout;
|
private DistributionAddUpdateWindowLayout addUpdateWindowLayout;
|
||||||
|
|
||||||
@Override
|
|
||||||
@PostConstruct
|
|
||||||
protected void init() {
|
|
||||||
super.init();
|
|
||||||
eventbus.subscribe(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
@EventBusListenerMethod(scope = EventScope.SESSION)
|
@EventBusListenerMethod(scope = EventScope.SESSION)
|
||||||
void onEvent(final DistributionsUIEvent event) {
|
void onEvent(final DistributionsUIEvent event) {
|
||||||
if (event == DistributionsUIEvent.HIDE_DIST_FILTER_BY_TYPE) {
|
if (event == DistributionsUIEvent.HIDE_DIST_FILTER_BY_TYPE) {
|
||||||
@@ -181,11 +159,6 @@ public class DistributionSetTableHeader extends AbstractTableHeader {
|
|||||||
eventbus.publish(this, DragEvent.HIDE_DROP_HINT);
|
eventbus.publish(this, DragEvent.HIDE_DROP_HINT);
|
||||||
}
|
}
|
||||||
|
|
||||||
@PreDestroy
|
|
||||||
void destroy() {
|
|
||||||
eventbus.unsubscribe(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected Boolean isAddNewItemAllowed() {
|
protected Boolean isAddNewItemAllowed() {
|
||||||
return Boolean.TRUE;
|
return Boolean.TRUE;
|
||||||
|
|||||||
@@ -16,10 +16,6 @@ import java.util.Map;
|
|||||||
import org.eclipse.hawkbit.ui.common.AbstractAcceptCriteria;
|
import org.eclipse.hawkbit.ui.common.AbstractAcceptCriteria;
|
||||||
import org.eclipse.hawkbit.ui.utils.SPUIComponetIdProvider;
|
import org.eclipse.hawkbit.ui.utils.SPUIComponetIdProvider;
|
||||||
import org.eclipse.hawkbit.ui.utils.SPUIDefinitions;
|
import org.eclipse.hawkbit.ui.utils.SPUIDefinitions;
|
||||||
import org.eclipse.hawkbit.ui.utils.SPUILabelDefinitions;
|
|
||||||
import org.eclipse.hawkbit.ui.utils.UINotification;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
|
||||||
import org.vaadin.spring.events.EventBus;
|
|
||||||
|
|
||||||
import com.vaadin.spring.annotation.SpringComponent;
|
import com.vaadin.spring.annotation.SpringComponent;
|
||||||
import com.vaadin.spring.annotation.ViewScope;
|
import com.vaadin.spring.annotation.ViewScope;
|
||||||
@@ -39,29 +35,6 @@ public class DistributionsViewAcceptCriteria extends AbstractAcceptCriteria {
|
|||||||
|
|
||||||
private static final Map<String, List<String>> DROP_CONFIGS = createDropConfigurations();
|
private static final Map<String, List<String>> DROP_CONFIGS = createDropConfigurations();
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private transient UINotification uiNotification;
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private transient EventBus.SessionEventBus eventBus;
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void analyseDragComponent(final Component compsource) {
|
|
||||||
final String sourceID = getComponentId(compsource);
|
|
||||||
final Object event = DROP_HINTS_CONFIGS.get(sourceID);
|
|
||||||
eventBus.publish(this, event);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void hideDropHints() {
|
|
||||||
eventBus.publish(this, DragEvent.HIDE_DROP_HINT);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void invalidDrop() {
|
|
||||||
uiNotification.displayValidationError(SPUILabelDefinitions.ACTION_NOT_ALLOWED);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected String getComponentId(final Component component) {
|
protected String getComponentId(final Component component) {
|
||||||
String id = component.getId();
|
String id = component.getId();
|
||||||
@@ -78,11 +51,6 @@ public class DistributionsViewAcceptCriteria extends AbstractAcceptCriteria {
|
|||||||
return DROP_HINTS_CONFIGS;
|
return DROP_HINTS_CONFIGS;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void publishDragStartEvent(final Object event) {
|
|
||||||
eventBus.publish(this, event);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected Map<String, List<String>> getDropConfigurations() {
|
protected Map<String, List<String>> getDropConfigurations() {
|
||||||
return DROP_CONFIGS;
|
return DROP_CONFIGS;
|
||||||
|
|||||||
@@ -15,10 +15,6 @@ import java.util.List;
|
|||||||
import java.util.Map.Entry;
|
import java.util.Map.Entry;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
import javax.annotation.PostConstruct;
|
|
||||||
import javax.annotation.PreDestroy;
|
|
||||||
|
|
||||||
import org.eclipse.hawkbit.repository.SpPermissionChecker;
|
|
||||||
import org.eclipse.hawkbit.repository.SystemManagement;
|
import org.eclipse.hawkbit.repository.SystemManagement;
|
||||||
import org.eclipse.hawkbit.repository.model.DistributionSetIdName;
|
import org.eclipse.hawkbit.repository.model.DistributionSetIdName;
|
||||||
import org.eclipse.hawkbit.repository.model.DistributionSetType;
|
import org.eclipse.hawkbit.repository.model.DistributionSetType;
|
||||||
@@ -30,13 +26,10 @@ import org.eclipse.hawkbit.ui.distributions.event.DragEvent;
|
|||||||
import org.eclipse.hawkbit.ui.distributions.event.SaveActionWindowEvent;
|
import org.eclipse.hawkbit.ui.distributions.event.SaveActionWindowEvent;
|
||||||
import org.eclipse.hawkbit.ui.distributions.state.ManageDistUIState;
|
import org.eclipse.hawkbit.ui.distributions.state.ManageDistUIState;
|
||||||
import org.eclipse.hawkbit.ui.utils.HawkbitCommonUtil;
|
import org.eclipse.hawkbit.ui.utils.HawkbitCommonUtil;
|
||||||
import org.eclipse.hawkbit.ui.utils.I18N;
|
|
||||||
import org.eclipse.hawkbit.ui.utils.SPUIComponetIdProvider;
|
import org.eclipse.hawkbit.ui.utils.SPUIComponetIdProvider;
|
||||||
import org.eclipse.hawkbit.ui.utils.SPUIDefinitions;
|
import org.eclipse.hawkbit.ui.utils.SPUIDefinitions;
|
||||||
import org.eclipse.hawkbit.ui.utils.SPUILabelDefinitions;
|
import org.eclipse.hawkbit.ui.utils.SPUILabelDefinitions;
|
||||||
import org.eclipse.hawkbit.ui.utils.UINotification;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.vaadin.spring.events.EventBus;
|
|
||||||
import org.vaadin.spring.events.EventScope;
|
import org.vaadin.spring.events.EventScope;
|
||||||
import org.vaadin.spring.events.annotation.EventBusListenerMethod;
|
import org.vaadin.spring.events.annotation.EventBusListenerMethod;
|
||||||
|
|
||||||
@@ -65,21 +58,6 @@ public class DSDeleteActionsLayout extends AbstractDeleteActionsLayout {
|
|||||||
Arrays.asList(DragEvent.DISTRIBUTION_TYPE_DRAG, DragEvent.DISTRIBUTION_DRAG, DragEvent.SOFTWAREMODULE_DRAG,
|
Arrays.asList(DragEvent.DISTRIBUTION_TYPE_DRAG, DragEvent.DISTRIBUTION_DRAG, DragEvent.SOFTWAREMODULE_DRAG,
|
||||||
DragEvent.SOFTWAREMODULE_TYPE_DRAG));
|
DragEvent.SOFTWAREMODULE_TYPE_DRAG));
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private I18N i18n;
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private SpPermissionChecker permChecker;
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private transient EventBus.SessionEventBus eventBus;
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private transient UINotification notification;
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private transient UINotification uiNotification;
|
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private transient SystemManagement systemManagement;
|
private transient SystemManagement systemManagement;
|
||||||
|
|
||||||
@@ -92,28 +70,6 @@ public class DSDeleteActionsLayout extends AbstractDeleteActionsLayout {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private DistributionsViewAcceptCriteria distributionsViewAcceptCriteria;
|
private DistributionsViewAcceptCriteria distributionsViewAcceptCriteria;
|
||||||
|
|
||||||
/*
|
|
||||||
* (non-Javadoc)
|
|
||||||
*
|
|
||||||
* @see
|
|
||||||
* org.eclipse.hawkbit.server.ui.common.footer.DeleteActionsLayout#init()
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
@PostConstruct
|
|
||||||
protected void init() {
|
|
||||||
super.init();
|
|
||||||
eventBus.subscribe(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
@PreDestroy
|
|
||||||
void destroy() {
|
|
||||||
/*
|
|
||||||
* It's good manners to do this, even though vaadin-spring will
|
|
||||||
* automatically unsubscribe when this UI is garbage collected.
|
|
||||||
*/
|
|
||||||
eventBus.unsubscribe(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
@EventBusListenerMethod(scope = EventScope.SESSION)
|
@EventBusListenerMethod(scope = EventScope.SESSION)
|
||||||
void onEvent(final DragEvent event) {
|
void onEvent(final DragEvent event) {
|
||||||
if (event == DragEvent.HIDE_DROP_HINT) {
|
if (event == DragEvent.HIDE_DROP_HINT) {
|
||||||
@@ -139,77 +95,34 @@ public class DSDeleteActionsLayout extends AbstractDeleteActionsLayout {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* (non-Javadoc)
|
|
||||||
*
|
|
||||||
* @see
|
|
||||||
* org.eclipse.hawkbit.server.ui.common.footer.AbstractDeleteActionsLayout#
|
|
||||||
* hasDeletePermission()
|
|
||||||
*/
|
|
||||||
@Override
|
@Override
|
||||||
protected boolean hasDeletePermission() {
|
protected boolean hasDeletePermission() {
|
||||||
return permChecker.hasDeleteDistributionPermission();
|
return permChecker.hasDeleteDistributionPermission();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* (non-Javadoc)
|
|
||||||
*
|
|
||||||
* @see
|
|
||||||
* org.eclipse.hawkbit.server.ui.common.footer.AbstractDeleteActionsLayout#
|
|
||||||
* hasUpdatePermission()
|
|
||||||
*/
|
|
||||||
@Override
|
@Override
|
||||||
protected boolean hasUpdatePermission() {
|
protected boolean hasUpdatePermission() {
|
||||||
|
|
||||||
return permChecker.hasUpdateDistributionPermission();
|
return permChecker.hasUpdateDistributionPermission();
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* (non-Javadoc)
|
|
||||||
*
|
|
||||||
* @see
|
|
||||||
* org.eclipse.hawkbit.server.ui.common.footer.AbstractDeleteActionsLayout#
|
|
||||||
* getDeleteAreaLabel()
|
|
||||||
*/
|
|
||||||
@Override
|
@Override
|
||||||
protected String getDeleteAreaLabel() {
|
protected String getDeleteAreaLabel() {
|
||||||
return i18n.get("label.components.drop.area");
|
return i18n.get("label.components.drop.area");
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* (non-Javadoc)
|
|
||||||
*
|
|
||||||
* @see
|
|
||||||
* org.eclipse.hawkbit.server.ui.common.footer.AbstractDeleteActionsLayout#
|
|
||||||
* getDeleteAreaId()
|
|
||||||
*/
|
|
||||||
@Override
|
@Override
|
||||||
protected String getDeleteAreaId() {
|
protected String getDeleteAreaId() {
|
||||||
|
|
||||||
return SPUIComponetIdProvider.DELETE_BUTTON_WRAPPER_ID;
|
return SPUIComponetIdProvider.DELETE_BUTTON_WRAPPER_ID;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* (non-Javadoc)
|
|
||||||
*
|
|
||||||
* @see
|
|
||||||
* org.eclipse.hawkbit.server.ui.common.footer.AbstractDeleteActionsLayout#
|
|
||||||
* getDeleteLayoutAcceptCriteria ()
|
|
||||||
*/
|
|
||||||
@Override
|
@Override
|
||||||
protected AcceptCriterion getDeleteLayoutAcceptCriteria() {
|
protected AcceptCriterion getDeleteLayoutAcceptCriteria() {
|
||||||
|
|
||||||
return distributionsViewAcceptCriteria;
|
return distributionsViewAcceptCriteria;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* (non-Javadoc)
|
|
||||||
*
|
|
||||||
* @see
|
|
||||||
* org.eclipse.hawkbit.server.ui.common.footer.AbstractDeleteActionsLayout#
|
|
||||||
* processDroppedComponent(com .vaadin.event.dd.DragAndDropEvent)
|
|
||||||
*/
|
|
||||||
@Override
|
@Override
|
||||||
protected void processDroppedComponent(final DragAndDropEvent event) {
|
protected void processDroppedComponent(final DragAndDropEvent event) {
|
||||||
final Component sourceComponent = event.getTransferable().getSourceComponent();
|
final Component sourceComponent = event.getTransferable().getSourceComponent();
|
||||||
@@ -298,7 +211,7 @@ public class DSDeleteActionsLayout extends AbstractDeleteActionsLayout {
|
|||||||
* message accordingly.
|
* message accordingly.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
uiNotification.displayValidationError(i18n.get("message.targets.already.deleted"));
|
notification.displayValidationError(i18n.get("message.targets.already.deleted"));
|
||||||
} else if (newDeletedDistributionsSize - existingDeletedDistributionsSize != distributionIdNameSet.size()) {
|
} else if (newDeletedDistributionsSize - existingDeletedDistributionsSize != distributionIdNameSet.size()) {
|
||||||
/*
|
/*
|
||||||
* Not the all distributions dropped now are added to the delete
|
* Not the all distributions dropped now are added to the delete
|
||||||
@@ -306,7 +219,7 @@ public class DSDeleteActionsLayout extends AbstractDeleteActionsLayout {
|
|||||||
* delete list. Hence display warning message accordingly.
|
* delete list. Hence display warning message accordingly.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
uiNotification.displayValidationError(i18n.get("message.dist.deleted.pending"));
|
notification.displayValidationError(i18n.get("message.dist.deleted.pending"));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -366,64 +279,12 @@ public class DSDeleteActionsLayout extends AbstractDeleteActionsLayout {
|
|||||||
return SPUIComponetIdProvider.UPLOAD_SOFTWARE_MODULE_TABLE.equals(source.getId());
|
return SPUIComponetIdProvider.UPLOAD_SOFTWARE_MODULE_TABLE.equals(source.getId());
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* (non-Javadoc)
|
|
||||||
*
|
|
||||||
* @see
|
|
||||||
* org.eclipse.hawkbit.server.ui.common.footer.AbstractDeleteActionsLayout#
|
|
||||||
* getNoActionsButtonLabel()
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
protected String getNoActionsButtonLabel() {
|
|
||||||
return i18n.get("button.no.actions");
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* (non-Javadoc)
|
|
||||||
*
|
|
||||||
* @see
|
|
||||||
* org.eclipse.hawkbit.server.ui.common.footer.AbstractDeleteActionsLayout#
|
|
||||||
* getActionsButtonLabel()
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
protected String getActionsButtonLabel() {
|
|
||||||
|
|
||||||
return i18n.get("button.actions");
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* (non-Javadoc)
|
|
||||||
*
|
|
||||||
* @see
|
|
||||||
* org.eclipse.hawkbit.server.ui.common.footer.AbstractDeleteActionsLayout#
|
|
||||||
* reloadActionCount()
|
|
||||||
*/
|
|
||||||
@Override
|
@Override
|
||||||
protected void restoreActionCount() {
|
protected void restoreActionCount() {
|
||||||
updateDSActionCount();
|
updateDSActionCount();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* (non-Javadoc)
|
|
||||||
*
|
|
||||||
* @see
|
|
||||||
* org.eclipse.hawkbit.server.ui.common.footer.AbstractDeleteActionsLayout#
|
|
||||||
* getUnsavedActionsWindowCaption ()
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
protected String getUnsavedActionsWindowCaption() {
|
|
||||||
return i18n.get("caption.save.window");
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* (non-Javadoc)
|
|
||||||
*
|
|
||||||
* @see
|
|
||||||
* org.eclipse.hawkbit.server.ui.common.footer.AbstractDeleteActionsLayout#
|
|
||||||
* unsavedActionsWindowClosed()
|
|
||||||
*/
|
|
||||||
@Override
|
@Override
|
||||||
protected void unsavedActionsWindowClosed() {
|
protected void unsavedActionsWindowClosed() {
|
||||||
final String message = distConfirmationWindowLayout.getConsolidatedMessage();
|
final String message = distConfirmationWindowLayout.getConsolidatedMessage();
|
||||||
@@ -433,26 +294,12 @@ public class DSDeleteActionsLayout extends AbstractDeleteActionsLayout {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* (non-Javadoc)
|
|
||||||
*
|
|
||||||
* @see
|
|
||||||
* org.eclipse.hawkbit.server.ui.common.footer.AbstractDeleteActionsLayout#
|
|
||||||
* getUnsavedActionsWindowContent ()
|
|
||||||
*/
|
|
||||||
@Override
|
@Override
|
||||||
protected Component getUnsavedActionsWindowContent() {
|
protected Component getUnsavedActionsWindowContent() {
|
||||||
distConfirmationWindowLayout.init();
|
distConfirmationWindowLayout.init();
|
||||||
return distConfirmationWindowLayout;
|
return distConfirmationWindowLayout;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* (non-Javadoc)
|
|
||||||
*
|
|
||||||
* @see
|
|
||||||
* org.eclipse.hawkbit.server.ui.common.footer.AbstractDeleteActionsLayout#
|
|
||||||
* hasUnsavedActions()
|
|
||||||
*/
|
|
||||||
@Override
|
@Override
|
||||||
protected boolean hasUnsavedActions() {
|
protected boolean hasUnsavedActions() {
|
||||||
boolean unSavedActionsTypes = false;
|
boolean unSavedActionsTypes = false;
|
||||||
@@ -479,23 +326,11 @@ public class DSDeleteActionsLayout extends AbstractDeleteActionsLayout {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* (non-Javadoc)
|
|
||||||
*
|
|
||||||
* @see org.eclipse.hawkbit.ui.common.footer.AbstractDeleteActionsLayout#
|
|
||||||
* hasBulkUploadPermission()
|
|
||||||
*/
|
|
||||||
@Override
|
@Override
|
||||||
protected boolean hasBulkUploadPermission() {
|
protected boolean hasBulkUploadPermission() {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* (non-Javadoc)
|
|
||||||
*
|
|
||||||
* @see org.eclipse.hawkbit.ui.common.footer.AbstractDeleteActionsLayout#
|
|
||||||
* showBulkUploadWindow()
|
|
||||||
*/
|
|
||||||
@Override
|
@Override
|
||||||
protected void showBulkUploadWindow() {
|
protected void showBulkUploadWindow() {
|
||||||
/**
|
/**
|
||||||
@@ -503,12 +338,6 @@ public class DSDeleteActionsLayout extends AbstractDeleteActionsLayout {
|
|||||||
*/
|
*/
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* (non-Javadoc)
|
|
||||||
*
|
|
||||||
* @see org.eclipse.hawkbit.ui.common.footer.AbstractDeleteActionsLayout#
|
|
||||||
* restoreBulkUploadStatusCount()
|
|
||||||
*/
|
|
||||||
@Override
|
@Override
|
||||||
protected void restoreBulkUploadStatusCount() {
|
protected void restoreBulkUploadStatusCount() {
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -8,10 +8,6 @@
|
|||||||
*/
|
*/
|
||||||
package org.eclipse.hawkbit.ui.distributions.smtable;
|
package org.eclipse.hawkbit.ui.distributions.smtable;
|
||||||
|
|
||||||
import javax.annotation.PostConstruct;
|
|
||||||
import javax.annotation.PreDestroy;
|
|
||||||
|
|
||||||
import org.eclipse.hawkbit.repository.SpPermissionChecker;
|
|
||||||
import org.eclipse.hawkbit.repository.model.SoftwareModule;
|
import org.eclipse.hawkbit.repository.model.SoftwareModule;
|
||||||
import org.eclipse.hawkbit.ui.artifacts.event.SoftwareModuleEvent;
|
import org.eclipse.hawkbit.ui.artifacts.event.SoftwareModuleEvent;
|
||||||
import org.eclipse.hawkbit.ui.artifacts.event.SoftwareModuleEvent.SoftwareModuleEventType;
|
import org.eclipse.hawkbit.ui.artifacts.event.SoftwareModuleEvent.SoftwareModuleEventType;
|
||||||
@@ -20,10 +16,8 @@ import org.eclipse.hawkbit.ui.common.detailslayout.AbstractTableDetailsLayout;
|
|||||||
import org.eclipse.hawkbit.ui.components.SPUIComponentProvider;
|
import org.eclipse.hawkbit.ui.components.SPUIComponentProvider;
|
||||||
import org.eclipse.hawkbit.ui.distributions.state.ManageDistUIState;
|
import org.eclipse.hawkbit.ui.distributions.state.ManageDistUIState;
|
||||||
import org.eclipse.hawkbit.ui.utils.HawkbitCommonUtil;
|
import org.eclipse.hawkbit.ui.utils.HawkbitCommonUtil;
|
||||||
import org.eclipse.hawkbit.ui.utils.I18N;
|
|
||||||
import org.eclipse.hawkbit.ui.utils.SPUIComponetIdProvider;
|
import org.eclipse.hawkbit.ui.utils.SPUIComponetIdProvider;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.vaadin.spring.events.EventBus;
|
|
||||||
import org.vaadin.spring.events.EventScope;
|
import org.vaadin.spring.events.EventScope;
|
||||||
import org.vaadin.spring.events.annotation.EventBusListenerMethod;
|
import org.vaadin.spring.events.annotation.EventBusListenerMethod;
|
||||||
|
|
||||||
@@ -46,44 +40,16 @@ public class SwModuleDetails extends AbstractTableDetailsLayout {
|
|||||||
|
|
||||||
private static final long serialVersionUID = -1052279281066089812L;
|
private static final long serialVersionUID = -1052279281066089812L;
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private I18N i18n;
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private transient EventBus.SessionEventBus eventBus;
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private SpPermissionChecker permissionChecker;
|
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private SoftwareModuleAddUpdateWindow softwareModuleAddUpdateWindow;
|
private SoftwareModuleAddUpdateWindow softwareModuleAddUpdateWindow;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private ManageDistUIState manageDistUIState;
|
private ManageDistUIState manageDistUIState;
|
||||||
|
|
||||||
private UI ui;
|
|
||||||
|
|
||||||
private Long swModuleId;
|
private Long swModuleId;
|
||||||
|
|
||||||
private SoftwareModule selectedSwModule;
|
private SoftwareModule selectedSwModule;
|
||||||
|
|
||||||
@Override
|
|
||||||
@PostConstruct
|
|
||||||
protected void init() {
|
|
||||||
super.init();
|
|
||||||
ui = UI.getCurrent();
|
|
||||||
eventBus.subscribe(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
@PreDestroy
|
|
||||||
void destroy() {
|
|
||||||
/*
|
|
||||||
* It's good manners to do this, even though vaadin-spring will
|
|
||||||
* automatically unsubscribe when this UI is garbage collected.
|
|
||||||
*/
|
|
||||||
eventBus.unsubscribe(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
@EventBusListenerMethod(scope = EventScope.SESSION)
|
@EventBusListenerMethod(scope = EventScope.SESSION)
|
||||||
void onEvent(final SoftwareModuleEvent softwareModuleEvent) {
|
void onEvent(final SoftwareModuleEvent softwareModuleEvent) {
|
||||||
if (softwareModuleEvent.getSoftwareModuleEventType() == SoftwareModuleEventType.SELECTED_SOFTWARE_MODULE
|
if (softwareModuleEvent.getSoftwareModuleEventType() == SoftwareModuleEventType.SELECTED_SOFTWARE_MODULE
|
||||||
|
|||||||
@@ -8,10 +8,6 @@
|
|||||||
*/
|
*/
|
||||||
package org.eclipse.hawkbit.ui.distributions.smtable;
|
package org.eclipse.hawkbit.ui.distributions.smtable;
|
||||||
|
|
||||||
import javax.annotation.PostConstruct;
|
|
||||||
import javax.annotation.PreDestroy;
|
|
||||||
|
|
||||||
import org.eclipse.hawkbit.repository.SpPermissionChecker;
|
|
||||||
import org.eclipse.hawkbit.ui.artifacts.event.SMFilterEvent;
|
import org.eclipse.hawkbit.ui.artifacts.event.SMFilterEvent;
|
||||||
import org.eclipse.hawkbit.ui.artifacts.event.SoftwareModuleEvent;
|
import org.eclipse.hawkbit.ui.artifacts.event.SoftwareModuleEvent;
|
||||||
import org.eclipse.hawkbit.ui.artifacts.event.SoftwareModuleEvent.SoftwareModuleEventType;
|
import org.eclipse.hawkbit.ui.artifacts.event.SoftwareModuleEvent.SoftwareModuleEventType;
|
||||||
@@ -19,10 +15,8 @@ import org.eclipse.hawkbit.ui.artifacts.smtable.SoftwareModuleAddUpdateWindow;
|
|||||||
import org.eclipse.hawkbit.ui.common.table.AbstractTableHeader;
|
import org.eclipse.hawkbit.ui.common.table.AbstractTableHeader;
|
||||||
import org.eclipse.hawkbit.ui.distributions.event.DistributionsUIEvent;
|
import org.eclipse.hawkbit.ui.distributions.event.DistributionsUIEvent;
|
||||||
import org.eclipse.hawkbit.ui.distributions.state.ManageDistUIState;
|
import org.eclipse.hawkbit.ui.distributions.state.ManageDistUIState;
|
||||||
import org.eclipse.hawkbit.ui.utils.I18N;
|
|
||||||
import org.eclipse.hawkbit.ui.utils.SPUIComponetIdProvider;
|
import org.eclipse.hawkbit.ui.utils.SPUIComponetIdProvider;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.vaadin.spring.events.EventBus;
|
|
||||||
import org.vaadin.spring.events.EventScope;
|
import org.vaadin.spring.events.EventScope;
|
||||||
import org.vaadin.spring.events.annotation.EventBusListenerMethod;
|
import org.vaadin.spring.events.annotation.EventBusListenerMethod;
|
||||||
|
|
||||||
@@ -43,14 +37,6 @@ public class SwModuleTableHeader extends AbstractTableHeader {
|
|||||||
|
|
||||||
private static final long serialVersionUID = 242961845006626297L;
|
private static final long serialVersionUID = 242961845006626297L;
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private I18N i18n;
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private SpPermissionChecker permChecker;
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private transient EventBus.SessionEventBus eventbus;
|
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private ManageDistUIState manageDistUIState;
|
private ManageDistUIState manageDistUIState;
|
||||||
@@ -58,18 +44,6 @@ public class SwModuleTableHeader extends AbstractTableHeader {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private SoftwareModuleAddUpdateWindow softwareModuleAddUpdateWindow;
|
private SoftwareModuleAddUpdateWindow softwareModuleAddUpdateWindow;
|
||||||
|
|
||||||
@Override
|
|
||||||
@PostConstruct
|
|
||||||
protected void init() {
|
|
||||||
super.init();
|
|
||||||
eventbus.subscribe(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
@PreDestroy
|
|
||||||
void destroy() {
|
|
||||||
eventbus.unsubscribe(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
@EventBusListenerMethod(scope = EventScope.SESSION)
|
@EventBusListenerMethod(scope = EventScope.SESSION)
|
||||||
void onEvent(final DistributionsUIEvent event) {
|
void onEvent(final DistributionsUIEvent event) {
|
||||||
if (event == DistributionsUIEvent.HIDE_SM_FILTER_BY_TYPE) {
|
if (event == DistributionsUIEvent.HIDE_SM_FILTER_BY_TYPE) {
|
||||||
|
|||||||
@@ -11,11 +11,8 @@ package org.eclipse.hawkbit.ui.distributions.smtype;
|
|||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import javax.annotation.PreDestroy;
|
|
||||||
|
|
||||||
import org.eclipse.hawkbit.ui.artifacts.event.SoftwareModuleTypeEvent;
|
import org.eclipse.hawkbit.ui.artifacts.event.SoftwareModuleTypeEvent;
|
||||||
import org.eclipse.hawkbit.ui.common.SoftwareModuleTypeBeanQuery;
|
import org.eclipse.hawkbit.ui.common.SoftwareModuleTypeBeanQuery;
|
||||||
import org.eclipse.hawkbit.ui.common.filterlayout.AbstractFilterButtonClickBehaviour;
|
|
||||||
import org.eclipse.hawkbit.ui.common.filterlayout.AbstractFilterButtons;
|
import org.eclipse.hawkbit.ui.common.filterlayout.AbstractFilterButtons;
|
||||||
import org.eclipse.hawkbit.ui.distributions.event.DistributionsViewAcceptCriteria;
|
import org.eclipse.hawkbit.ui.distributions.event.DistributionsViewAcceptCriteria;
|
||||||
import org.eclipse.hawkbit.ui.distributions.event.SaveActionWindowEvent;
|
import org.eclipse.hawkbit.ui.distributions.event.SaveActionWindowEvent;
|
||||||
@@ -27,7 +24,6 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|||||||
import org.vaadin.addons.lazyquerycontainer.BeanQueryFactory;
|
import org.vaadin.addons.lazyquerycontainer.BeanQueryFactory;
|
||||||
import org.vaadin.addons.lazyquerycontainer.LazyQueryContainer;
|
import org.vaadin.addons.lazyquerycontainer.LazyQueryContainer;
|
||||||
import org.vaadin.addons.lazyquerycontainer.LazyQueryDefinition;
|
import org.vaadin.addons.lazyquerycontainer.LazyQueryDefinition;
|
||||||
import org.vaadin.spring.events.EventBus;
|
|
||||||
import org.vaadin.spring.events.EventScope;
|
import org.vaadin.spring.events.EventScope;
|
||||||
import org.vaadin.spring.events.annotation.EventBusListenerMethod;
|
import org.vaadin.spring.events.annotation.EventBusListenerMethod;
|
||||||
|
|
||||||
@@ -47,21 +43,12 @@ public class DistSMTypeFilterButtons extends AbstractFilterButtons {
|
|||||||
|
|
||||||
private static final long serialVersionUID = 6804534533362387433L;
|
private static final long serialVersionUID = 6804534533362387433L;
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private transient EventBus.SessionEventBus eventBus;
|
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private ManageDistUIState manageDistUIState;
|
private ManageDistUIState manageDistUIState;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private DistributionsViewAcceptCriteria distributionsViewAcceptCriteria;
|
private DistributionsViewAcceptCriteria distributionsViewAcceptCriteria;
|
||||||
|
|
||||||
@Override
|
|
||||||
public void init(final AbstractFilterButtonClickBehaviour filterButtonClickBehaviour) {
|
|
||||||
super.init(filterButtonClickBehaviour);
|
|
||||||
eventBus.subscribe(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected String getButtonsTableId() {
|
protected String getButtonsTableId() {
|
||||||
return SPUIComponetIdProvider.SW_MODULE_TYPE_TABLE_ID;
|
return SPUIComponetIdProvider.SW_MODULE_TYPE_TABLE_ID;
|
||||||
@@ -135,9 +122,5 @@ public class DistSMTypeFilterButtons extends AbstractFilterButtons {
|
|||||||
setContainerDataSource(createButtonsLazyQueryContainer());
|
setContainerDataSource(createButtonsLazyQueryContainer());
|
||||||
}
|
}
|
||||||
|
|
||||||
@PreDestroy
|
|
||||||
void destroy() {
|
|
||||||
eventBus.unsubscribe(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,7 +10,6 @@ package org.eclipse.hawkbit.ui.distributions.smtype;
|
|||||||
|
|
||||||
import javax.annotation.PostConstruct;
|
import javax.annotation.PostConstruct;
|
||||||
|
|
||||||
import org.eclipse.hawkbit.repository.SpPermissionChecker;
|
|
||||||
import org.eclipse.hawkbit.ui.artifacts.smtype.CreateUpdateSoftwareTypeLayout;
|
import org.eclipse.hawkbit.ui.artifacts.smtype.CreateUpdateSoftwareTypeLayout;
|
||||||
import org.eclipse.hawkbit.ui.common.filterlayout.AbstractFilterHeader;
|
import org.eclipse.hawkbit.ui.common.filterlayout.AbstractFilterHeader;
|
||||||
import org.eclipse.hawkbit.ui.distributions.event.DistributionsUIEvent;
|
import org.eclipse.hawkbit.ui.distributions.event.DistributionsUIEvent;
|
||||||
@@ -19,7 +18,6 @@ import org.eclipse.hawkbit.ui.utils.SPUIComponetIdProvider;
|
|||||||
import org.eclipse.hawkbit.ui.utils.SPUIDefinitions;
|
import org.eclipse.hawkbit.ui.utils.SPUIDefinitions;
|
||||||
import org.eclipse.hawkbit.ui.utils.SPUILabelDefinitions;
|
import org.eclipse.hawkbit.ui.utils.SPUILabelDefinitions;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.vaadin.spring.events.EventBus;
|
|
||||||
|
|
||||||
import com.vaadin.spring.annotation.SpringComponent;
|
import com.vaadin.spring.annotation.SpringComponent;
|
||||||
import com.vaadin.spring.annotation.ViewScope;
|
import com.vaadin.spring.annotation.ViewScope;
|
||||||
@@ -36,12 +34,6 @@ public class DistSMTypeFilterHeader extends AbstractFilterHeader {
|
|||||||
|
|
||||||
private static final long serialVersionUID = -8763788280848718344L;
|
private static final long serialVersionUID = -8763788280848718344L;
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private SpPermissionChecker permChecker;
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private transient EventBus.SessionEventBus eventBus;
|
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private ManageDistUIState manageDistUIState;
|
private ManageDistUIState manageDistUIState;
|
||||||
|
|
||||||
|
|||||||
@@ -8,10 +8,6 @@
|
|||||||
*/
|
*/
|
||||||
package org.eclipse.hawkbit.ui.management.dstable;
|
package org.eclipse.hawkbit.ui.management.dstable;
|
||||||
|
|
||||||
import javax.annotation.PostConstruct;
|
|
||||||
import javax.annotation.PreDestroy;
|
|
||||||
|
|
||||||
import org.eclipse.hawkbit.repository.SpPermissionChecker;
|
|
||||||
import org.eclipse.hawkbit.repository.model.DistributionSet;
|
import org.eclipse.hawkbit.repository.model.DistributionSet;
|
||||||
import org.eclipse.hawkbit.ui.common.detailslayout.AbstractTableDetailsLayout;
|
import org.eclipse.hawkbit.ui.common.detailslayout.AbstractTableDetailsLayout;
|
||||||
import org.eclipse.hawkbit.ui.common.detailslayout.SoftwareModuleDetailsTable;
|
import org.eclipse.hawkbit.ui.common.detailslayout.SoftwareModuleDetailsTable;
|
||||||
@@ -21,10 +17,8 @@ import org.eclipse.hawkbit.ui.management.event.DistributionTableEvent;
|
|||||||
import org.eclipse.hawkbit.ui.management.event.DistributionTableEvent.DistributionComponentEvent;
|
import org.eclipse.hawkbit.ui.management.event.DistributionTableEvent.DistributionComponentEvent;
|
||||||
import org.eclipse.hawkbit.ui.management.state.ManagementUIState;
|
import org.eclipse.hawkbit.ui.management.state.ManagementUIState;
|
||||||
import org.eclipse.hawkbit.ui.utils.HawkbitCommonUtil;
|
import org.eclipse.hawkbit.ui.utils.HawkbitCommonUtil;
|
||||||
import org.eclipse.hawkbit.ui.utils.I18N;
|
|
||||||
import org.eclipse.hawkbit.ui.utils.SPUIComponetIdProvider;
|
import org.eclipse.hawkbit.ui.utils.SPUIComponetIdProvider;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.vaadin.spring.events.EventBus;
|
|
||||||
import org.vaadin.spring.events.EventScope;
|
import org.vaadin.spring.events.EventScope;
|
||||||
import org.vaadin.spring.events.annotation.EventBusListenerMethod;
|
import org.vaadin.spring.events.annotation.EventBusListenerMethod;
|
||||||
|
|
||||||
@@ -46,14 +40,6 @@ public class DistributionDetails extends AbstractTableDetailsLayout {
|
|||||||
|
|
||||||
private static final long serialVersionUID = 350360207334118826L;
|
private static final long serialVersionUID = 350360207334118826L;
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private I18N i18n;
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private transient EventBus.SessionEventBus eventBus;
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private SpPermissionChecker permissionChecker;
|
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private ManagementUIState managementUIState;
|
private ManagementUIState managementUIState;
|
||||||
@@ -70,22 +56,13 @@ public class DistributionDetails extends AbstractTableDetailsLayout {
|
|||||||
|
|
||||||
private DistributionSet selectedDsModule;
|
private DistributionSet selectedDsModule;
|
||||||
|
|
||||||
private UI ui;
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@PostConstruct
|
|
||||||
protected void init() {
|
protected void init() {
|
||||||
eventBus.subscribe(this);
|
|
||||||
softwareModuleTable = new SoftwareModuleDetailsTable();
|
softwareModuleTable = new SoftwareModuleDetailsTable();
|
||||||
softwareModuleTable.init(i18n, false, permissionChecker, null, null, null);
|
softwareModuleTable.init(i18n, false, permissionChecker, null, null, null);
|
||||||
super.init();
|
super.init();
|
||||||
ui = UI.getCurrent();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@PreDestroy
|
|
||||||
void destroy() {
|
|
||||||
eventBus.unsubscribe(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
@EventBusListenerMethod(scope = EventScope.SESSION)
|
@EventBusListenerMethod(scope = EventScope.SESSION)
|
||||||
void onEvent(final DistributionTableEvent distributionTableEvent) {
|
void onEvent(final DistributionTableEvent distributionTableEvent) {
|
||||||
|
|||||||
@@ -363,7 +363,7 @@ public class DistributionTable extends AbstractTable {
|
|||||||
final DistributionSetTagAssignmentResult result = distributionSetManagement.toggleTagAssignment(distList,
|
final DistributionSetTagAssignmentResult result = distributionSetManagement.toggleTagAssignment(distList,
|
||||||
distTagName);
|
distTagName);
|
||||||
|
|
||||||
notification.displaySuccess(HawkbitCommonUtil.getDistributionTagAssignmentMsg(distTagName, result, i18n));
|
notification.displaySuccess(HawkbitCommonUtil.createAssignmentMessage(distTagName, result, i18n));
|
||||||
if (result.getAssigned() >= 1 && managementUIState.getDistributionTableFilters().isNoTagSelected()) {
|
if (result.getAssigned() >= 1 && managementUIState.getDistributionTableFilters().isNoTagSelected()) {
|
||||||
refreshFilter();
|
refreshFilter();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,10 +8,6 @@
|
|||||||
*/
|
*/
|
||||||
package org.eclipse.hawkbit.ui.management.dstable;
|
package org.eclipse.hawkbit.ui.management.dstable;
|
||||||
|
|
||||||
import javax.annotation.PostConstruct;
|
|
||||||
import javax.annotation.PreDestroy;
|
|
||||||
|
|
||||||
import org.eclipse.hawkbit.repository.SpPermissionChecker;
|
|
||||||
import org.eclipse.hawkbit.ui.common.table.AbstractTableHeader;
|
import org.eclipse.hawkbit.ui.common.table.AbstractTableHeader;
|
||||||
import org.eclipse.hawkbit.ui.management.event.DistributionTableEvent;
|
import org.eclipse.hawkbit.ui.management.event.DistributionTableEvent;
|
||||||
import org.eclipse.hawkbit.ui.management.event.DistributionTableEvent.DistributionComponentEvent;
|
import org.eclipse.hawkbit.ui.management.event.DistributionTableEvent.DistributionComponentEvent;
|
||||||
@@ -19,10 +15,8 @@ import org.eclipse.hawkbit.ui.management.event.DistributionTableFilterEvent;
|
|||||||
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.state.ManagementUIState;
|
import org.eclipse.hawkbit.ui.management.state.ManagementUIState;
|
||||||
import org.eclipse.hawkbit.ui.utils.I18N;
|
|
||||||
import org.eclipse.hawkbit.ui.utils.SPUIComponetIdProvider;
|
import org.eclipse.hawkbit.ui.utils.SPUIComponetIdProvider;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.vaadin.spring.events.EventBus;
|
|
||||||
import org.vaadin.spring.events.EventScope;
|
import org.vaadin.spring.events.EventScope;
|
||||||
import org.vaadin.spring.events.annotation.EventBusListenerMethod;
|
import org.vaadin.spring.events.annotation.EventBusListenerMethod;
|
||||||
|
|
||||||
@@ -43,33 +37,12 @@ import com.vaadin.ui.Window;
|
|||||||
public class DistributionTableHeader extends AbstractTableHeader {
|
public class DistributionTableHeader extends AbstractTableHeader {
|
||||||
private static final long serialVersionUID = 7597766804650170127L;
|
private static final long serialVersionUID = 7597766804650170127L;
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private I18N i18n;
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private SpPermissionChecker permChecker;
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private transient EventBus.SessionEventBus eventbus;
|
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private ManagementUIState managementUIState;
|
private ManagementUIState managementUIState;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private DistributionAddUpdateWindowLayout distributionAddUpdateWindowLayout;
|
private DistributionAddUpdateWindowLayout distributionAddUpdateWindowLayout;
|
||||||
|
|
||||||
@Override
|
|
||||||
@PostConstruct
|
|
||||||
protected void init() {
|
|
||||||
super.init();
|
|
||||||
eventbus.subscribe(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
@PreDestroy
|
|
||||||
void destroy() {
|
|
||||||
eventbus.unsubscribe(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
@EventBusListenerMethod(scope = EventScope.SESSION)
|
@EventBusListenerMethod(scope = EventScope.SESSION)
|
||||||
void onEvent(final ManagementUIEvent event) {
|
void onEvent(final ManagementUIEvent event) {
|
||||||
if (event == ManagementUIEvent.HIDE_DISTRIBUTION_TAG_LAYOUT) {
|
if (event == ManagementUIEvent.HIDE_DISTRIBUTION_TAG_LAYOUT) {
|
||||||
|
|||||||
@@ -11,8 +11,6 @@ package org.eclipse.hawkbit.ui.management.dstag;
|
|||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import javax.annotation.PreDestroy;
|
|
||||||
|
|
||||||
import org.eclipse.hawkbit.eventbus.event.DistributionSetTagCreatedBulkEvent;
|
import org.eclipse.hawkbit.eventbus.event.DistributionSetTagCreatedBulkEvent;
|
||||||
import org.eclipse.hawkbit.eventbus.event.DistributionSetTagDeletedEvent;
|
import org.eclipse.hawkbit.eventbus.event.DistributionSetTagDeletedEvent;
|
||||||
import org.eclipse.hawkbit.eventbus.event.DistributionSetTagUpdateEvent;
|
import org.eclipse.hawkbit.eventbus.event.DistributionSetTagUpdateEvent;
|
||||||
@@ -31,7 +29,6 @@ import org.eclipse.hawkbit.ui.utils.SPUIStyleDefinitions;
|
|||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.vaadin.addons.lazyquerycontainer.BeanQueryFactory;
|
import org.vaadin.addons.lazyquerycontainer.BeanQueryFactory;
|
||||||
import org.vaadin.addons.lazyquerycontainer.LazyQueryContainer;
|
import org.vaadin.addons.lazyquerycontainer.LazyQueryContainer;
|
||||||
import org.vaadin.spring.events.EventBus;
|
|
||||||
import org.vaadin.spring.events.EventScope;
|
import org.vaadin.spring.events.EventScope;
|
||||||
import org.vaadin.spring.events.annotation.EventBusListenerMethod;
|
import org.vaadin.spring.events.annotation.EventBusListenerMethod;
|
||||||
|
|
||||||
@@ -51,9 +48,6 @@ public class DistributionTagButtons extends AbstractFilterButtons {
|
|||||||
|
|
||||||
private static final long serialVersionUID = -8151483237450892057L;
|
private static final long serialVersionUID = -8151483237450892057L;
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private transient EventBus.SessionEventBus eventBus;
|
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private DistributionTagDropEvent spDistTagDropEvent;
|
private DistributionTagDropEvent spDistTagDropEvent;
|
||||||
|
|
||||||
@@ -64,12 +58,6 @@ public class DistributionTagButtons extends AbstractFilterButtons {
|
|||||||
public void init(final AbstractFilterButtonClickBehaviour filterButtonClickBehaviour) {
|
public void init(final AbstractFilterButtonClickBehaviour filterButtonClickBehaviour) {
|
||||||
super.init(filterButtonClickBehaviour);
|
super.init(filterButtonClickBehaviour);
|
||||||
addNewTag(new DistributionSetTag("NO TAG"));
|
addNewTag(new DistributionSetTag("NO TAG"));
|
||||||
eventBus.subscribe(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
@PreDestroy
|
|
||||||
void destroy() {
|
|
||||||
eventBus.unsubscribe(this);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventBusListenerMethod(scope = EventScope.SESSION)
|
@EventBusListenerMethod(scope = EventScope.SESSION)
|
||||||
|
|||||||
@@ -10,14 +10,12 @@ package org.eclipse.hawkbit.ui.management.dstag;
|
|||||||
|
|
||||||
import javax.annotation.PostConstruct;
|
import javax.annotation.PostConstruct;
|
||||||
|
|
||||||
import org.eclipse.hawkbit.repository.SpPermissionChecker;
|
|
||||||
import org.eclipse.hawkbit.ui.common.filterlayout.AbstractFilterHeader;
|
import org.eclipse.hawkbit.ui.common.filterlayout.AbstractFilterHeader;
|
||||||
import org.eclipse.hawkbit.ui.management.event.ManagementUIEvent;
|
import org.eclipse.hawkbit.ui.management.event.ManagementUIEvent;
|
||||||
import org.eclipse.hawkbit.ui.management.state.ManagementUIState;
|
import org.eclipse.hawkbit.ui.management.state.ManagementUIState;
|
||||||
import org.eclipse.hawkbit.ui.utils.I18N;
|
import org.eclipse.hawkbit.ui.utils.I18N;
|
||||||
import org.eclipse.hawkbit.ui.utils.SPUIComponetIdProvider;
|
import org.eclipse.hawkbit.ui.utils.SPUIComponetIdProvider;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.vaadin.spring.events.EventBus;
|
|
||||||
|
|
||||||
import com.vaadin.spring.annotation.SpringComponent;
|
import com.vaadin.spring.annotation.SpringComponent;
|
||||||
import com.vaadin.spring.annotation.ViewScope;
|
import com.vaadin.spring.annotation.ViewScope;
|
||||||
@@ -38,12 +36,6 @@ public class DistributionTagHeader extends AbstractFilterHeader {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private I18N i18n;
|
private I18N i18n;
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private SpPermissionChecker permChecker;
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private transient EventBus.SessionEventBus eventbus;
|
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private ManagementUIState managementUIState;
|
private ManagementUIState managementUIState;
|
||||||
|
|
||||||
@@ -90,7 +82,7 @@ public class DistributionTagHeader extends AbstractFilterHeader {
|
|||||||
@Override
|
@Override
|
||||||
protected void hideFilterButtonLayout() {
|
protected void hideFilterButtonLayout() {
|
||||||
managementUIState.setDistTagFilterClosed(true);
|
managementUIState.setDistTagFilterClosed(true);
|
||||||
eventbus.publish(this, ManagementUIEvent.HIDE_DISTRIBUTION_TAG_LAYOUT);
|
eventBus.publish(this, ManagementUIEvent.HIDE_DISTRIBUTION_TAG_LAYOUT);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -150,7 +150,7 @@ public class DistributionTagDropEvent implements DropHandler {
|
|||||||
final DistributionSetTagAssignmentResult result = distributionSetManagement.toggleTagAssignment(distributionList,
|
final DistributionSetTagAssignmentResult result = distributionSetManagement.toggleTagAssignment(distributionList,
|
||||||
distTagName);
|
distTagName);
|
||||||
|
|
||||||
notification.displaySuccess(HawkbitCommonUtil.getDistributionTagAssignmentMsg(distTagName, result, i18n));
|
notification.displaySuccess(HawkbitCommonUtil.createAssignmentMessage(distTagName, result, i18n));
|
||||||
if (result.getUnassigned() >= 1 && !tagsClickedList.isEmpty()) {
|
if (result.getUnassigned() >= 1 && !tagsClickedList.isEmpty()) {
|
||||||
eventBus.publish(this, TargetFilterEvent.FILTER_BY_TAG);
|
eventBus.publish(this, TargetFilterEvent.FILTER_BY_TAG);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,10 +16,6 @@ import java.util.Map;
|
|||||||
import org.eclipse.hawkbit.ui.common.AbstractAcceptCriteria;
|
import org.eclipse.hawkbit.ui.common.AbstractAcceptCriteria;
|
||||||
import org.eclipse.hawkbit.ui.utils.SPUIComponetIdProvider;
|
import org.eclipse.hawkbit.ui.utils.SPUIComponetIdProvider;
|
||||||
import org.eclipse.hawkbit.ui.utils.SPUIDefinitions;
|
import org.eclipse.hawkbit.ui.utils.SPUIDefinitions;
|
||||||
import org.eclipse.hawkbit.ui.utils.SPUILabelDefinitions;
|
|
||||||
import org.eclipse.hawkbit.ui.utils.UINotification;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
|
||||||
import org.vaadin.spring.events.EventBus;
|
|
||||||
|
|
||||||
import com.vaadin.spring.annotation.SpringComponent;
|
import com.vaadin.spring.annotation.SpringComponent;
|
||||||
import com.vaadin.spring.annotation.ViewScope;
|
import com.vaadin.spring.annotation.ViewScope;
|
||||||
@@ -41,29 +37,6 @@ public class ManagementViewAcceptCriteria extends AbstractAcceptCriteria {
|
|||||||
|
|
||||||
private static final Map<String, Object> DROP_HINTS_CONFIGS = createDropHintConfigurations();
|
private static final Map<String, Object> DROP_HINTS_CONFIGS = createDropHintConfigurations();
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private transient UINotification uiNotification;
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private transient EventBus.SessionEventBus eventBus;
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void analyseDragComponent(final Component compsource) {
|
|
||||||
final String sourceID = getComponentId(compsource);
|
|
||||||
final Object event = DROP_HINTS_CONFIGS.get(sourceID);
|
|
||||||
eventBus.publish(this, event);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void hideDropHints() {
|
|
||||||
eventBus.publish(this, DragEvent.HIDE_DROP_HINT);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void invalidDrop() {
|
|
||||||
uiNotification.displayValidationError(SPUILabelDefinitions.ACTION_NOT_ALLOWED);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected String getComponentId(final Component component) {
|
protected String getComponentId(final Component component) {
|
||||||
String id = component.getId();
|
String id = component.getId();
|
||||||
@@ -80,11 +53,6 @@ public class ManagementViewAcceptCriteria extends AbstractAcceptCriteria {
|
|||||||
return DROP_HINTS_CONFIGS;
|
return DROP_HINTS_CONFIGS;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void publishDragStartEvent(final Object event) {
|
|
||||||
eventBus.publish(this, event);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected Map<String, List<String>> getDropConfigurations() {
|
protected Map<String, List<String>> getDropConfigurations() {
|
||||||
return DROP_CONFIGS;
|
return DROP_CONFIGS;
|
||||||
|
|||||||
@@ -11,10 +11,6 @@ package org.eclipse.hawkbit.ui.management.footer;
|
|||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
import javax.annotation.PostConstruct;
|
|
||||||
import javax.annotation.PreDestroy;
|
|
||||||
|
|
||||||
import org.eclipse.hawkbit.repository.SpPermissionChecker;
|
|
||||||
import org.eclipse.hawkbit.repository.TagManagement;
|
import org.eclipse.hawkbit.repository.TagManagement;
|
||||||
import org.eclipse.hawkbit.repository.model.DistributionSetIdName;
|
import org.eclipse.hawkbit.repository.model.DistributionSetIdName;
|
||||||
import org.eclipse.hawkbit.repository.model.TargetIdName;
|
import org.eclipse.hawkbit.repository.model.TargetIdName;
|
||||||
@@ -28,12 +24,9 @@ import org.eclipse.hawkbit.ui.management.event.TargetTableEvent;
|
|||||||
import org.eclipse.hawkbit.ui.management.event.TargetTableEvent.TargetComponentEvent;
|
import org.eclipse.hawkbit.ui.management.event.TargetTableEvent.TargetComponentEvent;
|
||||||
import org.eclipse.hawkbit.ui.management.state.ManagementUIState;
|
import org.eclipse.hawkbit.ui.management.state.ManagementUIState;
|
||||||
import org.eclipse.hawkbit.ui.utils.HawkbitCommonUtil;
|
import org.eclipse.hawkbit.ui.utils.HawkbitCommonUtil;
|
||||||
import org.eclipse.hawkbit.ui.utils.I18N;
|
|
||||||
import org.eclipse.hawkbit.ui.utils.SPUIComponetIdProvider;
|
import org.eclipse.hawkbit.ui.utils.SPUIComponetIdProvider;
|
||||||
import org.eclipse.hawkbit.ui.utils.SPUIDefinitions;
|
import org.eclipse.hawkbit.ui.utils.SPUIDefinitions;
|
||||||
import org.eclipse.hawkbit.ui.utils.UINotification;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.vaadin.spring.events.EventBus;
|
|
||||||
import org.vaadin.spring.events.EventScope;
|
import org.vaadin.spring.events.EventScope;
|
||||||
import org.vaadin.spring.events.annotation.EventBusListenerMethod;
|
import org.vaadin.spring.events.annotation.EventBusListenerMethod;
|
||||||
|
|
||||||
@@ -56,17 +49,6 @@ import com.vaadin.ui.UI;
|
|||||||
public class DeleteActionsLayout extends AbstractDeleteActionsLayout {
|
public class DeleteActionsLayout extends AbstractDeleteActionsLayout {
|
||||||
|
|
||||||
private static final long serialVersionUID = -8112907467821886253L;
|
private static final long serialVersionUID = -8112907467821886253L;
|
||||||
@Autowired
|
|
||||||
private I18N i18n;
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private SpPermissionChecker permChecker;
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private transient EventBus.SessionEventBus eventBus;
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private transient UINotification notification;
|
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private transient TagManagement tagManagementService;
|
private transient TagManagement tagManagementService;
|
||||||
@@ -83,18 +65,6 @@ public class DeleteActionsLayout extends AbstractDeleteActionsLayout {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private CountMessageLabel countMessageLabel;
|
private CountMessageLabel countMessageLabel;
|
||||||
|
|
||||||
@Override
|
|
||||||
@PostConstruct
|
|
||||||
protected void init() {
|
|
||||||
super.init();
|
|
||||||
eventBus.subscribe(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
@PreDestroy
|
|
||||||
void destroy() {
|
|
||||||
eventBus.unsubscribe(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
@EventBusListenerMethod(scope = EventScope.SESSION)
|
@EventBusListenerMethod(scope = EventScope.SESSION)
|
||||||
void onEvent(final ManagementUIEvent event) {
|
void onEvent(final ManagementUIEvent event) {
|
||||||
if (event == ManagementUIEvent.UPDATE_COUNT) {
|
if (event == ManagementUIEvent.UPDATE_COUNT) {
|
||||||
@@ -226,26 +196,11 @@ public class DeleteActionsLayout extends AbstractDeleteActionsLayout {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
protected String getNoActionsButtonLabel() {
|
|
||||||
return i18n.get("button.no.actions");
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected String getActionsButtonLabel() {
|
|
||||||
return i18n.get("button.actions");
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void restoreActionCount() {
|
protected void restoreActionCount() {
|
||||||
updateActionCount();
|
updateActionCount();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
protected String getUnsavedActionsWindowCaption() {
|
|
||||||
return i18n.get("caption.save.window");
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void unsavedActionsWindowClosed() {
|
protected void unsavedActionsWindowClosed() {
|
||||||
final String message = manangementConfirmationWindowLayout.getConsolidatedMessage();
|
final String message = manangementConfirmationWindowLayout.getConsolidatedMessage();
|
||||||
|
|||||||
@@ -10,11 +10,7 @@ package org.eclipse.hawkbit.ui.management.targettable;
|
|||||||
|
|
||||||
import java.net.URI;
|
import java.net.URI;
|
||||||
|
|
||||||
import javax.annotation.PostConstruct;
|
|
||||||
import javax.annotation.PreDestroy;
|
|
||||||
|
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.eclipse.hawkbit.repository.SpPermissionChecker;
|
|
||||||
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.SoftwareModule;
|
||||||
import org.eclipse.hawkbit.repository.model.Target;
|
import org.eclipse.hawkbit.repository.model.Target;
|
||||||
@@ -25,12 +21,10 @@ import org.eclipse.hawkbit.ui.management.event.TargetTableEvent;
|
|||||||
import org.eclipse.hawkbit.ui.management.event.TargetTableEvent.TargetComponentEvent;
|
import org.eclipse.hawkbit.ui.management.event.TargetTableEvent.TargetComponentEvent;
|
||||||
import org.eclipse.hawkbit.ui.management.state.ManagementUIState;
|
import org.eclipse.hawkbit.ui.management.state.ManagementUIState;
|
||||||
import org.eclipse.hawkbit.ui.utils.HawkbitCommonUtil;
|
import org.eclipse.hawkbit.ui.utils.HawkbitCommonUtil;
|
||||||
import org.eclipse.hawkbit.ui.utils.I18N;
|
|
||||||
import org.eclipse.hawkbit.ui.utils.SPDateTimeUtil;
|
import org.eclipse.hawkbit.ui.utils.SPDateTimeUtil;
|
||||||
import org.eclipse.hawkbit.ui.utils.SPUIComponetIdProvider;
|
import org.eclipse.hawkbit.ui.utils.SPUIComponetIdProvider;
|
||||||
import org.eclipse.hawkbit.ui.utils.SPUIDefinitions;
|
import org.eclipse.hawkbit.ui.utils.SPUIDefinitions;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.vaadin.spring.events.EventBus;
|
|
||||||
import org.vaadin.spring.events.EventScope;
|
import org.vaadin.spring.events.EventScope;
|
||||||
import org.vaadin.spring.events.annotation.EventBusListenerMethod;
|
import org.vaadin.spring.events.annotation.EventBusListenerMethod;
|
||||||
|
|
||||||
@@ -60,15 +54,6 @@ public class TargetDetails extends AbstractTableDetailsLayout {
|
|||||||
|
|
||||||
private static final long serialVersionUID = 4571732743399605843L;
|
private static final long serialVersionUID = 4571732743399605843L;
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private I18N i18n;
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private transient EventBus.SessionEventBus eventBus;
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private SpPermissionChecker permChecker;
|
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private ManagementUIState managementUIState;
|
private ManagementUIState managementUIState;
|
||||||
|
|
||||||
@@ -87,11 +72,9 @@ public class TargetDetails extends AbstractTableDetailsLayout {
|
|||||||
* Initialize the Target details.
|
* Initialize the Target details.
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
@PostConstruct
|
|
||||||
public void init() {
|
public void init() {
|
||||||
super.init();
|
super.init();
|
||||||
targetAddUpdateWindowLayout.init();
|
targetAddUpdateWindowLayout.init();
|
||||||
eventBus.subscribe(this);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -286,7 +269,7 @@ public class TargetDetails extends AbstractTableDetailsLayout {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected Boolean hasEditPermission() {
|
protected Boolean hasEditPermission() {
|
||||||
return permChecker.hasUpdateTargetPermission();
|
return permissionChecker.hasUpdateTargetPermission();
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventBusListenerMethod(scope = EventScope.SESSION)
|
@EventBusListenerMethod(scope = EventScope.SESSION)
|
||||||
@@ -312,11 +295,6 @@ public class TargetDetails extends AbstractTableDetailsLayout {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@PreDestroy
|
|
||||||
void destroy() {
|
|
||||||
eventBus.unsubscribe(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected String getTabSheetId() {
|
protected String getTabSheetId() {
|
||||||
return SPUIComponetIdProvider.TARGET_DETAILS_TABSHEET;
|
return SPUIComponetIdProvider.TARGET_DETAILS_TABSHEET;
|
||||||
|
|||||||
@@ -644,7 +644,7 @@ public class TargetTable extends AbstractTable implements Handler {
|
|||||||
final TargetTagAssignmentResult result = targetManagement.toggleTagAssignment(targetList, targTagName);
|
final TargetTagAssignmentResult result = targetManagement.toggleTagAssignment(targetList, targTagName);
|
||||||
|
|
||||||
final List<String> tagsClickedList = managementUIState.getTargetTableFilters().getClickedTargetTags();
|
final List<String> tagsClickedList = managementUIState.getTargetTableFilters().getClickedTargetTags();
|
||||||
notification.displaySuccess(HawkbitCommonUtil.getTargetTagAssigmentMsg(targTagName, result, i18n));
|
notification.displaySuccess(HawkbitCommonUtil.createAssignmentMessage(targTagName, result, i18n));
|
||||||
if (result.getUnassigned() >= 1 && !tagsClickedList.isEmpty()) {
|
if (result.getUnassigned() >= 1 && !tagsClickedList.isEmpty()) {
|
||||||
refreshFilter();
|
refreshFilter();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,10 +11,6 @@ package org.eclipse.hawkbit.ui.management.targettable;
|
|||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
import javax.annotation.PostConstruct;
|
|
||||||
import javax.annotation.PreDestroy;
|
|
||||||
|
|
||||||
import org.eclipse.hawkbit.repository.SpPermissionChecker;
|
|
||||||
import org.eclipse.hawkbit.repository.model.DistributionSetIdName;
|
import org.eclipse.hawkbit.repository.model.DistributionSetIdName;
|
||||||
import org.eclipse.hawkbit.ui.common.table.AbstractTableHeader;
|
import org.eclipse.hawkbit.ui.common.table.AbstractTableHeader;
|
||||||
import org.eclipse.hawkbit.ui.components.SPUIComponentProvider;
|
import org.eclipse.hawkbit.ui.components.SPUIComponentProvider;
|
||||||
@@ -29,7 +25,6 @@ import org.eclipse.hawkbit.ui.management.event.TargetTableEvent;
|
|||||||
import org.eclipse.hawkbit.ui.management.event.TargetTableEvent.TargetComponentEvent;
|
import org.eclipse.hawkbit.ui.management.event.TargetTableEvent.TargetComponentEvent;
|
||||||
import org.eclipse.hawkbit.ui.management.state.ManagementUIState;
|
import org.eclipse.hawkbit.ui.management.state.ManagementUIState;
|
||||||
import org.eclipse.hawkbit.ui.utils.HawkbitCommonUtil;
|
import org.eclipse.hawkbit.ui.utils.HawkbitCommonUtil;
|
||||||
import org.eclipse.hawkbit.ui.utils.I18N;
|
|
||||||
import org.eclipse.hawkbit.ui.utils.SPUIComponetIdProvider;
|
import org.eclipse.hawkbit.ui.utils.SPUIComponetIdProvider;
|
||||||
import org.eclipse.hawkbit.ui.utils.SPUITargetDefinitions;
|
import org.eclipse.hawkbit.ui.utils.SPUITargetDefinitions;
|
||||||
import org.eclipse.hawkbit.ui.utils.UINotification;
|
import org.eclipse.hawkbit.ui.utils.UINotification;
|
||||||
@@ -63,12 +58,6 @@ public class TargetTableHeader extends AbstractTableHeader {
|
|||||||
|
|
||||||
private static final long serialVersionUID = -8647521126666320022L;
|
private static final long serialVersionUID = -8647521126666320022L;
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private I18N i18n;
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private SpPermissionChecker permChecker;
|
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private UINotification notification;
|
private UINotification notification;
|
||||||
|
|
||||||
@@ -90,21 +79,14 @@ public class TargetTableHeader extends AbstractTableHeader {
|
|||||||
private Boolean isComplexFilterViewDisplayed = Boolean.FALSE;
|
private Boolean isComplexFilterViewDisplayed = Boolean.FALSE;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@PostConstruct
|
|
||||||
protected void init() {
|
protected void init() {
|
||||||
super.init();
|
super.init();
|
||||||
// creating add window for adding new target
|
// creating add window for adding new target
|
||||||
targetAddUpdateWindow.init();
|
targetAddUpdateWindow.init();
|
||||||
targetBulkUpdateWindow.init();
|
targetBulkUpdateWindow.init();
|
||||||
eventBus.subscribe(this);
|
|
||||||
onLoadRestoreState();
|
onLoadRestoreState();
|
||||||
}
|
}
|
||||||
|
|
||||||
@PreDestroy
|
|
||||||
void destroy() {
|
|
||||||
eventBus.unsubscribe(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
@EventBusListenerMethod(scope = EventScope.SESSION)
|
@EventBusListenerMethod(scope = EventScope.SESSION)
|
||||||
void onEvent(final ManagementUIEvent event) {
|
void onEvent(final ManagementUIEvent event) {
|
||||||
if (event == ManagementUIEvent.HIDE_TARGET_TAG_LAYOUT) {
|
if (event == ManagementUIEvent.HIDE_TARGET_TAG_LAYOUT) {
|
||||||
|
|||||||
@@ -13,8 +13,6 @@ import java.util.List;
|
|||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
import javax.annotation.PreDestroy;
|
|
||||||
|
|
||||||
import org.eclipse.hawkbit.eventbus.event.TargetTagCreatedBulkEvent;
|
import org.eclipse.hawkbit.eventbus.event.TargetTagCreatedBulkEvent;
|
||||||
import org.eclipse.hawkbit.eventbus.event.TargetTagDeletedEvent;
|
import org.eclipse.hawkbit.eventbus.event.TargetTagDeletedEvent;
|
||||||
import org.eclipse.hawkbit.eventbus.event.TargetTagUpdateEvent;
|
import org.eclipse.hawkbit.eventbus.event.TargetTagUpdateEvent;
|
||||||
@@ -38,7 +36,6 @@ import org.eclipse.hawkbit.ui.utils.UINotification;
|
|||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.vaadin.addons.lazyquerycontainer.BeanQueryFactory;
|
import org.vaadin.addons.lazyquerycontainer.BeanQueryFactory;
|
||||||
import org.vaadin.addons.lazyquerycontainer.LazyQueryContainer;
|
import org.vaadin.addons.lazyquerycontainer.LazyQueryContainer;
|
||||||
import org.vaadin.spring.events.EventBus;
|
|
||||||
import org.vaadin.spring.events.EventScope;
|
import org.vaadin.spring.events.EventScope;
|
||||||
import org.vaadin.spring.events.annotation.EventBusListenerMethod;
|
import org.vaadin.spring.events.annotation.EventBusListenerMethod;
|
||||||
|
|
||||||
@@ -63,9 +60,6 @@ public class TargetTagFilterButtons extends AbstractFilterButtons {
|
|||||||
|
|
||||||
private static final long serialVersionUID = 5049554600376508073L;
|
private static final long serialVersionUID = 5049554600376508073L;
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private transient EventBus.SessionEventBus eventBus;
|
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private ManagementUIState managementUIState;
|
private ManagementUIState managementUIState;
|
||||||
|
|
||||||
@@ -99,12 +93,6 @@ public class TargetTagFilterButtons extends AbstractFilterButtons {
|
|||||||
this.filterButtonClickBehaviour = filterButtonClickBehaviour;
|
this.filterButtonClickBehaviour = filterButtonClickBehaviour;
|
||||||
super.init(filterButtonClickBehaviour);
|
super.init(filterButtonClickBehaviour);
|
||||||
addNewTargetTag(new TargetTag("NO TAG"));
|
addNewTargetTag(new TargetTag("NO TAG"));
|
||||||
eventBus.subscribe(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
@PreDestroy
|
|
||||||
void destroy() {
|
|
||||||
eventBus.unsubscribe(this);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventBusListenerMethod(scope = EventScope.SESSION)
|
@EventBusListenerMethod(scope = EventScope.SESSION)
|
||||||
@@ -244,7 +232,7 @@ public class TargetTagFilterButtons extends AbstractFilterButtons {
|
|||||||
final List<String> tagsClickedList = managementUIState.getTargetTableFilters().getClickedTargetTags();
|
final List<String> tagsClickedList = managementUIState.getTargetTableFilters().getClickedTargetTags();
|
||||||
|
|
||||||
final TargetTagAssignmentResult result = targetManagement.toggleTagAssignment(targetList, targTagName);
|
final TargetTagAssignmentResult result = targetManagement.toggleTagAssignment(targetList, targTagName);
|
||||||
notification.displaySuccess(HawkbitCommonUtil.getTargetTagAssigmentMsg(targTagName, result, i18n));
|
notification.displaySuccess(HawkbitCommonUtil.createAssignmentMessage(targTagName, result, i18n));
|
||||||
|
|
||||||
if (result.getAssigned() >= 1 && managementUIState.getTargetTableFilters().isNoTagSelected()) {
|
if (result.getAssigned() >= 1 && managementUIState.getTargetTableFilters().isNoTagSelected()) {
|
||||||
eventBus.publish(this, ManagementUIEvent.ASSIGN_TARGET_TAG);
|
eventBus.publish(this, ManagementUIEvent.ASSIGN_TARGET_TAG);
|
||||||
|
|||||||
@@ -10,14 +10,12 @@ package org.eclipse.hawkbit.ui.management.targettag;
|
|||||||
|
|
||||||
import javax.annotation.PostConstruct;
|
import javax.annotation.PostConstruct;
|
||||||
|
|
||||||
import org.eclipse.hawkbit.repository.SpPermissionChecker;
|
|
||||||
import org.eclipse.hawkbit.ui.common.filterlayout.AbstractFilterHeader;
|
import org.eclipse.hawkbit.ui.common.filterlayout.AbstractFilterHeader;
|
||||||
import org.eclipse.hawkbit.ui.management.event.ManagementUIEvent;
|
import org.eclipse.hawkbit.ui.management.event.ManagementUIEvent;
|
||||||
import org.eclipse.hawkbit.ui.management.state.ManagementUIState;
|
import org.eclipse.hawkbit.ui.management.state.ManagementUIState;
|
||||||
import org.eclipse.hawkbit.ui.utils.I18N;
|
import org.eclipse.hawkbit.ui.utils.I18N;
|
||||||
import org.eclipse.hawkbit.ui.utils.SPUIComponetIdProvider;
|
import org.eclipse.hawkbit.ui.utils.SPUIComponetIdProvider;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.vaadin.spring.events.EventBus;
|
|
||||||
|
|
||||||
import com.vaadin.spring.annotation.SpringComponent;
|
import com.vaadin.spring.annotation.SpringComponent;
|
||||||
import com.vaadin.spring.annotation.ViewScope;
|
import com.vaadin.spring.annotation.ViewScope;
|
||||||
@@ -32,15 +30,9 @@ public class TargetTagFilterHeader extends AbstractFilterHeader {
|
|||||||
|
|
||||||
private static final long serialVersionUID = 3046367045669148009L;
|
private static final long serialVersionUID = 3046367045669148009L;
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private SpPermissionChecker permChecker;
|
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private I18N i18n;
|
private I18N i18n;
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private transient EventBus.SessionEventBus eventbus;
|
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private CreateUpdateTargetTagLayout createUpdateTargetTagLayout;
|
private CreateUpdateTargetTagLayout createUpdateTargetTagLayout;
|
||||||
|
|
||||||
@@ -58,7 +50,6 @@ public class TargetTagFilterHeader extends AbstractFilterHeader {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected String getHideButtonId() {
|
protected String getHideButtonId() {
|
||||||
|
|
||||||
return SPUIComponetIdProvider.HIDE_TARGET_TAGS;
|
return SPUIComponetIdProvider.HIDE_TARGET_TAGS;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -87,7 +78,7 @@ public class TargetTagFilterHeader extends AbstractFilterHeader {
|
|||||||
@Override
|
@Override
|
||||||
protected void hideFilterButtonLayout() {
|
protected void hideFilterButtonLayout() {
|
||||||
managementUIState.setTargetTagFilterClosed(true);
|
managementUIState.setTargetTagFilterClosed(true);
|
||||||
eventbus.publish(this, ManagementUIEvent.HIDE_TARGET_TAG_LAYOUT);
|
eventBus.publish(this, ManagementUIEvent.HIDE_TARGET_TAG_LAYOUT);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -15,9 +15,6 @@ import java.util.List;
|
|||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import javax.annotation.PostConstruct;
|
|
||||||
import javax.annotation.PreDestroy;
|
|
||||||
|
|
||||||
import org.eclipse.hawkbit.eventbus.event.RolloutChangeEvent;
|
import org.eclipse.hawkbit.eventbus.event.RolloutChangeEvent;
|
||||||
import org.eclipse.hawkbit.repository.RolloutManagement;
|
import org.eclipse.hawkbit.repository.RolloutManagement;
|
||||||
import org.eclipse.hawkbit.repository.SpPermissionChecker;
|
import org.eclipse.hawkbit.repository.SpPermissionChecker;
|
||||||
@@ -33,7 +30,6 @@ import org.eclipse.hawkbit.ui.rollout.StatusFontIcon;
|
|||||||
import org.eclipse.hawkbit.ui.rollout.event.RolloutEvent;
|
import org.eclipse.hawkbit.ui.rollout.event.RolloutEvent;
|
||||||
import org.eclipse.hawkbit.ui.rollout.state.RolloutUIState;
|
import org.eclipse.hawkbit.ui.rollout.state.RolloutUIState;
|
||||||
import org.eclipse.hawkbit.ui.utils.HawkbitCommonUtil;
|
import org.eclipse.hawkbit.ui.utils.HawkbitCommonUtil;
|
||||||
import org.eclipse.hawkbit.ui.utils.I18N;
|
|
||||||
import org.eclipse.hawkbit.ui.utils.SPUIComponetIdProvider;
|
import org.eclipse.hawkbit.ui.utils.SPUIComponetIdProvider;
|
||||||
import org.eclipse.hawkbit.ui.utils.SPUIDefinitions;
|
import org.eclipse.hawkbit.ui.utils.SPUIDefinitions;
|
||||||
import org.eclipse.hawkbit.ui.utils.SPUILabelDefinitions;
|
import org.eclipse.hawkbit.ui.utils.SPUILabelDefinitions;
|
||||||
@@ -46,7 +42,6 @@ import org.vaadin.addons.lazyquerycontainer.LazyQueryDefinition;
|
|||||||
import org.vaadin.peter.contextmenu.ContextMenu;
|
import org.vaadin.peter.contextmenu.ContextMenu;
|
||||||
import org.vaadin.peter.contextmenu.ContextMenu.ContextMenuItem;
|
import org.vaadin.peter.contextmenu.ContextMenu.ContextMenuItem;
|
||||||
import org.vaadin.peter.contextmenu.ContextMenu.ContextMenuItemClickEvent;
|
import org.vaadin.peter.contextmenu.ContextMenu.ContextMenuItemClickEvent;
|
||||||
import org.vaadin.spring.events.EventBus;
|
|
||||||
import org.vaadin.spring.events.EventScope;
|
import org.vaadin.spring.events.EventScope;
|
||||||
import org.vaadin.spring.events.annotation.EventBusListenerMethod;
|
import org.vaadin.spring.events.annotation.EventBusListenerMethod;
|
||||||
|
|
||||||
@@ -82,11 +77,6 @@ public class RolloutListGrid extends AbstractGrid {
|
|||||||
|
|
||||||
private static final String START_OPTION = "Start";
|
private static final String START_OPTION = "Start";
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private I18N i18n;
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private transient EventBus.SessionEventBus eventBus;
|
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private transient RolloutManagement rolloutManagement;
|
private transient RolloutManagement rolloutManagement;
|
||||||
@@ -105,17 +95,6 @@ public class RolloutListGrid extends AbstractGrid {
|
|||||||
|
|
||||||
private transient Map<RolloutStatus, StatusFontIcon> statusIconMap = new EnumMap<>(RolloutStatus.class);
|
private transient Map<RolloutStatus, StatusFontIcon> statusIconMap = new EnumMap<>(RolloutStatus.class);
|
||||||
|
|
||||||
@Override
|
|
||||||
@PostConstruct
|
|
||||||
protected void init() {
|
|
||||||
super.init();
|
|
||||||
eventBus.subscribe(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
@PreDestroy
|
|
||||||
void destroy() {
|
|
||||||
eventBus.unsubscribe(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
@EventBusListenerMethod(scope = EventScope.SESSION)
|
@EventBusListenerMethod(scope = EventScope.SESSION)
|
||||||
void onEvent(final RolloutEvent event) {
|
void onEvent(final RolloutEvent event) {
|
||||||
@@ -245,7 +224,7 @@ public class RolloutListGrid extends AbstractGrid {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void setColumnProperties() {
|
protected void setColumnProperties() {
|
||||||
List<Object> columnList = new ArrayList<>();
|
final List<Object> columnList = new ArrayList<>();
|
||||||
columnList.add(SPUILabelDefinitions.VAR_NAME);
|
columnList.add(SPUILabelDefinitions.VAR_NAME);
|
||||||
columnList.add(SPUILabelDefinitions.VAR_DIST_NAME_VERSION);
|
columnList.add(SPUILabelDefinitions.VAR_DIST_NAME_VERSION);
|
||||||
columnList.add(SPUILabelDefinitions.VAR_STATUS);
|
columnList.add(SPUILabelDefinitions.VAR_STATUS);
|
||||||
@@ -265,13 +244,13 @@ public class RolloutListGrid extends AbstractGrid {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void setHiddenColumns() {
|
protected void setHiddenColumns() {
|
||||||
List<Object> columnsToBeHidden = new ArrayList<>();
|
final List<Object> columnsToBeHidden = new ArrayList<>();
|
||||||
columnsToBeHidden.add(SPUILabelDefinitions.VAR_CREATED_DATE);
|
columnsToBeHidden.add(SPUILabelDefinitions.VAR_CREATED_DATE);
|
||||||
columnsToBeHidden.add(SPUILabelDefinitions.VAR_CREATED_USER);
|
columnsToBeHidden.add(SPUILabelDefinitions.VAR_CREATED_USER);
|
||||||
columnsToBeHidden.add(SPUILabelDefinitions.VAR_MODIFIED_DATE);
|
columnsToBeHidden.add(SPUILabelDefinitions.VAR_MODIFIED_DATE);
|
||||||
columnsToBeHidden.add(SPUILabelDefinitions.VAR_MODIFIED_BY);
|
columnsToBeHidden.add(SPUILabelDefinitions.VAR_MODIFIED_BY);
|
||||||
columnsToBeHidden.add(SPUILabelDefinitions.VAR_DESC);
|
columnsToBeHidden.add(SPUILabelDefinitions.VAR_DESC);
|
||||||
for (Object propertyId : columnsToBeHidden) {
|
for (final Object propertyId : columnsToBeHidden) {
|
||||||
getColumn(propertyId).setHidden(true);
|
getColumn(propertyId).setHidden(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -318,7 +297,7 @@ public class RolloutListGrid extends AbstractGrid {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getStyle(final CellReference cellReference) {
|
public String getStyle(final CellReference cellReference) {
|
||||||
String[] coulmnNames = { SPUILabelDefinitions.VAR_STATUS, SPUILabelDefinitions.ACTION };
|
final String[] coulmnNames = { SPUILabelDefinitions.VAR_STATUS, SPUILabelDefinitions.ACTION };
|
||||||
if (Arrays.asList(coulmnNames).contains(cellReference.getPropertyId())) {
|
if (Arrays.asList(coulmnNames).contains(cellReference.getPropertyId())) {
|
||||||
return "centeralign";
|
return "centeralign";
|
||||||
}
|
}
|
||||||
@@ -327,18 +306,18 @@ public class RolloutListGrid extends AbstractGrid {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
private void onClickOfRolloutName(RendererClickEvent event) {
|
private void onClickOfRolloutName(final RendererClickEvent event) {
|
||||||
rolloutUIState.setRolloutId((long) event.getItemId());
|
rolloutUIState.setRolloutId((long) event.getItemId());
|
||||||
final String rolloutName = (String) getContainerDataSource().getItem(event.getItemId())
|
final String rolloutName = (String) getContainerDataSource().getItem(event.getItemId())
|
||||||
.getItemProperty(SPUILabelDefinitions.VAR_NAME).getValue();
|
.getItemProperty(SPUILabelDefinitions.VAR_NAME).getValue();
|
||||||
rolloutUIState.setRolloutName(rolloutName);
|
rolloutUIState.setRolloutName(rolloutName);
|
||||||
String ds = (String) getContainerDataSource().getItem(event.getItemId())
|
final String ds = (String) getContainerDataSource().getItem(event.getItemId())
|
||||||
.getItemProperty(SPUILabelDefinitions.VAR_DIST_NAME_VERSION).getValue();
|
.getItemProperty(SPUILabelDefinitions.VAR_DIST_NAME_VERSION).getValue();
|
||||||
rolloutUIState.setRolloutDistributionSet(ds);
|
rolloutUIState.setRolloutDistributionSet(ds);
|
||||||
eventBus.publish(this, RolloutEvent.SHOW_ROLLOUT_GROUPS);
|
eventBus.publish(this, RolloutEvent.SHOW_ROLLOUT_GROUPS);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void onClickOfActionBtn(RendererClickEvent event) {
|
private void onClickOfActionBtn(final RendererClickEvent event) {
|
||||||
final ContextMenu contextMenu = createContextMenu((Long) event.getItemId());
|
final ContextMenu contextMenu = createContextMenu((Long) event.getItemId());
|
||||||
contextMenu.setAsContextMenuOf((AbstractClientConnector) event.getComponent());
|
contextMenu.setAsContextMenuOf((AbstractClientConnector) event.getComponent());
|
||||||
contextMenu.open(event.getClientX(), event.getClientY());
|
contextMenu.open(event.getClientX(), event.getClientY());
|
||||||
@@ -388,11 +367,11 @@ public class RolloutListGrid extends AbstractGrid {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private String convertRolloutStatusToString(final RolloutStatus value) {
|
private String convertRolloutStatusToString(final RolloutStatus value) {
|
||||||
StatusFontIcon statusFontIcon = statusIconMap.get(value);
|
final StatusFontIcon statusFontIcon = statusIconMap.get(value);
|
||||||
if (statusFontIcon == null) {
|
if (statusFontIcon == null) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
String codePoint = statusFontIcon.getFontIcon() != null
|
final String codePoint = statusFontIcon.getFontIcon() != null
|
||||||
? Integer.toString(statusFontIcon.getFontIcon().getCodepoint()) : null;
|
? Integer.toString(statusFontIcon.getFontIcon().getCodepoint()) : null;
|
||||||
return HawkbitCommonUtil.getStatusLabelDetailsInString(codePoint, statusFontIcon.getStyle(),
|
return HawkbitCommonUtil.getStatusLabelDetailsInString(codePoint, statusFontIcon.getStyle(),
|
||||||
SPUIComponetIdProvider.ROLLOUT_STATUS_LABEL_ID);
|
SPUIComponetIdProvider.ROLLOUT_STATUS_LABEL_ID);
|
||||||
@@ -441,12 +420,12 @@ public class RolloutListGrid extends AbstractGrid {
|
|||||||
private static final long serialVersionUID = 2544026030795375748L;
|
private static final long serialVersionUID = 2544026030795375748L;
|
||||||
private final FontAwesome fontIcon;
|
private final FontAwesome fontIcon;
|
||||||
|
|
||||||
public FontIconGenerator(FontAwesome icon) {
|
public FontIconGenerator(final FontAwesome icon) {
|
||||||
this.fontIcon = icon;
|
this.fontIcon = icon;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getValue(Item item, Object itemId, Object propertyId) {
|
public String getValue(final Item item, final Object itemId, final Object propertyId) {
|
||||||
return fontIcon.getHtml();
|
return fontIcon.getHtml();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -456,7 +435,7 @@ public class RolloutListGrid extends AbstractGrid {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private String getDescription(CellReference cell) {
|
private String getDescription(final CellReference cell) {
|
||||||
if (SPUILabelDefinitions.VAR_STATUS.equals(cell.getPropertyId())) {
|
if (SPUILabelDefinitions.VAR_STATUS.equals(cell.getPropertyId())) {
|
||||||
return cell.getProperty().getValue().toString().toLowerCase();
|
return cell.getProperty().getValue().toString().toLowerCase();
|
||||||
} else if (SPUILabelDefinitions.ACTION.equals(cell.getPropertyId())) {
|
} else if (SPUILabelDefinitions.ACTION.equals(cell.getPropertyId())) {
|
||||||
@@ -570,14 +549,14 @@ public class RolloutListGrid extends AbstractGrid {
|
|||||||
private static final long serialVersionUID = -5794528427855153924L;
|
private static final long serialVersionUID = -5794528427855153924L;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public TotalTargetCountStatus convertToModel(String value, Class<? extends TotalTargetCountStatus> targetType,
|
public TotalTargetCountStatus convertToModel(final String value, final Class<? extends TotalTargetCountStatus> targetType,
|
||||||
Locale locale) throws com.vaadin.data.util.converter.Converter.ConversionException {
|
final Locale locale) throws com.vaadin.data.util.converter.Converter.ConversionException {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String convertToPresentation(TotalTargetCountStatus value, Class<? extends String> targetType,
|
public String convertToPresentation(final TotalTargetCountStatus value, final Class<? extends String> targetType,
|
||||||
Locale locale) throws com.vaadin.data.util.converter.Converter.ConversionException {
|
final Locale locale) throws com.vaadin.data.util.converter.Converter.ConversionException {
|
||||||
return DistributionBarHelper.getDistributionBarAsHTMLString(value.getStatusTotalCountMap());
|
return DistributionBarHelper.getDistributionBarAsHTMLString(value.getStatusTotalCountMap());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -15,9 +15,6 @@ import java.util.List;
|
|||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import javax.annotation.PostConstruct;
|
|
||||||
import javax.annotation.PreDestroy;
|
|
||||||
|
|
||||||
import org.eclipse.hawkbit.eventbus.event.RolloutGroupChangeEvent;
|
import org.eclipse.hawkbit.eventbus.event.RolloutGroupChangeEvent;
|
||||||
import org.eclipse.hawkbit.repository.RolloutGroupManagement;
|
import org.eclipse.hawkbit.repository.RolloutGroupManagement;
|
||||||
import org.eclipse.hawkbit.repository.SpPermissionChecker;
|
import org.eclipse.hawkbit.repository.SpPermissionChecker;
|
||||||
@@ -32,7 +29,6 @@ import org.eclipse.hawkbit.ui.rollout.StatusFontIcon;
|
|||||||
import org.eclipse.hawkbit.ui.rollout.event.RolloutEvent;
|
import org.eclipse.hawkbit.ui.rollout.event.RolloutEvent;
|
||||||
import org.eclipse.hawkbit.ui.rollout.state.RolloutUIState;
|
import org.eclipse.hawkbit.ui.rollout.state.RolloutUIState;
|
||||||
import org.eclipse.hawkbit.ui.utils.HawkbitCommonUtil;
|
import org.eclipse.hawkbit.ui.utils.HawkbitCommonUtil;
|
||||||
import org.eclipse.hawkbit.ui.utils.I18N;
|
|
||||||
import org.eclipse.hawkbit.ui.utils.SPUIComponetIdProvider;
|
import org.eclipse.hawkbit.ui.utils.SPUIComponetIdProvider;
|
||||||
import org.eclipse.hawkbit.ui.utils.SPUIDefinitions;
|
import org.eclipse.hawkbit.ui.utils.SPUIDefinitions;
|
||||||
import org.eclipse.hawkbit.ui.utils.SPUILabelDefinitions;
|
import org.eclipse.hawkbit.ui.utils.SPUILabelDefinitions;
|
||||||
@@ -41,7 +37,6 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|||||||
import org.vaadin.addons.lazyquerycontainer.BeanQueryFactory;
|
import org.vaadin.addons.lazyquerycontainer.BeanQueryFactory;
|
||||||
import org.vaadin.addons.lazyquerycontainer.LazyQueryContainer;
|
import org.vaadin.addons.lazyquerycontainer.LazyQueryContainer;
|
||||||
import org.vaadin.addons.lazyquerycontainer.LazyQueryDefinition;
|
import org.vaadin.addons.lazyquerycontainer.LazyQueryDefinition;
|
||||||
import org.vaadin.spring.events.EventBus;
|
|
||||||
import org.vaadin.spring.events.EventScope;
|
import org.vaadin.spring.events.EventScope;
|
||||||
import org.vaadin.spring.events.annotation.EventBusListenerMethod;
|
import org.vaadin.spring.events.annotation.EventBusListenerMethod;
|
||||||
|
|
||||||
@@ -64,12 +59,6 @@ import com.vaadin.ui.renderers.HtmlRenderer;
|
|||||||
public class RolloutGroupListGrid extends AbstractGrid {
|
public class RolloutGroupListGrid extends AbstractGrid {
|
||||||
private static final long serialVersionUID = 4060904914954370524L;
|
private static final long serialVersionUID = 4060904914954370524L;
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private I18N i18n;
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private transient EventBus.SessionEventBus eventBus;
|
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private transient RolloutGroupManagement rolloutGroupManagement;
|
private transient RolloutGroupManagement rolloutGroupManagement;
|
||||||
|
|
||||||
@@ -81,18 +70,6 @@ public class RolloutGroupListGrid extends AbstractGrid {
|
|||||||
|
|
||||||
private transient Map<RolloutGroupStatus, StatusFontIcon> statusIconMap = new EnumMap<>(RolloutGroupStatus.class);
|
private transient Map<RolloutGroupStatus, StatusFontIcon> statusIconMap = new EnumMap<>(RolloutGroupStatus.class);
|
||||||
|
|
||||||
@Override
|
|
||||||
@PostConstruct
|
|
||||||
protected void init() {
|
|
||||||
super.init();
|
|
||||||
eventBus.subscribe(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
@PreDestroy
|
|
||||||
void destroy() {
|
|
||||||
eventBus.unsubscribe(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
@EventBusListenerMethod(scope = EventScope.SESSION)
|
@EventBusListenerMethod(scope = EventScope.SESSION)
|
||||||
void onEvent(final RolloutEvent event) {
|
void onEvent(final RolloutEvent event) {
|
||||||
if (RolloutEvent.SHOW_ROLLOUT_GROUPS != event) {
|
if (RolloutEvent.SHOW_ROLLOUT_GROUPS != event) {
|
||||||
@@ -218,7 +195,7 @@ public class RolloutGroupListGrid extends AbstractGrid {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void setColumnProperties() {
|
protected void setColumnProperties() {
|
||||||
List<Object> columnList = new ArrayList<>();
|
final List<Object> columnList = new ArrayList<>();
|
||||||
columnList.add(SPUILabelDefinitions.VAR_NAME);
|
columnList.add(SPUILabelDefinitions.VAR_NAME);
|
||||||
columnList.add(SPUILabelDefinitions.VAR_STATUS);
|
columnList.add(SPUILabelDefinitions.VAR_STATUS);
|
||||||
columnList.add(SPUILabelDefinitions.VAR_TOTAL_TARGETS_COUNT_STATUS);
|
columnList.add(SPUILabelDefinitions.VAR_TOTAL_TARGETS_COUNT_STATUS);
|
||||||
@@ -251,13 +228,13 @@ public class RolloutGroupListGrid extends AbstractGrid {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void setHiddenColumns() {
|
protected void setHiddenColumns() {
|
||||||
List<Object> columnsToBeHidden = new ArrayList<>();
|
final List<Object> columnsToBeHidden = new ArrayList<>();
|
||||||
columnsToBeHidden.add(SPUILabelDefinitions.VAR_CREATED_DATE);
|
columnsToBeHidden.add(SPUILabelDefinitions.VAR_CREATED_DATE);
|
||||||
columnsToBeHidden.add(SPUILabelDefinitions.VAR_CREATED_USER);
|
columnsToBeHidden.add(SPUILabelDefinitions.VAR_CREATED_USER);
|
||||||
columnsToBeHidden.add(SPUILabelDefinitions.VAR_MODIFIED_DATE);
|
columnsToBeHidden.add(SPUILabelDefinitions.VAR_MODIFIED_DATE);
|
||||||
columnsToBeHidden.add(SPUILabelDefinitions.VAR_MODIFIED_BY);
|
columnsToBeHidden.add(SPUILabelDefinitions.VAR_MODIFIED_BY);
|
||||||
columnsToBeHidden.add(SPUILabelDefinitions.VAR_DESC);
|
columnsToBeHidden.add(SPUILabelDefinitions.VAR_DESC);
|
||||||
for (Object propertyId : columnsToBeHidden) {
|
for (final Object propertyId : columnsToBeHidden) {
|
||||||
getColumn(propertyId).setHidden(true);
|
getColumn(propertyId).setHidden(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -267,18 +244,18 @@ public class RolloutGroupListGrid extends AbstractGrid {
|
|||||||
return cell -> getDescription(cell);
|
return cell -> getDescription(cell);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void onClickOfRolloutGroupName(RendererClickEvent event) {
|
private void onClickOfRolloutGroupName(final RendererClickEvent event) {
|
||||||
rolloutUIState
|
rolloutUIState
|
||||||
.setRolloutGroup(rolloutGroupManagement.findRolloutGroupWithDetailedStatus((Long) event.getItemId()));
|
.setRolloutGroup(rolloutGroupManagement.findRolloutGroupWithDetailedStatus((Long) event.getItemId()));
|
||||||
eventBus.publish(this, RolloutEvent.SHOW_ROLLOUT_GROUP_TARGETS);
|
eventBus.publish(this, RolloutEvent.SHOW_ROLLOUT_GROUP_TARGETS);
|
||||||
}
|
}
|
||||||
|
|
||||||
private String convertRolloutGroupStatusToString(final RolloutGroupStatus value) {
|
private String convertRolloutGroupStatusToString(final RolloutGroupStatus value) {
|
||||||
StatusFontIcon statusFontIcon = statusIconMap.get(value);
|
final StatusFontIcon statusFontIcon = statusIconMap.get(value);
|
||||||
if (statusFontIcon == null) {
|
if (statusFontIcon == null) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
String codePoint = statusFontIcon.getFontIcon() != null
|
final String codePoint = statusFontIcon.getFontIcon() != null
|
||||||
? Integer.toString(statusFontIcon.getFontIcon().getCodepoint()) : null;
|
? Integer.toString(statusFontIcon.getFontIcon().getCodepoint()) : null;
|
||||||
return HawkbitCommonUtil.getStatusLabelDetailsInString(codePoint, statusFontIcon.getStyle(),
|
return HawkbitCommonUtil.getStatusLabelDetailsInString(codePoint, statusFontIcon.getStyle(),
|
||||||
SPUIComponetIdProvider.ROLLOUT_GROUP_STATUS_LABEL_ID);
|
SPUIComponetIdProvider.ROLLOUT_GROUP_STATUS_LABEL_ID);
|
||||||
@@ -298,7 +275,7 @@ public class RolloutGroupListGrid extends AbstractGrid {
|
|||||||
new StatusFontIcon(FontAwesome.EXCLAMATION_CIRCLE, SPUIStyleDefinitions.STATUS_ICON_RED));
|
new StatusFontIcon(FontAwesome.EXCLAMATION_CIRCLE, SPUIStyleDefinitions.STATUS_ICON_RED));
|
||||||
}
|
}
|
||||||
|
|
||||||
private String getDescription(CellReference cell) {
|
private String getDescription(final CellReference cell) {
|
||||||
if (SPUILabelDefinitions.VAR_STATUS.equals(cell.getPropertyId())) {
|
if (SPUILabelDefinitions.VAR_STATUS.equals(cell.getPropertyId())) {
|
||||||
return cell.getProperty().getValue().toString().toLowerCase();
|
return cell.getProperty().getValue().toString().toLowerCase();
|
||||||
} else if (SPUILabelDefinitions.ACTION.equals(cell.getPropertyId())) {
|
} else if (SPUILabelDefinitions.ACTION.equals(cell.getPropertyId())) {
|
||||||
@@ -318,7 +295,7 @@ public class RolloutGroupListGrid extends AbstractGrid {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getStyle(final CellReference cellReference) {
|
public String getStyle(final CellReference cellReference) {
|
||||||
String[] coulmnNames = { SPUILabelDefinitions.VAR_STATUS,
|
final String[] coulmnNames = { SPUILabelDefinitions.VAR_STATUS,
|
||||||
SPUILabelDefinitions.VAR_TOTAL_TARGETS_COUNT_STATUS };
|
SPUILabelDefinitions.VAR_TOTAL_TARGETS_COUNT_STATUS };
|
||||||
if (Arrays.asList(coulmnNames).contains(cellReference.getPropertyId())) {
|
if (Arrays.asList(coulmnNames).contains(cellReference.getPropertyId())) {
|
||||||
return "centeralign";
|
return "centeralign";
|
||||||
@@ -339,14 +316,14 @@ public class RolloutGroupListGrid extends AbstractGrid {
|
|||||||
private static final long serialVersionUID = -9205943894818450807L;
|
private static final long serialVersionUID = -9205943894818450807L;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public TotalTargetCountStatus convertToModel(String value, Class<? extends TotalTargetCountStatus> targetType,
|
public TotalTargetCountStatus convertToModel(final String value, final Class<? extends TotalTargetCountStatus> targetType,
|
||||||
Locale locale) throws com.vaadin.data.util.converter.Converter.ConversionException {
|
final Locale locale) throws com.vaadin.data.util.converter.Converter.ConversionException {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String convertToPresentation(TotalTargetCountStatus value, Class<? extends String> targetType,
|
public String convertToPresentation(final TotalTargetCountStatus value, final Class<? extends String> targetType,
|
||||||
Locale locale) throws com.vaadin.data.util.converter.Converter.ConversionException {
|
final Locale locale) throws com.vaadin.data.util.converter.Converter.ConversionException {
|
||||||
return DistributionBarHelper.getDistributionBarAsHTMLString(value.getStatusTotalCountMap());
|
return DistributionBarHelper.getDistributionBarAsHTMLString(value.getStatusTotalCountMap());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -14,9 +14,6 @@ import java.util.List;
|
|||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import javax.annotation.PostConstruct;
|
|
||||||
import javax.annotation.PreDestroy;
|
|
||||||
|
|
||||||
import org.eclipse.hawkbit.repository.model.Action.Status;
|
import org.eclipse.hawkbit.repository.model.Action.Status;
|
||||||
import org.eclipse.hawkbit.repository.model.RolloutGroup;
|
import org.eclipse.hawkbit.repository.model.RolloutGroup;
|
||||||
import org.eclipse.hawkbit.repository.model.RolloutGroup.RolloutGroupStatus;
|
import org.eclipse.hawkbit.repository.model.RolloutGroup.RolloutGroupStatus;
|
||||||
@@ -26,7 +23,6 @@ import org.eclipse.hawkbit.ui.rollout.StatusFontIcon;
|
|||||||
import org.eclipse.hawkbit.ui.rollout.event.RolloutEvent;
|
import org.eclipse.hawkbit.ui.rollout.event.RolloutEvent;
|
||||||
import org.eclipse.hawkbit.ui.rollout.state.RolloutUIState;
|
import org.eclipse.hawkbit.ui.rollout.state.RolloutUIState;
|
||||||
import org.eclipse.hawkbit.ui.utils.HawkbitCommonUtil;
|
import org.eclipse.hawkbit.ui.utils.HawkbitCommonUtil;
|
||||||
import org.eclipse.hawkbit.ui.utils.I18N;
|
|
||||||
import org.eclipse.hawkbit.ui.utils.SPUIComponetIdProvider;
|
import org.eclipse.hawkbit.ui.utils.SPUIComponetIdProvider;
|
||||||
import org.eclipse.hawkbit.ui.utils.SPUIDefinitions;
|
import org.eclipse.hawkbit.ui.utils.SPUIDefinitions;
|
||||||
import org.eclipse.hawkbit.ui.utils.SPUILabelDefinitions;
|
import org.eclipse.hawkbit.ui.utils.SPUILabelDefinitions;
|
||||||
@@ -35,7 +31,6 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|||||||
import org.vaadin.addons.lazyquerycontainer.BeanQueryFactory;
|
import org.vaadin.addons.lazyquerycontainer.BeanQueryFactory;
|
||||||
import org.vaadin.addons.lazyquerycontainer.LazyQueryContainer;
|
import org.vaadin.addons.lazyquerycontainer.LazyQueryContainer;
|
||||||
import org.vaadin.addons.lazyquerycontainer.LazyQueryDefinition;
|
import org.vaadin.addons.lazyquerycontainer.LazyQueryDefinition;
|
||||||
import org.vaadin.spring.events.EventBus;
|
|
||||||
import org.vaadin.spring.events.EventScope;
|
import org.vaadin.spring.events.EventScope;
|
||||||
import org.vaadin.spring.events.annotation.EventBusListenerMethod;
|
import org.vaadin.spring.events.annotation.EventBusListenerMethod;
|
||||||
|
|
||||||
@@ -56,28 +51,11 @@ public class RolloutGroupTargetsListGrid extends AbstractGrid {
|
|||||||
|
|
||||||
private static final long serialVersionUID = -2244756637458984597L;
|
private static final long serialVersionUID = -2244756637458984597L;
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private I18N i18n;
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private transient EventBus.SessionEventBus eventBus;
|
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private transient RolloutUIState rolloutUIState;
|
private transient RolloutUIState rolloutUIState;
|
||||||
|
|
||||||
private transient Map<Status, StatusFontIcon> statusIconMap = new EnumMap<>(Status.class);
|
private transient Map<Status, StatusFontIcon> statusIconMap = new EnumMap<>(Status.class);
|
||||||
|
|
||||||
@Override
|
|
||||||
@PostConstruct
|
|
||||||
protected void init() {
|
|
||||||
super.init();
|
|
||||||
eventBus.subscribe(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
@PreDestroy
|
|
||||||
void destroy() {
|
|
||||||
eventBus.unsubscribe(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
@EventBusListenerMethod(scope = EventScope.SESSION)
|
@EventBusListenerMethod(scope = EventScope.SESSION)
|
||||||
void onEvent(final RolloutEvent event) {
|
void onEvent(final RolloutEvent event) {
|
||||||
@@ -158,7 +136,7 @@ public class RolloutGroupTargetsListGrid extends AbstractGrid {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void setColumnProperties() {
|
protected void setColumnProperties() {
|
||||||
List<Object> columnList = new ArrayList<>();
|
final List<Object> columnList = new ArrayList<>();
|
||||||
columnList.add(SPUILabelDefinitions.VAR_NAME);
|
columnList.add(SPUILabelDefinitions.VAR_NAME);
|
||||||
columnList.add(SPUILabelDefinitions.VAR_CREATED_DATE);
|
columnList.add(SPUILabelDefinitions.VAR_CREATED_DATE);
|
||||||
columnList.add(SPUILabelDefinitions.VAR_CREATED_BY);
|
columnList.add(SPUILabelDefinitions.VAR_CREATED_BY);
|
||||||
@@ -241,11 +219,11 @@ public class RolloutGroupTargetsListGrid extends AbstractGrid {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private String processActionStatus(final Status status) {
|
private String processActionStatus(final Status status) {
|
||||||
StatusFontIcon statusFontIcon = statusIconMap.get(status);
|
final StatusFontIcon statusFontIcon = statusIconMap.get(status);
|
||||||
if (statusFontIcon == null) {
|
if (statusFontIcon == null) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
String codePoint = statusFontIcon.getFontIcon() != null
|
final String codePoint = statusFontIcon.getFontIcon() != null
|
||||||
? Integer.toString(statusFontIcon.getFontIcon().getCodepoint()) : null;
|
? Integer.toString(statusFontIcon.getFontIcon().getCodepoint()) : null;
|
||||||
return HawkbitCommonUtil.getStatusLabelDetailsInString(codePoint, statusFontIcon.getStyle(), null);
|
return HawkbitCommonUtil.getStatusLabelDetailsInString(codePoint, statusFontIcon.getStyle(), null);
|
||||||
}
|
}
|
||||||
@@ -286,7 +264,7 @@ public class RolloutGroupTargetsListGrid extends AbstractGrid {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private String getDescription(CellReference cell) {
|
private String getDescription(final CellReference cell) {
|
||||||
if (!SPUILabelDefinitions.VAR_STATUS.equals(cell.getPropertyId())) {
|
if (!SPUILabelDefinitions.VAR_STATUS.equals(cell.getPropertyId())) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
@@ -304,7 +282,7 @@ public class RolloutGroupTargetsListGrid extends AbstractGrid {
|
|||||||
if (rolloutGroup != null && rolloutGroup.getStatus() == RolloutGroupStatus.READY) {
|
if (rolloutGroup != null && rolloutGroup.getStatus() == RolloutGroupStatus.READY) {
|
||||||
return RolloutGroupStatus.READY.toString().toLowerCase();
|
return RolloutGroupStatus.READY.toString().toLowerCase();
|
||||||
} else if (rolloutGroup != null && rolloutGroup.getStatus() == RolloutGroupStatus.FINISHED) {
|
} else if (rolloutGroup != null && rolloutGroup.getStatus() == RolloutGroupStatus.FINISHED) {
|
||||||
String ds = rolloutUIState.getRolloutDistributionSet().isPresent()
|
final String ds = rolloutUIState.getRolloutDistributionSet().isPresent()
|
||||||
? rolloutUIState.getRolloutDistributionSet().get() : "";
|
? rolloutUIState.getRolloutDistributionSet().get() : "";
|
||||||
return i18n.get("message.dist.already.assigned", new Object[] { ds });
|
return i18n.get("message.dist.already.assigned", new Object[] { ds });
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,14 +24,14 @@ import java.util.TimeZone;
|
|||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.eclipse.hawkbit.im.authentication.UserPrincipal;
|
import org.eclipse.hawkbit.im.authentication.UserPrincipal;
|
||||||
import org.eclipse.hawkbit.repository.SoftwareManagement;
|
import org.eclipse.hawkbit.repository.SoftwareManagement;
|
||||||
|
import org.eclipse.hawkbit.repository.model.AssignmentResult;
|
||||||
import org.eclipse.hawkbit.repository.model.DistributionSetIdName;
|
import org.eclipse.hawkbit.repository.model.DistributionSetIdName;
|
||||||
import org.eclipse.hawkbit.repository.model.DistributionSetTagAssignmentResult;
|
import org.eclipse.hawkbit.repository.model.NamedEntity;
|
||||||
import org.eclipse.hawkbit.repository.model.RolloutGroup;
|
import org.eclipse.hawkbit.repository.model.RolloutGroup;
|
||||||
import org.eclipse.hawkbit.repository.model.SoftwareModule;
|
import org.eclipse.hawkbit.repository.model.SoftwareModule;
|
||||||
import org.eclipse.hawkbit.repository.model.SoftwareModuleType;
|
import org.eclipse.hawkbit.repository.model.SoftwareModuleType;
|
||||||
import org.eclipse.hawkbit.repository.model.TargetIdName;
|
import org.eclipse.hawkbit.repository.model.TargetIdName;
|
||||||
import org.eclipse.hawkbit.repository.model.TargetInfo.PollStatus;
|
import org.eclipse.hawkbit.repository.model.TargetInfo.PollStatus;
|
||||||
import org.eclipse.hawkbit.repository.model.TargetTagAssignmentResult;
|
|
||||||
import org.eclipse.hawkbit.repository.model.TargetUpdateStatus;
|
import org.eclipse.hawkbit.repository.model.TargetUpdateStatus;
|
||||||
import org.eclipse.hawkbit.repository.model.TotalTargetCountStatus;
|
import org.eclipse.hawkbit.repository.model.TotalTargetCountStatus;
|
||||||
import org.eclipse.hawkbit.repository.model.TotalTargetCountStatus.Status;
|
import org.eclipse.hawkbit.repository.model.TotalTargetCountStatus.Status;
|
||||||
@@ -868,7 +868,7 @@ public final class HawkbitCommonUtil {
|
|||||||
/**
|
/**
|
||||||
* Display Target Tag action message.
|
* Display Target Tag action message.
|
||||||
*
|
*
|
||||||
* @param targTagName
|
* @param tagName
|
||||||
* as tag name
|
* as tag name
|
||||||
* @param result
|
* @param result
|
||||||
* as TargetTagAssigmentResult
|
* as TargetTagAssigmentResult
|
||||||
@@ -878,7 +878,7 @@ public final class HawkbitCommonUtil {
|
|||||||
* I18N
|
* I18N
|
||||||
* @return message
|
* @return message
|
||||||
*/
|
*/
|
||||||
public static String getTargetTagAssigmentMsg(final String targTagName, final TargetTagAssignmentResult result,
|
public static String createAssignmentMessage(final String tagName, final AssignmentResult<? extends NamedEntity> result,
|
||||||
final I18N i18n) {
|
final I18N i18n) {
|
||||||
final StringBuilder formMsg = new StringBuilder();
|
final StringBuilder formMsg = new StringBuilder();
|
||||||
final int assignedCount = result.getAssigned();
|
final int assignedCount = result.getAssigned();
|
||||||
@@ -887,10 +887,10 @@ public final class HawkbitCommonUtil {
|
|||||||
|
|
||||||
if (assignedCount == 1) {
|
if (assignedCount == 1) {
|
||||||
formMsg.append(i18n.get("message.target.assigned.one",
|
formMsg.append(i18n.get("message.target.assigned.one",
|
||||||
new Object[] { result.getAssignedTargets().get(0).getName(), targTagName })).append("<br>");
|
new Object[] { result.getAssignedEntity().get(0).getName(), tagName })).append("<br>");
|
||||||
|
|
||||||
} else if (assignedCount > 1) {
|
} else if (assignedCount > 1) {
|
||||||
formMsg.append(i18n.get("message.target.assigned.many", new Object[] { assignedCount, targTagName }))
|
formMsg.append(i18n.get("message.target.assigned.many", new Object[] { assignedCount, tagName }))
|
||||||
.append("<br>");
|
.append("<br>");
|
||||||
|
|
||||||
if (alreadyAssignedCount > 0) {
|
if (alreadyAssignedCount > 0) {
|
||||||
@@ -902,55 +902,10 @@ public final class HawkbitCommonUtil {
|
|||||||
|
|
||||||
if (unassignedCount == 1) {
|
if (unassignedCount == 1) {
|
||||||
formMsg.append(i18n.get("message.target.unassigned.one",
|
formMsg.append(i18n.get("message.target.unassigned.one",
|
||||||
new Object[] { result.getUnassignedTargets().get(0).getName(), targTagName })).append("<br>");
|
new Object[] { result.getUnassignedEntity().get(0).getName(), tagName })).append("<br>");
|
||||||
|
|
||||||
} else if (unassignedCount > 1) {
|
} else if (unassignedCount > 1) {
|
||||||
formMsg.append(i18n.get("message.target.unassigned.many", new Object[] { unassignedCount, targTagName }))
|
formMsg.append(i18n.get("message.target.unassigned.many", new Object[] { unassignedCount, tagName }))
|
||||||
.append("<br>");
|
|
||||||
}
|
|
||||||
return formMsg.toString();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get message to be displayed after distribution tag assignment.
|
|
||||||
*
|
|
||||||
* @param targTagName
|
|
||||||
* tag name
|
|
||||||
* @param result
|
|
||||||
* DistributionSetTagAssigmentResult
|
|
||||||
* @param tagsClickedList
|
|
||||||
* list of clicked tags
|
|
||||||
* @param i18n
|
|
||||||
* I18N
|
|
||||||
* @return message
|
|
||||||
*/
|
|
||||||
public static String getDistributionTagAssignmentMsg(final String targTagName,
|
|
||||||
final DistributionSetTagAssignmentResult result, final I18N i18n) {
|
|
||||||
final StringBuilder formMsg = new StringBuilder();
|
|
||||||
final int assignedCount = result.getAssigned();
|
|
||||||
final int alreadyAssignedCount = result.getAlreadyAssigned();
|
|
||||||
final int unassignedCount = result.getUnassigned();
|
|
||||||
|
|
||||||
if (assignedCount == 1) {
|
|
||||||
formMsg.append(i18n.get("message.target.assigned.one",
|
|
||||||
new Object[] { result.getAssignedDs().get(0).getName(), targTagName })).append("<br>");
|
|
||||||
|
|
||||||
} else if (assignedCount > 1) {
|
|
||||||
formMsg.append(i18n.get("message.target.assigned.many", new Object[] { assignedCount, targTagName }))
|
|
||||||
.append("<br>");
|
|
||||||
|
|
||||||
if (alreadyAssignedCount > 0) {
|
|
||||||
final String alreadyAssigned = i18n.get("message.target.alreadyAssigned",
|
|
||||||
new Object[] { alreadyAssignedCount });
|
|
||||||
formMsg.append(alreadyAssigned).append("<br>");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (unassignedCount == 1) {
|
|
||||||
formMsg.append(i18n.get("message.target.unassigned.one",
|
|
||||||
new Object[] { result.getUnassignedDs().get(0).getName(), targTagName })).append("<br>");
|
|
||||||
} else if (unassignedCount > 1) {
|
|
||||||
formMsg.append(i18n.get("message.target.unassigned.many", new Object[] { unassignedCount, targTagName }))
|
|
||||||
.append("<br>");
|
.append("<br>");
|
||||||
}
|
}
|
||||||
return formMsg.toString();
|
return formMsg.toString();
|
||||||
|
|||||||
Reference in New Issue
Block a user