Skip to content

Commit 44ad209

Browse files
authored
Merge pull request #1708 from AdvancedPhotonSource/cable-edit-improvements
Cable edit improvements
2 parents e097516 + 83a2721 commit 44ad209

File tree

56 files changed

+541
-181
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

56 files changed

+541
-181
lines changed

db/sql/static/populate_setting_type.sql

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -516,6 +516,9 @@ description.','true'),
516516
(23088,'ItemDomainCableDesign.List.Display.TotalReqLengthDisplay','Display total required cable length.','false'),
517517
(23089,'ItemDomainCableDesign.List.FilterBy.TotalReqLengthDisplay','Filter for total required cable length.',NULL),
518518
(23090,'ItemDomainCableDesign.List.Display.QrId','Display component qrId.','false'),
519+
(23091,'ItemDomainCableDesign.Default.CablePrefix','Default cable prefix for cable design.',NULL),
520+
(23092,'ItemDomainCableDesign.Default.Project','Default project for cable design.',NULL),
521+
(23093,'ItemDomainCableDesign.Default.TechnicalSystem','Default technical system for cable design.',NULL),
519522
(24000,'ItemDomainCableCatalog.List.AutoLoad.FilterBy.Properties','Automatically load component list with display properties for filtering.','true'),
520523
(24001,'ItemDomainCableCatalog.List.Display.ItemCategory','Display catalog item category.','true'),
521524
(24002,'ItemDomainCableCatalog.List.Display.CreatedByUser','Display created by username.','false'),

db/sql/updates/updateTo3.16.2.sql

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,7 @@
66
-- Execute by running `mysql CDB_DB_NAME -h 127.0.0.1 -u cdb -p < updateTo3.16.2.sql`
77

88
INSERT IGNORE INTO `setting_type` VALUES
9-
(23090,'ItemDomainCableDesign.List.Display.QrId','Display component qrId.','false');
9+
(23090,'ItemDomainCableDesign.List.Display.QrId','Display component qrId.','false'),
10+
(23091,'ItemDomainCableDesign.Default.CablePrefix','Default cable prefix for cable design.',NULL),
11+
(23092,'ItemDomainCableDesign.Default.Project','Default project for cable design.',NULL),
12+
(23093,'ItemDomainCableDesign.Default.TechnicalSystem','Default technical system for cable design.',NULL);

etc/version

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
3.16.1
1+
3.16.2

src/java/CdbWebPortal/src/java/gov/anl/aps/cdb/portal/controllers/ItemController.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1165,8 +1165,8 @@ public void completeSuccessfulItemElementUpdate(ItemElement itemElement) {
11651165
}
11661166
}
11671167

1168-
public ItemElementConstraintInformation loadItemElementConstraintInformation(ItemElement itemElement) {
1169-
return new ItemElementConstraintInformation(itemElement);
1168+
public final ItemElementConstraintInformation loadItemElementConstraintInformation(ItemElement itemElement) {
1169+
return getControllerUtility().loadItemElementConstraintInformation(itemElement);
11701170
}
11711171

11721172
public void completeSucessfulDerivedFromItemCreation() {

src/java/CdbWebPortal/src/java/gov/anl/aps/cdb/portal/controllers/ItemDomainCableDesignController.java

Lines changed: 97 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
import gov.anl.aps.cdb.portal.model.ItemDomainCableDesignLazyDataModel;
1616
import gov.anl.aps.cdb.portal.model.ItemDomainMachineDesignTreeNode;
1717
import gov.anl.aps.cdb.portal.model.db.beans.ItemDomainCableDesignFacade;
18+
import gov.anl.aps.cdb.portal.model.db.beans.ItemProjectFacade;
1819
import gov.anl.aps.cdb.portal.model.db.entities.CdbEntity;
1920
import gov.anl.aps.cdb.portal.model.db.entities.Item;
2021
import gov.anl.aps.cdb.portal.model.db.entities.ItemCategory;
@@ -32,8 +33,10 @@
3233
import gov.anl.aps.cdb.portal.view.objects.DomainImportExportInfo;
3334
import gov.anl.aps.cdb.portal.view.objects.ImportExportFormatInfo;
3435
import java.util.ArrayList;
36+
import java.util.Arrays;
3537
import java.util.Comparator;
3638
import java.util.HashMap;
39+
import java.util.Iterator;
3740
import java.util.List;
3841
import java.util.Map;
3942
import java.util.stream.Collectors;
@@ -57,6 +60,9 @@
5760
@SessionScoped
5861
public class ItemDomainCableDesignController extends ItemController<ItemDomainCableDesignControllerUtility, ItemDomainCableDesign, ItemDomainCableDesignFacade, ItemDomainCableDesignSettings, ItemDomainCableDesignLazyDataModel> {
5962

63+
@EJB
64+
ItemProjectFacade itemProjectFacade;
65+
6066
@Override
6167
protected ItemDomainCableDesignControllerUtility createControllerUtilityInstance() {
6268
return new ItemDomainCableDesignControllerUtility();
@@ -968,10 +974,31 @@ public String prepareCreate() {
968974
* Prepares cable wizard.
969975
*/
970976
public String prepareWizardCable() {
971-
CableWizard.getInstance().reset();
977+
CableWizard wizard = CableWizard.getInstance();
978+
wizard.reset();
979+
ensureSettingDefaultsLoaded();
980+
981+
populateEmptyDefaultWizardValues(wizard);
982+
972983
return "/views/itemDomainCableDesign/create?faces-redirect=true";
973984
}
974985

986+
public void populateEmptyDefaultWizardValues(CableWizard wizard) {
987+
if (wizard.getInputValueName() == null || wizard.getInputValueName().isEmpty()) {
988+
wizard.setInputValueName(settingObject.getDefaultCablePrefix());
989+
}
990+
991+
if (wizard.getSelectionProjectList() == null || wizard.getSelectionProjectList().isEmpty()) {
992+
List<ItemProject> defaultProjectList = settingObject.getDefaultProjectList();
993+
wizard.setSelectionProjectList(new ArrayList<>(defaultProjectList));
994+
}
995+
996+
if (wizard.getSelectionTechnicalSystemList() == null || wizard.getSelectionTechnicalSystemList().isEmpty()) {
997+
List<ItemCategory> defaultCategoryList = settingObject.getDefaultCategoryList();
998+
wizard.setSelectionTechnicalSystemList(new ArrayList<>(defaultCategoryList));
999+
}
1000+
}
1001+
9751002
@Override
9761003
public ItemDomainCableDesignLazyDataModel createItemLazyDataModel() {
9771004
return new ItemDomainCableDesignLazyDataModel(itemDomainCableDesignFacade, getDefaultDomain(), settingObject);
@@ -1168,6 +1195,75 @@ public void deleteConnection(CableDesignConnectionListObject connection) {
11681195
connectionToDelete = null;
11691196
}
11701197

1198+
public void ensureSettingDefaultsLoaded() {
1199+
ItemDomainCableDesignSettings settingObject = getSettingObject();
1200+
1201+
String namePrefix = settingObject.getDefaultCablePrefix();
1202+
if (namePrefix == null) {
1203+
settingObject.setDefaultCablePrefix("");
1204+
}
1205+
1206+
// Load default project
1207+
String defaultProject = settingObject.getDefaultProject();
1208+
List<Integer> projectIds = new ArrayList<>();
1209+
if (defaultProject != null && !defaultProject.trim().isEmpty()) {
1210+
projectIds = Arrays.stream(defaultProject.split(","))
1211+
.map(Integer::parseInt)
1212+
.collect(Collectors.toList());
1213+
}
1214+
List<ItemProject> defaultProjectList = settingObject.getDefaultProjectList();
1215+
if (defaultProjectList == null) {
1216+
defaultProjectList = new ArrayList<>();
1217+
}
1218+
1219+
Iterator<ItemProject> projectIterator = defaultProjectList.iterator();
1220+
while (projectIterator.hasNext()) {
1221+
ItemProject itemProject = projectIterator.next();
1222+
Integer id = itemProject.getId();
1223+
if (projectIds.contains(id)) {
1224+
projectIds.remove(id);
1225+
} else {
1226+
projectIterator.remove();
1227+
}
1228+
}
1229+
1230+
for (Integer projectId : projectIds) {
1231+
ItemProject project = itemProjectFacade.find(projectId);
1232+
defaultProjectList.add(project);
1233+
}
1234+
settingObject.setDefaultProjectList(defaultProjectList);
1235+
1236+
// Load default category list
1237+
String defaultTechnicalSystem = settingObject.getDefaultTechnicalSystem();
1238+
List<Integer> categoryIds = new ArrayList<>();
1239+
if (defaultTechnicalSystem != null && !defaultTechnicalSystem.trim().isEmpty()) {
1240+
categoryIds = Arrays.stream(defaultTechnicalSystem.split(","))
1241+
.map(Integer::parseInt)
1242+
.collect(Collectors.toList());
1243+
}
1244+
List<ItemCategory> defaultTechnicalSystemList = settingObject.getDefaultCategoryList();
1245+
if (defaultTechnicalSystemList == null) {
1246+
defaultTechnicalSystemList = new ArrayList<>();
1247+
}
1248+
1249+
Iterator<ItemCategory> categoryIterator = defaultTechnicalSystemList.iterator();
1250+
while (categoryIterator.hasNext()) {
1251+
ItemCategory itemCategory = categoryIterator.next();
1252+
Integer id = itemCategory.getId();
1253+
if (categoryIds.contains(id)) {
1254+
categoryIds.remove(id);
1255+
} else {
1256+
categoryIterator.remove();
1257+
}
1258+
}
1259+
1260+
for (Integer categoryId : categoryIds) {
1261+
ItemCategory category = itemCategoryFacade.find(categoryId);
1262+
defaultTechnicalSystemList.add(category);
1263+
}
1264+
settingObject.setDefaultCategoryList(defaultTechnicalSystemList);
1265+
}
1266+
11711267
// <editor-fold defaultstate="collapsed" desc="import/export support">
11721268
@Override
11731269
public boolean getEntityDisplayImportButton() {

src/java/CdbWebPortal/src/java/gov/anl/aps/cdb/portal/controllers/ItemDomainCatalogBaseController.java

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -65,12 +65,7 @@ public ItemEnforcedPropertiesController getItemEnforcedPropertiesController() {
6565
@Override
6666
protected ItemCatalogBaseDomainEntity cloneCreateItemElements(ItemCatalogBaseDomainEntity clonedItem, ItemCatalogBaseDomainEntity cloningFrom) {
6767
return cloneCreateItemElements(clonedItem, cloningFrom, true);
68-
}
69-
70-
@Override
71-
public ItemElementConstraintInformation loadItemElementConstraintInformation(ItemElement itemElement) {
72-
return new CatalogItemElementConstraintInformation(itemElement);
73-
}
68+
}
7469

7570
@Override
7671
public ItemCatalogBaseDomainEntity createEntityInstance() {

src/java/CdbWebPortal/src/java/gov/anl/aps/cdb/portal/controllers/ItemDomainInventoryController.java

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,6 @@
2626
import gov.anl.aps.cdb.portal.utilities.SessionUtility;
2727
import gov.anl.aps.cdb.portal.view.objects.DomainImportExportInfo;
2828
import gov.anl.aps.cdb.portal.view.objects.ImportExportFormatInfo;
29-
import gov.anl.aps.cdb.portal.view.objects.InventoryItemElementConstraintInformation;
30-
import gov.anl.aps.cdb.portal.view.objects.ItemElementConstraintInformation;
3129
import java.util.ArrayList;
3230
import java.util.List;
3331
import javax.ejb.EJB;
@@ -180,11 +178,6 @@ public String prepareCloneForItemToClone() {
180178
return super.prepareCloneForItemToClone();
181179
}
182180

183-
@Override
184-
public ItemElementConstraintInformation loadItemElementConstraintInformation(ItemElement itemElement) {
185-
return new InventoryItemElementConstraintInformation(itemElement);
186-
}
187-
188181
@Override
189182
public String getPrimaryImageValueForItem(Item item) {
190183
String result = super.getPrimaryImageValueForItem(item);

src/java/CdbWebPortal/src/java/gov/anl/aps/cdb/portal/controllers/extensions/CableWizard.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -527,7 +527,7 @@ public void reset() {
527527
selectionProjectList = null;
528528
selectionTechnicalSystemList = null;
529529
members.clear();
530-
selectionCableType = null;
530+
selectionCableType = cableTypeCatalog;
531531
selectionCableCatalogItem = null;
532532
cableItem = null;
533533
portEnd1 = null;

0 commit comments

Comments
 (0)