You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by nt...@apache.org on 2018/01/19 13:37:42 UTC
cayenne git commit: Remove usage of commons-lang from Modeler + minor
code cleanup
Repository: cayenne
Updated Branches:
refs/heads/master d3b546a37 -> f894fb5e3
Remove usage of commons-lang from Modeler + minor code cleanup
Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/f894fb5e
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/f894fb5e
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/f894fb5e
Branch: refs/heads/master
Commit: f894fb5e39af03144af02bdd37a8a219b392b279
Parents: d3b546a
Author: Nikita Timofeev <st...@gmail.com>
Authored: Fri Jan 19 16:25:16 2018 +0300
Committer: Nikita Timofeev <st...@gmail.com>
Committed: Fri Jan 19 16:25:16 2018 +0300
----------------------------------------------------------------------
.../main/java/org/apache/cayenne/util/Util.java | 21 ++-
.../objentity/ObjAttributeInfoDialog.java | 131 ++++++++-----------
.../util/DbAttributePathComboBoxEditor.java | 9 +-
.../util/PathChooserComboBoxCellEditor.java | 12 +-
4 files changed, 80 insertions(+), 93 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f894fb5e/cayenne-server/src/main/java/org/apache/cayenne/util/Util.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/util/Util.java b/cayenne-server/src/main/java/org/apache/cayenne/util/Util.java
index 1c41b3c..5fdfcf4 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/util/Util.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/util/Util.java
@@ -238,6 +238,7 @@ public class Util {
}
/**
+ * Returns true, if string not empty and contains non-whitespace characters.
* @since 4.1
*/
public static boolean isBlank(CharSequence cs) {
@@ -262,9 +263,7 @@ public class Util {
if (isEmptyString(cs)) {
return false;
} else {
- int sz = cs.length();
-
- for(int i = 0; i < sz; ++i) {
+ for(int i = 0; i < cs.length(); ++i) {
if (!Character.isDigit(cs.charAt(i))) {
return false;
}
@@ -275,6 +274,22 @@ public class Util {
}
/**
+ * Returns how many times the sub appears in the str.
+ * @since 4.1
+ */
+ public static int countMatches(final String str, final String sub) {
+ if (isEmptyString(str) || isEmptyString(sub)) {
+ return 0;
+ }
+ int count = 0, idx = 0;
+ while ((idx = str.indexOf(sub, idx)) != -1) {
+ count++;
+ idx += sub.length();
+ }
+ return count;
+ }
+
+ /**
* Capitalizes the first letter of the property name.
*
* @since 4.1
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f894fb5e/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/objentity/ObjAttributeInfoDialog.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/objentity/ObjAttributeInfoDialog.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/objentity/ObjAttributeInfoDialog.java
index 11b4a68..2bf61cf 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/objentity/ObjAttributeInfoDialog.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/objentity/ObjAttributeInfoDialog.java
@@ -53,8 +53,6 @@ import javax.swing.table.TableColumn;
import javax.swing.tree.TreePath;
import java.awt.Color;
import java.awt.Component;
-import java.awt.event.ItemEvent;
-import java.awt.event.ItemListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.util.ArrayList;
@@ -75,8 +73,6 @@ public class ObjAttributeInfoDialog extends CayenneController implements TreeSel
protected List<DbEntity> relTargets;
- protected List<ObjEntity> objectTargets;
-
protected Map<String, Embeddable> stringToEmbeddables;
protected List<String> embeddableNames;
@@ -90,11 +86,9 @@ public class ObjAttributeInfoDialog extends CayenneController implements TreeSel
this.model = model;
this.row = row;
this.stringToEmbeddables = new HashMap<>();
- this.embeddableNames = new ArrayList<String>();
+ this.embeddableNames = new ArrayList<>();
- Iterator<Embeddable> embs = mediator.getEmbeddablesInCurrentDataDomain().iterator();
- while (embs.hasNext()) {
- Embeddable emb = embs.next();
+ for (Embeddable emb : mediator.getEmbeddablesInCurrentDataDomain()) {
stringToEmbeddables.put(emb.getClassName(), emb);
embeddableNames.add(emb.getClassName());
}
@@ -116,13 +110,12 @@ public class ObjAttributeInfoDialog extends CayenneController implements TreeSel
makeCloseableOnEscape();
centerView();
view.setVisible(true);
-
}
private void initController(ObjAttribute attr) {
- for (int i = 0; i < embeddableNames.size(); i++) {
- ((DefaultComboBoxModel) view.getTypeComboBox().getModel()).addElement(embeddableNames.get(i).toString());
+ for (String embeddableName : embeddableNames) {
+ ((DefaultComboBoxModel) view.getTypeComboBox().getModel()).addElement(embeddableName);
}
this.attribute = attr;
@@ -137,7 +130,7 @@ public class ObjAttributeInfoDialog extends CayenneController implements TreeSel
relTargets = new ArrayList<DbEntity>(attribute.getEntity().getDataMap().getDbEntities());
- /**
+ /*
* Register auto-selection of the target
*/
view.getPathBrowser().addTreeSelectionListener(this);
@@ -200,33 +193,30 @@ public class ObjAttributeInfoDialog extends CayenneController implements TreeSel
setSelectionPath();
}
- view.getTypeComboBox().addItemListener(new ItemListener() {
-
- public void itemStateChanged(ItemEvent e) {
- if (lastObjectType != null) {
- if (!lastObjectType.equals(e.getItemSelectable())) {
-
- if (embeddableNames.contains(e.getItemSelectable().getSelectedObjects()[0].toString())) {
- if (attributeSaved instanceof ObjAttribute) {
- EmbeddedAttribute copyAttrSaved = new EmbeddedAttribute();
- copyObjAttribute(copyAttrSaved, attributeSaved);
- attributeSaved = copyAttrSaved;
- }
- } else {
- if (attributeSaved instanceof EmbeddedAttribute) {
- ObjAttribute copyAttrSaved = new ObjAttribute();
- copyObjAttribute(copyAttrSaved, attributeSaved);
- attributeSaved = copyAttrSaved;
- }
- }
-
- attributeSaved.setType(e.getItemSelectable().getSelectedObjects()[0].toString());
- rebuildTable();
- setEnabledSaveButton();
- }
- }
- }
- });
+ view.getTypeComboBox().addItemListener(e -> {
+ if (lastObjectType != null) {
+ if (!lastObjectType.equals(e.getItemSelectable())) {
+
+ if (embeddableNames.contains(e.getItemSelectable().getSelectedObjects()[0].toString())) {
+ if (attributeSaved instanceof ObjAttribute) {
+ EmbeddedAttribute copyAttrSaved = new EmbeddedAttribute();
+ copyObjAttribute(copyAttrSaved, attributeSaved);
+ attributeSaved = copyAttrSaved;
+ }
+ } else {
+ if (attributeSaved instanceof EmbeddedAttribute) {
+ ObjAttribute copyAttrSaved = new ObjAttribute();
+ copyObjAttribute(copyAttrSaved, attributeSaved);
+ attributeSaved = copyAttrSaved;
+ }
+ }
+
+ attributeSaved.setType(e.getItemSelectable().getSelectedObjects()[0].toString());
+ rebuildTable();
+ setEnabledSaveButton();
+ }
+ }
+ });
view.getAttributeName().addKeyListener(new KeyListener() {
@@ -311,18 +301,15 @@ public class ObjAttributeInfoDialog extends CayenneController implements TreeSel
private void rebuildTable() {
String typeName = null;
- Collection<EmbeddableAttribute> embAttrTempCopy = new ArrayList<EmbeddableAttribute>();
+ Collection<EmbeddableAttribute> embAttrTempCopy = new ArrayList<>();
if (attributeSaved.getType() != null) {
- typeName = attributeSaved.getType().toString();
+ typeName = attributeSaved.getType();
}
if (embeddableNames.contains(typeName)) {
Collection<EmbeddableAttribute> embAttrTemp = stringToEmbeddables.get(typeName).getAttributes();
- Iterator<EmbeddableAttribute> it = embAttrTemp.iterator();
-
- while (it.hasNext()) {
- EmbeddableAttribute temp = it.next();
+ for (EmbeddableAttribute temp : embAttrTemp) {
EmbeddableAttribute at = new EmbeddableAttribute();
at.setDbAttributeName(temp.getDbAttributeName());
at.setName(temp.getName());
@@ -419,9 +406,9 @@ public class ObjAttributeInfoDialog extends CayenneController implements TreeSel
public boolean isChange() {
- boolean isOvverideTableChange = ((OverrideEmbeddableAttributeTableModel) view.getOverrideAttributeTable()
+ boolean isOverrideTableChange = ((OverrideEmbeddableAttributeTableModel) view.getOverrideAttributeTable()
.getModel()).isAttributeOverrideChange();
- return isOvverideTableChange || !attribute.getName().equals(view.getAttributeName().getText())
+ return isOverrideTableChange || !attribute.getName().equals(view.getAttributeName().getText())
|| (attribute.getType() == null && view.getTypeComboBox().getSelectedItem().toString() != null)
|| !attribute.getType().equals(view.getTypeComboBox().getSelectedItem().toString());
}
@@ -430,7 +417,7 @@ public class ObjAttributeInfoDialog extends CayenneController implements TreeSel
if (setPath(false)) {
- if (JOptionPane.showConfirmDialog((Component) getView(),
+ if (JOptionPane.showConfirmDialog(getView(),
"You have changed Db Attribute path. Do you want it to be saved?", "Save ObjAttribute",
JOptionPane.YES_NO_OPTION) == JOptionPane.YES_OPTION) {
@@ -447,13 +434,10 @@ public class ObjAttributeInfoDialog extends CayenneController implements TreeSel
model.setUpdatedValueAt(attributeSaved.getType(), row, 2);
}
} else {
-
if ((attributeSaved instanceof EmbeddedAttribute && !(attribute instanceof EmbeddedAttribute))
|| (!(attributeSaved instanceof EmbeddedAttribute) && attribute instanceof EmbeddedAttribute)) {
changeAttributeObject();
- } else if ((attributeSaved instanceof EmbeddedAttribute && attribute instanceof EmbeddedAttribute)
- || (!(attributeSaved instanceof EmbeddedAttribute) && !(attribute instanceof EmbeddedAttribute))) {
-
+ } else {
if (attributeSaved instanceof EmbeddedAttribute && embeddableModel.isAttributeOverrideChange()) {
Map<String, String> overrides = ((EmbeddedAttribute) attributeSaved).getAttributeOverrides();
Map<String, String> currentOverrAttr = getCurrentOverrideAttribute();
@@ -517,12 +501,10 @@ public class ObjAttributeInfoDialog extends CayenneController implements TreeSel
Map<String, String> currentEmbeddableOverrite = new HashMap<>();
Collection<EmbeddableAttribute> embList = embeddableModel.getEmbeddableList();
Embeddable emb = stringToEmbeddables.get(attributeSaved.getType());
- Iterator<EmbeddableAttribute> it = embList.iterator();
- while (it.hasNext()) {
- EmbeddableAttribute e = it.next();
+ for (EmbeddableAttribute e : embList) {
if ((emb.getAttribute(e.getName()).getDbAttributeName() == null && e.getDbAttributeName() != null)
|| (emb.getAttribute(e.getName()).getDbAttributeName() != null && !emb.getAttribute(e.getName())
- .getDbAttributeName().equals(e.getDbAttributeName()))) {
+ .getDbAttributeName().equals(e.getDbAttributeName()))) {
currentEmbeddableOverrite.put(e.getName(), e.getDbAttributeName());
}
}
@@ -558,11 +540,11 @@ public class ObjAttributeInfoDialog extends CayenneController implements TreeSel
* Selects path in browser
*/
public void setSelectionPath() {
- List list = new ArrayList();
+ List<CayenneMapEntry> list = new ArrayList<>();
boolean isAttributeLast = false;
Iterator<CayenneMapEntry> it = attribute.getDbPathIterator();
while (it.hasNext()) {
- Object obj = it.next();
+ CayenneMapEntry obj = it.next();
list.add(obj);
if (obj instanceof DbAttribute && !it.hasNext()) {
isAttributeLast = true;
@@ -580,8 +562,8 @@ public class ObjAttributeInfoDialog extends CayenneController implements TreeSel
public boolean isRegistredType(String typeName) {
boolean isType = false;
String[] typeNames = ModelerUtil.getRegisteredTypeNames();
- for (int i = 0; i < typeNames.length; i++) {
- if (typeNames[i].equals(typeName)) {
+ for (String nextTypeName : typeNames) {
+ if (nextTypeName.equals(typeName)) {
isType = true;
}
}
@@ -626,12 +608,8 @@ public class ObjAttributeInfoDialog extends CayenneController implements TreeSel
attrOverrides = new HashMap<>();
}
if (attrOverrides.size() > 0) {
- Iterator it = attrOverrides.entrySet().iterator();
-
- while (it.hasNext()) {
- Map.Entry attrOv = (Map.Entry) it.next();
- ((EmbeddedAttribute) attributeSaved).addAttributeOverride(attrOv.getKey().toString(), attrOv
- .getValue().toString());
+ for (Map.Entry<String, String> attrOv : attrOverrides.entrySet()) {
+ ((EmbeddedAttribute) attributeSaved).addAttributeOverride(attrOv.getKey(), attrOv.getValue());
}
}
}
@@ -639,12 +617,11 @@ public class ObjAttributeInfoDialog extends CayenneController implements TreeSel
private void compareAndSetOverrideInEmbeddedAttribute(ObjAttribute attribute, Map<String, String> overrides,
Map<String, String> currentOverrAttr) {
- ArrayList<String> keysForDelete = new ArrayList<String>();
- ArrayList<String> keysForAdd = new ArrayList<String>();
+ ArrayList<String> keysForDelete = new ArrayList<>();
+ ArrayList<String> keysForAdd = new ArrayList<>();
- Iterator it = overrides.entrySet().iterator();
- while (it.hasNext()) {
- Map.Entry obj = (Map.Entry) it.next();
+ for (Object o : overrides.entrySet()) {
+ Map.Entry obj = (Map.Entry) o;
String key = (String) obj.getKey();
if (currentOverrAttr.get(key) == null || !(obj.getValue().equals(currentOverrAttr.get(key)))) {
@@ -652,20 +629,18 @@ public class ObjAttributeInfoDialog extends CayenneController implements TreeSel
}
}
- Iterator iter = currentOverrAttr.entrySet().iterator();
- while (iter.hasNext()) {
- Map.Entry obj = (Map.Entry) iter.next();
+ for (Object o : currentOverrAttr.entrySet()) {
+ Map.Entry obj = (Map.Entry) o;
String key = (String) obj.getKey();
if (overrides.get(key) == null || !(obj.getValue().equals(overrides.get(key)))) {
keysForAdd.add(key);
}
}
- for (int i = 0; i < keysForDelete.size(); i++) {
- ((EmbeddedAttribute) attribute).removeAttributeOverride(keysForDelete.get(i));
+ for (String aKeysForDelete : keysForDelete) {
+ ((EmbeddedAttribute) attribute).removeAttributeOverride(aKeysForDelete);
}
- for (int i = 0; i < keysForAdd.size(); i++) {
- String key = keysForAdd.get(i);
+ for (String key : keysForAdd) {
((EmbeddedAttribute) attribute).addAttributeOverride(key, currentOverrAttr.get(key));
}
}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f894fb5e/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/DbAttributePathComboBoxEditor.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/DbAttributePathComboBoxEditor.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/DbAttributePathComboBoxEditor.java
index 950ba80..7794d87 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/DbAttributePathComboBoxEditor.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/DbAttributePathComboBoxEditor.java
@@ -27,7 +27,7 @@ import org.apache.cayenne.map.ObjAttribute;
import org.apache.cayenne.map.ObjEntity;
import org.apache.cayenne.modeler.editor.ObjAttributeTableModel;
import org.apache.cayenne.util.CayenneMapEntry;
-import org.apache.commons.lang3.StringUtils;
+import org.apache.cayenne.util.Util;
import javax.swing.DefaultComboBoxModel;
import javax.swing.JLabel;
@@ -58,7 +58,7 @@ public class DbAttributePathComboBoxEditor extends PathChooserComboBoxCellEditor
initializeCombo(model, row, table);
String dbAttributePath = ((JTextComponent) (comboBoxPathChooser).getEditor().getEditorComponent()).getText();
- previousEmbeddedLevel = StringUtils.countMatches(dbAttributePath, ".");
+ previousEmbeddedLevel = Util.countMatches(dbAttributePath, ".");
return comboBoxPathChooser;
}
@@ -117,12 +117,11 @@ public class DbAttributePathComboBoxEditor extends PathChooserComboBoxCellEditor
if (dbAttributePath.charAt(dbAttributePath.length()-1) != '.') {
dbAttributePath = dbAttributePath + '.';
- previousEmbeddedLevel = StringUtils.countMatches(dbAttributePath,".");
+ previousEmbeddedLevel = Util.countMatches(dbAttributePath,".");
((JTextComponent) (comboBoxPathChooser).
getEditor().getEditorComponent()).setText(dbAttributePath);
}
- List<String> currentNodeChildren = new ArrayList<>();
- currentNodeChildren.addAll(getChildren(getCurrentNode(dbAttributePath), dbAttributePath));
+ List<String> currentNodeChildren = new ArrayList<>(getChildren(getCurrentNode(dbAttributePath), dbAttributePath));
comboBoxPathChooser.setModel(new DefaultComboBoxModel(currentNodeChildren.toArray()));
comboBoxPathChooser.setSelectedItem(dbAttributePath);
comboBoxPathChooser.showPopup();
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f894fb5e/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/PathChooserComboBoxCellEditor.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/PathChooserComboBoxCellEditor.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/PathChooserComboBoxCellEditor.java
index 5e5a904..0cad2ff 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/PathChooserComboBoxCellEditor.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/PathChooserComboBoxCellEditor.java
@@ -22,7 +22,7 @@ package org.apache.cayenne.modeler.util;
import org.apache.cayenne.map.DbAttribute;
import org.apache.cayenne.modeler.Application;
import org.apache.cayenne.modeler.util.combo.AutoCompletion;
-import org.apache.commons.lang3.StringUtils;
+import org.apache.cayenne.util.Util;
import javax.swing.AbstractCellEditor;
import javax.swing.BorderFactory;
@@ -98,8 +98,7 @@ public abstract class PathChooserComboBoxCellEditor extends AbstractCellEditor i
}
private void setComboModelAccordingToPath(String pathString) {
- List<String> currentNodeChildren = new ArrayList<>();
- currentNodeChildren.addAll(getChildren(getCurrentNode(pathString), pathString));
+ List<String> currentNodeChildren = new ArrayList<>(getChildren(getCurrentNode(pathString), pathString));
comboBoxPathChooser.setModel(new DefaultComboBoxModel<>(currentNodeChildren.toArray(new String[0])));
comboBoxPathChooser.setSelectedItem(pathString);
if(!pathString.isEmpty()) {
@@ -118,19 +117,18 @@ public abstract class PathChooserComboBoxCellEditor extends AbstractCellEditor i
if (lastEnteredCharacter == '.') {
processDotEntered();
- previousEmbeddedLevel = StringUtils.countMatches(pathString, ".");
+ previousEmbeddedLevel = Util.countMatches(pathString, ".");
return;
}
- int currentEmbeddedLevel = StringUtils.countMatches(pathString, ".");
+ int currentEmbeddedLevel = Util.countMatches(pathString, ".");
if (previousEmbeddedLevel != currentEmbeddedLevel) {
previousEmbeddedLevel = currentEmbeddedLevel;
String[] pathStrings = pathString.split(Pattern.quote("."));
String lastStringInPath = pathStrings[pathStrings.length - 1];
String saveDbAttributePath = pathString;
pathString = pathString.replaceAll(lastStringInPath + "$", "");
- List<String> currentNodeChildren = new ArrayList<>();
- currentNodeChildren.addAll(getChildren(getCurrentNode(pathString), pathString));
+ List<String> currentNodeChildren = new ArrayList<>(getChildren(getCurrentNode(pathString), pathString));
comboBoxPathChooser.setModel(new DefaultComboBoxModel<>(currentNodeChildren.toArray(new String[0])));
comboBoxPathChooser.setSelectedItem(saveDbAttributePath);
}