Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAudrey Denk2022-09-08 22:51:41 +0000
committerAudrey Denk2022-09-10 16:08:20 +0000
commit6509636da8f5ced9f501aa7831397fa7e96901ab (patch)
treec9975f12c9f74db86c731139e55170afd1a35e02
parent63b352508af9b558a80ff4062bd7efd66f309cda (diff)
downloadorg.eclipse.osee-6509636da8f5ced9f501aa7831397fa7e96901ab.tar.gz
org.eclipse.osee-6509636da8f5ced9f501aa7831397fa7e96901ab.tar.xz
org.eclipse.osee-6509636da8f5ced9f501aa7831397fa7e96901ab.zip
bug[TW21536]: ICD - Update search filter so it doesn't include duplicates
Change-Id: I99ec2eb9c80954d3de7c074ab6c406177a4e045b Signed-off-by: Audrey Denk <audrey.e.denk@boeing.com>
-rw-r--r--plugins/org.eclipse.osee.mim/src/org/eclipse/osee/mim/internal/InterfaceStructureApiImpl.java53
1 files changed, 13 insertions, 40 deletions
diff --git a/plugins/org.eclipse.osee.mim/src/org/eclipse/osee/mim/internal/InterfaceStructureApiImpl.java b/plugins/org.eclipse.osee.mim/src/org/eclipse/osee/mim/internal/InterfaceStructureApiImpl.java
index 33d2af971ea..09607880b97 100644
--- a/plugins/org.eclipse.osee.mim/src/org/eclipse/osee/mim/internal/InterfaceStructureApiImpl.java
+++ b/plugins/org.eclipse.osee.mim/src/org/eclipse/osee/mim/internal/InterfaceStructureApiImpl.java
@@ -393,51 +393,24 @@ public class InterfaceStructureApiImpl implements InterfaceStructureApi {
for (InterfaceStructureToken structure : totalStructureList) {
structure = this.parseStructure(branch, structure);
}
- /**
- * Gets all structures that match filter conditions
- */
- List<InterfaceStructureToken> structureList =
- (List<InterfaceStructureToken>) this.getAccessor().getAllByRelationAndFilter(branch,
- CoreRelationTypes.InterfaceSubMessageContent_SubMessage, subMessageId, filter,
- this.structureAttributeList, this.getFollowRelationDetails(), InterfaceStructureToken.class);
- for (InterfaceStructureToken structure : structureList) {
- structure = this.parseStructure(branch, structure);
- }
- /**
- * Gets all elements that match filter conditions, then find their related structures and attach
- */
- List<InterfaceStructureElementToken> elements = this.interfaceElementApi.getFiltered(branch, filter);
- for (InterfaceStructureElementToken element : elements) {
- List<InterfaceStructureToken> subStructureList =
- (List<InterfaceStructureToken>) this.getAccessor().getAllByRelation(branch,
- CoreRelationTypes.InterfaceStructureContent_DataElement, ArtifactId.valueOf(element.getId()),
- this.getFollowRelationDetails(), InterfaceStructureToken.class);
- for (InterfaceStructureToken alternateStructure : subStructureList) {
- if (totalStructureList.indexOf(alternateStructure) != -1 && totalStructureList.get(
- totalStructureList.indexOf(alternateStructure)).getElements().indexOf(element) != -1) {
- totalStructureList.set(totalStructureList.indexOf(alternateStructure),
- this.parseStructure(branch, totalStructureList.get(totalStructureList.indexOf(alternateStructure)),
- totalStructureList.get(totalStructureList.indexOf(alternateStructure)).getElements()));
- }
- List<InterfaceStructureElementToken> elementList = new LinkedList<InterfaceStructureElementToken>();
- elementList.add(element);
- alternateStructure.setElements(elementList);
- if (totalStructureList.indexOf(alternateStructure) != -1) {
- if (!structureList.contains(alternateStructure)) {
- structureList.add(alternateStructure);
- } else {
- InterfaceStructureToken tempStructure2 =
- structureList.get(structureList.indexOf(alternateStructure));
- structureList.remove(alternateStructure);
- tempStructure2.getElements().add(element);
- structureList.add(tempStructure2);
- }
+
+ List<InterfaceStructureToken> structureList = totalStructureList;
+
+ for (InterfaceStructureToken struct : structureList) {
+ List<InterfaceStructureElementToken> elementList = new LinkedList<InterfaceStructureElementToken>();
+ for (InterfaceStructureElementToken element : struct.getElements()) {
+ ArtifactReadable art = element.getArtifactReadable();
+ List<String> allAttributes =
+ art.getExistingAttributeTypes().stream().map(a -> art.getAttributeValuesAsString(a)).filter(
+ b -> b.toLowerCase().contains(filter.toLowerCase())).collect(Collectors.toList());
+ if (!allAttributes.isEmpty()) {
+ elementList.add(element);
}
}
+ struct.setElements(elementList);
}
return structureList;
} catch (Exception ex) {
- System.out.println(ex);
return totalStructureList;
}
}

Back to the top