cayenne git commit: CAY-2199 Modeler on Windows: The same project is displayed twice in "Recent Projects" - remove duplicated projects
Repository: cayenne Updated Branches: refs/heads/master 15308e5dd -> 323771a2e CAY-2199 Modeler on Windows: The same project is displayed twice in "Recent Projects" - remove duplicated projects Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/323771a2 Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/323771a2 Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/323771a2 Branch: refs/heads/master Commit: 323771a2ef8acb95b14800d42f278a04aa63ea9e Parents: 15308e5 Author: Nikita TimofeevAuthored: Mon Feb 6 11:13:56 2017 +0300 Committer: Nikita Timofeev Committed: Mon Feb 6 11:13:56 2017 +0300 -- docs/doc/src/main/resources/RELEASE-NOTES.txt | 1 + .../modeler/CayenneModelerController.java | 41 +++- .../java/org/apache/cayenne/modeler/Main.java | 14 ++- .../cayenne/modeler/ModelerPreferences.java | 29 +++--- .../dialog/welcome/RecentFileListModel.java | 11 +++--- .../dialog/welcome/RecentFileListRenderer.java | 9 +++-- .../modeler/dialog/welcome/WelcomeScreen.java | 5 +-- .../cayenne/modeler/util/RecentFileMenu.java| 9 ++--- 8 files changed, 51 insertions(+), 68 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cayenne/blob/323771a2/docs/doc/src/main/resources/RELEASE-NOTES.txt -- diff --git a/docs/doc/src/main/resources/RELEASE-NOTES.txt b/docs/doc/src/main/resources/RELEASE-NOTES.txt index 733956d..b3291a0 100644 --- a/docs/doc/src/main/resources/RELEASE-NOTES.txt +++ b/docs/doc/src/main/resources/RELEASE-NOTES.txt @@ -36,6 +36,7 @@ CAY-2137 When generating SQL from EJBQL, use "AND" to separate multiple join con CAY-2174 Change FK attribute name cause ObjAttribute appear after Reverse Engineering CAY-2175 AliasName used in EJBQLQuery is not working if it contains mixed case CAY-2183 Newly created DbRelationship is unexpectedly renamed by the Modeler +CAY-2199 Modeler on Windows: The same project is displayed twice in "Recent Projects" -- Release: 4.0.M4 http://git-wip-us.apache.org/repos/asf/cayenne/blob/323771a2/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/CayenneModelerController.java -- diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/CayenneModelerController.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/CayenneModelerController.java index ae90f12..ee6abf7 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/CayenneModelerController.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/CayenneModelerController.java @@ -263,29 +263,28 @@ public class CayenneModelerController extends CayenneController { /** Adds path to the list of last opened projects in preferences. */ public void addToLastProjListAction(File file) { -String path = file.getAbsolutePath(); -Preferences frefLastProjFiles = ModelerPreferences.getLastProjFilesPref(); -List arr = ModelerPreferences.getLastProjFiles(); +Preferences prefLastProjFiles = ModelerPreferences.getLastProjFilesPref(); +List arr = ModelerPreferences.getLastProjFiles(); // Add proj path to the preferences // Prevent duplicate entries. -if (arr.contains(path)) { -arr.remove(path); +if (arr.contains(file)) { +arr.remove(file); } -arr.add(0, path); +arr.add(0, file); while (arr.size() > ModelerPreferences.LAST_PROJ_FILES_SIZE) { arr.remove(arr.size() - 1); } try { -frefLastProjFiles.clear(); +prefLastProjFiles.clear(); } catch (BackingStoreException ignored) { // ignore exception } -int size = arr.size(); +int size = arr.size(); for (int i = 0; i < size; i++) { -frefLastProjFiles.put(String.valueOf(i), arr.get(i)); +prefLastProjFiles.put(String.valueOf(i), arr.get(i).getAbsolutePath()); } } @@ -328,21 +327,12 @@ public class CayenneModelerController extends CayenneController { public void changePathInLastProjListAction(File oldFile, File newFile) { Preferences frefLastProjFiles = ModelerPreferences.getLastProjFilesPref(); -List arr = ModelerPreferences.getLastProjFiles(); -// Add proj path to the preferences -// Prevent duplicate entries. -String oldPath = oldFile.getAbsolutePath(); -String newPath = newFile.getAbsolutePath(); +List arr =
cayenne git commit: CAY-2199 Modeler on Windows: The same project is displayed twice in "Recent Projects"
Repository: cayenne Updated Branches: refs/heads/master e3704c287 -> 15308e5dd CAY-2199 Modeler on Windows: The same project is displayed twice in "Recent Projects" Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/15308e5d Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/15308e5d Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/15308e5d Branch: refs/heads/master Commit: 15308e5dd273244facfd7bf8337bdd83493862ed Parents: e3704c2 Author: Nikita TimofeevAuthored: Mon Feb 6 10:27:20 2017 +0300 Committer: Nikita Timofeev Committed: Mon Feb 6 10:27:20 2017 +0300 -- .../modeler/CayenneModelerController.java | 75 +++ .../cayenne/modeler/ModelerPreferences.java | 11 +-- .../modeler/action/OpenProjectAction.java | 78 +++- .../cayenne/modeler/action/SaveAction.java | 58 +++ .../cayenne/modeler/action/SaveAsAction.java| 23 +++--- .../org/apache/cayenne/pref/Preference.java | 6 +- 6 files changed, 93 insertions(+), 158 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cayenne/blob/15308e5d/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/CayenneModelerController.java -- diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/CayenneModelerController.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/CayenneModelerController.java index bda0504..ae90f12 100644 --- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/CayenneModelerController.java +++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/CayenneModelerController.java @@ -59,7 +59,7 @@ public class CayenneModelerController extends CayenneController { private static final ProjectStateUtil PROJECT_STATE_UTIL = new ProjectStateUtil(); -protected ProjectController projectController; +private ProjectController projectController; protected CayenneModelerFrame frame; private EditorView editorView; @@ -70,15 +70,11 @@ public class CayenneModelerController extends CayenneController { super(application); this.frame = new CayenneModelerFrame(application.getActionManager()); - -application -.getInjector() -.getInstance(PlatformInitializer.class) -.setupMenus(frame); - + application.getInjector().getInstance(PlatformInitializer.class).setupMenus(frame); this.projectController = new ProjectController(this); } +@Override public Component getView() { return frame; } @@ -92,9 +88,7 @@ public class CayenneModelerController extends CayenneController { FSPath path = (FSPath) application .getCayenneProjectPreferences() -.getProjectDetailObject( -FSPath.class, -getViewPreferences().node("lastEOMDir")); +.getProjectDetailObject(FSPath.class, getViewPreferences().node("lastEOMDir")); if (path.getPath() == null) { path.setPath(getLastDirectory().getPath()); @@ -107,7 +101,7 @@ public class CayenneModelerController extends CayenneController { frame.setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE); frame.addWindowListener(new WindowAdapter() { - +@Override public void windowClosing(WindowEvent e) { PROJECT_STATE_UTIL.saveLastState(projectController); getApplication().getActionManager().getAction(ExitAction.class).exit(); @@ -123,12 +117,11 @@ public class CayenneModelerController extends CayenneController { PROJECT_STATE_UTIL.saveLastState(projectController); } }; - Runtime.getRuntime().addShutdownHook(new Thread(runner, "Window Prefs Hook")); } new DropTarget(frame, new DropTargetAdapter() { - +@Override public void drop(DropTargetDropEvent dtde) { dtde.acceptDrop(dtde.getDropAction()); Transferable transferable = dtde.getTransferable(); @@ -154,16 +147,10 @@ public class CayenneModelerController extends CayenneController { File transferFile = fileList.get(0); if (transferFile.isFile()) { - FileFilter filter = FileFilters.getApplicationFilter(); - if (filter.accept(transferFile)) { -ActionEvent e = new ActionEvent( -transferFile, -ActionEvent.ACTION_PERFORMED, -"OpenProject"); -