[cayenne] 01/03: CAY-2514 Set SERVER_CONTEXTS_SYNC_PROPERTY default value to false

2019-01-18 Thread abulatski
This is an automated email from the ASF dual-hosted git repository.

abulatski pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cayenne.git

commit 77d67e724a1c112fed161d14202947229776d80a
Author: Arseni Bulatski 
AuthorDate: Fri Jan 18 10:38:00 2019 +0300

CAY-2514 Set SERVER_CONTEXTS_SYNC_PROPERTY default value to false
---
 RELEASE-NOTES.txt  |  1 +
 .../configuration/rop/client/ClientModule.java | 11 ++-
 .../CayenneContextClientChannelEventsIT.java   |  4 +-
 .../configuration/rop/client/ClientModuleTest.java | 10 ++-
 .../rop/client/ClientRuntimeTest.java  | 10 ++-
 .../unit/di/client/ClientCaseContextsSync.java | 70 +++
 .../client/ClientRuntimeProviderContextsSync.java  | 60 
 .../configuration/DefaultObjectStoreFactory.java   |  2 +-
 .../cayenne/configuration/server/ServerModule.java | 12 ++--
 .../apache/cayenne/event/EventManagerProvider.java | 44 
 .../org/apache/cayenne/event/NoopEventManager.java | 81 ++
 .../access/DataContextDataChannelEventsIT.java |  4 +-
 .../access/DataContextDelegateSharedCacheIT.java   |  8 +--
 .../access/DataContextSharedCacheEmpiricIT.java| 10 +--
 .../cayenne/access/DataContextSharedCacheIT.java   | 16 ++---
 .../access/NestedDataContextParentEventsIT.java|  4 +-
 .../NestedDataContextParentPeerEventsIT.java   |  4 +-
 .../access/NestedDataContextPeerEventsIT.java  |  4 +-
 .../apache/cayenne/access/jdbc/SelectActionIT.java |  8 +--
 .../unit/di/server/ServerCaseContextsSync.java | 65 +
 .../server/ServerRuntimeProviderContextsSync.java  | 64 +
 21 files changed, 443 insertions(+), 49 deletions(-)

diff --git a/RELEASE-NOTES.txt b/RELEASE-NOTES.txt
index 628300f..ecbaa20 100644
--- a/RELEASE-NOTES.txt
+++ b/RELEASE-NOTES.txt
@@ -45,6 +45,7 @@ CAY-2491 Remaster Db Import View
 CAY-2493 Save cgen configuration with datamap XML
 CAY-2494 Rename dbImport tag from 'config' to 'dbImport'
 CAY-2499 Support for COUNT(DISTINCT(column)) function aggregate
+CAY-2514 Set SERVER_CONTEXTS_SYNC_PROPERTY default value to false
 
 Bug Fixes:
 
diff --git 
a/cayenne-client/src/main/java/org/apache/cayenne/configuration/rop/client/ClientModule.java
 
b/cayenne-client/src/main/java/org/apache/cayenne/configuration/rop/client/ClientModule.java
index 4a95df6..ba07559 100644
--- 
a/cayenne-client/src/main/java/org/apache/cayenne/configuration/rop/client/ClientModule.java
+++ 
b/cayenne-client/src/main/java/org/apache/cayenne/configuration/rop/client/ClientModule.java
@@ -18,8 +18,6 @@
  /
 package org.apache.cayenne.configuration.rop.client;
 
-import java.util.Map;
-
 import org.apache.cayenne.DataChannel;
 import org.apache.cayenne.cache.MapQueryCacheProvider;
 import org.apache.cayenne.cache.QueryCache;
@@ -28,13 +26,14 @@ import 
org.apache.cayenne.configuration.ObjectContextFactory;
 import org.apache.cayenne.configuration.RuntimeProperties;
 import org.apache.cayenne.configuration.server.ServerModule;
 import org.apache.cayenne.di.Binder;
-import org.apache.cayenne.di.MapBuilder;
 import org.apache.cayenne.di.Module;
-import org.apache.cayenne.event.DefaultEventManager;
 import org.apache.cayenne.event.EventManager;
+import org.apache.cayenne.event.EventManagerProvider;
 import org.apache.cayenne.remote.ClientConnection;
 import org.apache.cayenne.remote.RemoteService;
-import org.apache.cayenne.rop.*;
+import org.apache.cayenne.rop.HttpClientConnectionProvider;
+import org.apache.cayenne.rop.ProxyRemoteService;
+import org.apache.cayenne.rop.ROPSerializationService;
 import org.apache.cayenne.rop.http.ClientHessianSerializationServiceProvider;
 
 /**
@@ -61,7 +60,7 @@ public class ClientModule implements Module {
 
binder.bind(ROPSerializationService.class).toProvider(ClientHessianSerializationServiceProvider.class);
 binder.bind(RemoteService.class).to(ProxyRemoteService.class);
 
binder.bind(ClientConnection.class).toProvider(HttpClientConnectionProvider.class);
-binder.bind(EventManager.class).to(DefaultEventManager.class);
+binder.bind(EventManager.class).toProvider(EventManagerProvider.class);
 
binder.bind(RuntimeProperties.class).to(DefaultRuntimeProperties.class);
 binder.bind(DataChannel.class).toProvider(ClientChannelProvider.class);
 binder.bind(QueryCache.class).toProvider(MapQueryCacheProvider.class);
diff --git 
a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextClientChannelEventsIT.java
 
b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextClientChannelEventsIT.java
index 891f146..49ef1f5 100644
--- 
a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextClientChannelEventsIT.java
+++ 
b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextClientChannelEventsIT.java
@@ -29,7 +29,7

[cayenne] 02/03: Cleanup

2019-01-18 Thread abulatski
This is an automated email from the ASF dual-hosted git repository.

abulatski pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cayenne.git

commit 905a1c9d9c40386718f4b0586fcfe21934353bab
Author: Arseni Bulatski 
AuthorDate: Fri Jan 18 13:10:51 2019 +0300

Cleanup
---
 .../unit/di/client/ClientRuntimeProvider.java  | 24 +
 .../client/ClientRuntimeProviderContextsSync.java  | 42 +++---
 .../dbsync/unit/DbSyncServerRuntimeProvider.java   |  9 +++--
 .../jcache/unit/CacheServerRuntimeProvider.java|  3 +-
 .../unit/di/server/ServerRuntimeProvider.java  | 10 +++---
 .../server/ServerRuntimeProviderContextsSync.java  | 27 --
 ...WeakReferenceStrategyServerRuntimeProvider.java |  9 +++--
 7 files changed, 50 insertions(+), 74 deletions(-)

diff --git 
a/cayenne-client/src/test/java/org/apache/cayenne/unit/di/client/ClientRuntimeProvider.java
 
b/cayenne-client/src/test/java/org/apache/cayenne/unit/di/client/ClientRuntimeProvider.java
index 3c1ff8c..a898f22 100644
--- 
a/cayenne-client/src/test/java/org/apache/cayenne/unit/di/client/ClientRuntimeProvider.java
+++ 
b/cayenne-client/src/test/java/org/apache/cayenne/unit/di/client/ClientRuntimeProvider.java
@@ -18,6 +18,10 @@
  /
 package org.apache.cayenne.unit.di.client;
 
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+
 import org.apache.cayenne.ConfigurationException;
 import org.apache.cayenne.DataChannel;
 import org.apache.cayenne.configuration.rop.client.ClientRuntime;
@@ -25,6 +29,7 @@ import 
org.apache.cayenne.configuration.rop.client.LocalConnectionProvider;
 import org.apache.cayenne.configuration.server.ServerRuntime;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.di.Key;
+import org.apache.cayenne.di.Module;
 import org.apache.cayenne.di.Provider;
 import org.apache.cayenne.remote.ClientConnection;
 
@@ -37,16 +42,21 @@ public class ClientRuntimeProvider implements 
Provider {
 @Inject
 protected ClientCaseProperties clientCaseProperties;
 
+protected Collection getModules() {
+return Collections.singleton(binder -> {
+// add an interceptor between client and server parts to capture 
and inspect the traffic
+binder.bind(Key.get(DataChannel.class, 
ClientRuntime.CLIENT_SERVER_CHANNEL_KEY))
+.toProviderInstance(new 
InterceptingClientServerChannelProvider(serverRuntimeProvider.get().getInjector()));
+// create local connection
+binder.bind(ClientConnection.class).toProviderInstance(new 
LocalConnectionProvider());
+});
+}
+
 public ClientRuntime get() throws ConfigurationException {
+Collection modules = new ArrayList<>(getModules());
 return ClientRuntime.builder()
 .properties(clientCaseProperties.getRuntimeProperties())
-.addModule(binder -> {
-// add an interceptor between client and server parts to 
capture and inspect the traffic
-binder.bind(Key.get(DataChannel.class, 
ClientRuntime.CLIENT_SERVER_CHANNEL_KEY))
-.toProviderInstance(new 
InterceptingClientServerChannelProvider(serverRuntimeProvider.get().getInjector()));
-// create local connection
-binder.bind(ClientConnection.class).toProviderInstance(new 
LocalConnectionProvider());
-})
+.addModules(modules)
 .build();
 }
 }
diff --git 
a/cayenne-client/src/test/java/org/apache/cayenne/unit/di/client/ClientRuntimeProviderContextsSync.java
 
b/cayenne-client/src/test/java/org/apache/cayenne/unit/di/client/ClientRuntimeProviderContextsSync.java
index 01c6d7a..a48ce76 100644
--- 
a/cayenne-client/src/test/java/org/apache/cayenne/unit/di/client/ClientRuntimeProviderContextsSync.java
+++ 
b/cayenne-client/src/test/java/org/apache/cayenne/unit/di/client/ClientRuntimeProviderContextsSync.java
@@ -18,43 +18,25 @@
  /
 package org.apache.cayenne.unit.di.client;
 
-import org.apache.cayenne.ConfigurationException;
-import org.apache.cayenne.DataChannel;
+import java.util.ArrayList;
+import java.util.Collection;
+
 import org.apache.cayenne.configuration.Constants;
-import org.apache.cayenne.configuration.rop.client.ClientRuntime;
-import org.apache.cayenne.configuration.rop.client.LocalConnectionProvider;
 import org.apache.cayenne.configuration.server.ServerModule;
-import org.apache.cayenne.configuration.server.ServerRuntime;
-import org.apache.cayenne.di.Inject;
-import org.apache.cayenne.di.Key;
-import org.apache.cayenne.di.Provider;
-import org.apache.cayenne.remote.ClientConnection;
+import org.apache.cayenne.di.Module;
 
 /**
  * @since 4.1
  */
-public class ClientRuntimeProviderContextsSync implemen

[cayenne] branch master updated (d6ae2be -> 290b2e6)

2019-01-18 Thread abulatski
This is an automated email from the ASF dual-hosted git repository.

abulatski pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/cayenne.git.


from d6ae2be  Merge pull request #359 from aarrsseni/CAY-2509
 new 77d67e7  CAY-2514 Set SERVER_CONTEXTS_SYNC_PROPERTY default value to 
false
 new 905a1c9  Cleanup
 new 290b2e6  Update UPGRADE.txt

The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 RELEASE-NOTES.txt  |  1 +
 UPGRADE.txt|  3 +
 .../configuration/rop/client/ClientModule.java | 11 ++--
 .../CayenneContextClientChannelEventsIT.java   |  4 +-
 .../configuration/rop/client/ClientModuleTest.java | 10 +++-
 .../rop/client/ClientRuntimeTest.java  | 10 +++-
 ...ClientCase.java => ClientCaseContextsSync.java} | 25 +---
 .../unit/di/client/ClientRuntimeProvider.java  | 24 +---
 .../client/ClientRuntimeProviderContextsSync.java  | 28 -
 .../dbsync/unit/DbSyncServerRuntimeProvider.java   |  9 ++-
 .../jcache/unit/CacheServerRuntimeProvider.java|  3 +-
 .../configuration/DefaultObjectStoreFactory.java   |  2 +-
 .../cayenne/configuration/server/ServerModule.java | 12 ++--
 .../EventManagerProvider.java} | 17 +++---
 .../apache/cayenne/event/NoopEventManager.java}| 69 +-
 .../access/DataContextDataChannelEventsIT.java |  4 +-
 .../access/DataContextDelegateSharedCacheIT.java   |  8 +--
 .../access/DataContextSharedCacheEmpiricIT.java| 10 ++--
 .../cayenne/access/DataContextSharedCacheIT.java   | 16 ++---
 .../access/NestedDataContextParentEventsIT.java|  4 +-
 .../NestedDataContextParentPeerEventsIT.java   |  4 +-
 .../access/NestedDataContextPeerEventsIT.java  |  4 +-
 .../apache/cayenne/access/jdbc/SelectActionIT.java |  8 +--
 .../unit/di/server/ServerCaseContextsSync.java | 34 +++
 .../unit/di/server/ServerRuntimeProvider.java  | 10 ++--
 .../server/ServerRuntimeProviderContextsSync.java  | 33 ++-
 ...WeakReferenceStrategyServerRuntimeProvider.java |  9 ++-
 27 files changed, 197 insertions(+), 175 deletions(-)
 copy 
cayenne-client/src/test/java/org/apache/cayenne/unit/di/client/{ClientCase.java 
=> ClientCaseContextsSync.java} (72%)
 copy 
cayenne-jcache/src/main/java/org/apache/cayenne/jcache/JCacheServerModuleProvider.java
 => 
cayenne-client/src/test/java/org/apache/cayenne/unit/di/client/ClientRuntimeProviderContextsSync.java
 (66%)
 copy 
cayenne-server/src/main/java/org/apache/cayenne/{cache/MapQueryCacheProvider.java
 => event/EventManagerProvider.java} (74%)
 copy 
cayenne-server/src/{test/java/org/apache/cayenne/event/MockEventManager.java => 
main/java/org/apache/cayenne/event/NoopEventManager.java} (62%)
 copy 
cayenne-dbsync/src/test/java/org/apache/cayenne/dbsync/unit/DbSyncCase.java => 
cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseContextsSync.java
 (69%)
 copy 
cayenne-dbsync/src/test/java/org/apache/cayenne/dbsync/unit/DbSyncServerRuntimeProvider.java
 => 
cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerRuntimeProviderContextsSync.java
 (62%)



[cayenne] 03/03: Update UPGRADE.txt

2019-01-18 Thread abulatski
This is an automated email from the ASF dual-hosted git repository.

abulatski pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cayenne.git

commit 290b2e6e18c0bb82f4ddaccbf5722c857aafe4b3
Author: Arseni Bulatski 
AuthorDate: Fri Jan 18 15:51:30 2019 +0300

Update UPGRADE.txt
---
 UPGRADE.txt | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/UPGRADE.txt b/UPGRADE.txt
index d752cdb..c7eb958 100644
--- a/UPGRADE.txt
+++ b/UPGRADE.txt
@@ -10,6 +10,9 @@ UPGRADING TO 4.2.M1
 * Per CAY-2467 Property class is replaced with a type-aware Property API, it's 
mostly backwards compatible.
 To take advantage of this new API you should regenerate code via Modeler 
("Tools" -> "Generate Classes") or cgen tools.
 
+UPGRADING TO 4.1.M3
+
+* Per CAY-2514 SERVER_CONTEXTS_SYNC_PROPERTY default value was set to false.
 
 UPGRADING TO 4.1.M2
 



[cayenne] branch STABLE-4.1 updated: update UPGRADE.txt

2019-01-18 Thread abulatski
This is an automated email from the ASF dual-hosted git repository.

abulatski pushed a commit to branch STABLE-4.1
in repository https://gitbox.apache.org/repos/asf/cayenne.git


The following commit(s) were added to refs/heads/STABLE-4.1 by this push:
 new 0a49825  update UPGRADE.txt
0a49825 is described below

commit 0a49825cc1b081a247e633bc40c6a86f98987a51
Author: Arseni Bulatski 
AuthorDate: Fri Jan 18 13:52:43 2019 +0300

update UPGRADE.txt
---
 UPGRADE.txt | 4 
 1 file changed, 4 insertions(+)

diff --git a/UPGRADE.txt b/UPGRADE.txt
index bd660d3..08744ac 100644
--- a/UPGRADE.txt
+++ b/UPGRADE.txt
@@ -5,6 +5,10 @@ IMPORTANT: be sure to read all notes for the intermediate 
releases between your
current release and the release you are upgrading to.
 ---
 
+UPGRADING TO 4.1.M3
+
+* Per CAY-2514 SERVER_CONTEXTS_SYNC_PROPERTY default value was set to false.
+
 UPGRADING TO 4.1.M2
 
 * Per CAY-2438 DataChannelFilter filter was deprecated and two new independent 
filters are introduced:



[cayenne] branch master updated: CAY-2517 EventManager: optimization of adding listeners

2019-01-21 Thread abulatski
This is an automated email from the ASF dual-hosted git repository.

abulatski pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cayenne.git


The following commit(s) were added to refs/heads/master by this push:
 new c5e0f00  CAY-2517 EventManager: optimization of adding listeners
c5e0f00 is described below

commit c5e0f0099a49b0aa287b523146367f59b6477f53
Author: Arseni Bulatski 
AuthorDate: Mon Jan 21 14:33:15 2019 +0300

CAY-2517 EventManager: optimization of adding listeners
---
 RELEASE-NOTES.txt |  1 +
 .../src/main/java/org/apache/cayenne/util/Invocation.java | 15 +++
 2 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/RELEASE-NOTES.txt b/RELEASE-NOTES.txt
index ecbaa20..e2eeca3 100644
--- a/RELEASE-NOTES.txt
+++ b/RELEASE-NOTES.txt
@@ -18,6 +18,7 @@ CAY-2507 Property API to use path aliases
 CAY-2508 Create api to add aliases in expressions
 CAY-2510 Create builder to load custom modules into plugins and modeler
 CAY-2511 Contribute custom properties for attributes
+CAY-2517 EventManager: optimization of adding listeners
 
 Bug Fixes:
 
diff --git 
a/cayenne-server/src/main/java/org/apache/cayenne/util/Invocation.java 
b/cayenne-server/src/main/java/org/apache/cayenne/util/Invocation.java
index eb9e7da..083f790 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/util/Invocation.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/util/Invocation.java
@@ -37,6 +37,7 @@ public class Invocation {
 private WeakReference target;
 private Method method;
 private Class[] parameterTypes;
+private int hashCode;
 
 /**
  * Prevent use of empty default constructor
@@ -92,7 +93,6 @@ public class Invocation {
 
 // allow access to public methods of inaccessible classes, if such 
methods were
 // declared in a public interface
-
 method = lookupMethodInHierarchy(target.getClass(), methodName, 
parameterTypes);
 if (method == null) {
 throw new NoSuchMethodException("No such method: " + 
target.getClass().getName() + "." + methodName);
@@ -101,6 +101,11 @@ public class Invocation {
 method.setAccessible(true);
 }
 
+/**
+ * IMPORTANT: include Invocation target object(not a WeakReference) 
into
+ * algorithm is used to compute hashCode.
+ */
+this.hashCode = 31 * target.hashCode() + method.hashCode();
 this.parameterTypes = parameterTypes;
 this.target = new WeakReference<>(target);
 }
@@ -226,13 +231,7 @@ public class Invocation {
  */
 @Override
 public int hashCode() {
-// IMPORTANT: DO NOT include Invocation target into whatever
-// algorithm is used to compute hashCode, since it is using a
-// WeakReference and can be released at a later time, altering
-// hashCode, and breaking collections using Invocation as a key
-// (e.g. event DispatchQueue)
-
-return method.hashCode();
+return hashCode;
 }
 
 /**



[cayenne] branch STABLE-4.0 updated: CAY-2517 EventManager: optimization of adding listeners

2019-01-21 Thread abulatski
This is an automated email from the ASF dual-hosted git repository.

abulatski pushed a commit to branch STABLE-4.0
in repository https://gitbox.apache.org/repos/asf/cayenne.git


The following commit(s) were added to refs/heads/STABLE-4.0 by this push:
 new f722169  CAY-2517 EventManager: optimization of adding listeners
f722169 is described below

commit f7221695545fb7db67ca32ecfe470db81a444b66
Author: Arseni Bulatski 
AuthorDate: Mon Jan 21 14:33:15 2019 +0300

CAY-2517 EventManager: optimization of adding listeners

(cherry picked from commit c5e0f0099a49b0aa287b523146367f59b6477f53)
---
 RELEASE-NOTES.txt|  1 +
 .../main/java/org/apache/cayenne/util/Invocation.java| 16 +++-
 2 files changed, 8 insertions(+), 9 deletions(-)

diff --git a/RELEASE-NOTES.txt b/RELEASE-NOTES.txt
index e669130..a27c383 100644
--- a/RELEASE-NOTES.txt
+++ b/RELEASE-NOTES.txt
@@ -20,6 +20,7 @@ CAY-2474 Modeler: swap buttons in dialog toolbar
 CAY-2475 Modeler: move inheritance icon to name column in objAttr table and 
objRel table
 CAY-2476 Modeler: Fixed wrong behaviour of code generation dialog
 CAY-2479 Modeler: update cgen dialog
+CAY-2517 EventManager: optimization of adding listeners
 
 Bug Fixes:
 
diff --git 
a/cayenne-server/src/main/java/org/apache/cayenne/util/Invocation.java 
b/cayenne-server/src/main/java/org/apache/cayenne/util/Invocation.java
index 23a6fdf..41c4553 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/util/Invocation.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/util/Invocation.java
@@ -37,6 +37,7 @@ public class Invocation {
 private WeakReference _target;
 private Method _method;
 private Class[] _parameterTypes;
+private int _hashCode;
 
 /**
  * Prevent use of empty default constructor
@@ -119,6 +120,11 @@ public class Invocation {
 _method.setAccessible(true);
 }
 
+/**
+ * IMPORTANT: include Invocation target object(not a WeakReference) 
into
+ * algorithm is used to compute hashCode.
+ */
+_hashCode = 31 * target.hashCode() + _method.hashCode();
 _parameterTypes = parameterTypes;
 _target = new WeakReference(target);
 }
@@ -258,15 +264,7 @@ public class Invocation {
  */
 @Override
 public int hashCode() {
-// IMPORTANT: DO NOT include Invocation target into whatever
-// algorithm is used to compute hashCode, since it is using a
-// WeakReference and can be released at a later time, altering
-// hashCode, and breaking collections using Invocation as a key
-// (e.g. event DispatchQueue)
-
-// TODO: use Jakarta commons HashBuilder
-int hash = 42, hashMultiplier = 59;
-return hash * hashMultiplier + _method.hashCode();
+return _hashCode;
 }
 
 /**



[cayenne] branch STABLE-4.1 updated: CAY-2517 EventManager: optimization of adding listeners

2019-01-21 Thread abulatski
This is an automated email from the ASF dual-hosted git repository.

abulatski pushed a commit to branch STABLE-4.1
in repository https://gitbox.apache.org/repos/asf/cayenne.git


The following commit(s) were added to refs/heads/STABLE-4.1 by this push:
 new dffd558  CAY-2517 EventManager: optimization of adding listeners
dffd558 is described below

commit dffd558c2c0aeb6fbf02876855535c487b88827e
Author: Arseni Bulatski 
AuthorDate: Mon Jan 21 14:33:15 2019 +0300

CAY-2517 EventManager: optimization of adding listeners

(cherry picked from commit c5e0f0099a49b0aa287b523146367f59b6477f53)
---
 RELEASE-NOTES.txt|  1 +
 .../main/java/org/apache/cayenne/util/Invocation.java| 16 +++-
 2 files changed, 8 insertions(+), 9 deletions(-)

diff --git a/RELEASE-NOTES.txt b/RELEASE-NOTES.txt
index e6ce40d..115feb7 100644
--- a/RELEASE-NOTES.txt
+++ b/RELEASE-NOTES.txt
@@ -29,6 +29,7 @@ CAY-2493 Save cgen configuration with datamap XML
 CAY-2494 Rename dbImport tag from 'config' to 'dbImport'
 CAY-2499 Support for COUNT(DISTINCT(column)) function aggregate
 CAY-2514 Set SERVER_CONTEXTS_SYNC_PROPERTY default value to false
+CAY-2517 EventManager: optimization of adding listeners
 
 Bug Fixes:
 
diff --git 
a/cayenne-server/src/main/java/org/apache/cayenne/util/Invocation.java 
b/cayenne-server/src/main/java/org/apache/cayenne/util/Invocation.java
index 23a6fdf..41c4553 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/util/Invocation.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/util/Invocation.java
@@ -37,6 +37,7 @@ public class Invocation {
 private WeakReference _target;
 private Method _method;
 private Class[] _parameterTypes;
+private int _hashCode;
 
 /**
  * Prevent use of empty default constructor
@@ -119,6 +120,11 @@ public class Invocation {
 _method.setAccessible(true);
 }
 
+/**
+ * IMPORTANT: include Invocation target object(not a WeakReference) 
into
+ * algorithm is used to compute hashCode.
+ */
+_hashCode = 31 * target.hashCode() + _method.hashCode();
 _parameterTypes = parameterTypes;
 _target = new WeakReference(target);
 }
@@ -258,15 +264,7 @@ public class Invocation {
  */
 @Override
 public int hashCode() {
-// IMPORTANT: DO NOT include Invocation target into whatever
-// algorithm is used to compute hashCode, since it is using a
-// WeakReference and can be released at a later time, altering
-// hashCode, and breaking collections using Invocation as a key
-// (e.g. event DispatchQueue)
-
-// TODO: use Jakarta commons HashBuilder
-int hash = 42, hashMultiplier = 59;
-return hash * hashMultiplier + _method.hashCode();
+return _hashCode;
 }
 
 /**



[cayenne] branch STABLE-4.0 updated: docs generation failed on travis

2019-01-22 Thread abulatski
This is an automated email from the ASF dual-hosted git repository.

abulatski pushed a commit to branch STABLE-4.0
in repository https://gitbox.apache.org/repos/asf/cayenne.git


The following commit(s) were added to refs/heads/STABLE-4.0 by this push:
 new a0968f0  docs generation failed on travis
a0968f0 is described below

commit a0968f0e9cda2f6f4a48590e10d056b6fa8dd998
Author: Arseni Bulatski 
AuthorDate: Tue Jan 22 13:35:54 2019 +0300

docs generation failed on travis
---
 .../src/main/java/org/apache/cayenne/util/Invocation.java   | 6 ++
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git 
a/cayenne-server/src/main/java/org/apache/cayenne/util/Invocation.java 
b/cayenne-server/src/main/java/org/apache/cayenne/util/Invocation.java
index 41c4553..730f47a 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/util/Invocation.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/util/Invocation.java
@@ -120,10 +120,8 @@ public class Invocation {
 _method.setAccessible(true);
 }
 
-/**
- * IMPORTANT: include Invocation target object(not a WeakReference) 
into
- * algorithm is used to compute hashCode.
- */
+// IMPORTANT: include Invocation target object(not a WeakReference) 
into
+// algorithm is used to compute hashCode.
 _hashCode = 31 * target.hashCode() + _method.hashCode();
 _parameterTypes = parameterTypes;
 _target = new WeakReference(target);



[cayenne] branch STABLE-4.1 updated: comment cleanup

2019-01-22 Thread abulatski
This is an automated email from the ASF dual-hosted git repository.

abulatski pushed a commit to branch STABLE-4.1
in repository https://gitbox.apache.org/repos/asf/cayenne.git


The following commit(s) were added to refs/heads/STABLE-4.1 by this push:
 new 90bf5a7  comment cleanup
90bf5a7 is described below

commit 90bf5a77dff73b1d365836ad29bdefe6d058f56a
Author: Arseni Bulatski 
AuthorDate: Tue Jan 22 17:13:32 2019 +0300

comment cleanup
---
 .../src/main/java/org/apache/cayenne/util/Invocation.java   | 6 ++
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git 
a/cayenne-server/src/main/java/org/apache/cayenne/util/Invocation.java 
b/cayenne-server/src/main/java/org/apache/cayenne/util/Invocation.java
index 41c4553..730f47a 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/util/Invocation.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/util/Invocation.java
@@ -120,10 +120,8 @@ public class Invocation {
 _method.setAccessible(true);
 }
 
-/**
- * IMPORTANT: include Invocation target object(not a WeakReference) 
into
- * algorithm is used to compute hashCode.
- */
+// IMPORTANT: include Invocation target object(not a WeakReference) 
into
+// algorithm is used to compute hashCode.
 _hashCode = 31 * target.hashCode() + _method.hashCode();
 _parameterTypes = parameterTypes;
 _target = new WeakReference(target);



[cayenne] branch STABLE-4.0 updated: Fix javadoc generation on latest release of java 11

2019-01-22 Thread abulatski
This is an automated email from the ASF dual-hosted git repository.

abulatski pushed a commit to branch STABLE-4.0
in repository https://gitbox.apache.org/repos/asf/cayenne.git


The following commit(s) were added to refs/heads/STABLE-4.0 by this push:
 new fe9b2de  Fix javadoc generation on latest release of java 11
fe9b2de is described below

commit fe9b2de68b542bf104e50ff000c94e81a2f0a79a
Author: Arseni Bulatski 
AuthorDate: Tue Jan 22 16:41:59 2019 +0300

Fix javadoc generation on latest release of java 11
---
 pom.xml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/pom.xml b/pom.xml
index 9c17fea..7f28f5b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -793,6 +793,7 @@

 

${javadoc.doclint}
+   1.7






[cayenne-website] branch asf-site updated: Update repo url

2019-01-18 Thread abulatski
This is an automated email from the ASF dual-hosted git repository.

abulatski pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/cayenne-website.git


The following commit(s) were added to refs/heads/asf-site by this push:
 new d5910fe  Update repo url
d5910fe is described below

commit d5910fe73fc72dbad1d4beac50706ca1016ec153
Author: Arseni Bulatski 
AuthorDate: Fri Jan 18 11:14:43 2019 +0300

Update repo url
---
 dev/cms-guide.html   | 4 ++--
 dev/code-repository.html | 7 +++
 2 files changed, 5 insertions(+), 6 deletions(-)

diff --git a/dev/cms-guide.html b/dev/cms-guide.html
index 50a1cba..1c8ab26 100644
--- a/dev/cms-guide.html
+++ b/dev/cms-guide.html
@@ -90,7 +90,7 @@
 
 
 Cayenne Site source code (content + styling + scripts) can be obtained from 
Apache Git repo:
-https://git-wip-us.apache.org/repos/asf/cayenne-website.git;>https://git-wip-us.apache.org/repos/asf/cayenne-website.git
+https://gitbox.apache.org/repos/asf/cayenne.git;>https://gitbox.apache.org/repos/asf/cayenne.git
 
 Or from GitHub mirror (in read only mode): https://github.com/apache/cayenne-website.git;>https://github.com/apache/cayenne-website.git
 
@@ -101,7 +101,7 @@
 
 Just clone and run maven, nothing else required.
 
-git clone 
https://git-wip-us.apache.org/repos/asf/cayenne-website.git
+git clone https://gitbox.apache.org/repos/asf/cayenne.git
 cd cayenne-website
 mvn
 
diff --git a/dev/code-repository.html b/dev/code-repository.html
index 463db7d..feab512 100644
--- a/dev/code-repository.html
+++ b/dev/code-repository.html
@@ -91,7 +91,7 @@
 
 GitHub Repository
 
-A read-only mirror of Cayenne sources is published on GitHub:
+A read-write mirror of Cayenne sources is published on GitHub:
 https://github.com/apache/cayenne;>https://github.com/apache/cayenne
 
 Feel free to clone, fork, star Cayenne there. And of course submit pull 
requests.
@@ -102,10 +102,9 @@
 Master Git Repository
 
 Master writable repository is located here:
-https://git-wip-us.apache.org/repos/asf/cayenne.git;>https://git-wip-us.apache.org/repos/asf/cayenne.git
+https://gitbox.apache.org/repos/asf/cayenne.git;>https://gitbox.apache.org/repos/asf/cayenne.git
 
-It is publicly readable, but only committers have write access. 
Thats where committers would ultimately push
-the code. It is synchronized to GitHub usually within seconds.
+It is publicly readable, but only committers have write access.
 
 
 



[cayenne-website] branch master updated: Update repo url

2019-01-18 Thread abulatski
This is an automated email from the ASF dual-hosted git repository.

abulatski pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cayenne-website.git


The following commit(s) were added to refs/heads/master by this push:
 new fcf3a33  Update repo url
fcf3a33 is described below

commit fcf3a33eb2ba21ad7b064a48934969d06a516e33
Author: Arseni Bulatski 
AuthorDate: Fri Jan 18 11:27:04 2019 +0300

Update repo url
---
 src/main/site/content/dev/cms-guide.md | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/main/site/content/dev/cms-guide.md 
b/src/main/site/content/dev/cms-guide.md
index afa369e..45e18aa 100644
--- a/src/main/site/content/dev/cms-guide.md
+++ b/src/main/site/content/dev/cms-guide.md
@@ -5,7 +5,7 @@ url: /dev/cms-guide.html
 ---
 
 Cayenne Site source code (content + styling + scripts) can be obtained from 
Apache Git repo:  
-https://gitbox.apache.org/repos/asf/cayenne.git
+https://gitbox.apache.org/repos/asf/cayenne-website.git
 
 Or from GitHub mirror (in read only mode): 
https://github.com/apache/cayenne-website.git
 
@@ -15,7 +15,7 @@ Or from GitHub mirror (in read only mode): 
https://github.com/apache/cayenne-web
 
 Just clone and run maven, nothing else required.
 
-git clone https://gitbox.apache.org/repos/asf/cayenne.git
+git clone https://gitbox.apache.org/repos/asf/cayenne-website.git
 cd cayenne-website
 mvn
 



[cayenne-website] branch master updated: Update repo url

2019-01-18 Thread abulatski
This is an automated email from the ASF dual-hosted git repository.

abulatski pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cayenne-website.git


The following commit(s) were added to refs/heads/master by this push:
 new 474a204  Update repo url
474a204 is described below

commit 474a204c0b2f3e8ccfc7f8d2d8a2bc050722535c
Author: Arseni Bulatski 
AuthorDate: Fri Jan 18 11:16:09 2019 +0300

Update repo url
---
 src/main/site/content/dev/cms-guide.md | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/main/site/content/dev/cms-guide.md 
b/src/main/site/content/dev/cms-guide.md
index bfaa051..afa369e 100644
--- a/src/main/site/content/dev/cms-guide.md
+++ b/src/main/site/content/dev/cms-guide.md
@@ -5,7 +5,7 @@ url: /dev/cms-guide.html
 ---
 
 Cayenne Site source code (content + styling + scripts) can be obtained from 
Apache Git repo:  
-https://git-wip-us.apache.org/repos/asf/cayenne-website.git
+https://gitbox.apache.org/repos/asf/cayenne.git
 
 Or from GitHub mirror (in read only mode): 
https://github.com/apache/cayenne-website.git
 
@@ -15,7 +15,7 @@ Or from GitHub mirror (in read only mode): 
https://github.com/apache/cayenne-web
 
 Just clone and run maven, nothing else required.
 
-git clone https://git-wip-us.apache.org/repos/asf/cayenne-website.git
+git clone https://gitbox.apache.org/repos/asf/cayenne.git
 cd cayenne-website
 mvn
 



[cayenne-website] branch asf-site updated: Update repo url

2019-01-18 Thread abulatski
This is an automated email from the ASF dual-hosted git repository.

abulatski pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/cayenne-website.git


The following commit(s) were added to refs/heads/asf-site by this push:
 new e6140d1  Update repo url
e6140d1 is described below

commit e6140d1146d1f1d633af2331337588bb8d573126
Author: Arseni Bulatski 
AuthorDate: Fri Jan 18 11:26:06 2019 +0300

Update repo url
---
 dev/cms-guide.html | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/dev/cms-guide.html b/dev/cms-guide.html
index 1c8ab26..f7b5ec4 100644
--- a/dev/cms-guide.html
+++ b/dev/cms-guide.html
@@ -90,7 +90,7 @@
 
 
 Cayenne Site source code (content + styling + scripts) can be obtained from 
Apache Git repo:
-https://gitbox.apache.org/repos/asf/cayenne.git;>https://gitbox.apache.org/repos/asf/cayenne.git
+https://gitbox.apache.org/repos/asf/cayenne-website.git;>https://gitbox.apache.org/repos/asf/cayenne-website.git
 
 Or from GitHub mirror (in read only mode): https://github.com/apache/cayenne-website.git;>https://github.com/apache/cayenne-website.git
 
@@ -101,7 +101,7 @@
 
 Just clone and run maven, nothing else required.
 
-git clone https://gitbox.apache.org/repos/asf/cayenne.git
+git clone https://gitbox.apache.org/repos/asf/cayenne-website.git
 cd cayenne-website
 mvn
 



[cayenne] branch master updated: Comments cleanup

2019-01-22 Thread abulatski
This is an automated email from the ASF dual-hosted git repository.

abulatski pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cayenne.git


The following commit(s) were added to refs/heads/master by this push:
 new a4c6d99  Comments cleanup
a4c6d99 is described below

commit a4c6d99ec59d65f1e43d4afb889f4e235115689a
Author: Arseni Bulatski 
AuthorDate: Tue Jan 22 17:39:11 2019 +0300

Comments cleanup
---
 .../src/main/java/org/apache/cayenne/util/Invocation.java   | 6 ++
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git 
a/cayenne-server/src/main/java/org/apache/cayenne/util/Invocation.java 
b/cayenne-server/src/main/java/org/apache/cayenne/util/Invocation.java
index 083f790..dc44ca5 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/util/Invocation.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/util/Invocation.java
@@ -101,10 +101,8 @@ public class Invocation {
 method.setAccessible(true);
 }
 
-/**
- * IMPORTANT: include Invocation target object(not a WeakReference) 
into
- * algorithm is used to compute hashCode.
- */
+// IMPORTANT: include Invocation target object(not a WeakReference) 
into
+// algorithm is used to compute hashCode.
 this.hashCode = 31 * target.hashCode() + method.hashCode();
 this.parameterTypes = parameterTypes;
 this.target = new WeakReference<>(target);



cayenne git commit: Fix dmg view.

2018-12-11 Thread abulatski
Repository: cayenne
Updated Branches:
  refs/heads/master 371cab36b -> cd15b43f8


Fix dmg view.


Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/cd15b43f
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/cd15b43f
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/cd15b43f

Branch: refs/heads/master
Commit: cd15b43f86969b793602f5d73fcf1ca4ea1ebb20
Parents: 371cab3
Author: Arseni Bulatski 
Authored: Tue Dec 11 18:23:54 2018 +0300
Committer: Arseni Bulatski 
Committed: Tue Dec 11 18:23:54 2018 +0300

--
 assembly/src/main/resources/assemblies/mac/create-dmg.sh | 2 ++
 1 file changed, 2 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/cayenne/blob/cd15b43f/assembly/src/main/resources/assemblies/mac/create-dmg.sh
--
diff --git a/assembly/src/main/resources/assemblies/mac/create-dmg.sh 
b/assembly/src/main/resources/assemblies/mac/create-dmg.sh
index ee08467..8311234 100755
--- a/assembly/src/main/resources/assemblies/mac/create-dmg.sh
+++ b/assembly/src/main/resources/assemblies/mac/create-dmg.sh
@@ -65,6 +65,8 @@ echo '
set arrangement of viewOptions to not arranged
set icon size of viewOptions to 98
set background picture of viewOptions to file 
".background:background.tiff"
+   set position of item ".background" of container window to {900, 100}
+   set position of item ".fseventsd" of container window to {900, 300}
set position of item "cayenne-'${VERSION}'" of container window to 
{353, 437}
set position of item "CayenneModeler.app" of container window to 
{197, 191}
set position of item "Applications" of container window to {519, 
190}



cayenne git commit: Fix dbImport result dialog.

2018-12-12 Thread abulatski
Repository: cayenne
Updated Branches:
  refs/heads/master 82d1c06d5 -> 89be0cdff


Fix dbImport result dialog.


Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/89be0cdf
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/89be0cdf
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/89be0cdf

Branch: refs/heads/master
Commit: 89be0cdff8655ff2583105e829a3c66c4aa76426
Parents: 82d1c06
Author: Arseni Bulatski 
Authored: Wed Dec 12 13:35:55 2018 +0300
Committer: Arseni Bulatski 
Committed: Wed Dec 12 13:35:55 2018 +0300

--
 .../action/ReverseEngineeringAction.java| 41 
 .../modeler/dialog/db/load/DbLoaderContext.java | 15 ---
 .../dialog/db/load/ModelerDbImportAction.java   |  6 ++-
 .../dbimport/domain/DbImportTabController.java  |  5 +--
 4 files changed, 48 insertions(+), 19 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cayenne/blob/89be0cdf/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/ReverseEngineeringAction.java
--
diff --git 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/ReverseEngineeringAction.java
 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/ReverseEngineeringAction.java
index 331bd54..de786ab 100644
--- 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/ReverseEngineeringAction.java
+++ 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/ReverseEngineeringAction.java
@@ -19,7 +19,9 @@
 
 package org.apache.cayenne.modeler.action;
 
+import org.apache.cayenne.map.DataMap;
 import org.apache.cayenne.modeler.Application;
+import org.apache.cayenne.modeler.ProjectController;
 import org.apache.cayenne.modeler.dialog.db.DataSourceWizard;
 import org.apache.cayenne.modeler.dialog.db.DbActionOptionsDialog;
 import org.apache.cayenne.modeler.dialog.db.load.DbLoadResultDialog;
@@ -35,6 +37,8 @@ import javax.swing.SwingUtilities;
 import java.awt.event.ActionEvent;
 import java.sql.SQLException;
 import java.util.Collection;
+import java.util.HashSet;
+import java.util.Set;
 
 import static org.apache.cayenne.modeler.pref.DBConnectionInfo.*;
 
@@ -48,6 +52,8 @@ public class ReverseEngineeringAction extends 
DBWizardAction dataMaps;
 
 public String getIconName() {
 return ICON_NAME;
@@ -61,7 +67,17 @@ public class ReverseEngineeringAction extends 
DBWizardAction dataMapSet) {
+resetParams();
+dataMaps.addAll(dataMapSet);
+ProjectController projectController = 
Application.getInstance().getFrameController().getProjectController();
+for(DataMap dataMap : dataMapSet) {
+projectController.setCurrentDataMap(dataMap);
+startImport();
+}
+}
+
+private void startImport(){
 final DbLoaderContext context = new 
DbLoaderContext(application.getMetaData());
 DBConnectionInfo connectionInfo;
 if (!datamapPreferencesExist()) {
@@ -86,12 +102,6 @@ public class ReverseEngineeringAction extends 
DBWizardAction();
 }
 
 private DBConnectionInfo getConnectionInfoFromPreferences() {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/89be0cdf/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/load/DbLoaderContext.java
--
diff --git 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/load/DbLoaderContext.java
 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/load/DbLoaderContext.java
index 9ee8e8f..adec6d9 100644
--- 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/load/DbLoaderContext.java
+++ 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/load/DbLoaderContext.java
@@ -19,11 +19,6 @@
 
 package org.apache.cayenne.modeler.dialog.db.load;
 
-import java.io.File;
-import java.sql.Connection;
-import javax.swing.JOptionPane;
-import javax.swing.SwingUtilities;
-
 import org.apache.cayenne.configuration.ConfigurationNode;
 import org.apache.cayenne.configuration.xml.DataChannelMetaData;
 import org.apache.cayenne.dbsync.naming.NameBuilder;
@@ -40,6 +35,10 @@ import org.apache.cayenne.util.Util;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import javax.swing.*;
+import java.io.File;
+import java.sql.Connection;
+
 /**
  * @since 4.0
  */
@@ -54,6 +53,7 @@ public class DbLoaderContext {
 private DataMap dataMap;
 private boolean stopping;
 private String loadStatusNote;
+private boolean isInterrupted;
 
 private DataChannelMetaData metaData;
 
@@ -192,7 +192,12 @@ public class DbLoaderContext {
 
 public void 

cayenne git commit: Fix dbImport result dialog.

2018-12-12 Thread abulatski
Repository: cayenne
Updated Branches:
  refs/heads/master 89be0cdff -> 90b872ecf


Fix dbImport result dialog.


Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/90b872ec
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/90b872ec
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/90b872ec

Branch: refs/heads/master
Commit: 90b872ecf15725ea15f46b7d1257604b48718881
Parents: 89be0cd
Author: Arseni Bulatski 
Authored: Wed Dec 12 14:04:28 2018 +0300
Committer: Arseni Bulatski 
Committed: Wed Dec 12 14:04:28 2018 +0300

--
 .../cayenne/modeler/action/ReverseEngineeringAction.java | 11 +++
 .../cayenne/modeler/dialog/db/load/DbLoaderContext.java  |  2 +-
 2 files changed, 8 insertions(+), 5 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cayenne/blob/90b872ec/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/ReverseEngineeringAction.java
--
diff --git 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/ReverseEngineeringAction.java
 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/ReverseEngineeringAction.java
index de786ab..178a604 100644
--- 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/ReverseEngineeringAction.java
+++ 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/ReverseEngineeringAction.java
@@ -39,6 +39,7 @@ import java.sql.SQLException;
 import java.util.Collection;
 import java.util.HashSet;
 import java.util.Set;
+import java.util.concurrent.atomic.AtomicInteger;
 
 import static org.apache.cayenne.modeler.pref.DBConnectionInfo.*;
 
@@ -52,7 +53,7 @@ public class ReverseEngineeringAction extends 
DBWizardAction dataMaps;
 
 public String getIconName() {
@@ -70,6 +71,7 @@ public class ReverseEngineeringAction extends 
DBWizardAction dataMapSet) {
 resetParams();
 dataMaps.addAll(dataMapSet);
+dataMapCount.set(dataMaps.size());
 ProjectController projectController = 
Application.getInstance().getFrameController().getProjectController();
 for(DataMap dataMap : dataMapSet) {
 projectController.setCurrentDataMap(dataMap);
@@ -113,8 +115,8 @@ public class ReverseEngineeringAction extends 
DBWizardAction();
 }
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/90b872ec/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/load/DbLoaderContext.java
--
diff --git 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/load/DbLoaderContext.java
 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/load/DbLoaderContext.java
index adec6d9..47a7f33 100644
--- 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/load/DbLoaderContext.java
+++ 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/load/DbLoaderContext.java
@@ -53,7 +53,7 @@ public class DbLoaderContext {
 private DataMap dataMap;
 private boolean stopping;
 private String loadStatusNote;
-private boolean isInterrupted;
+private volatile boolean isInterrupted;
 
 private DataChannelMetaData metaData;
 



cayenne git commit: Fix dbImport result dialog.

2018-12-12 Thread abulatski
Repository: cayenne
Updated Branches:
  refs/heads/master 90b872ecf -> c8557ffa8


Fix dbImport result dialog.


Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/c8557ffa
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/c8557ffa
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/c8557ffa

Branch: refs/heads/master
Commit: c8557ffa86b52b16dad6b5473b0d591b8434d964
Parents: 90b872e
Author: Arseni Bulatski 
Authored: Wed Dec 12 14:10:49 2018 +0300
Committer: Arseni Bulatski 
Committed: Wed Dec 12 14:10:49 2018 +0300

--
 .../apache/cayenne/modeler/action/ReverseEngineeringAction.java   | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cayenne/blob/c8557ffa/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/ReverseEngineeringAction.java
--
diff --git 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/ReverseEngineeringAction.java
 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/ReverseEngineeringAction.java
index 178a604..80d8288 100644
--- 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/ReverseEngineeringAction.java
+++ 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/ReverseEngineeringAction.java
@@ -115,8 +115,7 @@ public class ReverseEngineeringAction extends 
DBWizardAction

cayenne git commit: CAY-2502 DataMap in DataNode tree view disappears after dbImport

2018-12-12 Thread abulatski
Repository: cayenne
Updated Branches:
  refs/heads/master cd15b43f8 -> 82d1c06d5


CAY-2502 DataMap in DataNode tree view disappears after dbImport


Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/82d1c06d
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/82d1c06d
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/82d1c06d

Branch: refs/heads/master
Commit: 82d1c06d51815676eede98bb2eef69cdc2a023b1
Parents: cd15b43
Author: Arseni Bulatski 
Authored: Wed Dec 12 11:03:19 2018 +0300
Committer: Arseni Bulatski 
Committed: Wed Dec 12 11:03:19 2018 +0300

--
 RELEASE-NOTES.txt |  1 +
 .../org/apache/cayenne/modeler/ProjectController.java |  3 ++-
 .../org/apache/cayenne/modeler/ProjectTreeView.java   | 14 +++---
 3 files changed, 14 insertions(+), 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cayenne/blob/82d1c06d/RELEASE-NOTES.txt
--
diff --git a/RELEASE-NOTES.txt b/RELEASE-NOTES.txt
index 1ee77c6..90ec498 100644
--- a/RELEASE-NOTES.txt
+++ b/RELEASE-NOTES.txt
@@ -51,6 +51,7 @@ CAY-2490 Added dbEntities from other datamaps in 
dbRelationship dialog.
 CAY-2496 Fixed wrong table behavior: focus color, cleanup DBAttribute Path 
cell on select.
 CAY-2497 Modeler: SQL Scripts tab isn't scrollable
 CAY-2501 Modeler: DbImport ui not loading columns for MySQL connector v8.0
+CAY-2502 DataMap in DataNode tree view disappears after dbImport
 
 --
 Release: 4.1.M2

http://git-wip-us.apache.org/repos/asf/cayenne/blob/82d1c06d/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ProjectController.java
--
diff --git 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ProjectController.java
 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ProjectController.java
index b385d75..b442daf 100644
--- 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ProjectController.java
+++ 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ProjectController.java
@@ -851,6 +851,7 @@ public class ProjectController extends CayenneController {
 if (!changed) {
 changed = currentState.dbEntity != null || currentState.objEntity 
!= null || currentState.procedure != null
 || currentState.query != null || currentState.embeddable 
!= null;
+currentState.node = e.getDataNode();
 }
 
 if (!e.isRefired()) {
@@ -859,7 +860,7 @@ public class ProjectController extends CayenneController {
 if (changed) {
 clearState();
 currentState.domain = e.getDomain();
-currentState.node = e.getDataNode();
+currentState.node  = e.getDataNode();
 currentState.map = e.getDataMap();
 }
 }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/82d1c06d/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ProjectTreeView.java
--
diff --git 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ProjectTreeView.java
 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ProjectTreeView.java
index 5503bbd..c9fddb5 100644
--- 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ProjectTreeView.java
+++ 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ProjectTreeView.java
@@ -628,11 +628,11 @@ public class ProjectTreeView extends JTree implements 
DomainDisplayListener,
 }
 
 public void dataMapAdded(DataMapEvent e) {
+DataChannelDescriptor dataChannelDescriptor = e.getDomain() != null ? 
e.getDomain() :
+(DataChannelDescriptor) mediator.getProject().getRootNode();
 DefaultMutableTreeNode domainNode = 
getProjectModel().getNodeForObjectPath(
 new Object[] {
-e.getDomain() != null
-? e.getDomain()
-: (DataChannelDescriptor) 
mediator.getProject().getRootNode()
+   dataChannelDescriptor
 });
 
 DefaultMutableTreeNode newMapNode = 
ProjectTreeFactory.wrapProjectNode(e
@@ -647,6 +647,14 @@ public class ProjectTreeView extends JTree implements 
DomainDisplayListener,
 } else {
 setSelected(newMapNode);
 }
+
+for (DataNodeDescriptor dataNode : new 
ArrayList<>(dataChannelDescriptor.getNodeDescriptors())) {
+for(String dataMapName : dataNode.getDataMapNames()) {
+if(e.getDataMap().getName().equals(dataMapName)) {
+

cayenne git commit: Add developer

2018-12-10 Thread abulatski
Repository: cayenne
Updated Branches:
  refs/heads/master c0c14636b -> 39a1f7e39


Add developer


Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/39a1f7e3
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/39a1f7e3
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/39a1f7e3

Branch: refs/heads/master
Commit: 39a1f7e39d62f1b48da4d514bb4809d231ad3568
Parents: c0c1463
Author: Arseni Bulatski 
Authored: Tue Dec 11 10:26:22 2018 +0300
Committer: Arseni Bulatski 
Committed: Tue Dec 11 10:26:22 2018 +0300

--
 pom.xml | 9 +
 1 file changed, 9 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/cayenne/blob/39a1f7e3/pom.xml
--
diff --git a/pom.xml b/pom.xml
index 46d9e95..fff3f15 100644
--- a/pom.xml
+++ b/pom.xml
@@ -267,6 +267,15 @@
Committer


+   
+   abulatski
+   Arseni Bulatski
+   abulat...@apache.org
+   ObjectStyle
+   
+   Committer
+   
+   






cayenne git commit: Update cgen icon. Update dmg.

2018-12-11 Thread abulatski
Repository: cayenne
Updated Branches:
  refs/heads/master 3d3332d2e -> 371cab36b


Update cgen icon. Update dmg.


Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/371cab36
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/371cab36
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/371cab36

Branch: refs/heads/master
Commit: 371cab36beed351bb788255a31e2dae36de40dcd
Parents: 3d3332d
Author: Arseni Bulatski 
Authored: Tue Dec 11 17:30:27 2018 +0300
Committer: Arseni Bulatski 
Committed: Tue Dec 11 17:30:27 2018 +0300

--
 .../resources/assemblies/mac/background.png | Bin 4552 -> 0 bytes
 .../resources/assemblies/mac/background.tiff| Bin 0 -> 153990 bytes
 .../main/resources/assemblies/mac/create-dmg.sh |  30 +--
 .../cayenne/modeler/images/icon-gen_java.png| Bin 335 -> 374 bytes
 4 files changed, 14 insertions(+), 16 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cayenne/blob/371cab36/assembly/src/main/resources/assemblies/mac/background.png
--
diff --git a/assembly/src/main/resources/assemblies/mac/background.png 
b/assembly/src/main/resources/assemblies/mac/background.png
deleted file mode 100644
index a277086..000
Binary files a/assembly/src/main/resources/assemblies/mac/background.png and 
/dev/null differ

http://git-wip-us.apache.org/repos/asf/cayenne/blob/371cab36/assembly/src/main/resources/assemblies/mac/background.tiff
--
diff --git a/assembly/src/main/resources/assemblies/mac/background.tiff 
b/assembly/src/main/resources/assemblies/mac/background.tiff
new file mode 100644
index 000..7167658
Binary files /dev/null and 
b/assembly/src/main/resources/assemblies/mac/background.tiff differ

http://git-wip-us.apache.org/repos/asf/cayenne/blob/371cab36/assembly/src/main/resources/assemblies/mac/create-dmg.sh
--
diff --git a/assembly/src/main/resources/assemblies/mac/create-dmg.sh 
b/assembly/src/main/resources/assemblies/mac/create-dmg.sh
index aea236d..ee08467 100755
--- a/assembly/src/main/resources/assemblies/mac/create-dmg.sh
+++ b/assembly/src/main/resources/assemblies/mac/create-dmg.sh
@@ -3,10 +3,10 @@
 # Based on https://gist.github.com/asmaloney/55d96a8c3558b2f92cb3
 
 VERSION="$1"
-DMG_BACKGROUND_IMG="src/main/resources/assemblies/mac/background.png"
- 
+DMG_BACKGROUND_IMG="src/main/resources/assemblies/mac/background.tiff"
+
 APP_EXE="CayenneModeler.app/Contents/MacOS/CayenneModeler"
- 
+
 VOL_NAME="cayenne-$1-macosx"
 DMG_TMP="target/${VOL_NAME}-temp.dmg"
 DMG_FINAL="target/${VOL_NAME}.dmg"
@@ -14,18 +14,17 @@ STAGING_DIR="target/dmg-staging"
 
 # clear out any old data
 rm -rf "${STAGING_DIR}" "${DMG_TMP}" "${DMG_FINAL}"
- 
+
 # copy over the stuff we want in the final disk image to our staging dir
 mkdir -p "${STAGING_DIR}"
 cp -rpf "target/${VOL_NAME}/CayenneModeler.app" "${STAGING_DIR}"
-cp -rpf "target/${VOL_NAME}/README.txt" "${STAGING_DIR}"
 cp -rpf "target/${VOL_NAME}/cayenne-${VERSION}" "${STAGING_DIR}"
 
 # figure out how big our DMG needs to be
 #  assumes our contents are at least 1M!
 SIZE=`du -sh "${STAGING_DIR}" | sed 's/\([0-9]*\)M\(.*\)/\1/'`
 SIZE=`echo "${SIZE} + 1.0" | bc | awk '{print int($20+0.5)}'`
- 
+
 if [ $? -ne 0 ]; then
echo "Error: Cannot compute size of staging dir"
exit
@@ -34,9 +33,9 @@ fi
 # create the temp DMG file
 hdiutil create -srcfolder "${STAGING_DIR}" -volname "${VOL_NAME}" -fs HFS+ \
   -fsargs "-c c=64,a=16,e=16" -format UDRW -size ${SIZE}M "${DMG_TMP}"
- 
+
 echo "Created DMG: ${DMG_TMP}"
- 
+
 # mount it and save the device
 DEVICE=$(hdiutil attach -readwrite -noverify "${DMG_TMP}" | \
  egrep '^/dev/' | sed 1q | awk '{print $1}')
@@ -47,7 +46,7 @@ sleep 2
 pushd /Volumes/"${VOL_NAME}"
 ln -s /Applications
 popd
- 
+
 # add a background image
 mkdir /Volumes/"${VOL_NAME}"/.background
 cp "${DMG_BACKGROUND_IMG}" /Volumes/"${VOL_NAME}"/.background/
@@ -61,15 +60,14 @@ echo '
set current view of container window to icon view
set toolbar visible of container window to false
set statusbar visible of container window to false
-   set the bounds of container window to {100, 100, 600, 450}
+   set the bounds of container window to {250, 100, 962, 690}
set viewOptions to the icon view options of container window
set arrangement of viewOptions to not arranged
-   set icon size of viewOptions to 70
-   set background picture of viewOptions to file 
".background:background.png"
-   set position of item "cayenne-'${VERSION}'" of container window to 
{50, 240}
-   

cayenne git commit: Test fix

2019-01-09 Thread abulatski
Repository: cayenne
Updated Branches:
  refs/heads/master 60c556675 -> 4d42e2679


Test fix


Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/4d42e267
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/4d42e267
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/4d42e267

Branch: refs/heads/master
Commit: 4d42e267980035b3c3985e7fd4dc5808347b6e48
Parents: 60c5566
Author: Arseni Bulatski 
Authored: Wed Jan 9 14:09:40 2019 +0300
Committer: Arseni Bulatski 
Committed: Wed Jan 9 14:09:40 2019 +0300

--
 .../cayenne/exp/property/PathAliasesIT.java | 28 +++-
 1 file changed, 15 insertions(+), 13 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cayenne/blob/4d42e267/cayenne-server/src/test/java/org/apache/cayenne/exp/property/PathAliasesIT.java
--
diff --git 
a/cayenne-server/src/test/java/org/apache/cayenne/exp/property/PathAliasesIT.java
 
b/cayenne-server/src/test/java/org/apache/cayenne/exp/property/PathAliasesIT.java
index 8c2bdd5..93a68f2 100644
--- 
a/cayenne-server/src/test/java/org/apache/cayenne/exp/property/PathAliasesIT.java
+++ 
b/cayenne-server/src/test/java/org/apache/cayenne/exp/property/PathAliasesIT.java
@@ -173,12 +173,13 @@ public class PathAliasesIT extends ServerCase {
 
 @Test
 public void testOrderWithAlias() {
-ObjectSelect query = ObjectSelect.query(Artist.class)
-
.orderBy(Artist.PAINTING_ARRAY.alias("p1").dot(Painting.TO_GALLERY).dot(Gallery.GALLERY_NAME).asc());
-List artists = query.select(context);
-assertEquals(6, artists.size());
-assertEquals("tate modern", 
artists.get(0).getPaintingArray().get(0).getToGallery().getGalleryName());
-assertEquals("test gallery", artists.get(artists.size() - 
1).getPaintingArray().get(0).getToGallery().getGalleryName());
+ObjectSelect query = ObjectSelect.query(Painting.class)
+
.orderBy(Painting.TO_ARTIST.alias("p1").dot(Artist.ARTIST_NAME).asc())
+.prefetch(Painting.TO_ARTIST.disjoint());
+
+List paintings = query.select(context);
+assertEquals(20, paintings.size());
+assertEquals("artist1", 
paintings.get(0).getToArtist().getArtistName());
 }
 
 @Test(expected = CayenneRuntimeException.class)
@@ -281,13 +282,14 @@ public class PathAliasesIT extends ServerCase {
 
 @Test
 public void testOrderWithAliasForExp() {
-Expression e1 = 
ExpressionFactory.exp("paintingArray#p1.toGallery#p2.galleryName");
-ObjectSelect query = ObjectSelect.query(Artist.class)
-.orderBy(PropertyFactory.createBase(e1, String.class).asc());
-List artists = query.select(context);
-assertEquals(6, artists.size());
-assertEquals("tate modern", 
artists.get(0).getPaintingArray().get(0).getToGallery().getGalleryName());
-assertEquals("test gallery", artists.get(artists.size() - 
1).getPaintingArray().get(0).getToGallery().getGalleryName());
+Expression e1 = ExpressionFactory.exp("toArtist#p1.artistName");
+ObjectSelect query = ObjectSelect.query(Painting.class)
+.orderBy(PropertyFactory.createBase(e1, String.class).asc())
+.prefetch(Painting.TO_ARTIST.disjoint());
+
+List paintings = query.select(context);
+assertEquals(20, paintings.size());
+assertEquals("artist1", 
paintings.get(0).getToArtist().getArtistName());
 }
 
 @Test



cayenne-website git commit: Add contributor

2019-01-14 Thread abulatski
Repository: cayenne-website
Updated Branches:
  refs/heads/master 16c70aa85 -> 4e584fa0e


Add contributor


Project: http://git-wip-us.apache.org/repos/asf/cayenne-website/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne-website/commit/4e584fa0
Tree: http://git-wip-us.apache.org/repos/asf/cayenne-website/tree/4e584fa0
Diff: http://git-wip-us.apache.org/repos/asf/cayenne-website/diff/4e584fa0

Branch: refs/heads/master
Commit: 4e584fa0ebc89796fccf7dfdebd1ad53639733e8
Parents: 16c70aa
Author: Arseni Bulatski 
Authored: Mon Jan 14 15:20:30 2019 +0300
Committer: Arseni Bulatski 
Committed: Mon Jan 14 15:20:30 2019 +0300

--
 src/main/site/data/contributors.yaml | 8 +++-
 1 file changed, 7 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/4e584fa0/src/main/site/data/contributors.yaml
--
diff --git a/src/main/site/data/contributors.yaml 
b/src/main/site/data/contributors.yaml
index cc5e869..28396c4 100644
--- a/src/main/site/data/contributors.yaml
+++ b/src/main/site/data/contributors.yaml
@@ -131,7 +131,7 @@ contributors:
 active: true
 
   - name: "Alex Kolonitsky"
-role: "Committer "
+role: "Committer"
 email: "kolonitsky at apache dot org "
 website: 
 active: true
@@ -148,6 +148,12 @@ contributors:
 website:
 active: true 
 
+  - name: "Arseni Bulatski"
+role: "Committer"
+email: "abulatski at apache dot org "
+website: 
+active: true
+
 ### Inactive commiters
 
   - name: "Holger Hoffstaette"



[9/9] cayenne-website git commit: Add contributor

2019-01-14 Thread abulatski
Add contributor


Project: http://git-wip-us.apache.org/repos/asf/cayenne-website/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne-website/commit/8762a9b2
Tree: http://git-wip-us.apache.org/repos/asf/cayenne-website/tree/8762a9b2
Diff: http://git-wip-us.apache.org/repos/asf/cayenne-website/diff/8762a9b2

Branch: refs/heads/asf-site
Commit: 8762a9b2820de39709404fb25b55ad80492924ea
Parents: 1528e04
Author: Arseni Bulatski 
Authored: Mon Jan 14 15:14:55 2019 +0300
Committer: Arseni Bulatski 
Committed: Mon Jan 14 15:14:55 2019 +0300

--
 .DS_Store | Bin 6148 -> 0 bytes
 2014/09/cayenne-31-released.html  |   2 +-
 2015/03/cayenne-40m2-released.html|   2 +-
 2016/02/cayenne-40m3-released.html|   2 +-
 2016/05/cayenne-311-released.html |   2 +-
 2016/12/cayenne-40M4-released.html|   2 +-
 2017/03/cayenne-40M5-released.html|   2 +-
 2017/06/cayenne-40B1-released.html|   2 +-
 2017/10/cayenne-40B2-released.html|   2 +-
 2017/10/cayenne-41m1-released.html|   2 +-
 2017/11/cayenne-312-released.html |   2 +-
 2018/04/cayenne-40rc1-released/index.html |   2 +-
 2018/07/cayenne-313-released.html |   2 +-
 2018/07/cayenne-41m2-released.html|   2 +-
 2018/08/cayenne-40-final-released/index.html  |   2 +-
 2018/12/cayenne-401-released/index.html   |   2 +-
 404.html  |   2 +-
 about/index.html  |   2 +-
 about/support/index.html  |   2 +-
 collaboration/index.html  |   2 +-
 contributors.html |   9 +++--
 database-support.html |   2 +-
 dev/building-cayenne.html |   2 +-
 dev/cms-guide.html|   2 +-
 dev/code-repository.html  |   2 +-
 dev/how_development_happens.html  |   2 +-
 dev/index.html|   2 +-
 dev/release-guide.html|   2 +-
 dev/running-unit-tests.html   |   2 +-
 docs/1.2/accessing-pk-and-fk-values.html  |   2 +-
 docs/1.2/acknowledgments.html |   2 +-
 docs/1.2/ant-tasks.html   |   2 +-
 docs/1.2/building-expressions.html|   2 +-
 docs/1.2/caching-lookup-tables.html   |   2 +-
 docs/1.2/caching-query-results.html   |   2 +-
 docs/1.2/cayenne-contract.html|   2 +-
 docs/1.2/cayenne-datamaps.html|   2 +-
 docs/1.2/cayenne-project-structure.html   |   2 +-
 docs/1.2/cayenne-projects.html|   2 +-
 docs/1.2/cayenne-user-directory.html  |   2 +-
 docs/1.2/cayennemodeler-and-eclipse.html  |   2 +-
 .../cayennemodeler-flattened-relationships.html   |   2 +-
 docs/1.2/cdataport.html   |   2 +-
 docs/1.2/cdbgen.html  |   2 +-
 docs/1.2/cdeploy.html |   2 +-
 docs/1.2/cgen.html|   2 +-
 docs/1.2/classpath.html   |   2 +-
 docs/1.2/common-modeling-tasks.html   |   2 +-
 docs/1.2/configuring-caching-behavior.html|   2 +-
 docs/1.2/configuring-deployment-settings.html |   2 +-
 docs/1.2/configuring-logging.html |   2 +-
 docs/1.2/configuring-object-validation.html   |   2 +-
 docs/1.2/configuring-transactional-behavior.html  |   2 +-
 ...converting-an-existing-business-framework.html |   2 +-
 docs/1.2/create-datanode.html |   2 +-
 docs/1.2/create-new-project.html  |   2 +-
 docs/1.2/customizing-configuration.html   |   2 +-
 docs/1.2/customizing-queries.html |   2 +-
 docs/1.2/customizing.html |   2 +-
 docs/1.2/data-rows.html   |   2 +-
 docs/1.2/datachannel.html |   2 +-
 docs/1.2/datacontext.html |   2 +-
 docs/1.2/datacontextdelegate.html |   2 +-
 docs/1.2/datacontextfactory.html  |   2 +-
 docs/1.2/datanode.html|   2 +-
 docs/1.2/dataobject-state-management.html |   2 +-
 docs/1.2/dataobject-validation.html   |   2 +-
 docs/1.2/dataobjects-example.html |   2 +-
 docs/1.2/dataobjects.html |   2 +-
 docs/1.2/dataobjectutils.html |   2 +-
 docs/1.2/datasource.html  |   2 +-
 docs/1.2/dataview-concepts.html   |   2 +-
 docs/1.2/dataviews-in-action.html  

[7/9] cayenne-website git commit: Add contributor

2019-01-14 Thread abulatski
http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/8762a9b2/docs/1.2/modeling-tips.html
--
diff --git a/docs/1.2/modeling-tips.html b/docs/1.2/modeling-tips.html
index 8ecb65e..23f467d 100644
--- a/docs/1.2/modeling-tips.html
+++ b/docs/1.2/modeling-tips.html
@@ -276,7 +276,7 @@
 
 
 
-Copyright © 2001-2018 Apache Software Foundation. Apache Cayenne, 
Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo 
are trademarks of The Apache Software Foundation. https://cayenne.apache.org/privacy-policy.html;>Privacy policy.
+Copyright © 2001-2019 Apache Software Foundation. Apache Cayenne, 
Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo 
are trademarks of The Apache Software Foundation. https://cayenne.apache.org/privacy-policy.html;>Privacy policy.
 
 
 

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/8762a9b2/docs/1.2/moving-objects-between-contexts.html
--
diff --git a/docs/1.2/moving-objects-between-contexts.html 
b/docs/1.2/moving-objects-between-contexts.html
index 2bcddf6..2564fff 100644
--- a/docs/1.2/moving-objects-between-contexts.html
+++ b/docs/1.2/moving-objects-between-contexts.html
@@ -284,7 +284,7 @@ User user; // assume this<
 
 
 
-Copyright © 2001-2018 Apache Software Foundation. Apache Cayenne, 
Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo 
are trademarks of The Apache Software Foundation. https://cayenne.apache.org/privacy-policy.html;>Privacy policy.
+Copyright © 2001-2019 Apache Software Foundation. Apache Cayenne, 
Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo 
are trademarks of The Apache Software Foundation. https://cayenne.apache.org/privacy-policy.html;>Privacy policy.
 
 
 

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/8762a9b2/docs/1.2/namedquery.html
--
diff --git a/docs/1.2/namedquery.html b/docs/1.2/namedquery.html
index e1d415e..077872c 100644
--- a/docs/1.2/namedquery.html
+++ b/docs/1.2/namedquery.html
@@ -276,7 +276,7 @@ List matchingUsers = context.performQuery(query);
 
 
 
-Copyright © 2001-2018 Apache Software Foundation. Apache Cayenne, 
Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo 
are trademarks of The Apache Software Foundation. https://cayenne.apache.org/privacy-policy.html;>Privacy policy.
+Copyright © 2001-2019 Apache Software Foundation. Apache Cayenne, 
Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo 
are trademarks of The Apache Software Foundation. https://cayenne.apache.org/privacy-policy.html;>Privacy policy.
 
 
 

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/8762a9b2/docs/1.2/nested-datacontexts.html
--
diff --git a/docs/1.2/nested-datacontexts.html 
b/docs/1.2/nested-datacontexts.html
index 3c2028b..2e9ad82 100644
--- a/docs/1.2/nested-datacontexts.html
+++ b/docs/1.2/nested-datacontexts.html
@@ -307,7 +307,7 @@ DataContext child = context.createChildDataContext();
 
 
 
-Copyright © 2001-2018 Apache Software Foundation. Apache Cayenne, 
Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo 
are trademarks of The Apache Software Foundation. https://cayenne.apache.org/privacy-policy.html;>Privacy policy.
+Copyright © 2001-2019 Apache Software Foundation. Apache Cayenne, 
Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo 
are trademarks of The Apache Software Foundation. https://cayenne.apache.org/privacy-policy.html;>Privacy policy.
 
 
 

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/8762a9b2/docs/1.2/new-system.html
--
diff --git a/docs/1.2/new-system.html b/docs/1.2/new-system.html
index d1a57ea..1d01d1c 100644
--- a/docs/1.2/new-system.html
+++ b/docs/1.2/new-system.html
@@ -276,7 +276,7 @@
 
 
 
-Copyright © 2001-2018 Apache Software Foundation. Apache Cayenne, 
Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo 
are trademarks of The Apache Software Foundation. https://cayenne.apache.org/privacy-policy.html;>Privacy policy.
+Copyright © 2001-2019 Apache Software Foundation. Apache Cayenne, 
Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo 
are trademarks of The Apache Software Foundation. 

[3/9] cayenne-website git commit: Add contributor

2019-01-14 Thread abulatski
http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/8762a9b2/docs/3.0/dataobjectutils.html
--
diff --git a/docs/3.0/dataobjectutils.html b/docs/3.0/dataobjectutils.html
index 1752b18..6a0456b 100644
--- a/docs/3.0/dataobjectutils.html
+++ b/docs/3.0/dataobjectutils.html
@@ -291,7 +291,7 @@ DataContext context = ...;
 
 
 
-Copyright © 2001-2018 Apache Software Foundation. Apache Cayenne, 
Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo 
are trademarks of The Apache Software Foundation. https://cayenne.apache.org/privacy-policy.html;>Privacy policy.
+Copyright © 2001-2019 Apache Software Foundation. Apache Cayenne, 
Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo 
are trademarks of The Apache Software Foundation. https://cayenne.apache.org/privacy-policy.html;>Privacy policy.
 
 
 

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/8762a9b2/docs/3.0/datasource.html
--
diff --git a/docs/3.0/datasource.html b/docs/3.0/datasource.html
index 481af13..cdfb144 100644
--- a/docs/3.0/datasource.html
+++ b/docs/3.0/datasource.html
@@ -268,7 +268,7 @@
 
 
 
-Copyright © 2001-2018 Apache Software Foundation. Apache Cayenne, 
Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo 
are trademarks of The Apache Software Foundation. https://cayenne.apache.org/privacy-policy.html;>Privacy policy.
+Copyright © 2001-2019 Apache Software Foundation. Apache Cayenne, 
Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo 
are trademarks of The Apache Software Foundation. https://cayenne.apache.org/privacy-policy.html;>Privacy policy.
 
 
 

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/8762a9b2/docs/3.0/dbadapter.html
--
diff --git a/docs/3.0/dbadapter.html b/docs/3.0/dbadapter.html
index b9f6bdf..d0d50cb 100644
--- a/docs/3.0/dbadapter.html
+++ b/docs/3.0/dbadapter.html
@@ -284,7 +284,7 @@
 
 
 
-Copyright © 2001-2018 Apache Software Foundation. Apache Cayenne, 
Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo 
are trademarks of The Apache Software Foundation. https://cayenne.apache.org/privacy-policy.html;>Privacy policy.
+Copyright © 2001-2019 Apache Software Foundation. Apache Cayenne, 
Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo 
are trademarks of The Apache Software Foundation. https://cayenne.apache.org/privacy-policy.html;>Privacy policy.
 
 
 

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/8762a9b2/docs/3.0/dbcpdatasourcefactory.html
--
diff --git a/docs/3.0/dbcpdatasourcefactory.html 
b/docs/3.0/dbcpdatasourcefactory.html
index 5b00178..95257b0 100644
--- a/docs/3.0/dbcpdatasourcefactory.html
+++ b/docs/3.0/dbcpdatasourcefactory.html
@@ -457,7 +457,7 @@ cayenne.dbcp.maxWait=1
 
 
 
-Copyright © 2001-2018 Apache Software Foundation. Apache Cayenne, 
Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo 
are trademarks of The Apache Software Foundation. https://cayenne.apache.org/privacy-policy.html;>Privacy policy.
+Copyright © 2001-2019 Apache Software Foundation. Apache Cayenne, 
Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo 
are trademarks of The Apache Software Foundation. https://cayenne.apache.org/privacy-policy.html;>Privacy policy.
 
 
 

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/8762a9b2/docs/3.0/delete-rules.html
--
diff --git a/docs/3.0/delete-rules.html b/docs/3.0/delete-rules.html
index eb95e15..9ec0055 100644
--- a/docs/3.0/delete-rules.html
+++ b/docs/3.0/delete-rules.html
@@ -286,7 +286,7 @@
 
 
 
-Copyright © 2001-2018 Apache Software Foundation. Apache Cayenne, 
Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo 
are trademarks of The Apache Software Foundation. https://cayenne.apache.org/privacy-policy.html;>Privacy policy.
+Copyright © 2001-2019 Apache Software Foundation. Apache Cayenne, 
Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo 
are trademarks of The Apache Software Foundation. https://cayenne.apache.org/privacy-policy.html;>Privacy policy.
 
 
 

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/8762a9b2/docs/3.0/deleting-objects.html

[5/9] cayenne-website git commit: Add contributor

2019-01-14 Thread abulatski
http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/8762a9b2/docs/2.0/guide-to-11-features.html
--
diff --git a/docs/2.0/guide-to-11-features.html 
b/docs/2.0/guide-to-11-features.html
index 30df81c..de8e41c 100644
--- a/docs/2.0/guide-to-11-features.html
+++ b/docs/2.0/guide-to-11-features.html
@@ -403,7 +403,7 @@
 
 
 
-Copyright © 2001-2018 Apache Software Foundation. Apache Cayenne, 
Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo 
are trademarks of The Apache Software Foundation. https://cayenne.apache.org/privacy-policy.html;>Privacy policy.
+Copyright © 2001-2019 Apache Software Foundation. Apache Cayenne, 
Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo 
are trademarks of The Apache Software Foundation. https://cayenne.apache.org/privacy-policy.html;>Privacy policy.
 
 
 

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/8762a9b2/docs/2.0/guide-to-12-features.html
--
diff --git a/docs/2.0/guide-to-12-features.html 
b/docs/2.0/guide-to-12-features.html
index 1d1a4f6..390c6b6 100644
--- a/docs/2.0/guide-to-12-features.html
+++ b/docs/2.0/guide-to-12-features.html
@@ -418,7 +418,7 @@
 
 
 
-Copyright © 2001-2018 Apache Software Foundation. Apache Cayenne, 
Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo 
are trademarks of The Apache Software Foundation. https://cayenne.apache.org/privacy-policy.html;>Privacy policy.
+Copyright © 2001-2019 Apache Software Foundation. Apache Cayenne, 
Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo 
are trademarks of The Apache Software Foundation. https://cayenne.apache.org/privacy-policy.html;>Privacy policy.
 
 
 

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/8762a9b2/docs/2.0/handling-inheritance.html
--
diff --git a/docs/2.0/handling-inheritance.html 
b/docs/2.0/handling-inheritance.html
index 5114f11..daa9d8f 100644
--- a/docs/2.0/handling-inheritance.html
+++ b/docs/2.0/handling-inheritance.html
@@ -352,7 +352,7 @@ List employees = context.performQuery(query);
 
 
 
-Copyright © 2001-2018 Apache Software Foundation. Apache Cayenne, 
Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo 
are trademarks of The Apache Software Foundation. https://cayenne.apache.org/privacy-policy.html;>Privacy policy.
+Copyright © 2001-2019 Apache Software Foundation. Apache Cayenne, 
Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo 
are trademarks of The Apache Software Foundation. https://cayenne.apache.org/privacy-policy.html;>Privacy policy.
 
 
 

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/8762a9b2/docs/2.0/in-memory-evaluation.html
--
diff --git a/docs/2.0/in-memory-evaluation.html 
b/docs/2.0/in-memory-evaluation.html
index 8bdc1de..c9ae139 100644
--- a/docs/2.0/in-memory-evaluation.html
+++ b/docs/2.0/in-memory-evaluation.html
@@ -317,7 +317,7 @@ List startWithA = exp.filterObjects(artists);
 
 
 
-Copyright © 2001-2018 Apache Software Foundation. Apache Cayenne, 
Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo 
are trademarks of The Apache Software Foundation. https://cayenne.apache.org/privacy-policy.html;>Privacy policy.
+Copyright © 2001-2019 Apache Software Foundation. Apache Cayenne, 
Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo 
are trademarks of The Apache Software Foundation. https://cayenne.apache.org/privacy-policy.html;>Privacy policy.
 
 
 

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/8762a9b2/docs/2.0/index.html
--
diff --git a/docs/2.0/index.html b/docs/2.0/index.html
index 784cbb4..f5f0d06 100644
--- a/docs/2.0/index.html
+++ b/docs/2.0/index.html
@@ -272,7 +272,7 @@
 
 
 
-Copyright © 2001-2018 Apache Software Foundation. Apache Cayenne, 
Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo 
are trademarks of The Apache Software Foundation. https://cayenne.apache.org/privacy-policy.html;>Privacy policy.
+Copyright © 2001-2019 Apache Software Foundation. Apache Cayenne, 
Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo 
are trademarks of The Apache Software Foundation. https://cayenne.apache.org/privacy-policy.html;>Privacy policy.

[4/9] cayenne-website git commit: Add contributor

2019-01-14 Thread abulatski
http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/8762a9b2/docs/2.0/setting-datamap-defaults.html
--
diff --git a/docs/2.0/setting-datamap-defaults.html 
b/docs/2.0/setting-datamap-defaults.html
index bf4b5ed..28df6a6 100644
--- a/docs/2.0/setting-datamap-defaults.html
+++ b/docs/2.0/setting-datamap-defaults.html
@@ -292,7 +292,7 @@
 
 
 
-Copyright © 2001-2018 Apache Software Foundation. Apache Cayenne, 
Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo 
are trademarks of The Apache Software Foundation. https://cayenne.apache.org/privacy-policy.html;>Privacy policy.
+Copyright © 2001-2019 Apache Software Foundation. Apache Cayenne, 
Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo 
are trademarks of The Apache Software Foundation. https://cayenne.apache.org/privacy-policy.html;>Privacy policy.
 
 
 

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/8762a9b2/docs/2.0/sqltemplate-query.html
--
diff --git a/docs/2.0/sqltemplate-query.html b/docs/2.0/sqltemplate-query.html
index f1b05cb..6f16969 100644
--- a/docs/2.0/sqltemplate-query.html
+++ b/docs/2.0/sqltemplate-query.html
@@ -328,7 +328,7 @@ query.setTemplate(PostgresAdapter.class.getName(), 
pgTemplate);
 
 
 
-Copyright © 2001-2018 Apache Software Foundation. Apache Cayenne, 
Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo 
are trademarks of The Apache Software Foundation. https://cayenne.apache.org/privacy-policy.html;>Privacy policy.
+Copyright © 2001-2019 Apache Software Foundation. Apache Cayenne, 
Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo 
are trademarks of The Apache Software Foundation. https://cayenne.apache.org/privacy-policy.html;>Privacy policy.
 
 
 

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/8762a9b2/docs/2.0/standalone-applications.html
--
diff --git a/docs/2.0/standalone-applications.html 
b/docs/2.0/standalone-applications.html
index c0c5511..ec3dd86 100644
--- a/docs/2.0/standalone-applications.html
+++ b/docs/2.0/standalone-applications.html
@@ -299,7 +299,7 @@ DataContext.bindThreadDataContext(context);
 
 
 
-Copyright © 2001-2018 Apache Software Foundation. Apache Cayenne, 
Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo 
are trademarks of The Apache Software Foundation. https://cayenne.apache.org/privacy-policy.html;>Privacy policy.
+Copyright © 2001-2019 Apache Software Foundation. Apache Cayenne, 
Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo 
are trademarks of The Apache Software Foundation. https://cayenne.apache.org/privacy-policy.html;>Privacy policy.
 
 
 

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/8762a9b2/docs/2.0/stored-procedures-and-transactions.html
--
diff --git a/docs/2.0/stored-procedures-and-transactions.html 
b/docs/2.0/stored-procedures-and-transactions.html
index 3660cd1..f496f70 100644
--- a/docs/2.0/stored-procedures-and-transactions.html
+++ b/docs/2.0/stored-procedures-and-transactions.html
@@ -267,7 +267,7 @@ There maybe a situations when stored procedures handle 
their own transactions an
 
 
 
-Copyright © 2001-2018 Apache Software Foundation. Apache Cayenne, 
Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo 
are trademarks of The Apache Software Foundation. https://cayenne.apache.org/privacy-policy.html;>Privacy policy.
+Copyright © 2001-2019 Apache Software Foundation. Apache Cayenne, 
Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo 
are trademarks of The Apache Software Foundation. https://cayenne.apache.org/privacy-policy.html;>Privacy policy.
 
 
 

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/8762a9b2/docs/2.0/stored-procedures.html
--
diff --git a/docs/2.0/stored-procedures.html b/docs/2.0/stored-procedures.html
index a15e010..1ba8b7d 100644
--- a/docs/2.0/stored-procedures.html
+++ b/docs/2.0/stored-procedures.html
@@ -274,7 +274,7 @@
 
 
 
-Copyright © 2001-2018 Apache Software Foundation. Apache Cayenne, 
Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo 
are trademarks of The Apache Software Foundation. https://cayenne.apache.org/privacy-policy.html;>Privacy policy.
+Copyright © 

[8/9] cayenne-website git commit: Add contributor

2019-01-14 Thread abulatski
http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/8762a9b2/docs/1.2/cdbgen.html
--
diff --git a/docs/1.2/cdbgen.html b/docs/1.2/cdbgen.html
index 16a3f20..700af6c 100644
--- a/docs/1.2/cdbgen.html
+++ b/docs/1.2/cdbgen.html
@@ -350,7 +350,7 @@
 
 
 
-Copyright © 2001-2018 Apache Software Foundation. Apache Cayenne, 
Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo 
are trademarks of The Apache Software Foundation. https://cayenne.apache.org/privacy-policy.html;>Privacy policy.
+Copyright © 2001-2019 Apache Software Foundation. Apache Cayenne, 
Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo 
are trademarks of The Apache Software Foundation. https://cayenne.apache.org/privacy-policy.html;>Privacy policy.
 
 
 

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/8762a9b2/docs/1.2/cdeploy.html
--
diff --git a/docs/1.2/cdeploy.html b/docs/1.2/cdeploy.html
index d737f24..3439a76 100644
--- a/docs/1.2/cdeploy.html
+++ b/docs/1.2/cdeploy.html
@@ -355,7 +355,7 @@ Nested node Parameters:
 
 
 
-Copyright © 2001-2018 Apache Software Foundation. Apache Cayenne, 
Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo 
are trademarks of The Apache Software Foundation. https://cayenne.apache.org/privacy-policy.html;>Privacy policy.
+Copyright © 2001-2019 Apache Software Foundation. Apache Cayenne, 
Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo 
are trademarks of The Apache Software Foundation. https://cayenne.apache.org/privacy-policy.html;>Privacy policy.
 
 
 

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/8762a9b2/docs/1.2/cgen.html
--
diff --git a/docs/1.2/cgen.html b/docs/1.2/cgen.html
index 3b02747..758cdbd 100644
--- a/docs/1.2/cgen.html
+++ b/docs/1.2/cgen.html
@@ -455,7 +455,7 @@
 
 
 
-Copyright © 2001-2018 Apache Software Foundation. Apache Cayenne, 
Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo 
are trademarks of The Apache Software Foundation. https://cayenne.apache.org/privacy-policy.html;>Privacy policy.
+Copyright © 2001-2019 Apache Software Foundation. Apache Cayenne, 
Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo 
are trademarks of The Apache Software Foundation. https://cayenne.apache.org/privacy-policy.html;>Privacy policy.
 
 
 

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/8762a9b2/docs/1.2/classpath.html
--
diff --git a/docs/1.2/classpath.html b/docs/1.2/classpath.html
index 2170d3a..e3660b3 100644
--- a/docs/1.2/classpath.html
+++ b/docs/1.2/classpath.html
@@ -271,7 +271,7 @@
 
 
 
-Copyright © 2001-2018 Apache Software Foundation. Apache Cayenne, 
Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo 
are trademarks of The Apache Software Foundation. https://cayenne.apache.org/privacy-policy.html;>Privacy policy.
+Copyright © 2001-2019 Apache Software Foundation. Apache Cayenne, 
Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo 
are trademarks of The Apache Software Foundation. https://cayenne.apache.org/privacy-policy.html;>Privacy policy.
 
 
 

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/8762a9b2/docs/1.2/common-modeling-tasks.html
--
diff --git a/docs/1.2/common-modeling-tasks.html 
b/docs/1.2/common-modeling-tasks.html
index 0b431e2..bea2cf9 100644
--- a/docs/1.2/common-modeling-tasks.html
+++ b/docs/1.2/common-modeling-tasks.html
@@ -267,7 +267,7 @@
 
 
 
-Copyright © 2001-2018 Apache Software Foundation. Apache Cayenne, 
Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo 
are trademarks of The Apache Software Foundation. https://cayenne.apache.org/privacy-policy.html;>Privacy policy.
+Copyright © 2001-2019 Apache Software Foundation. Apache Cayenne, 
Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo 
are trademarks of The Apache Software Foundation. https://cayenne.apache.org/privacy-policy.html;>Privacy policy.
 
 
 

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/8762a9b2/docs/1.2/configuring-caching-behavior.html
--
diff --git 

[1/9] cayenne-website git commit: Add contributor

2019-01-14 Thread abulatski
Repository: cayenne-website
Updated Branches:
  refs/heads/asf-site 1528e04a7 -> 8762a9b28


http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/8762a9b2/docs/3.1/index.html
--
diff --git a/docs/3.1/index.html b/docs/3.1/index.html
index f265e56..19d0a03 100644
--- a/docs/3.1/index.html
+++ b/docs/3.1/index.html
@@ -273,7 +273,7 @@
 
 
 
-Copyright © 2001-2018 Apache Software Foundation. Apache Cayenne, 
Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo 
are trademarks of The Apache Software Foundation. https://cayenne.apache.org/privacy-policy.html;>Privacy policy.
+Copyright © 2001-2019 Apache Software Foundation. Apache Cayenne, 
Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo 
are trademarks of The Apache Software Foundation. https://cayenne.apache.org/privacy-policy.html;>Privacy policy.
 
 
 

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/8762a9b2/docs/3.1/upgrade-guide/index.html
--
diff --git a/docs/3.1/upgrade-guide/index.html 
b/docs/3.1/upgrade-guide/index.html
index 3f8821b..7db3731 100644
--- a/docs/3.1/upgrade-guide/index.html
+++ b/docs/3.1/upgrade-guide/index.html
@@ -440,7 +440,7 @@ 
runtime.getDataDomain().getEntityResolver().getCallbackRegistry().addListener(fi
 
 
 
-Copyright © 2001-2018 Apache Software Foundation. Apache Cayenne, 
Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo 
are trademarks of The Apache Software Foundation. https://cayenne.apache.org/privacy-policy.html;>Privacy policy.
+Copyright © 2001-2019 Apache Software Foundation. Apache Cayenne, 
Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo 
are trademarks of The Apache Software Foundation. https://cayenne.apache.org/privacy-policy.html;>Privacy policy.
 
 
 

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/8762a9b2/docs/4.0/cayenne-guide/index.html
--
diff --git a/docs/4.0/cayenne-guide/index.html 
b/docs/4.0/cayenne-guide/index.html
index ac34dfd..51f48e6 100644
--- a/docs/4.0/cayenne-guide/index.html
+++ b/docs/4.0/cayenne-guide/index.html
@@ -5898,7 +5898,7 @@ NON-TERMINALS
 
 
 
-Copyright © 2001-2018 Apache Software Foundation. Apache Cayenne, 
Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo 
are trademarks of The Apache Software Foundation. https://cayenne.apache.org/privacy-policy.html;>Privacy policy.
+Copyright © 2001-2019 Apache Software Foundation. Apache Cayenne, 
Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo 
are trademarks of The Apache Software Foundation. https://cayenne.apache.org/privacy-policy.html;>Privacy policy.
 
 
 

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/8762a9b2/docs/4.0/getting-started-guide/index.html
--
diff --git a/docs/4.0/getting-started-guide/index.html 
b/docs/4.0/getting-started-guide/index.html
index 51b6f62..c3860dd 100644
--- a/docs/4.0/getting-started-guide/index.html
+++ b/docs/4.0/getting-started-guide/index.html
@@ -1300,7 +1300,7 @@ INFO: +++ transaction committed./screen
 
 
 
-Copyright © 2001-2018 Apache Software Foundation. Apache Cayenne, 
Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo 
are trademarks of The Apache Software Foundation. https://cayenne.apache.org/privacy-policy.html;>Privacy policy.
+Copyright © 2001-2019 Apache Software Foundation. Apache Cayenne, 
Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo 
are trademarks of The Apache Software Foundation. https://cayenne.apache.org/privacy-policy.html;>Privacy policy.
 
 
 

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/8762a9b2/docs/4.0/getting-started-rop/index.html
--
diff --git a/docs/4.0/getting-started-rop/index.html 
b/docs/4.0/getting-started-rop/index.html
index e105743..41258e2 100644
--- a/docs/4.0/getting-started-rop/index.html
+++ b/docs/4.0/getting-started-rop/index.html
@@ -839,7 +839,7 @@ ClientRuntime runtime = new 
ClientRuntime(properties);
 
 
 
-Copyright © 2001-2018 Apache Software Foundation. Apache Cayenne, 
Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo 
are trademarks of The Apache Software Foundation. https://cayenne.apache.org/privacy-policy.html;>Privacy policy.
+Copyright © 

[6/9] cayenne-website git commit: Add contributor

2019-01-14 Thread abulatski
http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/8762a9b2/docs/1.2/user-guide.html
--
diff --git a/docs/1.2/user-guide.html b/docs/1.2/user-guide.html
index ed34ed9..9276908 100644
--- a/docs/1.2/user-guide.html
+++ b/docs/1.2/user-guide.html
@@ -286,7 +286,7 @@
 
 
 
-Copyright © 2001-2018 Apache Software Foundation. Apache Cayenne, 
Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo 
are trademarks of The Apache Software Foundation. https://cayenne.apache.org/privacy-policy.html;>Privacy policy.
+Copyright © 2001-2019 Apache Software Foundation. Apache Cayenne, 
Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo 
are trademarks of The Apache Software Foundation. https://cayenne.apache.org/privacy-policy.html;>Privacy policy.
 
 
 

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/8762a9b2/docs/1.2/using-jndi.html
--
diff --git a/docs/1.2/using-jndi.html b/docs/1.2/using-jndi.html
index 8dd323f..5904ca7 100644
--- a/docs/1.2/using-jndi.html
+++ b/docs/1.2/using-jndi.html
@@ -356,7 +356,7 @@
 
 
 
-Copyright © 2001-2018 Apache Software Foundation. Apache Cayenne, 
Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo 
are trademarks of The Apache Software Foundation. https://cayenne.apache.org/privacy-policy.html;>Privacy policy.
+Copyright © 2001-2019 Apache Software Foundation. Apache Cayenne, 
Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo 
are trademarks of The Apache Software Foundation. https://cayenne.apache.org/privacy-policy.html;>Privacy policy.
 
 
 

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/8762a9b2/docs/1.2/using-orderings.html
--
diff --git a/docs/1.2/using-orderings.html b/docs/1.2/using-orderings.html
index 8dd6947..6bd8cb5 100644
--- a/docs/1.2/using-orderings.html
+++ b/docs/1.2/using-orderings.html
@@ -308,7 +308,7 @@ orderings.add(new 
Ordering(
 
-Copyright © 2001-2018 Apache Software Foundation. Apache Cayenne, 
Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo 
are trademarks of The Apache Software Foundation. https://cayenne.apache.org/privacy-policy.html;>Privacy policy.
+Copyright © 2001-2019 Apache Software Foundation. Apache Cayenne, 
Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo 
are trademarks of The Apache Software Foundation. https://cayenne.apache.org/privacy-policy.html;>Privacy policy.
 
 
 

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/8762a9b2/docs/1.2/web-applications.html
--
diff --git a/docs/1.2/web-applications.html b/docs/1.2/web-applications.html
index 4199536..02f3e18 100644
--- a/docs/1.2/web-applications.html
+++ b/docs/1.2/web-applications.html
@@ -334,7 +334,7 @@ WEB-INF/lib/...
 
 
 
-Copyright © 2001-2018 Apache Software Foundation. Apache Cayenne, 
Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo 
are trademarks of The Apache Software Foundation. https://cayenne.apache.org/privacy-policy.html;>Privacy policy.
+Copyright © 2001-2019 Apache Software Foundation. Apache Cayenne, 
Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo 
are trademarks of The Apache Software Foundation. https://cayenne.apache.org/privacy-policy.html;>Privacy policy.
 
 
 

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/8762a9b2/docs/2.0/accessing-pk-and-fk-values.html
--
diff --git a/docs/2.0/accessing-pk-and-fk-values.html 
b/docs/2.0/accessing-pk-and-fk-values.html
index 4354ae8..cbff210 100644
--- a/docs/2.0/accessing-pk-and-fk-values.html
+++ b/docs/2.0/accessing-pk-and-fk-values.html
@@ -344,7 +344,7 @@
 
 
 
-Copyright © 2001-2018 Apache Software Foundation. Apache Cayenne, 
Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo 
are trademarks of The Apache Software Foundation. https://cayenne.apache.org/privacy-policy.html;>Privacy policy.
+Copyright © 2001-2019 Apache Software Foundation. Apache Cayenne, 
Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo 
are trademarks of The Apache Software Foundation. https://cayenne.apache.org/privacy-policy.html;>Privacy policy.
 
 
 


[2/9] cayenne-website git commit: Add contributor

2019-01-14 Thread abulatski
http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/8762a9b2/docs/3.0/performance-tuning.html
--
diff --git a/docs/3.0/performance-tuning.html b/docs/3.0/performance-tuning.html
index b616c1a..bb55f08 100644
--- a/docs/3.0/performance-tuning.html
+++ b/docs/3.0/performance-tuning.html
@@ -287,7 +287,7 @@
 
 
 
-Copyright © 2001-2018 Apache Software Foundation. Apache Cayenne, 
Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo 
are trademarks of The Apache Software Foundation. https://cayenne.apache.org/privacy-policy.html;>Privacy policy.
+Copyright © 2001-2019 Apache Software Foundation. Apache Cayenne, 
Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo 
are trademarks of The Apache Software Foundation. https://cayenne.apache.org/privacy-policy.html;>Privacy policy.
 
 
 

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/8762a9b2/docs/3.0/persistent-object-lifecycle.html
--
diff --git a/docs/3.0/persistent-object-lifecycle.html 
b/docs/3.0/persistent-object-lifecycle.html
index a373dbb..54a73b7 100644
--- a/docs/3.0/persistent-object-lifecycle.html
+++ b/docs/3.0/persistent-object-lifecycle.html
@@ -317,7 +317,7 @@
 
 
 
-Copyright © 2001-2018 Apache Software Foundation. Apache Cayenne, 
Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo 
are trademarks of The Apache Software Foundation. https://cayenne.apache.org/privacy-policy.html;>Privacy policy.
+Copyright © 2001-2019 Apache Software Foundation. Apache Cayenne, 
Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo 
are trademarks of The Apache Software Foundation. https://cayenne.apache.org/privacy-policy.html;>Privacy policy.
 
 
 

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/8762a9b2/docs/3.0/preferences-panel.html
--
diff --git a/docs/3.0/preferences-panel.html b/docs/3.0/preferences-panel.html
index 22e193f..53d007c 100644
--- a/docs/3.0/preferences-panel.html
+++ b/docs/3.0/preferences-panel.html
@@ -286,7 +286,7 @@
 
 
 
-Copyright © 2001-2018 Apache Software Foundation. Apache Cayenne, 
Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo 
are trademarks of The Apache Software Foundation. https://cayenne.apache.org/privacy-policy.html;>Privacy policy.
+Copyright © 2001-2019 Apache Software Foundation. Apache Cayenne, 
Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo 
are trademarks of The Apache Software Foundation. https://cayenne.apache.org/privacy-policy.html;>Privacy policy.
 
 
 

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/8762a9b2/docs/3.0/prefetching.html
--
diff --git a/docs/3.0/prefetching.html b/docs/3.0/prefetching.html
index ae38aeb..dc9f982 100644
--- a/docs/3.0/prefetching.html
+++ b/docs/3.0/prefetching.html
@@ -370,7 +370,7 @@ context.performQuery(query);
 
 
 
-Copyright © 2001-2018 Apache Software Foundation. Apache Cayenne, 
Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo 
are trademarks of The Apache Software Foundation. https://cayenne.apache.org/privacy-policy.html;>Privacy policy.
+Copyright © 2001-2019 Apache Software Foundation. Apache Cayenne, 
Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo 
are trademarks of The Apache Software Foundation. https://cayenne.apache.org/privacy-policy.html;>Privacy policy.
 
 
 

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/8762a9b2/docs/3.0/primary-key-generation.html
--
diff --git a/docs/3.0/primary-key-generation.html 
b/docs/3.0/primary-key-generation.html
index 4709032..6475925 100644
--- a/docs/3.0/primary-key-generation.html
+++ b/docs/3.0/primary-key-generation.html
@@ -340,7 +340,7 @@
 
 
 
-Copyright © 2001-2018 Apache Software Foundation. Apache Cayenne, 
Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo 
are trademarks of The Apache Software Foundation. https://cayenne.apache.org/privacy-policy.html;>Privacy policy.
+Copyright © 2001-2019 Apache Software Foundation. Apache Cayenne, 
Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo 
are trademarks of The Apache Software Foundation. https://cayenne.apache.org/privacy-policy.html;>Privacy policy.
 
 

[cayenne] branch STABLE-4.1 updated: Show warning when find duplicated entity names.

2019-04-02 Thread abulatski
This is an automated email from the ASF dual-hosted git repository.

abulatski pushed a commit to branch STABLE-4.1
in repository https://gitbox.apache.org/repos/asf/cayenne.git


The following commit(s) were added to refs/heads/STABLE-4.1 by this push:
 new 69e19ea  Show warning when find duplicated entity names.
69e19ea is described below

commit 69e19ea0a0c8ba7e939cceca87b61ae3d6171438
Author: Arseni Bulatski 
AuthorDate: Tue Apr 2 13:14:14 2019 +0300

Show warning when find duplicated entity names.
---
 .../org/apache/cayenne/map/EntityResolver.java | 53 +-
 .../apache/cayenne/modeler/ProjectController.java  | 34 +++---
 2 files changed, 58 insertions(+), 29 deletions(-)

diff --git 
a/cayenne-server/src/main/java/org/apache/cayenne/map/EntityResolver.java 
b/cayenne-server/src/main/java/org/apache/cayenne/map/EntityResolver.java
index 45f74e9..aa05e8f 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/map/EntityResolver.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/map/EntityResolver.java
@@ -19,10 +19,16 @@
 
 package org.apache.cayenne.map;
 
-import org.apache.cayenne.ObjectId;
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.concurrent.atomic.AtomicLong;
+
 import org.apache.cayenne.Persistent;
 import org.apache.cayenne.access.types.ValueObjectTypeRegistry;
-import org.apache.cayenne.query.Query;
 import org.apache.cayenne.reflect.ClassDescriptor;
 import org.apache.cayenne.reflect.ClassDescriptorMap;
 import org.apache.cayenne.reflect.FaultFactory;
@@ -33,15 +39,6 @@ import 
org.apache.cayenne.reflect.valueholder.ValueHolderDescriptorFactory;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import java.io.IOException;
-import java.io.ObjectInputStream;
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-import java.util.concurrent.atomic.AtomicLong;
-
 /**
  * Represents a virtual shared namespace for zero or more DataMaps. Unlike
  * DataMap, EntityResolver is intended to work as a runtime container of
@@ -360,6 +357,7 @@ public class EntityResolver implements MappingNamespace, 
Serializable {
 
 public synchronized void addDataMap(DataMap map) {
 if (!maps.contains(map)) {
+checkForDuplicatedNames(map);
 maps.add(map);
 map.setNamespace(this);
 refreshMappingCache();
@@ -372,6 +370,39 @@ public class EntityResolver implements MappingNamespace, 
Serializable {
 }
 }
 
+private void checkForDuplicatedNames(DataMap map) {
+for(DbEntity entity : map.getDbEntities()) {
+DbEntity foundDbEntity = getDbEntity(entity.getName());
+if(foundDbEntity != null) {
+processWarning(entity.getName(), map.getName(), 
foundDbEntity.getDataMap().getName());
+}
+}
+for(ObjEntity entity : map.getObjEntities()) {
+ObjEntity foundObjEntity = getObjEntity(entity.getName());
+if(foundObjEntity != null) {
+processWarning(entity.getName(), map.getName(), 
foundObjEntity.getDataMap().getName());
+}
+}
+for(Procedure procedure : map.getProcedures()) {
+Procedure foundProcedure = getProcedure(procedure.getName());
+if(foundProcedure != null) {
+processWarning(procedure.getName(), map.getName(), 
foundProcedure.getDataMap().getName());
+}
+}
+for(Embeddable embeddable : map.getEmbeddables()) {
+Embeddable foundEmbeddable = 
getEmbeddable(embeddable.getClassName());
+if(foundEmbeddable != null) {
+processWarning(embeddable.getClassName(), map.getName(), 
foundEmbeddable.getDataMap().getName());
+}
+}
+}
+
+private void processWarning(String duplicatedName, String dataMapName, 
String originalDataMapName) {
+logger.warn("Duplicated name " + duplicatedName + " was found in " +
+dataMapName + ". This name was also found in " +
+originalDataMapName + ".");
+}
+
 /**
  * Refreshes entity cache to reflect the current state of the DataMaps in
  * the EntityResolver.
diff --git 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ProjectController.java
 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ProjectController.java
index b442daf..e40df52 100644
--- 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ProjectController.java
+++ 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ProjectController.java
@@ -19,6 +19,20 @@
 
 package org.apache.cayenne.modeler;
 
+import javax.swing.event.EventListenerL

[cayenne] branch master updated: Show warning when find duplicated entity names.

2019-04-02 Thread abulatski
This is an automated email from the ASF dual-hosted git repository.

abulatski pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cayenne.git


The following commit(s) were added to refs/heads/master by this push:
 new b170046  Show warning when find duplicated entity names.
b170046 is described below

commit b170046d6e21cb8e6119d94db4d1533255dfedd0
Author: Arseni Bulatski 
AuthorDate: Tue Apr 2 13:14:14 2019 +0300

Show warning when find duplicated entity names.
---
 .../org/apache/cayenne/map/EntityResolver.java | 53 +-
 .../apache/cayenne/modeler/ProjectController.java  | 34 +++---
 2 files changed, 58 insertions(+), 29 deletions(-)

diff --git 
a/cayenne-server/src/main/java/org/apache/cayenne/map/EntityResolver.java 
b/cayenne-server/src/main/java/org/apache/cayenne/map/EntityResolver.java
index 45f74e9..aa05e8f 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/map/EntityResolver.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/map/EntityResolver.java
@@ -19,10 +19,16 @@
 
 package org.apache.cayenne.map;
 
-import org.apache.cayenne.ObjectId;
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.concurrent.atomic.AtomicLong;
+
 import org.apache.cayenne.Persistent;
 import org.apache.cayenne.access.types.ValueObjectTypeRegistry;
-import org.apache.cayenne.query.Query;
 import org.apache.cayenne.reflect.ClassDescriptor;
 import org.apache.cayenne.reflect.ClassDescriptorMap;
 import org.apache.cayenne.reflect.FaultFactory;
@@ -33,15 +39,6 @@ import 
org.apache.cayenne.reflect.valueholder.ValueHolderDescriptorFactory;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import java.io.IOException;
-import java.io.ObjectInputStream;
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-import java.util.concurrent.atomic.AtomicLong;
-
 /**
  * Represents a virtual shared namespace for zero or more DataMaps. Unlike
  * DataMap, EntityResolver is intended to work as a runtime container of
@@ -360,6 +357,7 @@ public class EntityResolver implements MappingNamespace, 
Serializable {
 
 public synchronized void addDataMap(DataMap map) {
 if (!maps.contains(map)) {
+checkForDuplicatedNames(map);
 maps.add(map);
 map.setNamespace(this);
 refreshMappingCache();
@@ -372,6 +370,39 @@ public class EntityResolver implements MappingNamespace, 
Serializable {
 }
 }
 
+private void checkForDuplicatedNames(DataMap map) {
+for(DbEntity entity : map.getDbEntities()) {
+DbEntity foundDbEntity = getDbEntity(entity.getName());
+if(foundDbEntity != null) {
+processWarning(entity.getName(), map.getName(), 
foundDbEntity.getDataMap().getName());
+}
+}
+for(ObjEntity entity : map.getObjEntities()) {
+ObjEntity foundObjEntity = getObjEntity(entity.getName());
+if(foundObjEntity != null) {
+processWarning(entity.getName(), map.getName(), 
foundObjEntity.getDataMap().getName());
+}
+}
+for(Procedure procedure : map.getProcedures()) {
+Procedure foundProcedure = getProcedure(procedure.getName());
+if(foundProcedure != null) {
+processWarning(procedure.getName(), map.getName(), 
foundProcedure.getDataMap().getName());
+}
+}
+for(Embeddable embeddable : map.getEmbeddables()) {
+Embeddable foundEmbeddable = 
getEmbeddable(embeddable.getClassName());
+if(foundEmbeddable != null) {
+processWarning(embeddable.getClassName(), map.getName(), 
foundEmbeddable.getDataMap().getName());
+}
+}
+}
+
+private void processWarning(String duplicatedName, String dataMapName, 
String originalDataMapName) {
+logger.warn("Duplicated name " + duplicatedName + " was found in " +
+dataMapName + ". This name was also found in " +
+originalDataMapName + ".");
+}
+
 /**
  * Refreshes entity cache to reflect the current state of the DataMaps in
  * the EntityResolver.
diff --git 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ProjectController.java
 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ProjectController.java
index b442daf..e40df52 100644
--- 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ProjectController.java
+++ 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ProjectController.java
@@ -19,6 +19,20 @@
 
 package org.apache.cayenne.modeler;
 
+import javax.swing.event.EventListenerL

[cayenne-website] branch master updated: Update main dependencies

2019-03-26 Thread abulatski
This is an automated email from the ASF dual-hosted git repository.

abulatski pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cayenne-website.git


The following commit(s) were added to refs/heads/master by this push:
 new 6a470fe  Update main dependencies
6a470fe is described below

commit 6a470fe87ed0ef00e6db1b4c524173c82e985d21
Author: Arseni Bulatski 
AuthorDate: Tue Mar 26 17:53:08 2019 +0300

Update main dependencies
---
 src/main/assets/package.json   |  8 
 src/main/assets/styles/_variables.scss | 22 +-
 src/main/assets/yarn.lock  | 24 
 3 files changed, 29 insertions(+), 25 deletions(-)

diff --git a/src/main/assets/package.json b/src/main/assets/package.json
index 49bbb6d..bacc1a9 100644
--- a/src/main/assets/package.json
+++ b/src/main/assets/package.json
@@ -3,10 +3,10 @@
   "version": "1.0.0",
   "license": "Apache-2.0",
   "dependencies": {
-"jquery": "3.2.1",
-"bootstrap": "4.0.0-beta.2",
-"popper.js": "1.12.9",
-"highlight.js": "9.12.0",
+"jquery": "3.3.1",
+"bootstrap": "4.3.1",
+"popper.js": "1.14.7",
+"highlight.js": "9.15.6",
 "font-awesome": "4.7.0"
   },
   "devDependencies" : {
diff --git a/src/main/assets/styles/_variables.scss 
b/src/main/assets/styles/_variables.scss
index 3b8586c..3f2d70e 100644
--- a/src/main/assets/styles/_variables.scss
+++ b/src/main/assets/styles/_variables.scss
@@ -129,15 +129,19 @@ $enable-print-styles:   true !default;
 // You can add more entries to the $spacers map, should you need more 
variation.
 
 $spacer: 1rem !default;
-$spacers: (
-  0: 0,
-  1l4: ($spacer * .25),
-  1l2: ($spacer * .5),
-  1: $spacer,
-  3l2: $spacer * 1.5,
-  2: ($spacer * 2),
-  3: ($spacer * 3),
-  5: ($spacer * 5)
+$spacers: () !default;
+// stylelint-disable-next-line scss/dollar-variable-default
+$spacers: map-merge(
+(
+0: 0,
+1l2: ($spacer * .5),
+1: $spacer,
+3l2: ($spacer * 1.5),
+2: ($spacer * 2),
+3: ($spacer * 3),
+5: ($spacer * 5)
+),
+$spacers
 );
 
 // This variable affects the `.h-*` and `.w-*` classes.
diff --git a/src/main/assets/yarn.lock b/src/main/assets/yarn.lock
index 1419ca4..93b2ef2 100644
--- a/src/main/assets/yarn.lock
+++ b/src/main/assets/yarn.lock
@@ -389,9 +389,9 @@ boom@5.x.x:
   dependencies:
 hoek "4.x.x"
 
-bootstrap@4.0.0-beta.2:
-  version "4.0.0-beta.2"
-  resolved 
"https://registry.yarnpkg.com/bootstrap/-/bootstrap-4.0.0-beta.2.tgz#4d67d2aa2219f062cd90bc1247e6747b9e8fd051;
+bootstrap@4.3.1:
+  version "4.3.1"
+  resolved 
"https://registry.yarnpkg.com/bootstrap/-/bootstrap-4.3.1.tgz#280ca8f610504d99d7b6b4bfc4b68cec601704ac;
 
 boxen@^1.2.1:
   version "1.3.0"
@@ -2471,9 +2471,9 @@ hawk@~6.0.2:
 hoek "4.x.x"
 sntp "2.x.x"
 
-highlight.js@9.12.0:
-  version "9.12.0"
-  resolved 
"https://registry.yarnpkg.com/highlight.js/-/highlight.js-9.12.0.tgz#e6d9dbe57cbefe60751f02af336195870c90c01e;
+highlight.js@9.15.6:
+  version "9.15.6"
+  resolved 
"https://registry.yarnpkg.com/highlight.js/-/highlight.js-9.15.6.tgz#72d4d8d779ec066af9a17cb14360c3def0aa57c4;
 
 hmac-drbg@^1.0.0:
   version "1.0.1"
@@ -2959,9 +2959,9 @@ jpegtran-bin@^3.0.0:
 bin-wrapper "^3.0.0"
 logalot "^2.0.0"
 
-jquery@3.2.1:
-  version "3.2.1"
-  resolved 
"https://registry.yarnpkg.com/jquery/-/jquery-3.2.1.tgz#5c4d9de652af6cd0a770154a631bba12b015c787;
+jquery@3.3.1:
+  version "3.3.1"
+  resolved 
"https://registry.yarnpkg.com/jquery/-/jquery-3.3.1.tgz#958ce29e81c9790f31be7792df5d4d95fc57fbca;
 
 js-base64@^2.1.8:
   version "2.3.2"
@@ -4151,9 +4151,9 @@ plur@^2.1.2:
   dependencies:
 irregular-plurals "^1.0.0"
 
-popper.js@1.12.9:
-  version "1.12.9"
-  resolved 
"https://registry.yarnpkg.com/popper.js/-/popper.js-1.12.9.tgz#0dfbc2dff96c451bb332edcfcfaaf566d331d5b3;
+popper.js@1.14.7:
+  version "1.14.7"
+  resolved 
"https://registry.yarnpkg.com/popper.js/-/popper.js-1.14.7.tgz#e31ec06cfac6a97a53280c3e55e4e0c860e7738e;
 
 portscanner@2.1.1:
   version "2.1.1"



[cayenne-website] branch asf-site updated: Update docs

2019-03-25 Thread abulatski
This is an automated email from the ASF dual-hosted git repository.

abulatski pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/cayenne-website.git


The following commit(s) were added to refs/heads/asf-site by this push:
 new 948cf27  Update docs
948cf27 is described below

commit 948cf276a6282b311a9e419ffafd44d4c5553473
Author: Arseni Bulatski 
AuthorDate: Mon Mar 25 11:22:07 2019 +0300

Update docs
---
 .../getting-started-guide/images/icon-attribute.png | Bin 293 -> 304 bytes
 .../getting-started-guide/images/icon-datamap.png   | Bin 411 -> 529 bytes
 .../getting-started-guide/images/icon-dbentity.png  | Bin 142 -> 257 bytes
 docs/4.0/getting-started-guide/images/icon-edit.png | Bin 340 -> 343 bytes
 .../images/icon-new_objentity.png   | Bin 563 -> 585 bytes
 docs/4.0/getting-started-guide/images/icon-node.png | Bin 350 -> 384 bytes
 .../images/icon-relationship.png| Bin 347 -> 384 bytes
 docs/4.0/getting-started-guide/images/icon-sync.png | Bin 280 -> 245 bytes
 .../getting-started-guide/images/icon-attribute.png | Bin 293 -> 304 bytes
 .../getting-started-guide/images/icon-datamap.png   | Bin 411 -> 529 bytes
 .../getting-started-guide/images/icon-dbentity.png  | Bin 142 -> 257 bytes
 docs/4.1/getting-started-guide/images/icon-edit.png | Bin 340 -> 343 bytes
 .../images/icon-new_objentity.png   | Bin 563 -> 585 bytes
 docs/4.1/getting-started-guide/images/icon-node.png | Bin 350 -> 384 bytes
 .../images/icon-relationship.png| Bin 347 -> 384 bytes
 docs/4.1/getting-started-guide/images/icon-sync.png | Bin 280 -> 245 bytes
 .../images/modeler-dbrelationship.png   | Bin 41430 -> 55118 bytes
 docs/4.1/getting-started-guide/index.html   |   7 ---
 img/cayenne-modeler1-05838c0edd.png | Bin 97606 -> 0 bytes
 img/cayenne-modeler1-29ce6626e9.png | Bin 206436 -> 0 bytes
 20 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/docs/4.0/getting-started-guide/images/icon-attribute.png 
b/docs/4.0/getting-started-guide/images/icon-attribute.png
index 77a68eb..f5b324d 100644
Binary files a/docs/4.0/getting-started-guide/images/icon-attribute.png and 
b/docs/4.0/getting-started-guide/images/icon-attribute.png differ
diff --git a/docs/4.0/getting-started-guide/images/icon-datamap.png 
b/docs/4.0/getting-started-guide/images/icon-datamap.png
index 2ea96ca..90db1af 100644
Binary files a/docs/4.0/getting-started-guide/images/icon-datamap.png and 
b/docs/4.0/getting-started-guide/images/icon-datamap.png differ
diff --git a/docs/4.0/getting-started-guide/images/icon-dbentity.png 
b/docs/4.0/getting-started-guide/images/icon-dbentity.png
index 87d9d8a..07b6a75 100644
Binary files a/docs/4.0/getting-started-guide/images/icon-dbentity.png and 
b/docs/4.0/getting-started-guide/images/icon-dbentity.png differ
diff --git a/docs/4.0/getting-started-guide/images/icon-edit.png 
b/docs/4.0/getting-started-guide/images/icon-edit.png
index 027c482..a874d51 100644
Binary files a/docs/4.0/getting-started-guide/images/icon-edit.png and 
b/docs/4.0/getting-started-guide/images/icon-edit.png differ
diff --git a/docs/4.0/getting-started-guide/images/icon-new_objentity.png 
b/docs/4.0/getting-started-guide/images/icon-new_objentity.png
index 8735d7a..7530e05 100644
Binary files a/docs/4.0/getting-started-guide/images/icon-new_objentity.png and 
b/docs/4.0/getting-started-guide/images/icon-new_objentity.png differ
diff --git a/docs/4.0/getting-started-guide/images/icon-node.png 
b/docs/4.0/getting-started-guide/images/icon-node.png
index 2ff4383..fe0f402 100644
Binary files a/docs/4.0/getting-started-guide/images/icon-node.png and 
b/docs/4.0/getting-started-guide/images/icon-node.png differ
diff --git a/docs/4.0/getting-started-guide/images/icon-relationship.png 
b/docs/4.0/getting-started-guide/images/icon-relationship.png
index 44ed7eb..c7d6610 100644
Binary files a/docs/4.0/getting-started-guide/images/icon-relationship.png and 
b/docs/4.0/getting-started-guide/images/icon-relationship.png differ
diff --git a/docs/4.0/getting-started-guide/images/icon-sync.png 
b/docs/4.0/getting-started-guide/images/icon-sync.png
index 03e8623..d194ea7 100644
Binary files a/docs/4.0/getting-started-guide/images/icon-sync.png and 
b/docs/4.0/getting-started-guide/images/icon-sync.png differ
diff --git a/docs/4.1/getting-started-guide/images/icon-attribute.png 
b/docs/4.1/getting-started-guide/images/icon-attribute.png
index 77a68eb..f5b324d 100644
Binary files a/docs/4.1/getting-started-guide/images/icon-attribute.png and 
b/docs/4.1/getting-started-guide/images/icon-attribute.png differ
diff --git a/docs/4.1/getting-started-guide/images/icon-datamap.png 
b/docs/4.1/getting-started-guide/images/icon-datamap.png
index 2ea96ca..90db1af 100644
Binary files a/docs/4.1/getting-started-guide/images/icon-datamap.png and 
b/docs

[cayenne-website] branch master updated: Update docs

2019-03-25 Thread abulatski
This is an automated email from the ASF dual-hosted git repository.

abulatski pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cayenne-website.git


The following commit(s) were added to refs/heads/master by this push:
 new d1cecd2  Update docs
d1cecd2 is described below

commit d1cecd2575346a0f38edce64d0c832c92baa9e2f
Author: Arseni Bulatski 
AuthorDate: Mon Mar 25 11:24:50 2019 +0300

Update docs
---
 .../getting-started-guide/images/icon-attribute.png | Bin 293 -> 304 bytes
 .../getting-started-guide/images/icon-datamap.png   | Bin 411 -> 529 bytes
 .../getting-started-guide/images/icon-dbentity.png  | Bin 142 -> 257 bytes
 .../4.0/getting-started-guide/images/icon-edit.png  | Bin 340 -> 343 bytes
 .../images/icon-new_objentity.png   | Bin 563 -> 585 bytes
 .../4.0/getting-started-guide/images/icon-node.png  | Bin 350 -> 384 bytes
 .../images/icon-relationship.png| Bin 347 -> 384 bytes
 .../4.0/getting-started-guide/images/icon-sync.png  | Bin 280 -> 245 bytes
 .../content/docs/4.1/getting-started-guide.html |   7 ---
 .../getting-started-guide/images/icon-attribute.png | Bin 293 -> 304 bytes
 .../getting-started-guide/images/icon-datamap.png   | Bin 411 -> 529 bytes
 .../getting-started-guide/images/icon-dbentity.png  | Bin 142 -> 257 bytes
 .../4.1/getting-started-guide/images/icon-edit.png  | Bin 340 -> 343 bytes
 .../images/icon-new_objentity.png   | Bin 563 -> 585 bytes
 .../4.1/getting-started-guide/images/icon-node.png  | Bin 350 -> 384 bytes
 .../images/icon-relationship.png| Bin 347 -> 384 bytes
 .../4.1/getting-started-guide/images/icon-sync.png  | Bin 280 -> 245 bytes
 .../images/modeler-dbrelationship.png   | Bin 41430 -> 55118 bytes
 18 files changed, 4 insertions(+), 3 deletions(-)

diff --git 
a/src/main/site/content/docs/4.0/getting-started-guide/images/icon-attribute.png
 
b/src/main/site/content/docs/4.0/getting-started-guide/images/icon-attribute.png
index 77a68eb..f5b324d 100644
Binary files 
a/src/main/site/content/docs/4.0/getting-started-guide/images/icon-attribute.png
 and 
b/src/main/site/content/docs/4.0/getting-started-guide/images/icon-attribute.png
 differ
diff --git 
a/src/main/site/content/docs/4.0/getting-started-guide/images/icon-datamap.png 
b/src/main/site/content/docs/4.0/getting-started-guide/images/icon-datamap.png
index 2ea96ca..90db1af 100644
Binary files 
a/src/main/site/content/docs/4.0/getting-started-guide/images/icon-datamap.png 
and 
b/src/main/site/content/docs/4.0/getting-started-guide/images/icon-datamap.png 
differ
diff --git 
a/src/main/site/content/docs/4.0/getting-started-guide/images/icon-dbentity.png 
b/src/main/site/content/docs/4.0/getting-started-guide/images/icon-dbentity.png
index 87d9d8a..07b6a75 100644
Binary files 
a/src/main/site/content/docs/4.0/getting-started-guide/images/icon-dbentity.png 
and 
b/src/main/site/content/docs/4.0/getting-started-guide/images/icon-dbentity.png 
differ
diff --git 
a/src/main/site/content/docs/4.0/getting-started-guide/images/icon-edit.png 
b/src/main/site/content/docs/4.0/getting-started-guide/images/icon-edit.png
index 027c482..a874d51 100644
Binary files 
a/src/main/site/content/docs/4.0/getting-started-guide/images/icon-edit.png and 
b/src/main/site/content/docs/4.0/getting-started-guide/images/icon-edit.png 
differ
diff --git 
a/src/main/site/content/docs/4.0/getting-started-guide/images/icon-new_objentity.png
 
b/src/main/site/content/docs/4.0/getting-started-guide/images/icon-new_objentity.png
index 8735d7a..7530e05 100644
Binary files 
a/src/main/site/content/docs/4.0/getting-started-guide/images/icon-new_objentity.png
 and 
b/src/main/site/content/docs/4.0/getting-started-guide/images/icon-new_objentity.png
 differ
diff --git 
a/src/main/site/content/docs/4.0/getting-started-guide/images/icon-node.png 
b/src/main/site/content/docs/4.0/getting-started-guide/images/icon-node.png
index 2ff4383..fe0f402 100644
Binary files 
a/src/main/site/content/docs/4.0/getting-started-guide/images/icon-node.png and 
b/src/main/site/content/docs/4.0/getting-started-guide/images/icon-node.png 
differ
diff --git 
a/src/main/site/content/docs/4.0/getting-started-guide/images/icon-relationship.png
 
b/src/main/site/content/docs/4.0/getting-started-guide/images/icon-relationship.png
index 44ed7eb..c7d6610 100644
Binary files 
a/src/main/site/content/docs/4.0/getting-started-guide/images/icon-relationship.png
 and 
b/src/main/site/content/docs/4.0/getting-started-guide/images/icon-relationship.png
 differ
diff --git 
a/src/main/site/content/docs/4.0/getting-started-guide/images/icon-sync.png 
b/src/main/site/content/docs/4.0/getting-started-guide/images/icon-sync.png
index 03e8623..d194ea7 100644
Binary files 
a/src/main/site/content/docs/4.0/getting-started-guide/images/icon-sync.png and 
b/src/main/site/content/docs/4.0/getting-started-

[cayenne] branch STABLE-4.0 updated: Update docs

2019-03-25 Thread abulatski
This is an automated email from the ASF dual-hosted git repository.

abulatski pushed a commit to branch STABLE-4.0
in repository https://gitbox.apache.org/repos/asf/cayenne.git


The following commit(s) were added to refs/heads/STABLE-4.0 by this push:
 new 62a8d2c  Update docs
62a8d2c is described below

commit 62a8d2cc1b0f4cf03570e302a9ad65df90dcd1b7
Author: Arseni Bulatski 
AuthorDate: Mon Mar 25 10:14:26 2019 +0300

Update docs

(cherry picked from commit 0b4990f52f1041bb0268e76b27cf5c864e29a7ab)
---
 .../src/docs/asciidoc/images/icon-attribute.png | Bin 293 -> 304 bytes
 .../src/docs/asciidoc/images/icon-datamap.png   | Bin 411 -> 529 bytes
 .../src/docs/asciidoc/images/icon-dbentity.png  | Bin 142 -> 257 bytes
 .../src/docs/asciidoc/images/icon-edit.png  | Bin 340 -> 343 bytes
 .../src/docs/asciidoc/images/icon-new_objentity.png | Bin 563 -> 585 bytes
 .../src/docs/asciidoc/images/icon-node.png  | Bin 350 -> 384 bytes
 .../src/docs/asciidoc/images/icon-relationship.png  | Bin 347 -> 384 bytes
 .../src/docs/asciidoc/images/icon-sync.png  | Bin 280 -> 245 bytes
 8 files changed, 0 insertions(+), 0 deletions(-)

diff --git 
a/docs/asciidoc/getting-started-guide/src/docs/asciidoc/images/icon-attribute.png
 
b/docs/asciidoc/getting-started-guide/src/docs/asciidoc/images/icon-attribute.png
index 77a68eb..f5b324d 100755
Binary files 
a/docs/asciidoc/getting-started-guide/src/docs/asciidoc/images/icon-attribute.png
 and 
b/docs/asciidoc/getting-started-guide/src/docs/asciidoc/images/icon-attribute.png
 differ
diff --git 
a/docs/asciidoc/getting-started-guide/src/docs/asciidoc/images/icon-datamap.png 
b/docs/asciidoc/getting-started-guide/src/docs/asciidoc/images/icon-datamap.png
index 2ea96ca..90db1af 100755
Binary files 
a/docs/asciidoc/getting-started-guide/src/docs/asciidoc/images/icon-datamap.png 
and 
b/docs/asciidoc/getting-started-guide/src/docs/asciidoc/images/icon-datamap.png 
differ
diff --git 
a/docs/asciidoc/getting-started-guide/src/docs/asciidoc/images/icon-dbentity.png
 
b/docs/asciidoc/getting-started-guide/src/docs/asciidoc/images/icon-dbentity.png
index 87d9d8a..07b6a75 100755
Binary files 
a/docs/asciidoc/getting-started-guide/src/docs/asciidoc/images/icon-dbentity.png
 and 
b/docs/asciidoc/getting-started-guide/src/docs/asciidoc/images/icon-dbentity.png
 differ
diff --git 
a/docs/asciidoc/getting-started-guide/src/docs/asciidoc/images/icon-edit.png 
b/docs/asciidoc/getting-started-guide/src/docs/asciidoc/images/icon-edit.png
index 027c482..a874d51 100755
Binary files 
a/docs/asciidoc/getting-started-guide/src/docs/asciidoc/images/icon-edit.png 
and 
b/docs/asciidoc/getting-started-guide/src/docs/asciidoc/images/icon-edit.png 
differ
diff --git 
a/docs/asciidoc/getting-started-guide/src/docs/asciidoc/images/icon-new_objentity.png
 
b/docs/asciidoc/getting-started-guide/src/docs/asciidoc/images/icon-new_objentity.png
index 8735d7a..7530e05 100755
Binary files 
a/docs/asciidoc/getting-started-guide/src/docs/asciidoc/images/icon-new_objentity.png
 and 
b/docs/asciidoc/getting-started-guide/src/docs/asciidoc/images/icon-new_objentity.png
 differ
diff --git 
a/docs/asciidoc/getting-started-guide/src/docs/asciidoc/images/icon-node.png 
b/docs/asciidoc/getting-started-guide/src/docs/asciidoc/images/icon-node.png
index 2ff4383..fe0f402 100755
Binary files 
a/docs/asciidoc/getting-started-guide/src/docs/asciidoc/images/icon-node.png 
and 
b/docs/asciidoc/getting-started-guide/src/docs/asciidoc/images/icon-node.png 
differ
diff --git 
a/docs/asciidoc/getting-started-guide/src/docs/asciidoc/images/icon-relationship.png
 
b/docs/asciidoc/getting-started-guide/src/docs/asciidoc/images/icon-relationship.png
index 44ed7eb..c7d6610 100755
Binary files 
a/docs/asciidoc/getting-started-guide/src/docs/asciidoc/images/icon-relationship.png
 and 
b/docs/asciidoc/getting-started-guide/src/docs/asciidoc/images/icon-relationship.png
 differ
diff --git 
a/docs/asciidoc/getting-started-guide/src/docs/asciidoc/images/icon-sync.png 
b/docs/asciidoc/getting-started-guide/src/docs/asciidoc/images/icon-sync.png
index 03e8623..d194ea7 100755
Binary files 
a/docs/asciidoc/getting-started-guide/src/docs/asciidoc/images/icon-sync.png 
and 
b/docs/asciidoc/getting-started-guide/src/docs/asciidoc/images/icon-sync.png 
differ



[cayenne] branch STABLE-4.1 updated: Update docs

2019-03-25 Thread abulatski
This is an automated email from the ASF dual-hosted git repository.

abulatski pushed a commit to branch STABLE-4.1
in repository https://gitbox.apache.org/repos/asf/cayenne.git


The following commit(s) were added to refs/heads/STABLE-4.1 by this push:
 new 3257bb0  Update docs
3257bb0 is described below

commit 3257bb0461f6375d70a64db076bb20ee158afca0
Author: Arseni Bulatski 
AuthorDate: Mon Mar 25 10:14:26 2019 +0300

Update docs

(cherry picked from commit 0b4990f52f1041bb0268e76b27cf5c864e29a7ab)
---
 .../object-relational-mapping.adoc  |  16 ++--
 .../src/docs/asciidoc/images/icon-attribute.png | Bin 293 -> 304 bytes
 .../src/docs/asciidoc/images/icon-datamap.png   | Bin 411 -> 529 bytes
 .../src/docs/asciidoc/images/icon-dbentity.png  | Bin 142 -> 257 bytes
 .../src/docs/asciidoc/images/icon-edit.png  | Bin 340 -> 343 bytes
 .../src/docs/asciidoc/images/icon-new_objentity.png | Bin 563 -> 585 bytes
 .../src/docs/asciidoc/images/icon-node.png  | Bin 350 -> 384 bytes
 .../src/docs/asciidoc/images/icon-relationship.png  | Bin 347 -> 384 bytes
 .../src/docs/asciidoc/images/icon-sync.png  | Bin 280 -> 245 bytes
 .../docs/asciidoc/images/modeler-dbrelationship.png | Bin 41430 -> 55118 bytes
 10 files changed, 6 insertions(+), 10 deletions(-)

diff --git 
a/docs/asciidoc/getting-started-guide/src/docs/asciidoc/_getting-started-guide/object-relational-mapping.adoc
 
b/docs/asciidoc/getting-started-guide/src/docs/asciidoc/_getting-started-guide/object-relational-mapping.adoc
index 89a5260..2b8271b 100644
--- 
a/docs/asciidoc/getting-started-guide/src/docs/asciidoc/_getting-started-guide/object-relational-mapping.adoc
+++ 
b/docs/asciidoc/getting-started-guide/src/docs/asciidoc/_getting-started-guide/object-relational-mapping.adoc
@@ -48,19 +48,19 @@ Start by creating a one-to-many ARTIST/PAINTING 
relationship:
 
 - Select the ARTIST DbEntity on the left and click on the "Properties" tab.
 
-- Click on "Create Relationship" button on the entity toolbar 
image:icon-relationship.png[] - a relationship
-called "untitledRel" is created.
+- Click on "Create Relationship" button on the entity toolbar 
image:icon-relationship.png[] - relationship
+configuration dialog is presented.
 
 - Choose the "Target" to be "Painting".
 
-- Click on the "Database Mapping" button image:icon-edit.png[] - relationship
-configuration dialog is presented. Here you can assign a name to the
-relationship and also its complimentary reverse relationship. This name can be
+- Assign names for relationship and reverse relationship. This name can be
 anything (this is really a symbolic name of the database referential
 constraint), but it is recommended to use a valid Java identifier, as this will
 save some typing later. We'll call the relationship "paintings" and reverse
 relationship "artist".
 
+- Check "ToMany" checkbox for "paintings" relationship
+
 - Click on "Add" button on the right to add a join
 
 - Select "ID" column for the "Source" and "ARTIST_ID" column for the target.
@@ -72,11 +72,7 @@ image::modeler-dbrelationship.png[align="center"]
 - Click "Done" to confirm the changes and close the dialog.
 
 - Two complimentary relationships have been created - from ARTIST to PAINTING
-and back. Still you may have noticed one thing is missing - "paintings"
-relationship should be to-many, but "To Many" checkbox is not checked. Let's
-change that - check the checkbox for "paintings" relationship, and then click 
on
-PAINTING DbEntity, and uncheck "artist" relationship "To Many" to make the
-reverse relationship "to-one" as it should be.
+and back.
 
 - Repeat the steps above to create a many-to-one relationship from PAINTING to 
GALLERY, calling the relationships pair
 "gallery" and "paintings".
diff --git 
a/docs/asciidoc/getting-started-guide/src/docs/asciidoc/images/icon-attribute.png
 
b/docs/asciidoc/getting-started-guide/src/docs/asciidoc/images/icon-attribute.png
index 77a68eb..f5b324d 100755
Binary files 
a/docs/asciidoc/getting-started-guide/src/docs/asciidoc/images/icon-attribute.png
 and 
b/docs/asciidoc/getting-started-guide/src/docs/asciidoc/images/icon-attribute.png
 differ
diff --git 
a/docs/asciidoc/getting-started-guide/src/docs/asciidoc/images/icon-datamap.png 
b/docs/asciidoc/getting-started-guide/src/docs/asciidoc/images/icon-datamap.png
index 2ea96ca..90db1af 100755
Binary files 
a/docs/asciidoc/getting-started-guide/src/docs/asciidoc/images/icon-datamap.png 
and 
b/docs/asciidoc/getting-started-guide/src/docs/asciidoc/images/icon-datamap.png 
differ
diff --git 
a/docs/asciidoc/getting-started-guide/src/docs/asciidoc/images/icon-dbentity.png
 
b/docs/asciidoc

[cayenne] branch master updated: Update docs

2019-03-25 Thread abulatski
This is an automated email from the ASF dual-hosted git repository.

abulatski pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cayenne.git


The following commit(s) were added to refs/heads/master by this push:
 new 0b4990f  Update docs
0b4990f is described below

commit 0b4990f52f1041bb0268e76b27cf5c864e29a7ab
Author: Arseni Bulatski 
AuthorDate: Mon Mar 25 10:14:26 2019 +0300

Update docs
---
 .../object-relational-mapping.adoc  |  16 ++--
 .../src/docs/asciidoc/images/icon-attribute.png | Bin 293 -> 304 bytes
 .../src/docs/asciidoc/images/icon-datamap.png   | Bin 411 -> 529 bytes
 .../src/docs/asciidoc/images/icon-dbentity.png  | Bin 142 -> 257 bytes
 .../src/docs/asciidoc/images/icon-edit.png  | Bin 340 -> 343 bytes
 .../src/docs/asciidoc/images/icon-new_objentity.png | Bin 563 -> 585 bytes
 .../src/docs/asciidoc/images/icon-node.png  | Bin 350 -> 384 bytes
 .../src/docs/asciidoc/images/icon-relationship.png  | Bin 347 -> 384 bytes
 .../src/docs/asciidoc/images/icon-sync.png  | Bin 280 -> 245 bytes
 .../docs/asciidoc/images/modeler-dbrelationship.png | Bin 41430 -> 55118 bytes
 10 files changed, 6 insertions(+), 10 deletions(-)

diff --git 
a/docs/asciidoc/getting-started-guide/src/docs/asciidoc/_getting-started-guide/object-relational-mapping.adoc
 
b/docs/asciidoc/getting-started-guide/src/docs/asciidoc/_getting-started-guide/object-relational-mapping.adoc
index 89a5260..2b8271b 100644
--- 
a/docs/asciidoc/getting-started-guide/src/docs/asciidoc/_getting-started-guide/object-relational-mapping.adoc
+++ 
b/docs/asciidoc/getting-started-guide/src/docs/asciidoc/_getting-started-guide/object-relational-mapping.adoc
@@ -48,19 +48,19 @@ Start by creating a one-to-many ARTIST/PAINTING 
relationship:
 
 - Select the ARTIST DbEntity on the left and click on the "Properties" tab.
 
-- Click on "Create Relationship" button on the entity toolbar 
image:icon-relationship.png[] - a relationship
-called "untitledRel" is created.
+- Click on "Create Relationship" button on the entity toolbar 
image:icon-relationship.png[] - relationship
+configuration dialog is presented.
 
 - Choose the "Target" to be "Painting".
 
-- Click on the "Database Mapping" button image:icon-edit.png[] - relationship
-configuration dialog is presented. Here you can assign a name to the
-relationship and also its complimentary reverse relationship. This name can be
+- Assign names for relationship and reverse relationship. This name can be
 anything (this is really a symbolic name of the database referential
 constraint), but it is recommended to use a valid Java identifier, as this will
 save some typing later. We'll call the relationship "paintings" and reverse
 relationship "artist".
 
+- Check "ToMany" checkbox for "paintings" relationship
+
 - Click on "Add" button on the right to add a join
 
 - Select "ID" column for the "Source" and "ARTIST_ID" column for the target.
@@ -72,11 +72,7 @@ image::modeler-dbrelationship.png[align="center"]
 - Click "Done" to confirm the changes and close the dialog.
 
 - Two complimentary relationships have been created - from ARTIST to PAINTING
-and back. Still you may have noticed one thing is missing - "paintings"
-relationship should be to-many, but "To Many" checkbox is not checked. Let's
-change that - check the checkbox for "paintings" relationship, and then click 
on
-PAINTING DbEntity, and uncheck "artist" relationship "To Many" to make the
-reverse relationship "to-one" as it should be.
+and back.
 
 - Repeat the steps above to create a many-to-one relationship from PAINTING to 
GALLERY, calling the relationships pair
 "gallery" and "paintings".
diff --git 
a/docs/asciidoc/getting-started-guide/src/docs/asciidoc/images/icon-attribute.png
 
b/docs/asciidoc/getting-started-guide/src/docs/asciidoc/images/icon-attribute.png
index 77a68eb..f5b324d 100755
Binary files 
a/docs/asciidoc/getting-started-guide/src/docs/asciidoc/images/icon-attribute.png
 and 
b/docs/asciidoc/getting-started-guide/src/docs/asciidoc/images/icon-attribute.png
 differ
diff --git 
a/docs/asciidoc/getting-started-guide/src/docs/asciidoc/images/icon-datamap.png 
b/docs/asciidoc/getting-started-guide/src/docs/asciidoc/images/icon-datamap.png
index 2ea96ca..90db1af 100755
Binary files 
a/docs/asciidoc/getting-started-guide/src/docs/asciidoc/images/icon-datamap.png 
and 
b/docs/asciidoc/getting-started-guide/src/docs/asciidoc/images/icon-datamap.png 
differ
diff --git 
a/docs/asciidoc/getting-started-guide/src/docs/asciidoc/images/icon-dbentity.png
 
b/docs/asciidoc/getting-started-guide/src/docs/asciidoc/images/icon-dbentity.png
index 87d9d8a..07b6a75

[cayenne] branch master updated: Fix slf4j name in windows assembly

2019-03-25 Thread abulatski
This is an automated email from the ASF dual-hosted git repository.

abulatski pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cayenne.git


The following commit(s) were added to refs/heads/master by this push:
 new bae34a6  Fix slf4j name in windows assembly
bae34a6 is described below

commit bae34a606e7717b7a1bda47fbdc9b11028ebe833
Author: Arseni Bulatski 
AuthorDate: Mon Mar 25 11:51:06 2019 +0300

Fix slf4j name in windows assembly
---
 assembly/src/main/resources/assemblies/windows/assembly-windows.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git 
a/assembly/src/main/resources/assemblies/windows/assembly-windows.xml 
b/assembly/src/main/resources/assemblies/windows/assembly-windows.xml
index b3380d5..d6dd02d 100644
--- a/assembly/src/main/resources/assemblies/windows/assembly-windows.xml
+++ b/assembly/src/main/resources/assemblies/windows/assembly-windows.xml
@@ -97,7 +97,7 @@
lib/third-party


-   org.slf4j:slf-api
+   org.slf4j:slf4j-api






[cayenne] branch master updated: Exclude building docs in src profile

2019-03-25 Thread abulatski
This is an automated email from the ASF dual-hosted git repository.

abulatski pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cayenne.git


The following commit(s) were added to refs/heads/master by this push:
 new e561eef  Exclude building docs in src profile
e561eef is described below

commit e561eef80b18aadc2b91b2b23977e3d288e0d95d
Author: Arseni Bulatski 
AuthorDate: Mon Mar 25 16:32:53 2019 +0300

Exclude building docs in src profile
---
 assembly/pom.xml   |  9 -
 docs/asciidoc/cayenne-guide/pom.xml|  4 ++--
 docs/asciidoc/getting-started-db-first/pom.xml |  4 ++--
 docs/asciidoc/getting-started-guide/pom.xml|  4 ++--
 docs/asciidoc/getting-started-rop/pom.xml  |  4 ++--
 docs/asciidoc/upgrade-guide/pom.xml|  4 ++--
 docs/doc/pom.xml   |  2 +-
 docs/pom.xml   | 14 ++
 8 files changed, 33 insertions(+), 12 deletions(-)

diff --git a/assembly/pom.xml b/assembly/pom.xml
index 5899fbc..0915a56 100644
--- a/assembly/pom.xml
+++ b/assembly/pom.xml
@@ -34,6 +34,10 @@
 
An assembly of Cayenne into a generically runnable 
package.
 
+   
+   process-resources
+   
+

 

@@ -186,6 +190,9 @@


src
+   
+   none
+   



@@ -240,7 +247,7 @@

maven-antrun-plugin


-   
process-resources
+   
${build.docs}




diff --git a/docs/asciidoc/cayenne-guide/pom.xml 
b/docs/asciidoc/cayenne-guide/pom.xml
index 5e209ed..9c53b66 100644
--- a/docs/asciidoc/cayenne-guide/pom.xml
+++ b/docs/asciidoc/cayenne-guide/pom.xml
@@ -83,7 +83,7 @@
 
 
 asciidoctor-html-standalone
-generate-resources
+${build.docs}
 
 process-asciidoc
 
@@ -100,7 +100,7 @@
 
 
 generate-pdf-doc
-generate-resources
+${build.docs}
 
 process-asciidoc
 
diff --git a/docs/asciidoc/getting-started-db-first/pom.xml 
b/docs/asciidoc/getting-started-db-first/pom.xml
index 3e6c7cf..4b90038 100644
--- a/docs/asciidoc/getting-started-db-first/pom.xml
+++ b/docs/asciidoc/getting-started-db-first/pom.xml
@@ -85,7 +85,7 @@
 
 
 asciidoctor-html-standalone
-generate-resources
+${build.docs}
 
 process-asciidoc
 
@@ -102,7 +102,7 @@
 
 
 generate-pdf-doc
-generate-resources
+${build.docs}
 
 process-asciidoc
 
diff --git a/docs/asciidoc/getting-started-guide/pom.xml 
b/docs/asciidoc/getting-started-guide/pom.xml
index 274ac83..4c8287e 100644
--- a/docs/asciidoc/getting-started-guide/pom.xml
+++ b/docs/asciidoc/getting-started-guide/pom.xml
@@ -85,7 +85,7 @@
 
 
 asciidoctor-html-standalone
-generate-resources
+${build.docs}
 
 process-asciidoc
 
@@ -102,7 +102,7 @@
 
 
 generate-pdf-doc
-generate-resources
+${build.docs}
 
 process-asciidoc
 
diff --git a/docs

[cayenne] branch master updated: Attach sources and javadoc in cayenne-gradle-plugin build

2019-03-25 Thread abulatski
This is an automated email from the ASF dual-hosted git repository.

abulatski pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cayenne.git


The following commit(s) were added to refs/heads/master by this push:
 new a5e525e  Attach sources and javadoc in cayenne-gradle-plugin build
a5e525e is described below

commit a5e525ee13b1183458a7cd41068985d0affb19da
Author: Arseni Bulatski 
AuthorDate: Mon Mar 25 17:55:01 2019 +0300

Attach sources and javadoc in cayenne-gradle-plugin build
---
 cayenne-gradle-plugin/build.gradle | 15 +++
 cayenne-gradle-plugin/pom.xml  | 10 ++
 2 files changed, 25 insertions(+)

diff --git a/cayenne-gradle-plugin/build.gradle 
b/cayenne-gradle-plugin/build.gradle
index b75d626..dc13018 100644
--- a/cayenne-gradle-plugin/build.gradle
+++ b/cayenne-gradle-plugin/build.gradle
@@ -74,5 +74,20 @@ task licenseFiles(type: Copy) {
 into "$buildDir/resources/main/"
 }
 
+task sourcesJar(type: Jar, dependsOn: classes) {
+classifier = 'sources'
+from sourceSets.main.allSource
+}
+
+task javadocJar(type: Jar, dependsOn: javadoc) {
+classifier = 'javadoc'
+from javadoc.destinationDir
+}
+
+artifacts {
+archives sourcesJar
+archives javadocJar
+}
+
 processResources.dependsOn licenseFiles
 processResources.dependsOn versionFile
\ No newline at end of file
diff --git a/cayenne-gradle-plugin/pom.xml b/cayenne-gradle-plugin/pom.xml
index 512b7cc..47507d7 100644
--- a/cayenne-gradle-plugin/pom.xml
+++ b/cayenne-gradle-plugin/pom.xml
@@ -122,6 +122,16 @@
 
build/libs/${project.artifactId}-${project.version}.jar
 jar
 
+
+
build/libs/${project.artifactId}-${project.version}-sources.jar
+jar
+sources
+
+
+
build/libs/${project.artifactId}-${project.version}-javadoc.jar
+jar
+javadoc
+
 
 
 



[cayenne] branch master updated: cleanup

2019-04-05 Thread abulatski
This is an automated email from the ASF dual-hosted git repository.

abulatski pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cayenne.git


The following commit(s) were added to refs/heads/master by this push:
 new b2e4d32  cleanup
b2e4d32 is described below

commit b2e4d32bf37236e13dc26d0d442ce7abaad87ca3
Author: Arseni Bulatski 
AuthorDate: Fri Apr 5 16:00:57 2019 +0300

cleanup
---
 .../src/main/java/org/apache/cayenne/modeler/util/ProjectUtil.java  | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/ProjectUtil.java
 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/ProjectUtil.java
index 50154d9..8dbce2c 100644
--- 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/ProjectUtil.java
+++ 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/ProjectUtil.java
@@ -378,7 +378,7 @@ public class ProjectUtil {
 Entity parent = attribute.getEntity();
 
 if (parent == null) {
-return Collections.EMPTY_LIST;
+return Collections.emptyList();
 }
 
 Collection parentRelationships = 
(Collection) parent
@@ -404,12 +404,12 @@ public class ProjectUtil {
 Entity parent = attribute.getEntity();
 
 if (parent == null) {
-return Collections.EMPTY_LIST;
+return Collections.emptyList();
 }
 
 DataMap map = parent.getDataMap();
 if (map == null) {
-return Collections.EMPTY_LIST;
+return Collections.emptyList();
 }
 
 Collection relationships = new 
ArrayList();



[cayenne] branch master updated: CAY-2559 Modeler: Warning dialog shows wrong information after changing target entity in dbRelationship

2019-04-05 Thread abulatski
This is an automated email from the ASF dual-hosted git repository.

abulatski pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cayenne.git


The following commit(s) were added to refs/heads/master by this push:
 new cfaedd0  CAY-2559 Modeler: Warning dialog shows wrong information 
after changing target entity in dbRelationship
cfaedd0 is described below

commit cfaedd0f88c5f69647fadd664397437c92d019cd
Author: Arseni Bulatski 
AuthorDate: Fri Apr 5 15:25:01 2019 +0300

CAY-2559 Modeler: Warning dialog shows wrong information after changing 
target entity in dbRelationship
---
 RELEASE-NOTES.txt  |  1 +
 .../apache/cayenne/modeler/util/ProjectUtil.java   | 29 ++
 2 files changed, 14 insertions(+), 16 deletions(-)

diff --git a/RELEASE-NOTES.txt b/RELEASE-NOTES.txt
index 701329d..b1eee3a0 100644
--- a/RELEASE-NOTES.txt
+++ b/RELEASE-NOTES.txt
@@ -39,6 +39,7 @@ CAY-2535 Modeler: Impossible to import stored procedure apart 
from db tables
 CAY-2537 Modeler: Schema Generation Complete popup window is hidden
 CAY-2544 Possible name clash of ivar and property name in generated class
 CAY-2547 CayenneDataObject serialization issue
+CAY-2559 Modeler: Warning dialog shows wrong information after changing target 
entity in dbRelationship
 
 --
 Release: 4.1.B1
diff --git 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/ProjectUtil.java
 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/ProjectUtil.java
index a201a75..50154d9 100644
--- 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/ProjectUtil.java
+++ 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/ProjectUtil.java
@@ -19,6 +19,11 @@
 
 package org.apache.cayenne.modeler.util;
 
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
+
 import org.apache.cayenne.configuration.DataChannelDescriptor;
 import org.apache.cayenne.configuration.DataNodeDescriptor;
 import org.apache.cayenne.map.Attribute;
@@ -37,18 +42,11 @@ import org.apache.cayenne.map.ObjEntity;
 import org.apache.cayenne.map.ObjRelationship;
 import org.apache.cayenne.map.Procedure;
 import org.apache.cayenne.map.ProcedureParameter;
-import org.apache.cayenne.map.Relationship;
 import org.apache.cayenne.map.QueryDescriptor;
+import org.apache.cayenne.map.Relationship;
 import org.apache.cayenne.modeler.ProjectController;
 import org.apache.cayenne.util.Util;
 
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-import java.util.regex.Pattern;
-
 /**
  * Provides utility methods to perform various manipulations with project 
objects.
  */
@@ -465,19 +463,18 @@ public class ProjectUtil {

DbRelationship relationship) {
 DataChannelDescriptor domain = (DataChannelDescriptor) 
mediator.getProject().getRootNode();
 List attributes = new ArrayList<>();
-String[] dbAttrPathByDot;
 if (domain != null) {
 for (DataMap map : domain.getDataMaps()) {
 for (ObjEntity entity : map.getObjEntities()) {
 for (ObjAttribute objAttribute : entity.getAttributes()) {
-if(objAttribute.getDbAttributePath() != null) {
-dbAttrPathByDot = objAttribute.getDbAttributePath()
-.split(Pattern.quote("."));
-for (String partOfPath : dbAttrPathByDot) {
-if (partOfPath.equals(relationship.getName())) 
{
-attributes.add(objAttribute);
+if(objAttribute.isFlattened()) {
+
objAttribute.getDbPathIterator().forEachRemaining(entry -> {
+if(entry instanceof DbRelationship) {
+if(entry.equals(relationship)) {
+attributes.add(objAttribute);
+}
 }
-}
+});
 }
 }
 }



[cayenne] branch STABLE-4.1 updated: CAY-2559 Modeler: Warning dialog shows wrong information after changing target entity in dbRelationship

2019-04-05 Thread abulatski
This is an automated email from the ASF dual-hosted git repository.

abulatski pushed a commit to branch STABLE-4.1
in repository https://gitbox.apache.org/repos/asf/cayenne.git


The following commit(s) were added to refs/heads/STABLE-4.1 by this push:
 new 16a6685  CAY-2559 Modeler: Warning dialog shows wrong information 
after changing target entity in dbRelationship
16a6685 is described below

commit 16a668508564133a67114834b36d254036a7b511
Author: Arseni Bulatski 
AuthorDate: Fri Apr 5 15:36:31 2019 +0300

CAY-2559 Modeler: Warning dialog shows wrong information after changing 
target entity in dbRelationship
---
 RELEASE-NOTES.txt  |  1 +
 .../apache/cayenne/modeler/util/ProjectUtil.java   | 35 ++
 2 files changed, 17 insertions(+), 19 deletions(-)

diff --git a/RELEASE-NOTES.txt b/RELEASE-NOTES.txt
index 94df294..96ea851 100644
--- a/RELEASE-NOTES.txt
+++ b/RELEASE-NOTES.txt
@@ -13,6 +13,7 @@ Date:
 --
 Bug Fixes:
 CAY-2550 Modeler: ObjAttribute inspector modifies wrong columns in attribute 
table
+CAY-2559 Modeler: Warning dialog shows wrong information after changing target 
entity in dbRelationship
 
 --
 Release: 4.1.B1
diff --git 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/ProjectUtil.java
 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/ProjectUtil.java
index a201a75..8dbce2c 100644
--- 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/ProjectUtil.java
+++ 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/ProjectUtil.java
@@ -19,6 +19,11 @@
 
 package org.apache.cayenne.modeler.util;
 
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
+
 import org.apache.cayenne.configuration.DataChannelDescriptor;
 import org.apache.cayenne.configuration.DataNodeDescriptor;
 import org.apache.cayenne.map.Attribute;
@@ -37,18 +42,11 @@ import org.apache.cayenne.map.ObjEntity;
 import org.apache.cayenne.map.ObjRelationship;
 import org.apache.cayenne.map.Procedure;
 import org.apache.cayenne.map.ProcedureParameter;
-import org.apache.cayenne.map.Relationship;
 import org.apache.cayenne.map.QueryDescriptor;
+import org.apache.cayenne.map.Relationship;
 import org.apache.cayenne.modeler.ProjectController;
 import org.apache.cayenne.util.Util;
 
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-import java.util.regex.Pattern;
-
 /**
  * Provides utility methods to perform various manipulations with project 
objects.
  */
@@ -380,7 +378,7 @@ public class ProjectUtil {
 Entity parent = attribute.getEntity();
 
 if (parent == null) {
-return Collections.EMPTY_LIST;
+return Collections.emptyList();
 }
 
 Collection parentRelationships = 
(Collection) parent
@@ -406,12 +404,12 @@ public class ProjectUtil {
 Entity parent = attribute.getEntity();
 
 if (parent == null) {
-return Collections.EMPTY_LIST;
+return Collections.emptyList();
 }
 
 DataMap map = parent.getDataMap();
 if (map == null) {
-return Collections.EMPTY_LIST;
+return Collections.emptyList();
 }
 
 Collection relationships = new 
ArrayList();
@@ -465,19 +463,18 @@ public class ProjectUtil {

DbRelationship relationship) {
 DataChannelDescriptor domain = (DataChannelDescriptor) 
mediator.getProject().getRootNode();
 List attributes = new ArrayList<>();
-String[] dbAttrPathByDot;
 if (domain != null) {
 for (DataMap map : domain.getDataMaps()) {
 for (ObjEntity entity : map.getObjEntities()) {
 for (ObjAttribute objAttribute : entity.getAttributes()) {
-if(objAttribute.getDbAttributePath() != null) {
-dbAttrPathByDot = objAttribute.getDbAttributePath()
-.split(Pattern.quote("."));
-for (String partOfPath : dbAttrPathByDot) {
-if (partOfPath.equals(relationship.getName())) 
{
-attributes.add(objAttribute);
+if(objAttribute.isFlattened()) {
+
objAttribute.getDbPathIterator().forEachRemaining(entry -> {
+if(entry instanceof DbRelationship) {
+if(entry.equals(relationship)) {
+attributes.add(objAttribute);
+}
 }
-}
+});
 }
 }
 }



[cayenne] branch STABLE-4.1 updated: CAY-2550 Modeler: ObjAttribute inspector modifies wrong columns in attribute table

2019-03-28 Thread abulatski
This is an automated email from the ASF dual-hosted git repository.

abulatski pushed a commit to branch STABLE-4.1
in repository https://gitbox.apache.org/repos/asf/cayenne.git


The following commit(s) were added to refs/heads/STABLE-4.1 by this push:
 new c016b19  CAY-2550 Modeler: ObjAttribute inspector modifies wrong 
columns in attribute table
 new 6ddc784  Merge PR #369
c016b19 is described below

commit c016b198ec2565cd74f9bdf75b4b8fba003b0776
Author: Arseni Bulatski 
AuthorDate: Thu Mar 7 15:46:33 2019 +0300

CAY-2550 Modeler: ObjAttribute inspector modifies wrong columns in 
attribute table
---
 RELEASE-NOTES.txt  |  7 +++
 .../dialog/objentity/ObjAttributeInfoDialog.java   | 24 +++---
 2 files changed, 19 insertions(+), 12 deletions(-)

diff --git a/RELEASE-NOTES.txt b/RELEASE-NOTES.txt
index b21ec22..94df294 100644
--- a/RELEASE-NOTES.txt
+++ b/RELEASE-NOTES.txt
@@ -8,6 +8,13 @@ To browse individual bug reports check out project issue 
tracker:
 https://issues.apache.org/jira/browse/CAY
 
 --
+Release: 4.1.B2
+Date:
+--
+Bug Fixes:
+CAY-2550 Modeler: ObjAttribute inspector modifies wrong columns in attribute 
table
+
+--
 Release: 4.1.B1
 Date: March 7, 2019
 --
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 71355fb..7c33198 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
@@ -388,7 +388,7 @@ public class ObjAttributeInfoDialog extends 
CayenneController implements TreeSel

attributeSaved.setDbAttributePath(attributePath.toString());
 
if 
(!attribute.getDbAttributePath().equals(attributePath.toString()) && isChange) {
-   
model.setUpdatedValueAt(attributeSaved.getDbAttributePath(), row, 3);
+   
model.setUpdatedValueAt(attributeSaved.getDbAttributePath(), row, 2);
}
return true;
}
@@ -398,7 +398,7 @@ public class ObjAttributeInfoDialog extends 
CayenneController implements TreeSel
 

attributeSaved.setDbAttributePath(attributePath.toString());
if (attributePath.length() == 0) {
-   
model.setUpdatedValueAt(attributeSaved.getDbAttributePath(), row, 3);
+   
model.setUpdatedValueAt(attributeSaved.getDbAttributePath(), row, 2);
return false;
}
return true;
@@ -429,14 +429,14 @@ public class ObjAttributeInfoDialog extends 
CayenneController implements TreeSel
if (attribute instanceof EmbeddedAttribute) {
changeAttributeObject();
} else {
-   
model.setUpdatedValueAt(attributeSaved.getName(), row, 1);
-   
model.setUpdatedValueAt(attributeSaved.getType(), row, 2);
+   
model.setUpdatedValueAt(attributeSaved.getName(), row, 0);
+   
model.setUpdatedValueAt(attributeSaved.getType(), row, 1);
}
 
-   
model.setUpdatedValueAt(attributeSaved.getDbAttributePath(), row, 3);
+   
model.setUpdatedValueAt(attributeSaved.getDbAttributePath(), row, 2);
} else {
-   
model.setUpdatedValueAt(attributeSaved.getName(), row, 1);
-   
model.setUpdatedValueAt(attributeSaved.getType(), row, 2);
+   
model.setUpdatedValueAt(attributeSaved.getName(), row, 0);
+   
model.setUpdatedValueAt(attributeSaved.getType(), row, 1);
}
} else {
if ((attributeSaved instanceof EmbeddedAttribute && 
!(attribute instanceof EmbeddedAttribute))
@@ -450,14 +450,14 @@ public class ObjAttributeInfoDialog extends 
CayenneController implements TreeSel

compareAndSetOverrideInEmbeddedAttribute(attributeSaved, overrides, 

[cayenne] branch STABLE-4.1 updated: Exclude building docs in src profile

2019-03-28 Thread abulatski
This is an automated email from the ASF dual-hosted git repository.

abulatski pushed a commit to branch STABLE-4.1
in repository https://gitbox.apache.org/repos/asf/cayenne.git


The following commit(s) were added to refs/heads/STABLE-4.1 by this push:
 new 8d6607a  Exclude building docs in src profile
8d6607a is described below

commit 8d6607a8e30f82c0cfe2bdca3e7de013ec38ffcb
Author: Arseni Bulatski 
AuthorDate: Mon Mar 25 16:32:53 2019 +0300

Exclude building docs in src profile

(cherry picked from commit e561eef80b18aadc2b91b2b23977e3d288e0d95d)
---
 assembly/pom.xml   |  9 -
 docs/asciidoc/cayenne-guide/pom.xml|  4 ++--
 docs/asciidoc/getting-started-db-first/pom.xml |  4 ++--
 docs/asciidoc/getting-started-guide/pom.xml|  4 ++--
 docs/asciidoc/getting-started-rop/pom.xml  |  4 ++--
 docs/asciidoc/upgrade-guide/pom.xml|  4 ++--
 docs/doc/pom.xml   |  2 +-
 docs/pom.xml   | 14 ++
 8 files changed, 33 insertions(+), 12 deletions(-)

diff --git a/assembly/pom.xml b/assembly/pom.xml
index cacb84e..de86b2d 100644
--- a/assembly/pom.xml
+++ b/assembly/pom.xml
@@ -34,6 +34,10 @@
 
An assembly of Cayenne into a generically runnable 
package.
 
+   
+   process-resources
+   
+

 

@@ -186,6 +190,9 @@


src
+   
+   none
+   



@@ -240,7 +247,7 @@

maven-antrun-plugin


-   
process-resources
+   
${build.docs}




diff --git a/docs/asciidoc/cayenne-guide/pom.xml 
b/docs/asciidoc/cayenne-guide/pom.xml
index f7fc84c..0aceb4b 100644
--- a/docs/asciidoc/cayenne-guide/pom.xml
+++ b/docs/asciidoc/cayenne-guide/pom.xml
@@ -83,7 +83,7 @@
 
 
 asciidoctor-html-standalone
-generate-resources
+${build.docs}
 
 process-asciidoc
 
@@ -100,7 +100,7 @@
 
 
 generate-pdf-doc
-generate-resources
+${build.docs}
 
 process-asciidoc
 
diff --git a/docs/asciidoc/getting-started-db-first/pom.xml 
b/docs/asciidoc/getting-started-db-first/pom.xml
index bbe45b4..69197c6 100644
--- a/docs/asciidoc/getting-started-db-first/pom.xml
+++ b/docs/asciidoc/getting-started-db-first/pom.xml
@@ -85,7 +85,7 @@
 
 
 asciidoctor-html-standalone
-generate-resources
+${build.docs}
 
 process-asciidoc
 
@@ -102,7 +102,7 @@
 
 
 generate-pdf-doc
-generate-resources
+${build.docs}
 
 process-asciidoc
 
diff --git a/docs/asciidoc/getting-started-guide/pom.xml 
b/docs/asciidoc/getting-started-guide/pom.xml
index 73adc90..a898545 100644
--- a/docs/asciidoc/getting-started-guide/pom.xml
+++ b/docs/asciidoc/getting-started-guide/pom.xml
@@ -85,7 +85,7 @@
 
 
 asciidoctor-html-standalone
-generate-resources
+${build.docs}
 
 process-asciidoc
 
@@ -102,7 +102,7 @@
 
 
 generate-pdf-doc
-generate-resources
+${build.docs

[cayenne] branch STABLE-4.1 updated: Attach sources and javadoc in cayenne-gradle-plugin build

2019-03-28 Thread abulatski
This is an automated email from the ASF dual-hosted git repository.

abulatski pushed a commit to branch STABLE-4.1
in repository https://gitbox.apache.org/repos/asf/cayenne.git


The following commit(s) were added to refs/heads/STABLE-4.1 by this push:
 new 3ebd109  Attach sources and javadoc in cayenne-gradle-plugin build
3ebd109 is described below

commit 3ebd109586a8fb753d1aa6a10472d8ac539dbe02
Author: Arseni Bulatski 
AuthorDate: Mon Mar 25 17:55:01 2019 +0300

Attach sources and javadoc in cayenne-gradle-plugin build

(cherry picked from commit a5e525ee13b1183458a7cd41068985d0affb19da)
---
 cayenne-gradle-plugin/build.gradle | 15 +++
 cayenne-gradle-plugin/pom.xml  | 10 ++
 2 files changed, 25 insertions(+)

diff --git a/cayenne-gradle-plugin/build.gradle 
b/cayenne-gradle-plugin/build.gradle
index b75d626..dc13018 100644
--- a/cayenne-gradle-plugin/build.gradle
+++ b/cayenne-gradle-plugin/build.gradle
@@ -74,5 +74,20 @@ task licenseFiles(type: Copy) {
 into "$buildDir/resources/main/"
 }
 
+task sourcesJar(type: Jar, dependsOn: classes) {
+classifier = 'sources'
+from sourceSets.main.allSource
+}
+
+task javadocJar(type: Jar, dependsOn: javadoc) {
+classifier = 'javadoc'
+from javadoc.destinationDir
+}
+
+artifacts {
+archives sourcesJar
+archives javadocJar
+}
+
 processResources.dependsOn licenseFiles
 processResources.dependsOn versionFile
\ No newline at end of file
diff --git a/cayenne-gradle-plugin/pom.xml b/cayenne-gradle-plugin/pom.xml
index 7244f7e..01e8e36 100644
--- a/cayenne-gradle-plugin/pom.xml
+++ b/cayenne-gradle-plugin/pom.xml
@@ -122,6 +122,16 @@
 
build/libs/${project.artifactId}-${project.version}.jar
 jar
 
+
+
build/libs/${project.artifactId}-${project.version}-sources.jar
+jar
+sources
+
+
+
build/libs/${project.artifactId}-${project.version}-javadoc.jar
+jar
+javadoc
+
 
 
 



[cayenne] branch master updated: Modeler: cgen templates fix.

2019-04-08 Thread abulatski
This is an automated email from the ASF dual-hosted git repository.

abulatski pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cayenne.git


The following commit(s) were added to refs/heads/master by this push:
 new 366c4fc  Modeler: cgen templates fix.
366c4fc is described below

commit 366c4fc6474be9891a30bb0b910e6b4cf458f96d
Author: Arseni Bulatski 
AuthorDate: Mon Apr 8 14:40:17 2019 +0300

Modeler: cgen templates fix.
---
 .../apache/cayenne/modeler/editor/cgen/ClientModeController.java   | 3 +++
 .../apache/cayenne/modeler/editor/cgen/StandardModeController.java | 7 +--
 2 files changed, 8 insertions(+), 2 deletions(-)

diff --git 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/ClientModeController.java
 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/ClientModeController.java
index b55c24b..12a99d8 100644
--- 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/ClientModeController.java
+++ 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/ClientModeController.java
@@ -20,6 +20,7 @@
 package org.apache.cayenne.modeler.editor.cgen;
 
 import org.apache.cayenne.gen.CgenConfiguration;
+import org.apache.cayenne.gen.ClientClassGenerationAction;
 
 /**
  * @since 4.1
@@ -38,5 +39,7 @@ public class ClientModeController extends 
StandardModeController {
 @Override
 public void updateConfiguration(CgenConfiguration cgenConfiguration) {
 cgenConfiguration.setClient(true);
+
cgenConfiguration.setTemplate(ClientClassGenerationAction.SUBCLASS_TEMPLATE);
+
cgenConfiguration.setSuperTemplate(ClientClassGenerationAction.SUPERCLASS_TEMPLATE);
 }
 }
diff --git 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/StandardModeController.java
 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/StandardModeController.java
index ba4344e..e640dd0 100644
--- 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/StandardModeController.java
+++ 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/StandardModeController.java
@@ -19,11 +19,12 @@
 
 package org.apache.cayenne.modeler.editor.cgen;
 
+import java.awt.*;
+
 import org.apache.cayenne.gen.CgenConfiguration;
+import org.apache.cayenne.gen.ClassGenerationAction;
 import org.apache.cayenne.modeler.pref.DataMapDefaults;
 
-import java.awt.Component;
-
 /**
  * @since 4.1
  */
@@ -54,6 +55,8 @@ public class StandardModeController extends 
GeneratorController {
 @Override
 public void updateConfiguration(CgenConfiguration cgenConfiguration) {
 cgenConfiguration.setClient(false);
+cgenConfiguration.setTemplate(ClassGenerationAction.SUBCLASS_TEMPLATE);
+
cgenConfiguration.setSuperTemplate(ClassGenerationAction.SUPERCLASS_TEMPLATE);
 }
 
 }



[cayenne] branch STABLE-4.1 updated: Modeler: cgen templates fix.

2019-04-08 Thread abulatski
This is an automated email from the ASF dual-hosted git repository.

abulatski pushed a commit to branch STABLE-4.1
in repository https://gitbox.apache.org/repos/asf/cayenne.git


The following commit(s) were added to refs/heads/STABLE-4.1 by this push:
 new 8c4ac89  Modeler: cgen templates fix.
8c4ac89 is described below

commit 8c4ac895876d0a965674249c3dbc466f7bd8ba92
Author: Arseni Bulatski 
AuthorDate: Mon Apr 8 14:40:17 2019 +0300

Modeler: cgen templates fix.

(cherry picked from commit 366c4fc6474be9891a30bb0b910e6b4cf458f96d)
---
 .../apache/cayenne/modeler/editor/cgen/ClientModeController.java   | 3 +++
 .../apache/cayenne/modeler/editor/cgen/StandardModeController.java | 7 +--
 2 files changed, 8 insertions(+), 2 deletions(-)

diff --git 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/ClientModeController.java
 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/ClientModeController.java
index b55c24b..12a99d8 100644
--- 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/ClientModeController.java
+++ 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/ClientModeController.java
@@ -20,6 +20,7 @@
 package org.apache.cayenne.modeler.editor.cgen;
 
 import org.apache.cayenne.gen.CgenConfiguration;
+import org.apache.cayenne.gen.ClientClassGenerationAction;
 
 /**
  * @since 4.1
@@ -38,5 +39,7 @@ public class ClientModeController extends 
StandardModeController {
 @Override
 public void updateConfiguration(CgenConfiguration cgenConfiguration) {
 cgenConfiguration.setClient(true);
+
cgenConfiguration.setTemplate(ClientClassGenerationAction.SUBCLASS_TEMPLATE);
+
cgenConfiguration.setSuperTemplate(ClientClassGenerationAction.SUPERCLASS_TEMPLATE);
 }
 }
diff --git 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/StandardModeController.java
 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/StandardModeController.java
index ba4344e..e640dd0 100644
--- 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/StandardModeController.java
+++ 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/StandardModeController.java
@@ -19,11 +19,12 @@
 
 package org.apache.cayenne.modeler.editor.cgen;
 
+import java.awt.*;
+
 import org.apache.cayenne.gen.CgenConfiguration;
+import org.apache.cayenne.gen.ClassGenerationAction;
 import org.apache.cayenne.modeler.pref.DataMapDefaults;
 
-import java.awt.Component;
-
 /**
  * @since 4.1
  */
@@ -54,6 +55,8 @@ public class StandardModeController extends 
GeneratorController {
 @Override
 public void updateConfiguration(CgenConfiguration cgenConfiguration) {
 cgenConfiguration.setClient(false);
+cgenConfiguration.setTemplate(ClassGenerationAction.SUBCLASS_TEMPLATE);
+
cgenConfiguration.setSuperTemplate(ClassGenerationAction.SUPERCLASS_TEMPLATE);
 }
 
 }



[cayenne] branch STABLE-4.1 updated: Modeler: Fix migration dialog. Get exception when try to migrate table with column without type.

2019-02-28 Thread abulatski
This is an automated email from the ASF dual-hosted git repository.

abulatski pushed a commit to branch STABLE-4.1
in repository https://gitbox.apache.org/repos/asf/cayenne.git


The following commit(s) were added to refs/heads/STABLE-4.1 by this push:
 new c8c3769  Modeler: Fix migration dialog. Get exception when try to 
migrate table with column without type.
c8c3769 is described below

commit c8c3769a09fe3d06fc77b516e89e3df57c2ee7e2
Author: Arseni Bulatski 
AuthorDate: Thu Feb 28 18:50:38 2019 +0300

Modeler: Fix migration dialog. Get exception when try to migrate table with 
column without type.
---
 .../modeler/dialog/db/merge/MergerOptions.java | 65 --
 1 file changed, 35 insertions(+), 30 deletions(-)

diff --git 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/merge/MergerOptions.java
 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/merge/MergerOptions.java
index 057cf01..ceac559 100644
--- 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/merge/MergerOptions.java
+++ 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/merge/MergerOptions.java
@@ -19,6 +19,23 @@
 
 package org.apache.cayenne.modeler.dialog.db.merge;
 
+import javax.sql.DataSource;
+import javax.swing.JFileChooser;
+import javax.swing.JOptionPane;
+import javax.swing.WindowConstants;
+import java.awt.Component;
+import java.io.File;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.io.PrintWriter;
+import java.sql.Connection;
+import java.sql.SQLException;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
+
 import org.apache.cayenne.CayenneRuntimeException;
 import org.apache.cayenne.configuration.event.DataMapEvent;
 import org.apache.cayenne.dba.DbAdapter;
@@ -53,27 +70,11 @@ import org.apache.cayenne.project.Project;
 import org.apache.cayenne.resource.Resource;
 import org.apache.cayenne.swing.BindingBuilder;
 import org.apache.cayenne.swing.ObjectBinding;
+import org.apache.cayenne.validation.SimpleValidationFailure;
+import org.apache.cayenne.validation.ValidationFailure;
 import org.apache.cayenne.validation.ValidationResult;
 import org.slf4j.LoggerFactory;
 
-import javax.sql.DataSource;
-import javax.swing.JFileChooser;
-import javax.swing.JOptionPane;
-import javax.swing.WindowConstants;
-import javax.swing.event.ChangeEvent;
-import javax.swing.event.ChangeListener;
-import java.awt.Component;
-import java.io.File;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.sql.Connection;
-import java.sql.SQLException;
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-
 public class MergerOptions extends CayenneController {
 
 protected MergerOptionsView view;
@@ -88,6 +89,7 @@ public class MergerOptions extends CayenneController {
 protected String defaultCatalog;
 protected String defaultSchema;
 private MergerTokenFactoryProvider mergerTokenFactoryProvider;
+private List failuresList;
 
 public MergerOptions(ProjectController parent,
  String title,
@@ -106,6 +108,7 @@ public class MergerOptions extends CayenneController {
 this.defaultCatalog = defaultCatalog;
 this.defaultSchema = defaultSchema;
 this.view.setTitle(title);
+this.failuresList = new ArrayList<>();
 initController();
 
 prepareMigrator();
@@ -134,14 +137,11 @@ public class MergerOptions extends CayenneController {
 builder.bindToAction(view.getCancelButton(), "closeAction()");
 
 // refresh SQL if different tables were selected
-view.getTabs().addChangeListener(new ChangeListener() {
-
-public void stateChanged(ChangeEvent e) {
-if (view.getTabs().getSelectedIndex() == 1) {
-// this assumes that some tables where 
checked/unchecked... not very
-// efficient
-refreshGeneratorAction();
-}
+view.getTabs().addChangeListener(e -> {
+if (view.getTabs().getSelectedIndex() == 1) {
+// this assumes that some tables where checked/unchecked... 
not very
+// efficient
+refreshGeneratorAction();
 }
 });
 }
@@ -202,9 +202,13 @@ public class MergerOptions extends CayenneController {
 
 if (token instanceof AbstractToDbToken) {
 AbstractToDbToken tdb = (AbstractToDbToken) token;
-for (String sql : tdb.createSql(adapter)) {
-buf.append(sql);
-buf.append(lineEnd);
+try {
+for (String sql : tdb.createSql(adapter)) {
+   

[cayenne] 02/03: CAY-2540 Modeler: redesign dbRelationship editor dialog

2019-02-19 Thread abulatski
This is an automated email from the ASF dual-hosted git repository.

abulatski pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cayenne.git

commit c7a33dad83a5aaff755646958b63e8b28c4d8ee5
Author: Arseni Bulatski 
AuthorDate: Mon Feb 18 16:20:07 2019 +0300

CAY-2540 Modeler: redesign dbRelationship editor dialog
---
 .../cayenne/modeler/DbRelationshipDialogView.java  |  26 +++---
 .../modeler/action/RemoveRelationshipAction.java   |   7 +-
 .../modeler/dialog/DbRelationshipDialog.java   |  48 --
 .../dialog/WarningDialogByDbTargetChange.java  |  20 ++--
 .../dialog/objentity/ObjRelationshipInfo.java  |   5 +-
 .../editor/dbentity/DbRelationshipTableModel.java  |  15 +--
 .../modeler/undo/RelationshipUndoableEdit.java | 104 ++---
 7 files changed, 104 insertions(+), 121 deletions(-)

diff --git 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/DbRelationshipDialogView.java
 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/DbRelationshipDialogView.java
index 46f5369..9cd223a 100644
--- 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/DbRelationshipDialogView.java
+++ 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/DbRelationshipDialogView.java
@@ -99,7 +99,7 @@ public class DbRelationshipDialogView extends CayenneDialog {
 PanelBuilder builder = new PanelBuilder(
 new FormLayout(
 "right:max(50dlu;pref), 3dlu, fill:min(150dlu;pref), 
3dlu, fill:min(50dlu;pref)",
-"p, 3dlu, p, 3dlu, p, 3dlu, p, 3dlu, p, 3dlu, p, 3dlu, 
p, 3dlu, p, 3dlu, " +
+"p, 3dlu, p, 3dlu, p, 3dlu, p, 3dlu, p, 3dlu, p, 3dlu, 
p, 3dlu, " +
 "p, 3dlu, p, 9dlu, p, 3dlu, top:14dlu, 3dlu, 
top:p:grow"));
 builder.setDefaultDialogBorder();
 
@@ -108,11 +108,14 @@ public class DbRelationshipDialogView extends 
CayenneDialog {
 builder.addLabel("Relationship Name:", cc.xy(1, 3));
 builder.add(name, cc.xywh(3, 3, 1, 1));
 
-builder.addLabel("Target Entity:", cc.xy(1, 5));
-builder.add(targetEntities, cc.xywh(3, 5, 1, 1));
+builder.addLabel("Source Entity:", cc.xy(1, 5));
+builder.add(sourceName, cc.xywh(3, 5, 1, 1));
 
-builder.addLabel("To Dep PK:", cc.xy(1, 7));
-builder.add(toDepPk, cc.xywh(3, 7, 1, 1));
+builder.addLabel("Target Entity:", cc.xy(1, 7));
+builder.add(targetEntities, cc.xywh(3, 7, 1, 1));
+
+builder.addLabel("To Dep PK:", cc.xy(1, 9));
+builder.add(toDepPk, cc.xywh(3, 9, 1, 1));
 
 builder.addLabel("To Many:", cc.xy(1, 11));
 builder.add(toMany, cc.xywh(3, 11, 1, 1));
@@ -122,20 +125,17 @@ public class DbRelationshipDialogView extends 
CayenneDialog {
 
 builder.addSeparator("DbRelationship Information", cc.xywh(1, 15, 5, 
1));
 
-builder.addLabel("Source Entity:", cc.xy(1, 17));
-builder.add(sourceName, cc.xywh(3, 17, 1, 1));
-
-builder.addLabel("Reverse Relationship Name:", cc.xy(1, 19));
-builder.add(reverseName, cc.xywh(3, 19, 1, 1));
+builder.addLabel("Reverse Relationship Name:", cc.xy(1, 17));
+builder.add(reverseName, cc.xywh(3, 17, 1, 1));
 
-builder.addSeparator("Joins", cc.xywh(1, 21, 5, 1));
-builder.add(new JScrollPane(table), cc.xywh(1, 23, 3, 3, "fill, 
fill"));
+builder.addSeparator("Joins", cc.xywh(1, 19, 5, 1));
+builder.add(new JScrollPane(table), cc.xywh(1, 21, 3, 3, "fill, 
fill"));
 
 JPanel joinButtons = new JPanel(new FlowLayout(FlowLayout.LEADING));
 joinButtons.add(addButton);
 joinButtons.add(removeButton);
 
-builder.add(joinButtons, cc.xywh(5, 23, 1, 3));
+builder.add(joinButtons, cc.xywh(5, 21, 1, 3));
 
 getContentPane().add(builder.getPanel(), BorderLayout.CENTER);
 JButton[] buttons = {cancelButton, saveButton};
diff --git 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/RemoveRelationshipAction.java
 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/RemoveRelationshipAction.java
index 6682a5a..b45eeb6 100644
--- 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/RemoveRelationshipAction.java
+++ 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/RemoveRelationshipAction.java
@@ -125,11 +125,12 @@ public class RemoveRelationshipAction extends 
RemoveAction implements
public void removeDbRelationships(DbEntity entity, DbRelationship[] 
rels) {
ProjectController mediator = getProjectController();
 
-   for (DbRelationship rel : rels) {
-  

[cayenne] branch master updated (68cd011 -> c7cfdea)

2019-02-19 Thread abulatski
This is an automated email from the ASF dual-hosted git repository.

abulatski pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/cayenne.git.


from 68cd011  Fix javadoc generation on java 11
 new 56e1556  CAY-2540 Modeler: redesign dbRelationship editor dialog
 new c7a33da  CAY-2540 Modeler: redesign dbRelationship editor dialog
 new c7cfdea  Merge PR #367

The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 RELEASE-NOTES.txt  |   1 +
 .../cayenne/modeler/DbRelationshipDialogView.java  | 230 
 .../modeler/action/CreateRelationshipAction.java   |  16 +-
 .../modeler/action/RemoveRelationshipAction.java   |   7 +-
 .../modeler/dialog/DbRelationshipDialog.java   | 417 +
 .../dialog/ResolveDbRelationshipDialog.java| 401 
 .../dialog/WarningDialogByDbTargetChange.java  |  20 +-
 .../dialog/objentity/DbRelationshipTarget.java | 144 ---
 .../dialog/objentity/ObjRelationshipInfo.java  |  67 ++--
 .../editor/dbentity/DbEntityRelationshipPanel.java |  56 ++-
 .../editor/dbentity/DbRelationshipTableModel.java  |  22 +-
 .../modeler/undo/RelationshipUndoableEdit.java | 109 ++
 12 files changed, 757 insertions(+), 733 deletions(-)
 create mode 100644 
modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/DbRelationshipDialogView.java
 create mode 100644 
modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/DbRelationshipDialog.java
 delete mode 100644 
modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/ResolveDbRelationshipDialog.java
 delete mode 100644 
modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/objentity/DbRelationshipTarget.java



[cayenne] 03/03: Merge PR #367

2019-02-19 Thread abulatski
This is an automated email from the ASF dual-hosted git repository.

abulatski pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cayenne.git

commit c7cfdeab3e87c3bbedb972a9ba7be3f6844f8e8b
Merge: 68cd011 c7a33da
Author: Arseni Bulatski 
AuthorDate: Tue Feb 19 15:49:27 2019 +0300

Merge PR #367

 RELEASE-NOTES.txt  |   1 +
 .../cayenne/modeler/DbRelationshipDialogView.java  | 230 
 .../modeler/action/CreateRelationshipAction.java   |  16 +-
 .../modeler/action/RemoveRelationshipAction.java   |   7 +-
 .../modeler/dialog/DbRelationshipDialog.java   | 417 +
 .../dialog/ResolveDbRelationshipDialog.java| 401 
 .../dialog/WarningDialogByDbTargetChange.java  |  20 +-
 .../dialog/objentity/DbRelationshipTarget.java | 144 ---
 .../dialog/objentity/ObjRelationshipInfo.java  |  67 ++--
 .../editor/dbentity/DbEntityRelationshipPanel.java |  56 ++-
 .../editor/dbentity/DbRelationshipTableModel.java  |  22 +-
 .../modeler/undo/RelationshipUndoableEdit.java | 109 ++
 12 files changed, 757 insertions(+), 733 deletions(-)



[cayenne] branch master updated: CAY-2530 DB Import and Class Generation from Project is performed for removed datamaps

2019-03-06 Thread abulatski
This is an automated email from the ASF dual-hosted git repository.

abulatski pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cayenne.git


The following commit(s) were added to refs/heads/master by this push:
 new e7338cc  CAY-2530 DB Import and Class Generation from Project is 
performed for removed datamaps
e7338cc is described below

commit e7338cc9d1aabab9adbd2266a7d9433b2b18bd8e
Author: Arseni Bulatski 
AuthorDate: Mon Feb 11 15:54:28 2019 +0300

CAY-2530 DB Import and Class Generation from Project is performed for 
removed datamaps
---
 RELEASE-NOTES.txt  |  1 +
 .../modeler/editor/GeneratorsTabController.java| 22 ++
 .../editor/cgen/domain/CgenTabController.java  |  5 ++---
 .../dbimport/domain/DbImportTabController.java |  7 +++
 4 files changed, 20 insertions(+), 15 deletions(-)

diff --git a/RELEASE-NOTES.txt b/RELEASE-NOTES.txt
index 62aad0a..796ddb2 100644
--- a/RELEASE-NOTES.txt
+++ b/RELEASE-NOTES.txt
@@ -29,6 +29,7 @@ Bug Fixes:
 
 CAY-2332 Property API: unable to use eq() and in() methods for toMany 
relationships
 CAY-2509 Result of resolving lazily faulted relationships can be out-of-date
+CAY-2530 DB Import and Class Generation from Project is performed for removed 
datamaps
 CAY-2544 Possible name clash of ivar and property name in generated class
 CAY-2547 CayenneDataObject serialization issue
 
diff --git 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/GeneratorsTabController.java
 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/GeneratorsTabController.java
index a257643..8219d2c 100644
--- 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/GeneratorsTabController.java
+++ 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/GeneratorsTabController.java
@@ -18,6 +18,13 @@
  /
 package org.apache.cayenne.modeler.editor;
 
+import java.awt.event.ItemEvent;
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.Set;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.ConcurrentMap;
+
 import org.apache.cayenne.configuration.DataChannelDescriptor;
 import org.apache.cayenne.map.DataMap;
 import org.apache.cayenne.modeler.ProjectController;
@@ -26,13 +33,6 @@ import org.apache.cayenne.project.Project;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import java.awt.event.ItemEvent;
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.Set;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.ConcurrentMap;
-
 /**
  * @since 4.1
  */
@@ -46,10 +46,11 @@ public abstract class GeneratorsTabController {
 public ConcurrentMap generatorsPanels;
 public Set selectedDataMaps;
 
-public GeneratorsTabController(Class type) {
+public GeneratorsTabController(Class type, ProjectController 
projectController) {
 this.type = type;
 this.generatorsPanels = new ConcurrentHashMap<>();
 this.selectedDataMaps = new HashSet<>();
+this.projectController = projectController;
 }
 
 public String icon;
@@ -58,6 +59,7 @@ public abstract class GeneratorsTabController {
 
 public void createPanels(){
 Collection dataMaps = getDataMaps();
+refreshSelectedMaps(dataMaps);
 generatorsPanels.clear();
 for(DataMap dataMap : dataMaps) {
 GeneratorsPanel generatorPanel = new GeneratorsPanel(dataMap, 
"icon-datamap.png", type);
@@ -132,4 +134,8 @@ public abstract class GeneratorsTabController {
 Set getSelectedDataMaps() {
 return selectedDataMaps;
 }
+
+private void refreshSelectedMaps(Collection dataMaps) {
+selectedDataMaps.removeIf(dataMap -> !dataMaps.contains(dataMap));
+}
 }
diff --git 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/domain/CgenTabController.java
 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/domain/CgenTabController.java
index af1505b..62d9d55 100644
--- 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/domain/CgenTabController.java
+++ 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/domain/CgenTabController.java
@@ -19,7 +19,7 @@
 
 package org.apache.cayenne.modeler.editor.cgen.domain;
 
-import javax.swing.*;
+import javax.swing.JOptionPane;
 import java.io.IOException;
 import java.nio.file.Files;
 import java.nio.file.Path;
@@ -46,8 +46,7 @@ import org.apache.cayenne.tools.ToolsInjectorBuilder;
 public class CgenTabController extends GeneratorsTabController {
 
 public CgenTabController(ProjectController projectController) {
-super(CgenConfiguration.class);
-this.projectController = projectController;
+supe

[cayenne] branch master updated: CAY-2531 Importing same schema after Import Revert clears all entities in datamap

2019-03-06 Thread abulatski
This is an automated email from the ASF dual-hosted git repository.

abulatski pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cayenne.git


The following commit(s) were added to refs/heads/master by this push:
 new 40a2298  CAY-2531 Importing same schema after Import Revert clears all 
entities in datamap
40a2298 is described below

commit 40a2298356b1552f49d9fe6dcafc6bfc46cb86cd
Author: Arseni Bulatski 
AuthorDate: Tue Feb 12 12:35:32 2019 +0300

CAY-2531 Importing same schema after Import Revert clears all entities in 
datamap
---
 RELEASE-NOTES.txt  |  1 +
 .../modeler/dialog/db/load/DbLoadResultDialog.java | 18 ++--
 .../dialog/db/load/ModelerDbImportAction.java  | 51 +++---
 .../cayenne/modeler/editor/DbImportController.java |  9 ++--
 4 files changed, 46 insertions(+), 33 deletions(-)

diff --git a/RELEASE-NOTES.txt b/RELEASE-NOTES.txt
index 796ddb2..5a63a04 100644
--- a/RELEASE-NOTES.txt
+++ b/RELEASE-NOTES.txt
@@ -30,6 +30,7 @@ Bug Fixes:
 CAY-2332 Property API: unable to use eq() and in() methods for toMany 
relationships
 CAY-2509 Result of resolving lazily faulted relationships can be out-of-date
 CAY-2530 DB Import and Class Generation from Project is performed for removed 
datamaps
+CAY-2531 Importing same schema after Import Revert clears all entities in 
datamap
 CAY-2544 Possible name clash of ivar and property name in generated class
 CAY-2547 CayenneDataObject serialization issue
 
diff --git 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/load/DbLoadResultDialog.java
 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/load/DbLoadResultDialog.java
index 898b9b1..33ae7ea 100644
--- 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/load/DbLoadResultDialog.java
+++ 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/load/DbLoadResultDialog.java
@@ -19,10 +19,6 @@
 
 package org.apache.cayenne.modeler.dialog.db.load;
 
-import com.jgoodies.forms.builder.DefaultFormBuilder;
-import com.jgoodies.forms.layout.FormLayout;
-import org.apache.cayenne.map.DataMap;
-
 import javax.swing.BoxLayout;
 import javax.swing.JButton;
 import javax.swing.JDialog;
@@ -36,9 +32,14 @@ import javax.swing.table.DefaultTableModel;
 import java.awt.BorderLayout;
 import java.awt.Dimension;
 import java.awt.FlowLayout;
+import java.awt.event.ActionListener;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ConcurrentMap;
 
+import com.jgoodies.forms.builder.DefaultFormBuilder;
+import com.jgoodies.forms.layout.FormLayout;
+import org.apache.cayenne.map.DataMap;
+
 /**
  * @since 4.1
  */
@@ -124,6 +125,15 @@ public class DbLoadResultDialog extends JDialog {
 return tokensTableModel;
 }
 
+public void removeListenersFromButtons() {
+for(ActionListener actionListener : okButton.getActionListeners()) {
+okButton.removeActionListener(actionListener);
+}
+for(ActionListener actionListener : revertButton.getActionListeners()) 
{
+revertButton.removeActionListener(actionListener);
+}
+}
+
 public synchronized void addRowToOutput(String output, DataMap dataMap) {
 prepareTable(dataMap).addRow(new Object[]{output});
 }
diff --git 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/load/ModelerDbImportAction.java
 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/load/ModelerDbImportAction.java
index 8be5309..476f4d0 100644
--- 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/load/ModelerDbImportAction.java
+++ 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/load/ModelerDbImportAction.java
@@ -19,6 +19,14 @@
 
 package org.apache.cayenne.modeler.dialog.db.load;
 
+import javax.swing.JDialog;
+import javax.swing.JOptionPane;
+import java.awt.event.ComponentAdapter;
+import java.awt.event.ComponentEvent;
+import java.io.IOException;
+import java.util.Collection;
+import java.util.List;
+
 import org.apache.cayenne.CayenneRuntimeException;
 import org.apache.cayenne.configuration.DataChannelDescriptorLoader;
 import org.apache.cayenne.configuration.DataMapLoader;
@@ -36,14 +44,6 @@ import org.apache.cayenne.modeler.editor.DbImportController;
 import org.apache.cayenne.project.ProjectSaver;
 import org.slf4j.Logger;
 
-import javax.swing.JDialog;
-import javax.swing.JOptionPane;
-import java.awt.event.ComponentAdapter;
-import java.awt.event.ComponentEvent;
-import java.io.IOException;
-import java.util.Collection;
-import java.util.List;
-
 public class ModelerDbImportAction extends DefaultDbImportAction {
 
 private static final String DIALOG_TITLE = "Reverse Engineering Result";
@@ -85,23 +85,6 @@ public class ModelerDbImportAction extends 
DefaultDbImportAction {

[cayenne] branch master updated: CAY-2535 Imposible to import stored proceedure apart from db tables

2019-03-06 Thread abulatski
This is an automated email from the ASF dual-hosted git repository.

abulatski pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cayenne.git


The following commit(s) were added to refs/heads/master by this push:
 new 7024368  CAY-2535 Imposible to import stored proceedure apart from db 
tables
7024368 is described below

commit 7024368368e1a74be580fbdee8398563bd1a3505
Author: Arseni Bulatski 
AuthorDate: Tue Feb 12 15:17:38 2019 +0300

CAY-2535 Imposible to import stored proceedure apart from db tables
---
 RELEASE-NOTES.txt  |  1 +
 .../reverse/dbimport/DefaultDbImportAction.java| 42 +++---
 .../dialog/db/load/ModelerDbImportAction.java  | 40 +
 .../cayenne/modeler/editor/DbImportController.java | 19 ++
 4 files changed, 69 insertions(+), 33 deletions(-)

diff --git a/RELEASE-NOTES.txt b/RELEASE-NOTES.txt
index 9855398..8f710ee 100644
--- a/RELEASE-NOTES.txt
+++ b/RELEASE-NOTES.txt
@@ -32,6 +32,7 @@ CAY-2509 Result of resolving lazily faulted relationships can 
be out-of-date
 CAY-2530 DB Import and Class Generation from Project is performed for removed 
datamaps
 CAY-2531 Importing same schema after Import Revert clears all entities in 
datamap
 CAY-2533 Modeler: Exception on validating ObjRelationship without db path
+CAY-2535 Imposible to import stored proceedure apart from db tables
 CAY-2544 Possible name clash of ivar and property name in generated class
 CAY-2547 CayenneDataObject serialization issue
 
diff --git 
a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/reverse/dbimport/DefaultDbImportAction.java
 
b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/reverse/dbimport/DefaultDbImportAction.java
index d0884cc..7785234 100644
--- 
a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/reverse/dbimport/DefaultDbImportAction.java
+++ 
b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/reverse/dbimport/DefaultDbImportAction.java
@@ -19,6 +19,16 @@
 
 package org.apache.cayenne.dbsync.reverse.dbimport;
 
+import javax.sql.DataSource;
+import java.io.File;
+import java.io.IOException;
+import java.net.MalformedURLException;
+import java.sql.Connection;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.LinkedList;
+import java.util.List;
+
 import org.apache.cayenne.CayenneRuntimeException;
 import org.apache.cayenne.configuration.ConfigurationNode;
 import org.apache.cayenne.configuration.ConfigurationTree;
@@ -30,17 +40,17 @@ import 
org.apache.cayenne.configuration.server.DataSourceFactory;
 import org.apache.cayenne.configuration.server.DbAdapterFactory;
 import org.apache.cayenne.configuration.xml.DataChannelMetaData;
 import org.apache.cayenne.dba.DbAdapter;
-import org.apache.cayenne.dbsync.merge.token.model.AbstractToModelToken;
 import org.apache.cayenne.dbsync.merge.DataMapMerger;
 import org.apache.cayenne.dbsync.merge.context.MergerContext;
-import org.apache.cayenne.dbsync.merge.token.MergerToken;
-import org.apache.cayenne.dbsync.reverse.dbload.ModelMergeDelegate;
-import org.apache.cayenne.dbsync.reverse.dbload.ProxyModelMergeDelegate;
 import org.apache.cayenne.dbsync.merge.factory.MergerTokenFactory;
 import org.apache.cayenne.dbsync.merge.factory.MergerTokenFactoryProvider;
+import org.apache.cayenne.dbsync.merge.token.MergerToken;
+import org.apache.cayenne.dbsync.merge.token.model.AbstractToModelToken;
 import org.apache.cayenne.dbsync.naming.ObjectNameGenerator;
 import org.apache.cayenne.dbsync.reverse.dbload.DbLoader;
 import org.apache.cayenne.dbsync.reverse.dbload.DbLoaderConfiguration;
+import org.apache.cayenne.dbsync.reverse.dbload.ModelMergeDelegate;
+import org.apache.cayenne.dbsync.reverse.dbload.ProxyModelMergeDelegate;
 import org.apache.cayenne.dbsync.reverse.filters.CatalogFilter;
 import org.apache.cayenne.dbsync.reverse.filters.FiltersConfig;
 import org.apache.cayenne.dbsync.reverse.filters.FiltersConfigBuilder;
@@ -60,16 +70,6 @@ import org.apache.cayenne.validation.ValidationFailure;
 import org.apache.cayenne.validation.ValidationResult;
 import org.slf4j.Logger;
 
-import javax.sql.DataSource;
-import java.io.File;
-import java.io.IOException;
-import java.net.MalformedURLException;
-import java.sql.Connection;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.LinkedList;
-import java.util.List;
-
 import static org.apache.cayenne.util.Util.isBlank;
 
 /**
@@ -272,19 +272,19 @@ public class DefaultDbImportAction implements 
DbImportAction {
 return false;
 }
 
-if(!defaultPackage.equals(targetDataMap.getDefaultPackage())) {
-return false;
-}
+return defaultPackage.equals(targetDataMap.getDefaultPackage());
+}
 
-return true;
+protected boolean hasChangesForProcedure(Procedure procedure) {
+PatternFilter proceduresFilter = 
filters.proceduresFilter(procedure.getCatalog

[cayenne] branch master updated (40a2298 -> 40b991b)

2019-03-06 Thread abulatski
This is an automated email from the ASF dual-hosted git repository.

abulatski pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/cayenne.git.


from 40a2298  CAY-2531 Importing same schema after Import Revert clears all 
entities in datamap
 new 45beebd  CAY-2533 Modeler: Exception on validating ObjRelationship 
without db path
 new 40b991b  CAY-2533 Modeler: Exception on validating ObjRelationship 
without db path

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 RELEASE-NOTES.txt   | 1 +
 .../apache/cayenne/project/validation/ObjRelationshipValidator.java | 6 +++---
 2 files changed, 4 insertions(+), 3 deletions(-)



[cayenne] 02/02: CAY-2533 Modeler: Exception on validating ObjRelationship without db path

2019-03-06 Thread abulatski
This is an automated email from the ASF dual-hosted git repository.

abulatski pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cayenne.git

commit 40b991b14a7633a87eae4955ccae65c22550120a
Author: Arseni Bulatski 
AuthorDate: Wed Mar 6 11:40:57 2019 +0300

CAY-2533 Modeler: Exception on validating ObjRelationship without db path
---
 RELEASE-NOTES.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/RELEASE-NOTES.txt b/RELEASE-NOTES.txt
index 1224677..9855398 100644
--- a/RELEASE-NOTES.txt
+++ b/RELEASE-NOTES.txt
@@ -31,6 +31,7 @@ CAY-2332 Property API: unable to use eq() and in() methods 
for toMany relationsh
 CAY-2509 Result of resolving lazily faulted relationships can be out-of-date
 CAY-2530 DB Import and Class Generation from Project is performed for removed 
datamaps
 CAY-2531 Importing same schema after Import Revert clears all entities in 
datamap
+CAY-2533 Modeler: Exception on validating ObjRelationship without db path
 CAY-2544 Possible name clash of ivar and property name in generated class
 CAY-2547 CayenneDataObject serialization issue
 
@@ -83,7 +84,6 @@ CAY-2501 Modeler: DbImport ui not loading columns for MySQL 
connector v8.0
 CAY-2502 DataMap in DataNode tree view disappears after dbImport
 CAY-2504 Broken detection logic of NoopEventBridge in DataRowStoreFactory
 CAY-2505 EventBridge providers should be bound without scope
-CAY-2533 Modeler: Exception on validating ObjRelationship without db path
 
 --
 Release: 4.1.M2



[cayenne] 01/02: CAY-2533 Modeler: Exception on validating ObjRelationship without db path

2019-03-06 Thread abulatski
This is an automated email from the ASF dual-hosted git repository.

abulatski pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cayenne.git

commit 45beebd838b14a3fcfce665435b1b5f6ffc2abaf
Author: Nikita Timofeev 
AuthorDate: Mon Feb 11 15:01:49 2019 +0300

CAY-2533 Modeler: Exception on validating ObjRelationship without db path
---
 RELEASE-NOTES.txt   | 1 +
 .../apache/cayenne/project/validation/ObjRelationshipValidator.java | 6 +++---
 2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/RELEASE-NOTES.txt b/RELEASE-NOTES.txt
index 5a63a04..1224677 100644
--- a/RELEASE-NOTES.txt
+++ b/RELEASE-NOTES.txt
@@ -83,6 +83,7 @@ CAY-2501 Modeler: DbImport ui not loading columns for MySQL 
connector v8.0
 CAY-2502 DataMap in DataNode tree view disappears after dbImport
 CAY-2504 Broken detection logic of NoopEventBridge in DataRowStoreFactory
 CAY-2505 EventBridge providers should be bound without scope
+CAY-2533 Modeler: Exception on validating ObjRelationship without db path
 
 --
 Release: 4.1.M2
diff --git 
a/cayenne-project/src/main/java/org/apache/cayenne/project/validation/ObjRelationshipValidator.java
 
b/cayenne-project/src/main/java/org/apache/cayenne/project/validation/ObjRelationshipValidator.java
index b898b4a..a3b7f31 100644
--- 
a/cayenne-project/src/main/java/org/apache/cayenne/project/validation/ObjRelationshipValidator.java
+++ 
b/cayenne-project/src/main/java/org/apache/cayenne/project/validation/ObjRelationshipValidator.java
@@ -126,13 +126,13 @@ class ObjRelationshipValidator extends 
ConfigurationNodeValidator {
 }
 }
 
-if(!relationship.isToPK()) {
+if(!relationship.getDbRelationships().isEmpty() && 
!relationship.isToPK()) {
 ObjRelationship reverseRelationship = 
relationship.getReverseRelationship();
-if(reverseRelationship != null && !reverseRelationship.isToPK()) {
+if(reverseRelationship != null && 
!relationship.getDbRelationships().isEmpty() && !reverseRelationship.isToPK()) {
 addFailure(
 validationResult,
 relationship,
-"ObjRelationship '%s' has join not to PK. Cayenne 
doesn't allow this type of relationship",
+"ObjRelationship '%s' has join not to PK. This is not 
fully supported by Cayenne.",
 toString(relationship));
 }
 }



[cayenne] 01/02: CAY-2537 Generate DB Schema: Schema Generation Complete popup window is hidden

2019-03-06 Thread abulatski
This is an automated email from the ASF dual-hosted git repository.

abulatski pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cayenne.git

commit 55f653d76fd1b3f3834b38363554999839d3a753
Author: Arseni Bulatski 
AuthorDate: Wed Feb 13 10:23:27 2019 +0300

CAY-2537 Generate DB Schema: Schema Generation Complete popup window is 
hidden
---
 .../cayenne/modeler/dialog/ValidationResultBrowserView.java   | 11 +++
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/ValidationResultBrowserView.java
 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/ValidationResultBrowserView.java
index 3bd28c0..0ed7a7d 100644
--- 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/ValidationResultBrowserView.java
+++ 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/ValidationResultBrowserView.java
@@ -20,10 +20,6 @@
 
 package org.apache.cayenne.modeler.dialog;
 
-import com.jgoodies.forms.builder.PanelBuilder;
-import com.jgoodies.forms.layout.CellConstraints;
-import com.jgoodies.forms.layout.FormLayout;
-
 import javax.swing.JButton;
 import javax.swing.JComponent;
 import javax.swing.JDialog;
@@ -35,6 +31,11 @@ import java.awt.BorderLayout;
 import java.awt.Dimension;
 import java.awt.FlowLayout;
 
+import com.jgoodies.forms.builder.PanelBuilder;
+import com.jgoodies.forms.layout.CellConstraints;
+import com.jgoodies.forms.layout.FormLayout;
+import org.apache.cayenne.modeler.Application;
+
 /**
  */
 public class ValidationResultBrowserView extends JDialog {
@@ -44,6 +45,8 @@ public class ValidationResultBrowserView extends JDialog {
 protected JButton closeButton;
 
 public ValidationResultBrowserView() {
+super(Application.getFrame());
+
 this.closeButton = new JButton("Close");
 
 this.messageLabel = new JTextArea();



[cayenne] 02/02: CAY-2537 Generate DB Schema: Schema Generation Complete popup window is hidden

2019-03-06 Thread abulatski
This is an automated email from the ASF dual-hosted git repository.

abulatski pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cayenne.git

commit e5cd37a11bdfa43557233408c1f01aa94e00f213
Author: Arseni Bulatski 
AuthorDate: Wed Mar 6 11:57:25 2019 +0300

CAY-2537 Generate DB Schema: Schema Generation Complete popup window is 
hidden
---
 RELEASE-NOTES.txt | 1 +
 1 file changed, 1 insertion(+)

diff --git a/RELEASE-NOTES.txt b/RELEASE-NOTES.txt
index 8f710ee..4d28fa0 100644
--- a/RELEASE-NOTES.txt
+++ b/RELEASE-NOTES.txt
@@ -33,6 +33,7 @@ CAY-2530 DB Import and Class Generation from Project is 
performed for removed da
 CAY-2531 Importing same schema after Import Revert clears all entities in 
datamap
 CAY-2533 Modeler: Exception on validating ObjRelationship without db path
 CAY-2535 Imposible to import stored proceedure apart from db tables
+CAY-2537 Generate DB Schema: Schema Generation Complete popup window is hidden
 CAY-2544 Possible name clash of ivar and property name in generated class
 CAY-2547 CayenneDataObject serialization issue
 



[cayenne] branch master updated (7024368 -> e5cd37a)

2019-03-06 Thread abulatski
This is an automated email from the ASF dual-hosted git repository.

abulatski pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/cayenne.git.


from 7024368  CAY-2535 Imposible to import stored proceedure apart from db 
tables
 new 55f653d  CAY-2537 Generate DB Schema: Schema Generation Complete popup 
window is hidden
 new e5cd37a  CAY-2537 Generate DB Schema: Schema Generation Complete popup 
window is hidden

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 RELEASE-NOTES.txt |  1 +
 .../cayenne/modeler/dialog/ValidationResultBrowserView.java   | 11 +++
 2 files changed, 8 insertions(+), 4 deletions(-)



[cayenne] branch master updated: CAY-2542 Redesign ObjRelationship editor dialog

2019-03-06 Thread abulatski
This is an automated email from the ASF dual-hosted git repository.

abulatski pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cayenne.git


The following commit(s) were added to refs/heads/master by this push:
 new 961cbe1  CAY-2542 Redesign ObjRelationship editor dialog
961cbe1 is described below

commit 961cbe1aae496d66519a05e4aaaf8ec0084b0525
Author: Arseni Bulatski 
AuthorDate: Wed Mar 6 17:49:23 2019 +0300

CAY-2542 Redesign ObjRelationship editor dialog
---
 RELEASE-NOTES.txt  |   1 +
 .../modeler/action/CreateRelationshipAction.java   |  11 +-
 .../dialog/objentity/ObjRelationshipInfo.java  | 253 +
 .../dialog/objentity/ObjRelationshipInfoView.java  | 150 +++-
 .../modeler/editor/ObjEntityRelationshipPanel.java |  60 ++---
 .../modeler/undo/RelationshipUndoableEdit.java |  59 -
 6 files changed, 332 insertions(+), 202 deletions(-)

diff --git a/RELEASE-NOTES.txt b/RELEASE-NOTES.txt
index 4d28fa0..4f1f186 100644
--- a/RELEASE-NOTES.txt
+++ b/RELEASE-NOTES.txt
@@ -23,6 +23,7 @@ CAY-2518 Add method to append having qualifier expression to 
ObjectSelect
 CAY-2520 Split ObjectId into several specialized variants
 CAY-2522 Make ObjectSelect a direct query
 CAY-2540 Modeler: redesign dbRelationship editor dialog
+CAY-2542 Redesign ObjRelationship editor dialog
 CAY-2543 Move ResultSetMapping generation from metadata to translator
 
 Bug Fixes:
diff --git 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/CreateRelationshipAction.java
 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/CreateRelationshipAction.java
index 9c74e42..325a44d 100644
--- 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/CreateRelationshipAction.java
+++ 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/CreateRelationshipAction.java
@@ -23,7 +23,6 @@ import java.awt.event.ActionEvent;
 
 import org.apache.cayenne.configuration.ConfigurationNode;
 import org.apache.cayenne.configuration.DataChannelDescriptor;
-import org.apache.cayenne.dbsync.naming.NameBuilder;
 import org.apache.cayenne.map.DbEntity;
 import org.apache.cayenne.map.DbRelationship;
 import org.apache.cayenne.map.Entity;
@@ -35,8 +34,8 @@ import org.apache.cayenne.map.event.RelationshipEvent;
 import org.apache.cayenne.modeler.Application;
 import org.apache.cayenne.modeler.ProjectController;
 import org.apache.cayenne.modeler.dialog.DbRelationshipDialog;
+import org.apache.cayenne.modeler.dialog.objentity.ObjRelationshipInfo;
 import org.apache.cayenne.modeler.event.RelationshipDisplayEvent;
-import org.apache.cayenne.modeler.undo.CreateRelationshipUndoableEdit;
 import org.apache.cayenne.modeler.util.CayenneAction;
 import org.apache.cayenne.util.DeleteRuleUpdater;
 
@@ -93,12 +92,10 @@ public class CreateRelationshipAction extends CayenneAction 
{
 ObjEntity objEnt = getProjectController().getCurrentObjEntity();
 if (objEnt != null) {
 
-ObjRelationship rel = new ObjRelationship();
-rel.setName(NameBuilder.builder(rel, objEnt).name());
-createObjRelationship(objEnt, rel);
+new ObjRelationshipInfo(getProjectController())
+.createRelationship(objEnt)
+.startupAction();
 
-application.getUndoManager().addEdit(
-new CreateRelationshipUndoableEdit(objEnt, new 
ObjRelationship[]{rel}));
 } else {
 DbEntity dbEnt = getProjectController().getCurrentDbEntity();
 if (dbEnt != null) {
diff --git 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/objentity/ObjRelationshipInfo.java
 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/objentity/ObjRelationshipInfo.java
index c3c3062..53f8e34 100644
--- 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/objentity/ObjRelationshipInfo.java
+++ 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/objentity/ObjRelationshipInfo.java
@@ -32,48 +32,59 @@ import java.util.Objects;
 import java.util.Optional;
 
 import org.apache.cayenne.CayenneRuntimeException;
+import org.apache.cayenne.configuration.DataChannelDescriptor;
+import org.apache.cayenne.dbsync.naming.NameBuilder;
 import org.apache.cayenne.dbsync.naming.ObjectNameGenerator;
 import org.apache.cayenne.map.DbEntity;
 import org.apache.cayenne.map.DbRelationship;
+import org.apache.cayenne.map.DeleteRule;
 import org.apache.cayenne.map.Entity;
 import org.apache.cayenne.map.ObjAttribute;
 import org.apache.cayenne.map.ObjEntity;
 import org.apache.cayenne.map.ObjRelationship;
 import org.apache.cayenne.map.Relationship;
+import org.apache.cayenne.map.event.MapEvent;
 import org.apache.cayenne.map.event.RelationshipEvent;
 import org.apache.cayenne.modeler.Application;
 import

[cayenne] branch STABLE-4.0 updated: CAY-2550 Modeler: ObjAttribute inspector modifies wrong columns in attribute table

2019-03-07 Thread abulatski
This is an automated email from the ASF dual-hosted git repository.

abulatski pushed a commit to branch STABLE-4.0
in repository https://gitbox.apache.org/repos/asf/cayenne.git


The following commit(s) were added to refs/heads/STABLE-4.0 by this push:
 new d106df0  CAY-2550 Modeler: ObjAttribute inspector modifies wrong 
columns in attribute table
d106df0 is described below

commit d106df0753d86de9edf1f73b346baec6a9ef1fb9
Author: Arseni Bulatski 
AuthorDate: Thu Mar 7 15:57:57 2019 +0300

CAY-2550 Modeler: ObjAttribute inspector modifies wrong columns in 
attribute table
---
 RELEASE-NOTES.txt  |  9 
 .../dialog/objentity/ObjAttributeInfoDialog.java   | 24 +++---
 2 files changed, 21 insertions(+), 12 deletions(-)

diff --git a/RELEASE-NOTES.txt b/RELEASE-NOTES.txt
index a27c383..02a2cd0 100644
--- a/RELEASE-NOTES.txt
+++ b/RELEASE-NOTES.txt
@@ -8,6 +8,15 @@ To browse individual bug reports check out project issue 
tracker:
 https://issues.apache.org/jira/browse/CAY
 
 --
+Release: 4.0.2
+Date:
+--
+
+Bug Fixes:
+
+CAY-2550 Modeler: ObjAttribute inspector modifies wrong columns in attribute 
table
+
+--
 Release: 4.0.1
 Date: December 20, 2018
 --
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 a0d0a39..7f8c258 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
@@ -401,7 +401,7 @@ public class ObjAttributeInfoDialog extends 
CayenneController implements TreeSel

attributeSaved.setDbAttributePath(attributePath.toString());
 
if 
(!attribute.getDbAttributePath().equals(attributePath.toString()) && isChange) {
-   
model.setUpdatedValueAt(attributeSaved.getDbAttributePath(), row, 3);
+   
model.setUpdatedValueAt(attributeSaved.getDbAttributePath(), row, 2);
}
return true;
}
@@ -411,7 +411,7 @@ public class ObjAttributeInfoDialog extends 
CayenneController implements TreeSel
 

attributeSaved.setDbAttributePath(attributePath.toString());
if (attributePath.length() == 0) {
-   
model.setUpdatedValueAt(attributeSaved.getDbAttributePath(), row, 3);
+   
model.setUpdatedValueAt(attributeSaved.getDbAttributePath(), row, 2);
return false;
}
return true;
@@ -442,14 +442,14 @@ public class ObjAttributeInfoDialog extends 
CayenneController implements TreeSel
if (attribute instanceof EmbeddedAttribute) {
changeAttributeObject();
} else {
-   
model.setUpdatedValueAt(attributeSaved.getName(), row, 1);
-   
model.setUpdatedValueAt(attributeSaved.getType(), row, 2);
+   
model.setUpdatedValueAt(attributeSaved.getName(), row, 0);
+   
model.setUpdatedValueAt(attributeSaved.getType(), row, 1);
}
 
-   
model.setUpdatedValueAt(attributeSaved.getDbAttributePath(), row, 3);
+   
model.setUpdatedValueAt(attributeSaved.getDbAttributePath(), row, 2);
} else {
-   
model.setUpdatedValueAt(attributeSaved.getName(), row, 1);
-   
model.setUpdatedValueAt(attributeSaved.getType(), row, 2);
+   
model.setUpdatedValueAt(attributeSaved.getName(), row, 0);
+   
model.setUpdatedValueAt(attributeSaved.getType(), row, 1);
}
} else {
 
@@ -466,14 +466,14 @@ public class ObjAttributeInfoDialog extends 
CayenneController implements TreeSel

compareAndSetOverrideInEmbeddedAttribute(attributeSaved, overrides, 
currentOverrAttr);
}
 
-   
model.setUpdatedValueAt(attributeSaved.getName()

[cayenne] branch master updated: CAY-2549 Modeler: Redesign ObjAttribute editor dialog

2019-03-07 Thread abulatski
This is an automated email from the ASF dual-hosted git repository.

abulatski pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cayenne.git


The following commit(s) were added to refs/heads/master by this push:
 new 6a62689  CAY-2549 Modeler: Redesign ObjAttribute editor dialog
6a62689 is described below

commit 6a6268912174638fe131ad69d41c4866e888fa70
Author: Arseni Bulatski 
AuthorDate: Thu Mar 7 12:00:49 2019 +0300

CAY-2549 Modeler: Redesign ObjAttribute editor dialog
---
 RELEASE-NOTES.txt  |  1 +
 .../dialog/objentity/ObjAttributeInfoDialog.java   | 83 +
 .../objentity/ObjAttributeInfoDialogView.java  | 86 +++---
 3 files changed, 113 insertions(+), 57 deletions(-)

diff --git a/RELEASE-NOTES.txt b/RELEASE-NOTES.txt
index 4f1f186..27ebf74 100644
--- a/RELEASE-NOTES.txt
+++ b/RELEASE-NOTES.txt
@@ -25,6 +25,7 @@ CAY-2522 Make ObjectSelect a direct query
 CAY-2540 Modeler: redesign dbRelationship editor dialog
 CAY-2542 Redesign ObjRelationship editor dialog
 CAY-2543 Move ResultSetMapping generation from metadata to translator
+CAY-2549 Modeler: Redesign ObjAttribute editor dialog
 
 Bug Fixes:
 
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 71355fb..16c823f 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
@@ -39,6 +39,7 @@ import org.apache.cayenne.modeler.util.CayenneController;
 import org.apache.cayenne.modeler.util.EntityTreeAttributeRelationshipFilter;
 import org.apache.cayenne.modeler.util.EntityTreeModel;
 import org.apache.cayenne.modeler.util.ModelerUtil;
+import org.apache.cayenne.project.extension.info.ObjectInfo;
 import org.apache.cayenne.swing.BindingBuilder;
 import org.apache.cayenne.util.CayenneMapEntry;
 
@@ -51,6 +52,7 @@ import javax.swing.event.TreeSelectionListener;
 import javax.swing.table.DefaultTableCellRenderer;
 import javax.swing.table.TableColumn;
 import javax.swing.tree.TreePath;
+import java.awt.CardLayout;
 import java.awt.Color;
 import java.awt.Component;
 import java.awt.event.KeyEvent;
@@ -63,6 +65,9 @@ import java.util.List;
 import java.util.Map;
 import java.util.Objects;
 
+import static 
org.apache.cayenne.modeler.dialog.objentity.ObjAttributeInfoDialogView.EMBEDDABLE_PANEL;
+import static 
org.apache.cayenne.modeler.dialog.objentity.ObjAttributeInfoDialogView.FLATTENED_PANEL;
+
 public class ObjAttributeInfoDialog extends CayenneController implements 
TreeSelectionListener {
 
private ObjAttributeTableModel model;
@@ -82,7 +87,7 @@ public class ObjAttributeInfoDialog extends CayenneController 
implements TreeSel
 
public ObjAttributeInfoDialog(ProjectController mediator, int row, 
ObjAttributeTableModel model) {
super(mediator);
-   this.view = new ObjAttributeInfoDialogView(mediator);
+   this.view = new ObjAttributeInfoDialogView();
this.mediator = mediator;
this.model = model;
this.row = row;
@@ -148,8 +153,12 @@ public class ObjAttributeInfoDialog extends 
CayenneController implements TreeSel
view.getCurrentPathLabel().setText("");
}

view.getSourceEntityLabel().setText(attribute.getEntity().getName());
-
view.getTypeComboBox().setSelectedItem(attribute.getType());
+   
view.getUsedForLockingCheckBox().setSelected(attribute.isUsedForLocking());
+   view.getCommentField().setText(ObjectInfo
+   
.getFromMetaData(mediator.getApplication().getMetaData(),
+   attr,
+   ObjectInfo.COMMENT));
 
BindingBuilder builder = new 
BindingBuilder(getApplication().getBindingFactory(), this);
builder.bindToAction(view.getCancelButton(), "closeAction()");
@@ -219,6 +228,25 @@ public class ObjAttributeInfoDialog extends 
CayenneController implements TreeSel
 }
 });
 
+   view.getTypeComboBox().addActionListener(e -> {
+   boolean isType = false;
+   String[] typeNames = 
ModelerUtil.getRegisteredTypeNames();
+   for (String typeName : typeNames) {
+   if (view.getTypeComboBox().getSelectedItem() == 
null ||
+   
typeName.equals(view.getTypeComboBox().getSelectedItem().toString())) {
+ 

[cayenne] branch STABLE-4.1 updated: CompactSlf4jJdbcEventLogger refactoring

2019-03-22 Thread abulatski
This is an automated email from the ASF dual-hosted git repository.

abulatski pushed a commit to branch STABLE-4.1
in repository https://gitbox.apache.org/repos/asf/cayenne.git


The following commit(s) were added to refs/heads/STABLE-4.1 by this push:
 new 92d0863  CompactSlf4jJdbcEventLogger refactoring
92d0863 is described below

commit 92d0863cb9b963cad17df3fe3792d9fb9a8e662d
Author: Arseni Bulatski 
AuthorDate: Fri Mar 22 11:16:12 2019 +0300

CompactSlf4jJdbcEventLogger refactoring
---
 .../cayenne/log/CompactSlf4jJdbcEventLogger.java   | 25 --
 1 file changed, 14 insertions(+), 11 deletions(-)

diff --git 
a/cayenne-server/src/main/java/org/apache/cayenne/log/CompactSlf4jJdbcEventLogger.java
 
b/cayenne-server/src/main/java/org/apache/cayenne/log/CompactSlf4jJdbcEventLogger.java
index c74cd7a..3879def 100644
--- 
a/cayenne-server/src/main/java/org/apache/cayenne/log/CompactSlf4jJdbcEventLogger.java
+++ 
b/cayenne-server/src/main/java/org/apache/cayenne/log/CompactSlf4jJdbcEventLogger.java
@@ -18,12 +18,6 @@
  /
 package org.apache.cayenne.log;
 
-import org.apache.cayenne.access.translator.DbAttributeBinding;
-import org.apache.cayenne.access.translator.ParameterBinding;
-import org.apache.cayenne.configuration.RuntimeProperties;
-import org.apache.cayenne.di.Inject;
-import org.apache.cayenne.map.DbAttribute;
-
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.HashMap;
@@ -32,6 +26,12 @@ import java.util.Map;
 import java.util.regex.Pattern;
 import java.util.stream.Collectors;
 
+import org.apache.cayenne.access.translator.DbAttributeBinding;
+import org.apache.cayenne.access.translator.ParameterBinding;
+import org.apache.cayenne.configuration.RuntimeProperties;
+import org.apache.cayenne.di.Inject;
+import org.apache.cayenne.map.DbAttribute;
+
 /**
  * @since 4.1
  */
@@ -42,6 +42,8 @@ public class CompactSlf4jJdbcEventLogger extends 
Slf4jJdbcEventLogger {
 private static final String FROM   = "FROM";
 private static final char   SPACE  = ' ';
 
+private static final Pattern UNION_PATTERN = Pattern.compile(UNION, 
Pattern.CASE_INSENSITIVE);
+
 public CompactSlf4jJdbcEventLogger(@Inject RuntimeProperties 
runtimeProperties) {
 super(runtimeProperties);
 }
@@ -53,7 +55,7 @@ public class CompactSlf4jJdbcEventLogger extends 
Slf4jJdbcEventLogger {
 }
 
 String str;
-if (sql.toUpperCase().contains(UNION)) {
+if (UNION_PATTERN.matcher(sql).find()) {
 str = processUnionSql(sql);
 } else {
 str = trimSqlSelectColumns(sql);
@@ -63,8 +65,8 @@ public class CompactSlf4jJdbcEventLogger extends 
Slf4jJdbcEventLogger {
 }
 
 protected String processUnionSql(String sql) {
-String modified = Pattern.compile(UNION.toLowerCase(), 
Pattern.CASE_INSENSITIVE)
-.matcher(sql).replaceAll(UNION);
+String modified = UNION_PATTERN.matcher(sql)
+.replaceAll(UNION);
 String[] queries = modified.split(UNION);
 return Arrays.stream(queries)
 .map(this::trimSqlSelectColumns)
@@ -72,12 +74,13 @@ public class CompactSlf4jJdbcEventLogger extends 
Slf4jJdbcEventLogger {
 }
 
 protected String trimSqlSelectColumns(String sql) {
-int selectIndex = sql.toUpperCase().indexOf(SELECT);
+String str = sql.toUpperCase();
+int selectIndex = str.indexOf(SELECT);
 if (selectIndex == -1) {
 return sql;
 }
 selectIndex += SELECT.length();
-int fromIndex = sql.toUpperCase().indexOf(FROM);
+int fromIndex = str.indexOf(FROM);
 String columns = sql.substring(selectIndex, fromIndex);
 String[] columnsArray = columns.split(",");
 if (columnsArray.length <= 3) {



[cayenne] branch master updated: CompactSlf4jJdbcEventLogger refactoring

2019-03-22 Thread abulatski
This is an automated email from the ASF dual-hosted git repository.

abulatski pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cayenne.git


The following commit(s) were added to refs/heads/master by this push:
 new 5be5235  CompactSlf4jJdbcEventLogger refactoring
5be5235 is described below

commit 5be5235ed1c02589b6300e9729cf3c308c0173e8
Author: Arseni Bulatski 
AuthorDate: Fri Mar 22 11:16:12 2019 +0300

CompactSlf4jJdbcEventLogger refactoring
---
 .../cayenne/log/CompactSlf4jJdbcEventLogger.java   | 25 --
 1 file changed, 14 insertions(+), 11 deletions(-)

diff --git 
a/cayenne-server/src/main/java/org/apache/cayenne/log/CompactSlf4jJdbcEventLogger.java
 
b/cayenne-server/src/main/java/org/apache/cayenne/log/CompactSlf4jJdbcEventLogger.java
index c74cd7a..3879def 100644
--- 
a/cayenne-server/src/main/java/org/apache/cayenne/log/CompactSlf4jJdbcEventLogger.java
+++ 
b/cayenne-server/src/main/java/org/apache/cayenne/log/CompactSlf4jJdbcEventLogger.java
@@ -18,12 +18,6 @@
  /
 package org.apache.cayenne.log;
 
-import org.apache.cayenne.access.translator.DbAttributeBinding;
-import org.apache.cayenne.access.translator.ParameterBinding;
-import org.apache.cayenne.configuration.RuntimeProperties;
-import org.apache.cayenne.di.Inject;
-import org.apache.cayenne.map.DbAttribute;
-
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.HashMap;
@@ -32,6 +26,12 @@ import java.util.Map;
 import java.util.regex.Pattern;
 import java.util.stream.Collectors;
 
+import org.apache.cayenne.access.translator.DbAttributeBinding;
+import org.apache.cayenne.access.translator.ParameterBinding;
+import org.apache.cayenne.configuration.RuntimeProperties;
+import org.apache.cayenne.di.Inject;
+import org.apache.cayenne.map.DbAttribute;
+
 /**
  * @since 4.1
  */
@@ -42,6 +42,8 @@ public class CompactSlf4jJdbcEventLogger extends 
Slf4jJdbcEventLogger {
 private static final String FROM   = "FROM";
 private static final char   SPACE  = ' ';
 
+private static final Pattern UNION_PATTERN = Pattern.compile(UNION, 
Pattern.CASE_INSENSITIVE);
+
 public CompactSlf4jJdbcEventLogger(@Inject RuntimeProperties 
runtimeProperties) {
 super(runtimeProperties);
 }
@@ -53,7 +55,7 @@ public class CompactSlf4jJdbcEventLogger extends 
Slf4jJdbcEventLogger {
 }
 
 String str;
-if (sql.toUpperCase().contains(UNION)) {
+if (UNION_PATTERN.matcher(sql).find()) {
 str = processUnionSql(sql);
 } else {
 str = trimSqlSelectColumns(sql);
@@ -63,8 +65,8 @@ public class CompactSlf4jJdbcEventLogger extends 
Slf4jJdbcEventLogger {
 }
 
 protected String processUnionSql(String sql) {
-String modified = Pattern.compile(UNION.toLowerCase(), 
Pattern.CASE_INSENSITIVE)
-.matcher(sql).replaceAll(UNION);
+String modified = UNION_PATTERN.matcher(sql)
+.replaceAll(UNION);
 String[] queries = modified.split(UNION);
 return Arrays.stream(queries)
 .map(this::trimSqlSelectColumns)
@@ -72,12 +74,13 @@ public class CompactSlf4jJdbcEventLogger extends 
Slf4jJdbcEventLogger {
 }
 
 protected String trimSqlSelectColumns(String sql) {
-int selectIndex = sql.toUpperCase().indexOf(SELECT);
+String str = sql.toUpperCase();
+int selectIndex = str.indexOf(SELECT);
 if (selectIndex == -1) {
 return sql;
 }
 selectIndex += SELECT.length();
-int fromIndex = sql.toUpperCase().indexOf(FROM);
+int fromIndex = str.indexOf(FROM);
 String columns = sql.substring(selectIndex, fromIndex);
 String[] columnsArray = columns.split(",");
 if (columnsArray.length <= 3) {



[cayenne] branch STABLE-4.1 updated: CAY-2535 Imposible to import stored proceedure apart from db tables

2019-02-12 Thread abulatski
This is an automated email from the ASF dual-hosted git repository.

abulatski pushed a commit to branch STABLE-4.1
in repository https://gitbox.apache.org/repos/asf/cayenne.git


The following commit(s) were added to refs/heads/STABLE-4.1 by this push:
 new dfa6c6a  CAY-2535 Imposible to import stored proceedure apart from db 
tables
dfa6c6a is described below

commit dfa6c6ac52f827b42f73cc97b863e5e44a62ebfc
Author: Arseni Bulatski 
AuthorDate: Tue Feb 12 15:17:38 2019 +0300

CAY-2535 Imposible to import stored proceedure apart from db tables
---
 RELEASE-NOTES.txt  |  1 +
 .../reverse/dbimport/DefaultDbImportAction.java| 42 +++---
 .../dialog/db/load/ModelerDbImportAction.java  | 40 +
 .../cayenne/modeler/editor/DbImportController.java | 19 ++
 4 files changed, 69 insertions(+), 33 deletions(-)

diff --git a/RELEASE-NOTES.txt b/RELEASE-NOTES.txt
index 509d9a0..75d0625 100644
--- a/RELEASE-NOTES.txt
+++ b/RELEASE-NOTES.txt
@@ -60,6 +60,7 @@ CAY-2505 EventBridge providers should be bound without scope
 CAY-2530 DB Import and Class Generation from Project is performed for removed 
datamaps
 CAY-2531 Importing same schema after Import Revert clears all entities in 
datamap
 CAY-2533 Modeler: Exception on validating ObjRelationship without db path
+CAY-2535 Imposible to import stored proceedure apart from db tables
 
 --
 Release: 4.1.M2
diff --git 
a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/reverse/dbimport/DefaultDbImportAction.java
 
b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/reverse/dbimport/DefaultDbImportAction.java
index d0884cc..7785234 100644
--- 
a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/reverse/dbimport/DefaultDbImportAction.java
+++ 
b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/reverse/dbimport/DefaultDbImportAction.java
@@ -19,6 +19,16 @@
 
 package org.apache.cayenne.dbsync.reverse.dbimport;
 
+import javax.sql.DataSource;
+import java.io.File;
+import java.io.IOException;
+import java.net.MalformedURLException;
+import java.sql.Connection;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.LinkedList;
+import java.util.List;
+
 import org.apache.cayenne.CayenneRuntimeException;
 import org.apache.cayenne.configuration.ConfigurationNode;
 import org.apache.cayenne.configuration.ConfigurationTree;
@@ -30,17 +40,17 @@ import 
org.apache.cayenne.configuration.server.DataSourceFactory;
 import org.apache.cayenne.configuration.server.DbAdapterFactory;
 import org.apache.cayenne.configuration.xml.DataChannelMetaData;
 import org.apache.cayenne.dba.DbAdapter;
-import org.apache.cayenne.dbsync.merge.token.model.AbstractToModelToken;
 import org.apache.cayenne.dbsync.merge.DataMapMerger;
 import org.apache.cayenne.dbsync.merge.context.MergerContext;
-import org.apache.cayenne.dbsync.merge.token.MergerToken;
-import org.apache.cayenne.dbsync.reverse.dbload.ModelMergeDelegate;
-import org.apache.cayenne.dbsync.reverse.dbload.ProxyModelMergeDelegate;
 import org.apache.cayenne.dbsync.merge.factory.MergerTokenFactory;
 import org.apache.cayenne.dbsync.merge.factory.MergerTokenFactoryProvider;
+import org.apache.cayenne.dbsync.merge.token.MergerToken;
+import org.apache.cayenne.dbsync.merge.token.model.AbstractToModelToken;
 import org.apache.cayenne.dbsync.naming.ObjectNameGenerator;
 import org.apache.cayenne.dbsync.reverse.dbload.DbLoader;
 import org.apache.cayenne.dbsync.reverse.dbload.DbLoaderConfiguration;
+import org.apache.cayenne.dbsync.reverse.dbload.ModelMergeDelegate;
+import org.apache.cayenne.dbsync.reverse.dbload.ProxyModelMergeDelegate;
 import org.apache.cayenne.dbsync.reverse.filters.CatalogFilter;
 import org.apache.cayenne.dbsync.reverse.filters.FiltersConfig;
 import org.apache.cayenne.dbsync.reverse.filters.FiltersConfigBuilder;
@@ -60,16 +70,6 @@ import org.apache.cayenne.validation.ValidationFailure;
 import org.apache.cayenne.validation.ValidationResult;
 import org.slf4j.Logger;
 
-import javax.sql.DataSource;
-import java.io.File;
-import java.io.IOException;
-import java.net.MalformedURLException;
-import java.sql.Connection;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.LinkedList;
-import java.util.List;
-
 import static org.apache.cayenne.util.Util.isBlank;
 
 /**
@@ -272,19 +272,19 @@ public class DefaultDbImportAction implements 
DbImportAction {
 return false;
 }
 
-if(!defaultPackage.equals(targetDataMap.getDefaultPackage())) {
-return false;
-}
+return defaultPackage.equals(targetDataMap.getDefaultPackage());
+}
 
-return true;
+protected boolean hasChangesForProcedure(Procedure procedure) {
+PatternFilter proceduresFilter = 
filters.proceduresFilter(procedure.getCatalog(), procedure.getSchema());
+return proceduresFilter != null

[cayenne] branch STABLE-4.1 updated: CAY-2537 Generate DB Schema: Schema Generation Complete popup window is hidden

2019-02-12 Thread abulatski
This is an automated email from the ASF dual-hosted git repository.

abulatski pushed a commit to branch STABLE-4.1
in repository https://gitbox.apache.org/repos/asf/cayenne.git


The following commit(s) were added to refs/heads/STABLE-4.1 by this push:
 new fbaf3e5  CAY-2537 Generate DB Schema: Schema Generation Complete popup 
window is hidden
fbaf3e5 is described below

commit fbaf3e50d3a8c692cf44358f33904ee6efc1a3a9
Author: Arseni Bulatski 
AuthorDate: Wed Feb 13 10:26:57 2019 +0300

CAY-2537 Generate DB Schema: Schema Generation Complete popup window is 
hidden
---
 RELEASE-NOTES.txt | 1 +
 1 file changed, 1 insertion(+)

diff --git a/RELEASE-NOTES.txt b/RELEASE-NOTES.txt
index 75d0625..c5d22d5 100644
--- a/RELEASE-NOTES.txt
+++ b/RELEASE-NOTES.txt
@@ -61,6 +61,7 @@ CAY-2530 DB Import and Class Generation from Project is 
performed for removed da
 CAY-2531 Importing same schema after Import Revert clears all entities in 
datamap
 CAY-2533 Modeler: Exception on validating ObjRelationship without db path
 CAY-2535 Imposible to import stored proceedure apart from db tables
+CAY-2537 Generate DB Schema: Schema Generation Complete popup window is hidden
 
 --
 Release: 4.1.M2



[cayenne] branch STABLE-4.1 updated: Fix javadoc generation on java 11

2019-02-12 Thread abulatski
This is an automated email from the ASF dual-hosted git repository.

abulatski pushed a commit to branch STABLE-4.1
in repository https://gitbox.apache.org/repos/asf/cayenne.git


The following commit(s) were added to refs/heads/STABLE-4.1 by this push:
 new f379a96  Fix javadoc generation on java 11
f379a96 is described below

commit f379a9657772010676ad63b5e40fc84b6096fe0c
Author: Arseni Bulatski 
AuthorDate: Wed Feb 13 09:57:16 2019 +0300

Fix javadoc generation on java 11
---
 pom.xml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/pom.xml b/pom.xml
index 4bc38cf..fe92769 100644
--- a/pom.xml
+++ b/pom.xml
@@ -815,6 +815,7 @@
 

${javadoc.doclint}

${javadoc.additionalOptions}
+   1.8






[cayenne] branch STABLE-4.1 updated: CAY-2537 Generate DB Schema: Schema Generation Complete popup window is hidden

2019-02-12 Thread abulatski
This is an automated email from the ASF dual-hosted git repository.

abulatski pushed a commit to branch STABLE-4.1
in repository https://gitbox.apache.org/repos/asf/cayenne.git


The following commit(s) were added to refs/heads/STABLE-4.1 by this push:
 new 42cd577  CAY-2537 Generate DB Schema: Schema Generation Complete popup 
window is hidden
42cd577 is described below

commit 42cd57701ad360600b1c8fdba52cc330e6924146
Author: Arseni Bulatski 
AuthorDate: Wed Feb 13 10:23:27 2019 +0300

CAY-2537 Generate DB Schema: Schema Generation Complete popup window is 
hidden
---
 .../cayenne/modeler/dialog/ValidationResultBrowserView.java   | 11 +++
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/ValidationResultBrowserView.java
 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/ValidationResultBrowserView.java
index 3bd28c0..0ed7a7d 100644
--- 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/ValidationResultBrowserView.java
+++ 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/ValidationResultBrowserView.java
@@ -20,10 +20,6 @@
 
 package org.apache.cayenne.modeler.dialog;
 
-import com.jgoodies.forms.builder.PanelBuilder;
-import com.jgoodies.forms.layout.CellConstraints;
-import com.jgoodies.forms.layout.FormLayout;
-
 import javax.swing.JButton;
 import javax.swing.JComponent;
 import javax.swing.JDialog;
@@ -35,6 +31,11 @@ import java.awt.BorderLayout;
 import java.awt.Dimension;
 import java.awt.FlowLayout;
 
+import com.jgoodies.forms.builder.PanelBuilder;
+import com.jgoodies.forms.layout.CellConstraints;
+import com.jgoodies.forms.layout.FormLayout;
+import org.apache.cayenne.modeler.Application;
+
 /**
  */
 public class ValidationResultBrowserView extends JDialog {
@@ -44,6 +45,8 @@ public class ValidationResultBrowserView extends JDialog {
 protected JButton closeButton;
 
 public ValidationResultBrowserView() {
+super(Application.getFrame());
+
 this.closeButton = new JButton("Close");
 
 this.messageLabel = new JTextArea();



[cayenne] branch master updated: Fix javadoc generation on java 11

2019-02-12 Thread abulatski
This is an automated email from the ASF dual-hosted git repository.

abulatski pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cayenne.git


The following commit(s) were added to refs/heads/master by this push:
 new 68cd011  Fix javadoc generation on java 11
68cd011 is described below

commit 68cd011009ee71ed2e27410f7cd0b1cb0f06f873
Author: Arseni Bulatski 
AuthorDate: Wed Feb 13 10:40:28 2019 +0300

Fix javadoc generation on java 11
---
 pom.xml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/pom.xml b/pom.xml
index 782f52b..28ab9c8 100644
--- a/pom.xml
+++ b/pom.xml
@@ -815,6 +815,7 @@
 

${javadoc.doclint}

${javadoc.additionalOptions}
+   1.8






[cayenne] branch STABLE-4.1 updated: CAY-2531 Importing same schema after Import Revert clears all entities in datamap

2019-02-12 Thread abulatski
This is an automated email from the ASF dual-hosted git repository.

abulatski pushed a commit to branch STABLE-4.1
in repository https://gitbox.apache.org/repos/asf/cayenne.git


The following commit(s) were added to refs/heads/STABLE-4.1 by this push:
 new d61a36d  CAY-2531 Importing same schema after Import Revert clears all 
entities in datamap
d61a36d is described below

commit d61a36d9dbba3ef3f98a1f674f8cbdd7761d6274
Author: Arseni Bulatski 
AuthorDate: Tue Feb 12 12:35:32 2019 +0300

CAY-2531 Importing same schema after Import Revert clears all entities in 
datamap
---
 RELEASE-NOTES.txt  |  1 +
 .../modeler/dialog/db/load/DbLoadResultDialog.java | 18 ++--
 .../dialog/db/load/ModelerDbImportAction.java  | 51 +++---
 .../cayenne/modeler/editor/DbImportController.java |  9 ++--
 4 files changed, 46 insertions(+), 33 deletions(-)

diff --git a/RELEASE-NOTES.txt b/RELEASE-NOTES.txt
index b1ae7b0..509d9a0 100644
--- a/RELEASE-NOTES.txt
+++ b/RELEASE-NOTES.txt
@@ -58,6 +58,7 @@ CAY-2502 DataMap in DataNode tree view disappears after 
dbImport
 CAY-2504 Broken detection logic of NoopEventBridge in DataRowStoreFactory
 CAY-2505 EventBridge providers should be bound without scope
 CAY-2530 DB Import and Class Generation from Project is performed for removed 
datamaps
+CAY-2531 Importing same schema after Import Revert clears all entities in 
datamap
 CAY-2533 Modeler: Exception on validating ObjRelationship without db path
 
 --
diff --git 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/load/DbLoadResultDialog.java
 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/load/DbLoadResultDialog.java
index 898b9b1..33ae7ea 100644
--- 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/load/DbLoadResultDialog.java
+++ 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/load/DbLoadResultDialog.java
@@ -19,10 +19,6 @@
 
 package org.apache.cayenne.modeler.dialog.db.load;
 
-import com.jgoodies.forms.builder.DefaultFormBuilder;
-import com.jgoodies.forms.layout.FormLayout;
-import org.apache.cayenne.map.DataMap;
-
 import javax.swing.BoxLayout;
 import javax.swing.JButton;
 import javax.swing.JDialog;
@@ -36,9 +32,14 @@ import javax.swing.table.DefaultTableModel;
 import java.awt.BorderLayout;
 import java.awt.Dimension;
 import java.awt.FlowLayout;
+import java.awt.event.ActionListener;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ConcurrentMap;
 
+import com.jgoodies.forms.builder.DefaultFormBuilder;
+import com.jgoodies.forms.layout.FormLayout;
+import org.apache.cayenne.map.DataMap;
+
 /**
  * @since 4.1
  */
@@ -124,6 +125,15 @@ public class DbLoadResultDialog extends JDialog {
 return tokensTableModel;
 }
 
+public void removeListenersFromButtons() {
+for(ActionListener actionListener : okButton.getActionListeners()) {
+okButton.removeActionListener(actionListener);
+}
+for(ActionListener actionListener : revertButton.getActionListeners()) 
{
+revertButton.removeActionListener(actionListener);
+}
+}
+
 public synchronized void addRowToOutput(String output, DataMap dataMap) {
 prepareTable(dataMap).addRow(new Object[]{output});
 }
diff --git 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/load/ModelerDbImportAction.java
 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/load/ModelerDbImportAction.java
index 8be5309..476f4d0 100644
--- 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/load/ModelerDbImportAction.java
+++ 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/load/ModelerDbImportAction.java
@@ -19,6 +19,14 @@
 
 package org.apache.cayenne.modeler.dialog.db.load;
 
+import javax.swing.JDialog;
+import javax.swing.JOptionPane;
+import java.awt.event.ComponentAdapter;
+import java.awt.event.ComponentEvent;
+import java.io.IOException;
+import java.util.Collection;
+import java.util.List;
+
 import org.apache.cayenne.CayenneRuntimeException;
 import org.apache.cayenne.configuration.DataChannelDescriptorLoader;
 import org.apache.cayenne.configuration.DataMapLoader;
@@ -36,14 +44,6 @@ import org.apache.cayenne.modeler.editor.DbImportController;
 import org.apache.cayenne.project.ProjectSaver;
 import org.slf4j.Logger;
 
-import javax.swing.JDialog;
-import javax.swing.JOptionPane;
-import java.awt.event.ComponentAdapter;
-import java.awt.event.ComponentEvent;
-import java.io.IOException;
-import java.util.Collection;
-import java.util.List;
-
 public class ModelerDbImportAction extends DefaultDbImportAction {
 
 private static final String DIALOG_TITLE = "Reverse Engineering Result";
@@ -85,23 +85,6 @@ public class ModelerDbImportAction extends 
DefaultDbIm

[cayenne] branch STABLE-4.1 updated: Modeler: Remove duplicated obj attr Date type.

2019-02-07 Thread abulatski
This is an automated email from the ASF dual-hosted git repository.

abulatski pushed a commit to branch STABLE-4.1
in repository https://gitbox.apache.org/repos/asf/cayenne.git


The following commit(s) were added to refs/heads/STABLE-4.1 by this push:
 new f56d386  Modeler: Remove duplicated obj attr Date type.
f56d386 is described below

commit f56d386326a6bf3308adfa6d99f940f70ec0caaa
Author: Arseni Bulatski 
AuthorDate: Thu Feb 7 15:11:12 2019 +0300

Modeler: Remove duplicated obj attr Date type.
---
 .../apache/cayenne/modeler/util/ModelerUtil.java   | 25 +++---
 1 file changed, 12 insertions(+), 13 deletions(-)

diff --git 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/ModelerUtil.java
 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/ModelerUtil.java
index a8af240..a8717b8 100644
--- 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/ModelerUtil.java
+++ 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/ModelerUtil.java
@@ -19,18 +19,6 @@
 
 package org.apache.cayenne.modeler.util;
 
-import org.apache.cayenne.configuration.DataChannelDescriptor;
-import org.apache.cayenne.configuration.DataNodeDescriptor;
-import org.apache.cayenne.map.DataMap;
-import org.apache.cayenne.map.DbEntity;
-import org.apache.cayenne.modeler.Application;
-import org.apache.cayenne.modeler.ModelerConstants;
-import org.apache.cayenne.modeler.action.ActionManager;
-import org.apache.cayenne.modeler.action.MultipleObjectsAction;
-import org.apache.cayenne.modeler.pref.FSPath;
-import org.apache.cayenne.reflect.PropertyUtils;
-import org.apache.cayenne.util.CayenneMapEntry;
-
 import javax.swing.Action;
 import javax.swing.ImageIcon;
 import java.awt.Dimension;
@@ -54,6 +42,18 @@ import java.util.ResourceBundle;
 import java.util.Set;
 import java.util.UUID;
 
+import org.apache.cayenne.configuration.DataChannelDescriptor;
+import org.apache.cayenne.configuration.DataNodeDescriptor;
+import org.apache.cayenne.map.DataMap;
+import org.apache.cayenne.map.DbEntity;
+import org.apache.cayenne.modeler.Application;
+import org.apache.cayenne.modeler.ModelerConstants;
+import org.apache.cayenne.modeler.action.ActionManager;
+import org.apache.cayenne.modeler.action.MultipleObjectsAction;
+import org.apache.cayenne.modeler.pref.FSPath;
+import org.apache.cayenne.reflect.PropertyUtils;
+import org.apache.cayenne.util.CayenneMapEntry;
+
 /**
  * Various unorganized utility methods used by CayenneModeler.
  * 
@@ -122,7 +122,6 @@ public final class ModelerUtil {
 Short.class.getName(),
 Time.class.getName(),
 Timestamp.class.getName(),
-Date.class.getName(),
 GregorianCalendar.class.getName(),
 Calendar.class.getName(),
 UUID.class.getName(),



[cayenne] branch master updated: Modeler: remove duplicated obj attr Date type

2019-02-07 Thread abulatski
This is an automated email from the ASF dual-hosted git repository.

abulatski pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cayenne.git


The following commit(s) were added to refs/heads/master by this push:
 new 9e302f8  Modeler: remove duplicated obj attr Date type
9e302f8 is described below

commit 9e302f841377545e17ad8f51cf3a64e92e20aab0
Author: Arseni Bulatski 
AuthorDate: Thu Feb 7 15:34:31 2019 +0300

Modeler: remove duplicated obj attr Date type
---
 .../apache/cayenne/modeler/util/ModelerUtil.java   | 25 +++---
 1 file changed, 12 insertions(+), 13 deletions(-)

diff --git 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/ModelerUtil.java
 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/ModelerUtil.java
index a8af240..a8717b8 100644
--- 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/ModelerUtil.java
+++ 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/ModelerUtil.java
@@ -19,18 +19,6 @@
 
 package org.apache.cayenne.modeler.util;
 
-import org.apache.cayenne.configuration.DataChannelDescriptor;
-import org.apache.cayenne.configuration.DataNodeDescriptor;
-import org.apache.cayenne.map.DataMap;
-import org.apache.cayenne.map.DbEntity;
-import org.apache.cayenne.modeler.Application;
-import org.apache.cayenne.modeler.ModelerConstants;
-import org.apache.cayenne.modeler.action.ActionManager;
-import org.apache.cayenne.modeler.action.MultipleObjectsAction;
-import org.apache.cayenne.modeler.pref.FSPath;
-import org.apache.cayenne.reflect.PropertyUtils;
-import org.apache.cayenne.util.CayenneMapEntry;
-
 import javax.swing.Action;
 import javax.swing.ImageIcon;
 import java.awt.Dimension;
@@ -54,6 +42,18 @@ import java.util.ResourceBundle;
 import java.util.Set;
 import java.util.UUID;
 
+import org.apache.cayenne.configuration.DataChannelDescriptor;
+import org.apache.cayenne.configuration.DataNodeDescriptor;
+import org.apache.cayenne.map.DataMap;
+import org.apache.cayenne.map.DbEntity;
+import org.apache.cayenne.modeler.Application;
+import org.apache.cayenne.modeler.ModelerConstants;
+import org.apache.cayenne.modeler.action.ActionManager;
+import org.apache.cayenne.modeler.action.MultipleObjectsAction;
+import org.apache.cayenne.modeler.pref.FSPath;
+import org.apache.cayenne.reflect.PropertyUtils;
+import org.apache.cayenne.util.CayenneMapEntry;
+
 /**
  * Various unorganized utility methods used by CayenneModeler.
  * 
@@ -122,7 +122,6 @@ public final class ModelerUtil {
 Short.class.getName(),
 Time.class.getName(),
 Timestamp.class.getName(),
-Date.class.getName(),
 GregorianCalendar.class.getName(),
 Calendar.class.getName(),
 UUID.class.getName(),



[cayenne] branch STABLE-4.0 updated: Modeler: remove duplicated obj attr Date type

2019-02-07 Thread abulatski
This is an automated email from the ASF dual-hosted git repository.

abulatski pushed a commit to branch STABLE-4.0
in repository https://gitbox.apache.org/repos/asf/cayenne.git


The following commit(s) were added to refs/heads/STABLE-4.0 by this push:
 new 9bf9acb  Modeler: remove duplicated obj attr Date type
9bf9acb is described below

commit 9bf9acb21f2ed89ac0156efb9ad6e57a9fbdb69f
Author: Arseni Bulatski 
AuthorDate: Thu Feb 7 15:59:47 2019 +0300

Modeler: remove duplicated obj attr Date type
---
 .../apache/cayenne/modeler/util/ModelerUtil.java   | 26 ++
 1 file changed, 12 insertions(+), 14 deletions(-)

diff --git 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/ModelerUtil.java
 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/ModelerUtil.java
index 7e65cfd..def794d 100644
--- 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/ModelerUtil.java
+++ 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/ModelerUtil.java
@@ -19,18 +19,6 @@
 
 package org.apache.cayenne.modeler.util;
 
-import org.apache.cayenne.configuration.DataChannelDescriptor;
-import org.apache.cayenne.configuration.DataNodeDescriptor;
-import org.apache.cayenne.map.DataMap;
-import org.apache.cayenne.map.DbEntity;
-import org.apache.cayenne.modeler.Application;
-import org.apache.cayenne.modeler.ModelerConstants;
-import org.apache.cayenne.modeler.ProjectController;
-import org.apache.cayenne.modeler.action.ActionManager;
-import org.apache.cayenne.modeler.action.MultipleObjectsAction;
-import org.apache.cayenne.reflect.PropertyUtils;
-import org.apache.cayenne.util.CayenneMapEntry;
-
 import javax.swing.Action;
 import javax.swing.ImageIcon;
 import java.awt.Dimension;
@@ -48,12 +36,23 @@ import java.util.Arrays;
 import java.util.Calendar;
 import java.util.Collection;
 import java.util.GregorianCalendar;
-import java.util.HashSet;
 import java.util.List;
 import java.util.ResourceBundle;
 import java.util.Set;
 import java.util.UUID;
 
+import org.apache.cayenne.configuration.DataChannelDescriptor;
+import org.apache.cayenne.configuration.DataNodeDescriptor;
+import org.apache.cayenne.map.DataMap;
+import org.apache.cayenne.map.DbEntity;
+import org.apache.cayenne.modeler.Application;
+import org.apache.cayenne.modeler.ModelerConstants;
+import org.apache.cayenne.modeler.ProjectController;
+import org.apache.cayenne.modeler.action.ActionManager;
+import org.apache.cayenne.modeler.action.MultipleObjectsAction;
+import org.apache.cayenne.reflect.PropertyUtils;
+import org.apache.cayenne.util.CayenneMapEntry;
+
 /**
  * Various unorganized utility methods used by CayenneModeler.
  * 
@@ -124,7 +123,6 @@ public final class ModelerUtil {
 Short.class.getName(),
 Time.class.getName(),
 Timestamp.class.getName(),
-Date.class.getName(),
 GregorianCalendar.class.getName(),
 Calendar.class.getName(),
 UUID.class.getName(),



[cayenne] branch STABLE-3.1 updated: Docs cleanup

2019-02-06 Thread abulatski
This is an automated email from the ASF dual-hosted git repository.

abulatski pushed a commit to branch STABLE-3.1
in repository https://gitbox.apache.org/repos/asf/cayenne.git


The following commit(s) were added to refs/heads/STABLE-3.1 by this push:
 new 05b0dd4  Docs cleanup
05b0dd4 is described below

commit 05b0dd49ee142a0e9f5cdce1057574218e80dd6f
Author: Arseni Bulatski 
AuthorDate: Wed Feb 6 11:49:24 2019 +0300

Docs cleanup
---
 .../src/docs/asciidoc/_cayenne-guide/part2/expressions.adoc   | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git 
a/docs/asciidoc/cayenne-guide/src/docs/asciidoc/_cayenne-guide/part2/expressions.adoc
 
b/docs/asciidoc/cayenne-guide/src/docs/asciidoc/_cayenne-guide/part2/expressions.adoc
index 74b836a..6f026f8 100644
--- 
a/docs/asciidoc/cayenne-guide/src/docs/asciidoc/_cayenne-guide/part2/expressions.adoc
+++ 
b/docs/asciidoc/cayenne-guide/src/docs/asciidoc/_cayenne-guide/part2/expressions.adoc
@@ -215,7 +215,7 @@ Checking whether an object satisfies an expression:
 
 [source, java]
 
-Expression e = Artist.NAME.in("John", "Bob");
+Expression e = ExpressionFactory.inExp("artistName", "John", "Bob");
 Artist artist = ...
 if(e.match(artist)) {
...
@@ -235,7 +235,7 @@ Filtering a list of objects:
 
 [source, java]
 
-Expression e = Artist.NAME.in("John", "Bob");
+Expression e = ExpressionFactory.inExp("artistName", "John", "Bob");
 List unfiltered = ...
 List filtered = e.filterObjects(unfiltered);
 



[cayenne-website] branch asf-site updated: Update docs for 3.1

2019-02-06 Thread abulatski
This is an automated email from the ASF dual-hosted git repository.

abulatski pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/cayenne-website.git


The following commit(s) were added to refs/heads/asf-site by this push:
 new bd55daa  Update docs for 3.1
bd55daa is described below

commit bd55daa654f2056d55fecc50abfcd5b28363c27d
Author: Arseni Bulatski 
AuthorDate: Wed Feb 6 12:33:31 2019 +0300

Update docs for 3.1
---
 docs/3.1/cayenne-guide/index.html | 14 +++---
 docs/3.1/getting-started-guide/index.html |  2 +-
 docs/3.1/getting-started-rop/index.html   |  2 +-
 3 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/docs/3.1/cayenne-guide/index.html 
b/docs/3.1/cayenne-guide/index.html
index 7082d0c..e259f6d 100644
--- a/docs/3.1/cayenne-guide/index.html
+++ b/docs/3.1/cayenne-guide/index.html
@@ -224,7 +224,7 @@
 plugin
 groupIdorg.apache.cayenne.plugins/groupId
 artifactIdmaven-cayenne-modeler-plugin/artifactId
-version3.1.3-SNAPSHOT/version
+version3.1.4-SNAPSHOT/version
 /plugin
 /plugins
 /build 
@@ -401,7 +401,7 @@ total 24
   dependency
groupIdorg.apache.cayenne/groupId
artifactIdcayenne-server/artifactId
-   version3.1.3-SNAPSHOT/version
+   version3.1.4-SNAPSHOT/version
 /dependency 
   
  
@@ -557,7 +557,7 @@ total 24
plugin
 groupIdorg.apache.cayenne.plugins/groupId
 artifactIdcayenne-maven-plugin/artifactId
-version3.1.3-SNAPSHOT/version
+version3.1.4-SNAPSHOT/version
 
 !--
 There's an intermittent problem when using Maven/cgen in Eclipse with  
m2eclipse plugin that
@@ -697,7 +697,7 @@ total 24
plugin
 groupIdorg.apache.cayenne.plugins/groupId
 artifactIdmaven-cayenne-plugin/artifactId
-version3.1.3-SNAPSHOT/version
+version3.1.4-SNAPSHOT/version
 
 executions
 execution
@@ -829,7 +829,7 @@ total 24
plugin
 groupIdorg.apache.cayenne.plugins/groupId
 artifactIdcayenne-maven-plugin/artifactId
-version3.1.3-SNAPSHOT/version
+version3.1.4-SNAPSHOT/version
 
 executions
 execution
@@ -1604,7 +1604,7 @@ Expression matchAllExp(String path, Object... 
values)
  
  
   
-  Expression e = Artist.NAME.in("John", "Bob");
+  Expression e = ExpressionFactory.inExp("artistName", "John", 
"Bob");
 Artist artist = ...
 if(e.match(artist)) {
...
@@ -1625,7 +1625,7 @@ String name = e.evaluate(user);
  
  
   
-  Expression e = Artist.NAME.in("John", "Bob");
+  Expression e = ExpressionFactory.inExp("artistName", "John", 
"Bob");
 ListArtist unfiltered = ...
 ListArtist filtered = e.filterObjects(unfiltered); 
   
diff --git a/docs/3.1/getting-started-guide/index.html 
b/docs/3.1/getting-started-guide/index.html
index 6b64de2..f032edc 100644
--- a/docs/3.1/getting-started-guide/index.html
+++ b/docs/3.1/getting-started-guide/index.html
@@ -453,7 +453,7 @@
 groupIdorg.apache.cayenne/groupId
 artifactIdcayenne-server/artifactId
!-- Here specify the version of Cayenne you are actually using --
-version3.1.3-SNAPSHOT/version
+version3.1.4-SNAPSHOT/version
 /dependency
 /dependencies
 /project 
diff --git a/docs/3.1/getting-started-rop/index.html 
b/docs/3.1/getting-started-rop/index.html
index dfb9450..6f80a91 100644
--- a/docs/3.1/getting-started-rop/index.html
+++ b/docs/3.1/getting-started-rop/index.html
@@ -245,7 +245,7 @@
 groupIdorg.apache.cayenne/groupId
 artifactIdcayenne-client/artifactId
 !-- Here specify the version of Cayenne you are actually using 
--
-version3.1.3-SNAPSHOT/version
+version3.1.4-SNAPSHOT/version
 /dependency
 dependency
 groupIdcom.caucho/groupId



[cayenne-website] branch master updated: Update docs for 3.1

2019-02-06 Thread abulatski
This is an automated email from the ASF dual-hosted git repository.

abulatski pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cayenne-website.git


The following commit(s) were added to refs/heads/master by this push:
 new d693dfa  Update docs for 3.1
d693dfa is described below

commit d693dfa80cff4e08ec46c0c3bbccb548d5d42c5e
Author: Arseni Bulatski 
AuthorDate: Wed Feb 6 12:35:55 2019 +0300

Update docs for 3.1
---
 src/main/site/content/docs/3.1/cayenne-guide.html | 14 +++---
 src/main/site/content/docs/3.1/getting-started-guide.html |  2 +-
 src/main/site/content/docs/3.1/getting-started-rop.html   |  2 +-
 3 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/src/main/site/content/docs/3.1/cayenne-guide.html 
b/src/main/site/content/docs/3.1/cayenne-guide.html
index 87006a4..5199f45 100644
--- a/src/main/site/content/docs/3.1/cayenne-guide.html
+++ b/src/main/site/content/docs/3.1/cayenne-guide.html
@@ -63,7 +63,7 @@ weight: 20
 plugin
 groupIdorg.apache.cayenne.plugins/groupId
 artifactIdmaven-cayenne-modeler-plugin/artifactId
-version3.1.3-SNAPSHOT/version
+version3.1.4-SNAPSHOT/version
 /plugin
 /plugins
 /build 
@@ -240,7 +240,7 @@ total 24
   dependency
groupIdorg.apache.cayenne/groupId
artifactIdcayenne-server/artifactId
-   version3.1.3-SNAPSHOT/version
+   version3.1.4-SNAPSHOT/version
 /dependency 
   
  
@@ -396,7 +396,7 @@ total 24
plugin
 groupIdorg.apache.cayenne.plugins/groupId
 artifactIdcayenne-maven-plugin/artifactId
-version3.1.3-SNAPSHOT/version
+version3.1.4-SNAPSHOT/version
 
 !--
 There's an intermittent problem when using Maven/cgen in Eclipse with  
m2eclipse plugin that
@@ -536,7 +536,7 @@ total 24
plugin
 groupIdorg.apache.cayenne.plugins/groupId
 artifactIdmaven-cayenne-plugin/artifactId
-version3.1.3-SNAPSHOT/version
+version3.1.4-SNAPSHOT/version
 
 executions
 execution
@@ -668,7 +668,7 @@ total 24
plugin
 groupIdorg.apache.cayenne.plugins/groupId
 artifactIdcayenne-maven-plugin/artifactId
-version3.1.3-SNAPSHOT/version
+version3.1.4-SNAPSHOT/version
 
 executions
 execution
@@ -1443,7 +1443,7 @@ Expression matchAllExp(String path, Object... 
values)
  
  
   
-  Expression e = Artist.NAME.in("John", "Bob");
+  Expression e = ExpressionFactory.inExp("artistName", "John", 
"Bob");
 Artist artist = ...
 if(e.match(artist)) {
...
@@ -1464,7 +1464,7 @@ String name = e.evaluate(user);
  
  
   
-  Expression e = Artist.NAME.in("John", "Bob");
+  Expression e = ExpressionFactory.inExp("artistName", "John", 
"Bob");
 ListArtist unfiltered = ...
 ListArtist filtered = e.filterObjects(unfiltered); 
   
diff --git a/src/main/site/content/docs/3.1/getting-started-guide.html 
b/src/main/site/content/docs/3.1/getting-started-guide.html
index 43cd893..eb1bb48 100644
--- a/src/main/site/content/docs/3.1/getting-started-guide.html
+++ b/src/main/site/content/docs/3.1/getting-started-guide.html
@@ -302,7 +302,7 @@ weight: 10
 groupIdorg.apache.cayenne/groupId
 artifactIdcayenne-server/artifactId
!-- Here specify the version of Cayenne you are actually using --
-version3.1.3-SNAPSHOT/version
+version3.1.4-SNAPSHOT/version
 /dependency
 /dependencies
 /project 
diff --git a/src/main/site/content/docs/3.1/getting-started-rop.html 
b/src/main/site/content/docs/3.1/getting-started-rop.html
index 7649588..71d9768 100644
--- a/src/main/site/content/docs/3.1/getting-started-rop.html
+++ b/src/main/site/content/docs/3.1/getting-started-rop.html
@@ -105,7 +105,7 @@ weight: 40
 groupIdorg.apache.cayenne/groupId
 artifactIdcayenne-client/artifactId
 !-- Here specify the version of Cayenne you are actually using 
--
-version3.1.3-SNAPSHOT/version
+version3.1.4-SNAPSHOT/version
 /dependency
 dependency
 groupIdcom.caucho/groupId



[cayenne] branch STABLE-4.1 updated: CAY-2530 DB Import and Class Generation from Project is performed for removed datamaps

2019-02-11 Thread abulatski
This is an automated email from the ASF dual-hosted git repository.

abulatski pushed a commit to branch STABLE-4.1
in repository https://gitbox.apache.org/repos/asf/cayenne.git


The following commit(s) were added to refs/heads/STABLE-4.1 by this push:
 new aecf503  CAY-2530 DB Import and Class Generation from Project is 
performed for removed datamaps
aecf503 is described below

commit aecf503b83ea54bff84d17815eee6ae7d7cb6a61
Author: Arseni Bulatski 
AuthorDate: Mon Feb 11 15:54:28 2019 +0300

CAY-2530 DB Import and Class Generation from Project is performed for 
removed datamaps
---
 RELEASE-NOTES.txt  |  1 +
 .../modeler/editor/GeneratorsTabController.java| 22 ++
 .../editor/cgen/domain/CgenTabController.java  | 19 +--
 .../dbimport/domain/DbImportTabController.java |  7 +++
 4 files changed, 27 insertions(+), 22 deletions(-)

diff --git a/RELEASE-NOTES.txt b/RELEASE-NOTES.txt
index 4988f26..b1ae7b0 100644
--- a/RELEASE-NOTES.txt
+++ b/RELEASE-NOTES.txt
@@ -57,6 +57,7 @@ CAY-2501 Modeler: DbImport ui not loading columns for MySQL 
connector v8.0
 CAY-2502 DataMap in DataNode tree view disappears after dbImport
 CAY-2504 Broken detection logic of NoopEventBridge in DataRowStoreFactory
 CAY-2505 EventBridge providers should be bound without scope
+CAY-2530 DB Import and Class Generation from Project is performed for removed 
datamaps
 CAY-2533 Modeler: Exception on validating ObjRelationship without db path
 
 --
diff --git 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/GeneratorsTabController.java
 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/GeneratorsTabController.java
index a257643..8219d2c 100644
--- 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/GeneratorsTabController.java
+++ 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/GeneratorsTabController.java
@@ -18,6 +18,13 @@
  /
 package org.apache.cayenne.modeler.editor;
 
+import java.awt.event.ItemEvent;
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.Set;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.ConcurrentMap;
+
 import org.apache.cayenne.configuration.DataChannelDescriptor;
 import org.apache.cayenne.map.DataMap;
 import org.apache.cayenne.modeler.ProjectController;
@@ -26,13 +33,6 @@ import org.apache.cayenne.project.Project;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import java.awt.event.ItemEvent;
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.Set;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.ConcurrentMap;
-
 /**
  * @since 4.1
  */
@@ -46,10 +46,11 @@ public abstract class GeneratorsTabController {
 public ConcurrentMap generatorsPanels;
 public Set selectedDataMaps;
 
-public GeneratorsTabController(Class type) {
+public GeneratorsTabController(Class type, ProjectController 
projectController) {
 this.type = type;
 this.generatorsPanels = new ConcurrentHashMap<>();
 this.selectedDataMaps = new HashSet<>();
+this.projectController = projectController;
 }
 
 public String icon;
@@ -58,6 +59,7 @@ public abstract class GeneratorsTabController {
 
 public void createPanels(){
 Collection dataMaps = getDataMaps();
+refreshSelectedMaps(dataMaps);
 generatorsPanels.clear();
 for(DataMap dataMap : dataMaps) {
 GeneratorsPanel generatorPanel = new GeneratorsPanel(dataMap, 
"icon-datamap.png", type);
@@ -132,4 +134,8 @@ public abstract class GeneratorsTabController {
 Set getSelectedDataMaps() {
 return selectedDataMaps;
 }
+
+private void refreshSelectedMaps(Collection dataMaps) {
+selectedDataMaps.removeIf(dataMap -> !dataMaps.contains(dataMap));
+}
 }
diff --git 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/domain/CgenTabController.java
 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/domain/CgenTabController.java
index ff68804..8abb583 100644
--- 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/domain/CgenTabController.java
+++ 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/domain/CgenTabController.java
@@ -19,6 +19,14 @@
 
 package org.apache.cayenne.modeler.editor.cgen.domain;
 
+import javax.swing.JOptionPane;
+import java.io.IOException;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.util.Set;
+import java.util.prefs.Preferences;
+
 import org.apache.cayenne.configuration.xml.DataChannelMetaData;
 import org.apache.cayenne.gen.C

[cayenne] 01/03: CAY-2540 Modeler: redesign dbRelationship editor dialog

2019-02-19 Thread abulatski
This is an automated email from the ASF dual-hosted git repository.

abulatski pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cayenne.git

commit 56e15563ade026a4c8445ce6016b04dcd63c1497
Author: Arseni Bulatski 
AuthorDate: Fri Feb 15 14:44:11 2019 +0300

CAY-2540 Modeler: redesign dbRelationship editor dialog
---
 RELEASE-NOTES.txt  |   1 +
 .../cayenne/modeler/DbRelationshipDialogView.java  | 230 
 .../modeler/action/CreateRelationshipAction.java   |  16 +-
 .../modeler/dialog/DbRelationshipDialog.java   | 385 
 .../dialog/ResolveDbRelationshipDialog.java| 401 -
 .../dialog/objentity/DbRelationshipTarget.java | 144 
 .../dialog/objentity/ObjRelationshipInfo.java  |  66 +---
 .../editor/dbentity/DbEntityRelationshipPanel.java |  56 ++-
 .../editor/dbentity/DbRelationshipTableModel.java  |  37 +-
 .../modeler/undo/RelationshipUndoableEdit.java |  37 +-
 10 files changed, 707 insertions(+), 666 deletions(-)

diff --git a/RELEASE-NOTES.txt b/RELEASE-NOTES.txt
index 36274dd..4e52647 100644
--- a/RELEASE-NOTES.txt
+++ b/RELEASE-NOTES.txt
@@ -21,6 +21,7 @@ CAY-2511 Contribute custom properties for attributes
 CAY-2517 EventManager: optimization of adding listeners
 CAY-2518 Add method to append having qualifier expression to ObjectSelect
 CAY-2520 Split ObjectId into several specialized variants
+CAY-2540 Modeler: redesign dbRelationship editor dialog
 
 Bug Fixes:
 
diff --git 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/DbRelationshipDialogView.java
 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/DbRelationshipDialogView.java
new file mode 100644
index 000..46f5369
--- /dev/null
+++ 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/DbRelationshipDialogView.java
@@ -0,0 +1,230 @@
+/*
+ *   Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ /
+
+package org.apache.cayenne.modeler;
+
+import javax.swing.JButton;
+import javax.swing.JCheckBox;
+import javax.swing.JComboBox;
+import javax.swing.JLabel;
+import javax.swing.JPanel;
+import javax.swing.JScrollPane;
+import javax.swing.JTextField;
+import javax.swing.ListSelectionModel;
+import java.awt.BorderLayout;
+import java.awt.Dimension;
+import java.awt.FlowLayout;
+
+import com.jgoodies.forms.builder.PanelBuilder;
+import com.jgoodies.forms.layout.CellConstraints;
+import com.jgoodies.forms.layout.FormLayout;
+import org.apache.cayenne.modeler.pref.TableColumnPreferences;
+import org.apache.cayenne.modeler.util.CayenneDialog;
+import org.apache.cayenne.modeler.util.CayenneTable;
+import org.apache.cayenne.modeler.util.PanelFactory;
+
+/**
+ * @since 4.2
+ */
+public class DbRelationshipDialogView extends CayenneDialog {
+
+private JTextField name;
+private JComboBox targetEntities;
+private JCheckBox toDepPk;
+private JCheckBox toMany;
+private JTextField comment;
+private JLabel sourceName;
+private JTextField reverseName;
+private CayenneTable table;
+private TableColumnPreferences tablePreferences;
+private JButton addButton;
+private JButton removeButton;
+private  JButton saveButton;
+private JButton cancelButton;
+
+private boolean cancelPressed;
+
+public DbRelationshipDialogView() {
+super(Application.getFrame(), "Create dbRelationship", true);
+
+initView();
+this.pack();
+this.centerWindow();
+}
+
+private void initView() {
+name = new JTextField(25);
+targetEntities = new JComboBox<>();
+toDepPk = new JCheckBox();
+toMany = new JCheckBox();
+comment = new JTextField(25);
+
+sourceName = new JLabel();
+reverseName = new JTextField(25);
+
+addButton = new JButton("Add");
+
+removeButton = new JButton("Remove");
+
+saveButton = new JButton("Done");
+
+cancelBut

[cayenne] branch master updated: CAY-2561 Modeler: cgen type combobox doesn't set templates.

2019-04-09 Thread abulatski
This is an automated email from the ASF dual-hosted git repository.

abulatski pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cayenne.git


The following commit(s) were added to refs/heads/master by this push:
 new 1bc35c3  CAY-2561 Modeler: cgen type combobox doesn't set templates.
1bc35c3 is described below

commit 1bc35c3f9cf95e10b57ccd126a331b487e4ec868
Author: Arseni Bulatski 
AuthorDate: Tue Apr 9 09:55:38 2019 +0300

CAY-2561 Modeler: cgen type combobox doesn't set templates.
---
 RELEASE-NOTES.txt|  1 +
 .../modeler/editor/cgen/CustomModeController.java| 16 +---
 2 files changed, 10 insertions(+), 7 deletions(-)

diff --git a/RELEASE-NOTES.txt b/RELEASE-NOTES.txt
index b1eee3a0..df5df34 100644
--- a/RELEASE-NOTES.txt
+++ b/RELEASE-NOTES.txt
@@ -40,6 +40,7 @@ CAY-2537 Modeler: Schema Generation Complete popup window is 
hidden
 CAY-2544 Possible name clash of ivar and property name in generated class
 CAY-2547 CayenneDataObject serialization issue
 CAY-2559 Modeler: Warning dialog shows wrong information after changing target 
entity in dbRelationship
+CAY-2561 Modeler: cgen type combobox doesn't set templates
 
 --
 Release: 4.1.B1
diff --git 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/CustomModeController.java
 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/CustomModeController.java
index e2d8408..f1d807b 100644
--- 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/CustomModeController.java
+++ 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/CustomModeController.java
@@ -19,13 +19,6 @@
 
 package org.apache.cayenne.modeler.editor.cgen;
 
-import org.apache.cayenne.gen.CgenConfiguration;
-import org.apache.cayenne.gen.ClassGenerationAction;
-import org.apache.cayenne.modeler.CodeTemplateManager;
-import org.apache.cayenne.modeler.dialog.cgen.TemplateDialog;
-import org.apache.cayenne.modeler.dialog.pref.PreferenceDialog;
-import org.apache.cayenne.swing.BindingBuilder;
-
 import javax.swing.DefaultComboBoxModel;
 import java.awt.Component;
 import java.nio.file.Paths;
@@ -33,6 +26,13 @@ import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
 
+import org.apache.cayenne.gen.CgenConfiguration;
+import org.apache.cayenne.gen.ClassGenerationAction;
+import org.apache.cayenne.modeler.CodeTemplateManager;
+import org.apache.cayenne.modeler.dialog.cgen.TemplateDialog;
+import org.apache.cayenne.modeler.dialog.pref.PreferenceDialog;
+import org.apache.cayenne.swing.BindingBuilder;
+
 /**
  * @since 4.1
  * A controller for the custom generation mode.
@@ -184,5 +184,7 @@ public class CustomModeController extends 
GeneratorController {
 @Override
 public void updateConfiguration(CgenConfiguration cgenConfiguration) {
 cgenConfiguration.setClient(false);
+cgenConfiguration.setTemplate(ClassGenerationAction.SUBCLASS_TEMPLATE);
+
cgenConfiguration.setSuperTemplate(ClassGenerationAction.SUPERCLASS_TEMPLATE);
 }
 }



[cayenne] branch STABLE-4.1 updated: CAY-2561 Modeler: cgen type combobox doesn't set templates.

2019-04-09 Thread abulatski
This is an automated email from the ASF dual-hosted git repository.

abulatski pushed a commit to branch STABLE-4.1
in repository https://gitbox.apache.org/repos/asf/cayenne.git


The following commit(s) were added to refs/heads/STABLE-4.1 by this push:
 new 3c23509  CAY-2561 Modeler: cgen type combobox doesn't set templates.
3c23509 is described below

commit 3c235096382a95acac8ed43f08a5571a4b5a6730
Author: Arseni Bulatski 
AuthorDate: Tue Apr 9 10:01:17 2019 +0300

CAY-2561 Modeler: cgen type combobox doesn't set templates.
---
 RELEASE-NOTES.txt|  1 +
 .../modeler/editor/cgen/CustomModeController.java| 16 +---
 2 files changed, 10 insertions(+), 7 deletions(-)

diff --git a/RELEASE-NOTES.txt b/RELEASE-NOTES.txt
index 96ea851..815be18 100644
--- a/RELEASE-NOTES.txt
+++ b/RELEASE-NOTES.txt
@@ -14,6 +14,7 @@ Date:
 Bug Fixes:
 CAY-2550 Modeler: ObjAttribute inspector modifies wrong columns in attribute 
table
 CAY-2559 Modeler: Warning dialog shows wrong information after changing target 
entity in dbRelationship
+CAY-2561 Modeler: cgen type combobox doesn't set templates
 
 --
 Release: 4.1.B1
diff --git 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/CustomModeController.java
 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/CustomModeController.java
index e2d8408..f1d807b 100644
--- 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/CustomModeController.java
+++ 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/cgen/CustomModeController.java
@@ -19,13 +19,6 @@
 
 package org.apache.cayenne.modeler.editor.cgen;
 
-import org.apache.cayenne.gen.CgenConfiguration;
-import org.apache.cayenne.gen.ClassGenerationAction;
-import org.apache.cayenne.modeler.CodeTemplateManager;
-import org.apache.cayenne.modeler.dialog.cgen.TemplateDialog;
-import org.apache.cayenne.modeler.dialog.pref.PreferenceDialog;
-import org.apache.cayenne.swing.BindingBuilder;
-
 import javax.swing.DefaultComboBoxModel;
 import java.awt.Component;
 import java.nio.file.Paths;
@@ -33,6 +26,13 @@ import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
 
+import org.apache.cayenne.gen.CgenConfiguration;
+import org.apache.cayenne.gen.ClassGenerationAction;
+import org.apache.cayenne.modeler.CodeTemplateManager;
+import org.apache.cayenne.modeler.dialog.cgen.TemplateDialog;
+import org.apache.cayenne.modeler.dialog.pref.PreferenceDialog;
+import org.apache.cayenne.swing.BindingBuilder;
+
 /**
  * @since 4.1
  * A controller for the custom generation mode.
@@ -184,5 +184,7 @@ public class CustomModeController extends 
GeneratorController {
 @Override
 public void updateConfiguration(CgenConfiguration cgenConfiguration) {
 cgenConfiguration.setClient(false);
+cgenConfiguration.setTemplate(ClassGenerationAction.SUBCLASS_TEMPLATE);
+
cgenConfiguration.setSuperTemplate(ClassGenerationAction.SUPERCLASS_TEMPLATE);
 }
 }



[cayenne] branch STABLE-4.1 updated: CAY-2564 No import for Property after generation classes with pk properties

2019-04-11 Thread abulatski
This is an automated email from the ASF dual-hosted git repository.

abulatski pushed a commit to branch STABLE-4.1
in repository https://gitbox.apache.org/repos/asf/cayenne.git


The following commit(s) were added to refs/heads/STABLE-4.1 by this push:
 new 671f195  CAY-2564 No import for Property after generation classes with 
pk properties
671f195 is described below

commit 671f1954f8ee6a4ec3b35793f35b931b3918f874
Author: Arseni Bulatski 
AuthorDate: Thu Apr 11 17:26:39 2019 +0300

CAY-2564 No import for Property after generation classes with pk properties
---
 RELEASE-NOTES.txt| 1 +
 cayenne-cgen/src/main/resources/templates/v4_1/superclass.vm | 4 +++-
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/RELEASE-NOTES.txt b/RELEASE-NOTES.txt
index 815be18..d81100a 100644
--- a/RELEASE-NOTES.txt
+++ b/RELEASE-NOTES.txt
@@ -15,6 +15,7 @@ Bug Fixes:
 CAY-2550 Modeler: ObjAttribute inspector modifies wrong columns in attribute 
table
 CAY-2559 Modeler: Warning dialog shows wrong information after changing target 
entity in dbRelationship
 CAY-2561 Modeler: cgen type combobox doesn't set templates
+CAY-2564 No import for Property after generation classes with pk properties
 
 --
 Release: 4.1.B1
diff --git a/cayenne-cgen/src/main/resources/templates/v4_1/superclass.vm 
b/cayenne-cgen/src/main/resources/templates/v4_1/superclass.vm
index a1bbd58..5869a87 100644
--- a/cayenne-cgen/src/main/resources/templates/v4_1/superclass.vm
+++ b/cayenne-cgen/src/main/resources/templates/v4_1/superclass.vm
@@ -44,7 +44,9 @@ ${importUtils.addType("java.io.ObjectOutputStream")}##
 #if( $createPKProperties )
 ${importUtils.addType("org.apache.cayenne.exp.ExpressionFactory")}##
 #end
-#if((${object.DeclaredAttributes} && !${object.DeclaredAttributes.isEmpty()}) 
|| (${object.DeclaredRelationships} && 
!${object.DeclaredRelationships.isEmpty()}))
+#if((${object.DeclaredAttributes} && !${object.DeclaredAttributes.isEmpty()}) 
||
+(${object.DeclaredRelationships} && 
!${object.DeclaredRelationships.isEmpty()}) ||
+$createPKProperties)
 ${importUtils.addType('org.apache.cayenne.exp.Property')}##
 #end
 #foreach( $attr in ${object.DeclaredAttributes} )



[cayenne] branch master updated: CAY-2563 Deprecate old scalarQuery methods in SQLSelect

2019-04-11 Thread abulatski
This is an automated email from the ASF dual-hosted git repository.

abulatski pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cayenne.git


The following commit(s) were added to refs/heads/master by this push:
 new 933e42f  CAY-2563 Deprecate old scalarQuery methods in SQLSelect
933e42f is described below

commit 933e42f40b3a09e074d5297fcd62d97add6efdca
Author: Arseni Bulatski 
AuthorDate: Thu Apr 11 16:49:16 2019 +0300

CAY-2563 Deprecate old scalarQuery methods in SQLSelect
---
 RELEASE-NOTES.txt  |  1 +
 UPGRADE.txt|  3 ++
 .../java/org/apache/cayenne/query/SQLSelect.java   | 18 ++
 .../org/apache/cayenne/OneWayRelationshipsIT.java  | 20 +--
 .../java/org/apache/cayenne/query/SQLSelectIT.java | 39 --
 5 files changed, 46 insertions(+), 35 deletions(-)

diff --git a/RELEASE-NOTES.txt b/RELEASE-NOTES.txt
index 22f05c8..357de43 100644
--- a/RELEASE-NOTES.txt
+++ b/RELEASE-NOTES.txt
@@ -28,6 +28,7 @@ CAY-2542 Modeler: redesign ObjRelationship editor dialog
 CAY-2543 Move ResultSetMapping generation from metadata to translator
 CAY-2549 Modeler: Redesign ObjAttribute editor dialog
 CAY-2555 Use explicit ArcId in GraphChangeHandler methods
+CAY-2563 Deprecate old scalarQuery methods in SQLSelect
 
 Bug Fixes:
 
diff --git a/UPGRADE.txt b/UPGRADE.txt
index 8e080ab..fb61f25 100644
--- a/UPGRADE.txt
+++ b/UPGRADE.txt
@@ -15,6 +15,9 @@ UPGRADING TO 4.2.M1
 * Per CAY-2467 Property class is replaced with a type-aware Property API, it's 
mostly backwards compatible.
 To take advantage of this new API you should regenerate code via Modeler 
("Tools" -> "Generate Classes") or cgen tools.
 
+* Per CAY-2563 SQLSelect.scalarQuery(Class, String) and 
SQLSelect.scalarQuery(Class, String, String) methods
+were deprecated.
+
 UPGRADING TO 4.1.M3
 
 * Per CAY-2514 SERVER_CONTEXTS_SYNC_PROPERTY default value was set to false.
diff --git 
a/cayenne-server/src/main/java/org/apache/cayenne/query/SQLSelect.java 
b/cayenne-server/src/main/java/org/apache/cayenne/query/SQLSelect.java
index c276a78..f2538a4 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/query/SQLSelect.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/query/SQLSelect.java
@@ -18,6 +18,13 @@
  /
 package org.apache.cayenne.query;
 
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
 import org.apache.cayenne.CayenneRuntimeException;
 import org.apache.cayenne.DataRow;
 import org.apache.cayenne.ObjectContext;
@@ -27,13 +34,6 @@ import org.apache.cayenne.ResultIteratorCallback;
 import org.apache.cayenne.map.DataMap;
 import org.apache.cayenne.map.EntityResolver;
 
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
 /**
  * A selecting query based on raw SQL and featuring fluent API.
  * 
@@ -93,7 +93,9 @@ public class SQLSelect extends IndirectQuery implements 
Select {
 
/**
 * Creates a query that selects scalar values and uses default routing.
+* @deprecated since 4.2. Use {@link #scalarQuery(String, Class)} 
method.
 */
+   @Deprecated
public static  SQLSelect scalarQuery(Class type, String sql) {
return scalarQuery(sql, type);
}
@@ -101,7 +103,9 @@ public class SQLSelect extends IndirectQuery implements 
Select {
/**
 * Creates a query that selects scalar values and uses routing based on 
the
 * provided DataMap name.
+* @deprecated since 4.2. Use {@link #scalarQuery(String, String, 
Class)} method.
 */
+   @Deprecated
public static  SQLSelect scalarQuery(Class type, String 
dataMapName, String sql) {
SQLSelect query = new SQLSelect<>(sql);
query.dataMapName = dataMapName;
diff --git 
a/cayenne-server/src/test/java/org/apache/cayenne/OneWayRelationshipsIT.java 
b/cayenne-server/src/test/java/org/apache/cayenne/OneWayRelationshipsIT.java
index dd5fbc5..68e7007 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/OneWayRelationshipsIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/OneWayRelationshipsIT.java
@@ -18,6 +18,10 @@
  /
 package org.apache.cayenne;
 
+import java.sql.SQLException;
+import java.sql.Types;
+import java.util.List;
+
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.query.SQLSelect;
 import org.apache.cayenne.test.jdbc.DBHelper;
@@ -32,10 +36,6 @@ import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Before;
 import org.junit.Test;
 
-import java.sql.SQLException;
-import java.sql.

[cayenne] branch STABLE-4.0 updated (8830e8c -> ca8926b)

2019-06-07 Thread abulatski
This is an automated email from the ASF dual-hosted git repository.

abulatski pushed a change to branch STABLE-4.0
in repository https://gitbox.apache.org/repos/asf/cayenne.git.


from 8830e8c  CAY-2573 DI field injection is triggered when creating sql 
Driver
 new bc5cf82  CAY-2519 Use NoopEventManager if 
SERVER_CONTEXTS_SYNC_PROPERTY is false
 new ca8926b  Merge PR #365

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 RELEASE-NOTES.txt  |  1 +
 .../configuration/rop/client/ClientModule.java |  8 ++-
 .../org/apache/cayenne/access/DataContext.java | 10 +++-
 .../cayenne/configuration/server/ServerModule.java | 16 ++---
 .../EventManagerProvider.java} | 19 +++---
 .../apache/cayenne/event/NoopEventManager.java}| 69 +-
 6 files changed, 60 insertions(+), 63 deletions(-)
 copy 
cayenne-server/src/main/java/org/apache/cayenne/{cache/MapQueryCacheProvider.java
 => event/EventManagerProvider.java} (72%)
 copy 
cayenne-server/src/{test/java/org/apache/cayenne/event/MockEventManager.java => 
main/java/org/apache/cayenne/event/NoopEventManager.java} (62%)



[cayenne] 02/02: Merge PR #365

2019-06-07 Thread abulatski
This is an automated email from the ASF dual-hosted git repository.

abulatski pushed a commit to branch STABLE-4.0
in repository https://gitbox.apache.org/repos/asf/cayenne.git

commit ca8926b7ced71cdca4592588344182dadb8f16ff
Merge: 8830e8c bc5cf82
Author: Arseni Bulatski 
AuthorDate: Fri Jun 7 16:20:52 2019 +0300

Merge PR #365

 RELEASE-NOTES.txt  |  1 +
 .../configuration/rop/client/ClientModule.java |  8 ++-
 .../org/apache/cayenne/access/DataContext.java | 10 ++-
 .../cayenne/configuration/server/ServerModule.java | 16 ++---
 .../apache/cayenne/event/EventManagerProvider.java | 44 
 .../org/apache/cayenne/event/NoopEventManager.java | 81 ++
 6 files changed, 147 insertions(+), 13 deletions(-)

diff --cc RELEASE-NOTES.txt
index 5ceac0d,f462915..ece7e32
--- a/RELEASE-NOTES.txt
+++ b/RELEASE-NOTES.txt
@@@ -12,16 -12,11 +12,17 @@@ Release: 4.0.
  Date:
  --
  
 -===
  Changes/New Features:
  
 -CAY-2517 EventManager: optimization of adding listeners
+ CAY-2519 Use NoopEventManager if SERVER_CONTEXTS_SYNC_PROPERTY is false
 +CAY-2570 Use MySQL adapter for latest versions of MariaDB
 +
 +Bug Fixes:
 +
 +CAY-2550 Modeler: ObjAttribute inspector modifies wrong columns in attribute 
table
 +CAY-2559 Modeler: Warning dialog shows wrong information after changing 
target entity in dbRelationship
 +CAY-2573 DI field injection is triggered when creating sql Driver
 +CAY-2584 Crypto: can't use ColumnSelect with encrypted columns
  
  --
  Release: 4.0.1



[cayenne] 01/02: CAY-2519 Use NoopEventManager if SERVER_CONTEXTS_SYNC_PROPERTY is false

2019-06-07 Thread abulatski
This is an automated email from the ASF dual-hosted git repository.

abulatski pushed a commit to branch STABLE-4.0
in repository https://gitbox.apache.org/repos/asf/cayenne.git

commit bc5cf828a853ba83468e9a6fcaf9d60433be9f11
Author: Arseni Bulatski 
AuthorDate: Thu Feb 7 14:58:05 2019 +0300

CAY-2519 Use NoopEventManager if SERVER_CONTEXTS_SYNC_PROPERTY is false
---
 RELEASE-NOTES.txt  | 12 +++-
 .../configuration/rop/client/ClientModule.java |  8 ++-
 .../org/apache/cayenne/access/DataContext.java | 10 ++-
 .../cayenne/configuration/server/ServerModule.java | 16 ++---
 .../apache/cayenne/event/EventManagerProvider.java | 44 
 .../org/apache/cayenne/event/NoopEventManager.java | 81 ++
 6 files changed, 157 insertions(+), 14 deletions(-)

diff --git a/RELEASE-NOTES.txt b/RELEASE-NOTES.txt
index a27c383..f462915 100644
--- a/RELEASE-NOTES.txt
+++ b/RELEASE-NOTES.txt
@@ -8,6 +8,17 @@ To browse individual bug reports check out project issue 
tracker:
 https://issues.apache.org/jira/browse/CAY
 
 --
+Release: 4.0.2
+Date:
+--
+
+===
+Changes/New Features:
+
+CAY-2517 EventManager: optimization of adding listeners
+CAY-2519 Use NoopEventManager if SERVER_CONTEXTS_SYNC_PROPERTY is false
+
+--
 Release: 4.0.1
 Date: December 20, 2018
 --
@@ -20,7 +31,6 @@ CAY-2474 Modeler: swap buttons in dialog toolbar
 CAY-2475 Modeler: move inheritance icon to name column in objAttr table and 
objRel table
 CAY-2476 Modeler: Fixed wrong behaviour of code generation dialog
 CAY-2479 Modeler: update cgen dialog
-CAY-2517 EventManager: optimization of adding listeners
 
 Bug Fixes:
 
diff --git 
a/cayenne-client/src/main/java/org/apache/cayenne/configuration/rop/client/ClientModule.java
 
b/cayenne-client/src/main/java/org/apache/cayenne/configuration/rop/client/ClientModule.java
index 690ed2c..0a0553e 100644
--- 
a/cayenne-client/src/main/java/org/apache/cayenne/configuration/rop/client/ClientModule.java
+++ 
b/cayenne-client/src/main/java/org/apache/cayenne/configuration/rop/client/ClientModule.java
@@ -30,11 +30,13 @@ import org.apache.cayenne.configuration.server.ServerModule;
 import org.apache.cayenne.di.Binder;
 import org.apache.cayenne.di.MapBuilder;
 import org.apache.cayenne.di.Module;
-import org.apache.cayenne.event.DefaultEventManager;
 import org.apache.cayenne.event.EventManager;
+import org.apache.cayenne.event.EventManagerProvider;
 import org.apache.cayenne.remote.ClientConnection;
 import org.apache.cayenne.remote.RemoteService;
-import org.apache.cayenne.rop.*;
+import org.apache.cayenne.rop.HttpClientConnectionProvider;
+import org.apache.cayenne.rop.ProxyRemoteService;
+import org.apache.cayenne.rop.ROPSerializationService;
 import org.apache.cayenne.rop.http.ClientHessianSerializationServiceProvider;
 
 /**
@@ -87,7 +89,7 @@ public class ClientModule implements Module {
 
binder.bind(ROPSerializationService.class).toProvider(ClientHessianSerializationServiceProvider.class);
 binder.bind(RemoteService.class).to(ProxyRemoteService.class);
 
binder.bind(ClientConnection.class).toProvider(HttpClientConnectionProvider.class);
-binder.bind(EventManager.class).to(DefaultEventManager.class);
+binder.bind(EventManager.class).toProvider(EventManagerProvider.class);
 
binder.bind(RuntimeProperties.class).to(DefaultRuntimeProperties.class);
 binder.bind(DataChannel.class).toProvider(ClientChannelProvider.class);
 binder.bind(QueryCache.class).toProvider(MapQueryCacheProvider.class);
diff --git 
a/cayenne-server/src/main/java/org/apache/cayenne/access/DataContext.java 
b/cayenne-server/src/main/java/org/apache/cayenne/access/DataContext.java
index bc80736..d430914 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/access/DataContext.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/access/DataContext.java
@@ -44,6 +44,7 @@ import org.apache.cayenne.ResultIterator;
 import org.apache.cayenne.access.util.IteratedSelectObserver;
 import org.apache.cayenne.di.Injector;
 import org.apache.cayenne.event.EventManager;
+import org.apache.cayenne.event.NoopEventManager;
 import org.apache.cayenne.graph.ChildDiffLoader;
 import org.apache.cayenne.graph.CompoundDiff;
 import org.apache.cayenne.graph.GraphDiff;
@@ -53,7 +54,12 @@ import org.apache.cayenne.map.DbRelationship;
 import org.apache.cayenne.map.ObjAttribute;
 import org.apache.cayenne.map.ObjEntity;
 import org.apache.cayenne.map.ObjRelationship;
-import org.apache.cayenne.query.*;
+import org.apache.cayenne.query.EntityResultSegment;
+import org.apache.cayenne.query.MappedExec;
+import org.apache.cayenne.query.MappedSelect;
+import org.apache.cayenne.query.Query;
+import org.apache.cayenne.query.QueryMetadata;
+import org.apache.cayenne.query.Select;
 import

[cayenne] branch master updated: Update RELEASE-NOTES

2019-06-07 Thread abulatski
This is an automated email from the ASF dual-hosted git repository.

abulatski pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cayenne.git


The following commit(s) were added to refs/heads/master by this push:
 new d79b9fa  Update RELEASE-NOTES
d79b9fa is described below

commit d79b9fa976a4949cdee6bc8f6b538b7641cac0d8
Author: Arseni Bulatski 
AuthorDate: Fri Jun 7 16:30:05 2019 +0300

Update RELEASE-NOTES
---
 RELEASE-NOTES.txt | 1 +
 1 file changed, 1 insertion(+)

diff --git a/RELEASE-NOTES.txt b/RELEASE-NOTES.txt
index 596c2cd..b9e7be2 100644
--- a/RELEASE-NOTES.txt
+++ b/RELEASE-NOTES.txt
@@ -56,6 +56,7 @@ CAY-2575 Select translator: Wrong translation of IN Expression
 CAY-2576 Ant cgen task is broken
 CAY-2577 Between property with extended type failure
 CAY-2578 Wrong bindings in select of related entity by compound FK
+CAY-2582 Double insert of manyToMany relationship mapped to Set
 
 --
 Release: 4.1.B1



[cayenne] branch STABLE-4.0 updated: CAY-2573 DI field injection is triggered when creating sql Driver

2019-06-07 Thread abulatski
This is an automated email from the ASF dual-hosted git repository.

abulatski pushed a commit to branch STABLE-4.0
in repository https://gitbox.apache.org/repos/asf/cayenne.git


The following commit(s) were added to refs/heads/STABLE-4.0 by this push:
 new 8830e8c  CAY-2573 DI field injection is triggered when creating sql 
Driver
8830e8c is described below

commit 8830e8cef12f8b065a71d9827cf183d43988dfcf
Author: Nikita Timofeev 
AuthorDate: Sat May 4 18:00:42 2019 +0300

CAY-2573 DI field injection is triggered when creating sql Driver

(cherry picked from commit 91992935b9de28f9b5739b0b763b90520675c77e)
---
 RELEASE-NOTES.txt| 1 +
 .../dbsync/reverse/configuration/DriverDataSourceFactory.java| 5 ++---
 .../cayenne/configuration/server/PropertyDataSourceFactory.java  | 2 +-
 .../cayenne/configuration/server/XMLPoolingDataSourceFactory.java| 2 +-
 4 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/RELEASE-NOTES.txt b/RELEASE-NOTES.txt
index 01804da..5ceac0d 100644
--- a/RELEASE-NOTES.txt
+++ b/RELEASE-NOTES.txt
@@ -20,6 +20,7 @@ Bug Fixes:
 
 CAY-2550 Modeler: ObjAttribute inspector modifies wrong columns in attribute 
table
 CAY-2559 Modeler: Warning dialog shows wrong information after changing target 
entity in dbRelationship
+CAY-2573 DI field injection is triggered when creating sql Driver
 CAY-2584 Crypto: can't use ColumnSelect with encrypted columns
 
 --
diff --git 
a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/reverse/configuration/DriverDataSourceFactory.java
 
b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/reverse/configuration/DriverDataSourceFactory.java
index d24f367..2f67124 100644
--- 
a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/reverse/configuration/DriverDataSourceFactory.java
+++ 
b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/reverse/configuration/DriverDataSourceFactory.java
@@ -19,9 +19,8 @@
 
 package org.apache.cayenne.dbsync.reverse.configuration;
 
-import java.sql.Driver;
-
 import javax.sql.DataSource;
+import java.sql.Driver;
 
 import org.apache.cayenne.configuration.DataNodeDescriptor;
 import org.apache.cayenne.configuration.server.DataSourceFactory;
@@ -47,7 +46,7 @@ public class DriverDataSourceFactory implements 
DataSourceFactory {
throw new IllegalArgumentException("'nodeDescriptor' 
contains no datasource descriptor");
}
 
-   Driver driver = objectFactory.newInstance(Driver.class, 
properties.getJdbcDriver());
+   Driver driver = 
(Driver)objectFactory.getJavaClass(properties.getJdbcDriver()).newInstance();
return new DriverDataSource(driver, 
properties.getDataSourceUrl(), properties.getUserName(),
properties.getPassword());
}
diff --git 
a/cayenne-server/src/main/java/org/apache/cayenne/configuration/server/PropertyDataSourceFactory.java
 
b/cayenne-server/src/main/java/org/apache/cayenne/configuration/server/PropertyDataSourceFactory.java
index d3fc1ac..365e875 100644
--- 
a/cayenne-server/src/main/java/org/apache/cayenne/configuration/server/PropertyDataSourceFactory.java
+++ 
b/cayenne-server/src/main/java/org/apache/cayenne/configuration/server/PropertyDataSourceFactory.java
@@ -71,7 +71,7 @@ public class PropertyDataSourceFactory implements 
DataSourceFactory {

UnmanagedPoolingDataSource.MAX_QUEUE_WAIT_DEFAULT);
String validationQuery = 
properties.get(Constants.JDBC_VALIDATION_QUERY_PROPERTY);
 
-   Driver driver = objectFactory.newInstance(Driver.class, 
driverClass);
+   Driver driver = 
(Driver)objectFactory.getJavaClass(driverClass).newInstance();
return 
DataSourceBuilder.url(url).driver(driver).userName(username).password(password)
.pool(minConnections, 
maxConnections).maxQueueWaitTime(maxQueueWaitTime)
.validationQuery(validationQuery).build();
diff --git 
a/cayenne-server/src/main/java/org/apache/cayenne/configuration/server/XMLPoolingDataSourceFactory.java
 
b/cayenne-server/src/main/java/org/apache/cayenne/configuration/server/XMLPoolingDataSourceFactory.java
index e99d78d..d0d07af 100644
--- 
a/cayenne-server/src/main/java/org/apache/cayenne/configuration/server/XMLPoolingDataSourceFactory.java
+++ 
b/cayenne-server/src/main/java/org/apache/cayenne/configuration/server/XMLPoolingDataSourceFactory.java
@@ -67,7 +67,7 @@ public class XMLPoolingDataSourceFactory implements 
DataSourceFactory {
long maxQueueWaitTime = 
properties.getLong(Constants.JDBC_MAX_QUEUE_WAIT_TIME,

UnmanagedPoolingDataSource.MAX_QUEUE_WAIT_DEFAULT);
 
-   Driver driver = objectFactory.newInstance(Driver.class, 
descriptor.getJdbcDriver());
+   Dri

[cayenne] 02/03: CAY-2582 Double insert of manyToMany relationship mapped to Set test case from PR #385

2019-06-07 Thread abulatski
This is an automated email from the ASF dual-hosted git repository.

abulatski pushed a commit to branch STABLE-4.1
in repository https://gitbox.apache.org/repos/asf/cayenne.git

commit 5999f6af8e0e3acf36293f4ace2adf7efe85da2f
Author: Nikita Timofeev 
AuthorDate: Tue May 21 17:24:07 2019 +0300

CAY-2582 Double insert of manyToMany relationship mapped to Set
 test case from PR #385

(cherry picked from commit 326f1de071cc871561891557baf5879bd1ba06ce)
---
 .../java/org/apache/cayenne/ManyToManyJoinIT.java  |  51 ++
 .../relationships_many_to_many_join/Author.java|   9 ++
 .../relationships_many_to_many_join/Song.java  |   9 ++
 .../auto/_Author.java  |  86 
 .../auto/_Song.java| 110 +
 .../cayenne/unit/di/server/CayenneProjects.java|   1 +
 .../cayenne/unit/di/server/SchemaBuilder.java  |   2 +-
 .../cayenne-relationships-many-to-many-join.xml|   7 ++
 .../relationships-many-to-many-join.map.xml|  38 +++
 9 files changed, 312 insertions(+), 1 deletion(-)

diff --git 
a/cayenne-server/src/test/java/org/apache/cayenne/ManyToManyJoinIT.java 
b/cayenne-server/src/test/java/org/apache/cayenne/ManyToManyJoinIT.java
new file mode 100644
index 000..0949b5e
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/ManyToManyJoinIT.java
@@ -0,0 +1,51 @@
+/*
+ *   Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *https://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ /
+package org.apache.cayenne;
+
+import static org.junit.Assert.*;
+
+import org.apache.cayenne.di.Inject;
+import org.apache.cayenne.testdo.relationships_many_to_many_join.Author;
+import org.apache.cayenne.testdo.relationships_many_to_many_join.Song;
+import org.apache.cayenne.unit.di.server.CayenneProjects;
+import org.apache.cayenne.unit.di.server.ServerCase;
+import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
+
+@UseServerRuntime(CayenneProjects.RELATIONSHIPS_MANY_TO_MANY_JOIN_PROJECT)
+public class ManyToManyJoinIT extends ServerCase {
+
+@Inject
+private ObjectContext context;
+
+@Test
+public void testManyToManyJoinWithFlattenedRelationship() throws Exception 
{
+   Author author = context.newObject(Author.class);
+   author.setName("Bob Dylan");
+   
+Song song = context.newObject(Song.class);
+song.setName("House of the Rising Sun");
+
+song.addToAuthors(author);
+
+context.commitChanges();
+assertEquals(author, song.getAuthors().iterator().next());
+}
+
+}
diff --git 
a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_many_to_many_join/Author.java
 
b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_many_to_many_join/Author.java
new file mode 100644
index 000..a50741e
--- /dev/null
+++ 
b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_many_to_many_join/Author.java
@@ -0,0 +1,9 @@
+package org.apache.cayenne.testdo.relationships_many_to_many_join;
+
+import org.apache.cayenne.testdo.relationships_many_to_many_join.auto._Author;
+
+public class Author extends _Author {
+
+private static final long serialVersionUID = 1L; 
+
+}
diff --git 
a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_many_to_many_join/Song.java
 
b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_many_to_many_join/Song.java
new file mode 100644
index 000..8df7056
--- /dev/null
+++ 
b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_many_to_many_join/Song.java
@@ -0,0 +1,9 @@
+package org.apache.cayenne.testdo.relationships_many_to_many_join;
+
+import org.apache.cayenne.testdo.relationships_many_to_many_join.auto._Song;
+
+public class Song extends _Song {
+
+private static final long serialVersionUID = 1L; 
+
+}
diff --git 
a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_many_to_many_join/auto/_Author.java
 
b/cayenne-server/src/test/java/org/apache/cayenne/tes

[cayenne] branch STABLE-4.1 updated (9b82228 -> 8fe18f7)

2019-06-07 Thread abulatski
This is an automated email from the ASF dual-hosted git repository.

abulatski pushed a change to branch STABLE-4.1
in repository https://gitbox.apache.org/repos/asf/cayenne.git.


from 9b82228  CAY-2573 DI field injection is triggered when creating sql 
Driver
 new 87f368e  CAY-2582 Double insert of manyToMany relationship mapped to 
Set
 new 5999f6a  CAY-2582 Double insert of manyToMany relationship mapped to 
Set  test case from PR #385
 new 8fe18f7  Update RELEASE-NOTES

The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 RELEASE-NOTES.txt  |   1 +
 .../org/apache/cayenne/access/ToManyListFault.java |   2 +-
 .../access/{ToManyList.java => ToManySet.java} |  50 ++---
 .../org/apache/cayenne/access/ToManySetFault.java  |   3 +-
 .../apache/cayenne/util/PersistentObjectList.java  |   6 +-
 .../apache/cayenne/util/PersistentObjectMap.java   |   2 +-
 .../apache/cayenne/util/PersistentObjectSet.java   | 115 +
 ...nyToManyNoJoinIT.java => ManyToManyJoinIT.java} |  35 +++
 .../relationships_many_to_many_join/Author.java|   9 ++
 .../relationships_many_to_many_join/Song.java  |   9 ++
 .../auto/_Author.java} |   8 +-
 .../auto/_Song.java}   |  40 +++
 .../cayenne/unit/di/server/CayenneProjects.java|   1 +
 .../cayenne/unit/di/server/SchemaBuilder.java  |   2 +-
 ...=> cayenne-relationships-many-to-many-join.xml} |   2 +-
 .../relationships-many-to-many-join.map.xml|  38 +++
 16 files changed, 186 insertions(+), 137 deletions(-)
 copy cayenne-server/src/main/java/org/apache/cayenne/access/{ToManyList.java 
=> ToManySet.java} (57%)
 copy cayenne-server/src/test/java/org/apache/cayenne/{ManyToManyNoJoinIT.java 
=> ManyToManyJoinIT.java} (60%)
 create mode 100644 
cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_many_to_many_join/Author.java
 create mode 100644 
cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_many_to_many_join/Song.java
 copy 
cayenne-server/src/test/java/org/apache/cayenne/testdo/{lifecycle_callbacks_order/auto/_Lifecycle.java
 => relationships_many_to_many_join/auto/_Author.java} (90%)
 copy 
cayenne-server/src/test/java/org/apache/cayenne/testdo/{relationships_child_master/auto/_Master.java
 => relationships_many_to_many_join/auto/_Song.java} (70%)
 copy cayenne-server/src/test/resources/{cayenne-cay-2521.xml => 
cayenne-relationships-many-to-many-join.xml} (86%)
 create mode 100644 
cayenne-server/src/test/resources/relationships-many-to-many-join.map.xml



[cayenne] 03/03: Update RELEASE-NOTES

2019-06-07 Thread abulatski
This is an automated email from the ASF dual-hosted git repository.

abulatski pushed a commit to branch STABLE-4.1
in repository https://gitbox.apache.org/repos/asf/cayenne.git

commit 8fe18f7f62aa56c3f96e0f884b9e2288897d98c5
Author: Arseni Bulatski 
AuthorDate: Fri Jun 7 16:30:05 2019 +0300

Update RELEASE-NOTES

(cherry picked from commit d79b9fa976a4949cdee6bc8f6b538b7641cac0d8)
---
 RELEASE-NOTES.txt | 1 +
 1 file changed, 1 insertion(+)

diff --git a/RELEASE-NOTES.txt b/RELEASE-NOTES.txt
index ff31d46..d0ac1c6 100644
--- a/RELEASE-NOTES.txt
+++ b/RELEASE-NOTES.txt
@@ -15,6 +15,7 @@ Date:
 Bug Fixes:
 
 CAY-2573 DI field injection is triggered when creating sql Driver
+CAY-2582 Double insert of manyToMany relationship mapped to Set
 
 --
 Release: 4.1.B2



[cayenne] 01/03: CAY-2582 Double insert of manyToMany relationship mapped to Set

2019-06-07 Thread abulatski
This is an automated email from the ASF dual-hosted git repository.

abulatski pushed a commit to branch STABLE-4.1
in repository https://gitbox.apache.org/repos/asf/cayenne.git

commit 87f368e2bde240334a348d673ae985d0af4c8eec
Author: Nikita Timofeev 
AuthorDate: Tue May 21 17:08:06 2019 +0300

CAY-2582 Double insert of manyToMany relationship mapped to Set

(cherry picked from commit 21167714f4400ac6d4b3a905c595e4dd0f1c4450)
---
 .../org/apache/cayenne/access/ToManyListFault.java |   2 +-
 .../java/org/apache/cayenne/access/ToManySet.java  |  72 +
 .../org/apache/cayenne/access/ToManySetFault.java  |   3 +-
 .../apache/cayenne/util/PersistentObjectList.java  |   6 +-
 .../apache/cayenne/util/PersistentObjectMap.java   |   2 +-
 .../apache/cayenne/util/PersistentObjectSet.java   | 115 +
 6 files changed, 150 insertions(+), 50 deletions(-)

diff --git 
a/cayenne-server/src/main/java/org/apache/cayenne/access/ToManyListFault.java 
b/cayenne-server/src/main/java/org/apache/cayenne/access/ToManyListFault.java
index 76562b0..e3fafce 100644
--- 
a/cayenne-server/src/main/java/org/apache/cayenne/access/ToManyListFault.java
+++ 
b/cayenne-server/src/main/java/org/apache/cayenne/access/ToManyListFault.java
@@ -31,6 +31,6 @@ public class ToManyListFault extends Fault {
  */
 @Override
 public Object resolveFault(Persistent sourceObject, String 
relationshipName) {
-return new ToManyList(sourceObject, relationshipName);
+return new ToManyList<>(sourceObject, relationshipName);
 }
 }
diff --git 
a/cayenne-server/src/main/java/org/apache/cayenne/access/ToManySet.java 
b/cayenne-server/src/main/java/org/apache/cayenne/access/ToManySet.java
new file mode 100644
index 000..42c71ca
--- /dev/null
+++ b/cayenne-server/src/main/java/org/apache/cayenne/access/ToManySet.java
@@ -0,0 +1,72 @@
+/*
+ *   Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ /
+
+package org.apache.cayenne.access;
+
+import java.io.Serializable;
+import java.util.Collection;
+import java.util.List;
+
+import org.apache.cayenne.PersistenceState;
+import org.apache.cayenne.Persistent;
+import org.apache.cayenne.util.PersistentObjectSet;
+
+public class ToManySet extends PersistentObjectSet implements 
Serializable {
+
+protected ToManySet(Persistent relationshipOwner, String relationshipName) 
{
+super(relationshipOwner, relationshipName);
+}
+
+@Override
+protected boolean shouldAddToRemovedFromUnresolvedSet(E object) {
+// No point in adding a new or transient object -- these will never be 
fetched
+// from the database.
+if (object instanceof Persistent) {
+Persistent dataObject = (Persistent) object;
+return (dataObject.getPersistenceState() != 
PersistenceState.TRANSIENT)
+&& (dataObject.getPersistenceState() != 
PersistenceState.NEW);
+}
+return true;
+}
+
+@Override
+protected void postprocessAdd(Collection collection) {
+// no need for this operation for DataObjects...
+}
+
+@Override
+protected void postprocessRemove(Collection collection) {
+// no need for this operation for DataObjects...
+}
+
+@Override
+protected void postprocessAdd(E addedObject) {
+// no need for this operation for DataObjects...
+}
+
+@Override
+protected void postprocessRemove(E removedObject) {
+// no need for this operation for DataObjects...
+}
+
+@Override
+protected void updateReverse(List resolved) {
+// no need for this operation for DataObjects...
+}
+}
diff --git 
a/cayenne-server/src/main/java/org/apache/cayenne/access/ToManySetFault.java 
b/cayenne-server/src/main/java/org/apache/cayenne/access/ToManySetFault.java
index 44e2e10..cb527c7 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/access/ToManySetFault.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/access/ToManySetFault.java
@@ -20,7 +20,6 @@ package or

[cayenne] branch STABLE-4.1 updated: CAY-2573 DI field injection is triggered when creating sql Driver

2019-06-07 Thread abulatski
This is an automated email from the ASF dual-hosted git repository.

abulatski pushed a commit to branch STABLE-4.1
in repository https://gitbox.apache.org/repos/asf/cayenne.git


The following commit(s) were added to refs/heads/STABLE-4.1 by this push:
 new 9b82228  CAY-2573 DI field injection is triggered when creating sql 
Driver
9b82228 is described below

commit 9b82228b8b973528a03980b828493b48a9475bc9
Author: Nikita Timofeev 
AuthorDate: Sat May 4 18:00:42 2019 +0300

CAY-2573 DI field injection is triggered when creating sql Driver

(cherry picked from commit 91992935b9de28f9b5739b0b763b90520675c77e)
---
 RELEASE-NOTES.txt| 9 +
 .../dbsync/reverse/configuration/DriverDataSourceFactory.java| 5 ++---
 .../cayenne/configuration/server/PropertyDataSourceFactory.java  | 2 +-
 .../configuration/server/XMLPoolingDataSourceFactory.java| 2 +-
 4 files changed, 13 insertions(+), 5 deletions(-)

diff --git a/RELEASE-NOTES.txt b/RELEASE-NOTES.txt
index 287eb19..ff31d46 100644
--- a/RELEASE-NOTES.txt
+++ b/RELEASE-NOTES.txt
@@ -8,6 +8,15 @@ To browse individual bug reports check out project issue 
tracker:
 https://issues.apache.org/jira/browse/CAY
 
 --
+Release: 4.1.B3
+Date:
+--
+
+Bug Fixes:
+
+CAY-2573 DI field injection is triggered when creating sql Driver
+
+--
 Release: 4.1.B2
 Date: May 4, 2019
 --
diff --git 
a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/reverse/configuration/DriverDataSourceFactory.java
 
b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/reverse/configuration/DriverDataSourceFactory.java
index d24f367..2f67124 100644
--- 
a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/reverse/configuration/DriverDataSourceFactory.java
+++ 
b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/reverse/configuration/DriverDataSourceFactory.java
@@ -19,9 +19,8 @@
 
 package org.apache.cayenne.dbsync.reverse.configuration;
 
-import java.sql.Driver;
-
 import javax.sql.DataSource;
+import java.sql.Driver;
 
 import org.apache.cayenne.configuration.DataNodeDescriptor;
 import org.apache.cayenne.configuration.server.DataSourceFactory;
@@ -47,7 +46,7 @@ public class DriverDataSourceFactory implements 
DataSourceFactory {
throw new IllegalArgumentException("'nodeDescriptor' 
contains no datasource descriptor");
}
 
-   Driver driver = objectFactory.newInstance(Driver.class, 
properties.getJdbcDriver());
+   Driver driver = 
(Driver)objectFactory.getJavaClass(properties.getJdbcDriver()).newInstance();
return new DriverDataSource(driver, 
properties.getDataSourceUrl(), properties.getUserName(),
properties.getPassword());
}
diff --git 
a/cayenne-server/src/main/java/org/apache/cayenne/configuration/server/PropertyDataSourceFactory.java
 
b/cayenne-server/src/main/java/org/apache/cayenne/configuration/server/PropertyDataSourceFactory.java
index d3fc1ac..365e875 100644
--- 
a/cayenne-server/src/main/java/org/apache/cayenne/configuration/server/PropertyDataSourceFactory.java
+++ 
b/cayenne-server/src/main/java/org/apache/cayenne/configuration/server/PropertyDataSourceFactory.java
@@ -71,7 +71,7 @@ public class PropertyDataSourceFactory implements 
DataSourceFactory {

UnmanagedPoolingDataSource.MAX_QUEUE_WAIT_DEFAULT);
String validationQuery = 
properties.get(Constants.JDBC_VALIDATION_QUERY_PROPERTY);
 
-   Driver driver = objectFactory.newInstance(Driver.class, 
driverClass);
+   Driver driver = 
(Driver)objectFactory.getJavaClass(driverClass).newInstance();
return 
DataSourceBuilder.url(url).driver(driver).userName(username).password(password)
.pool(minConnections, 
maxConnections).maxQueueWaitTime(maxQueueWaitTime)
.validationQuery(validationQuery).build();
diff --git 
a/cayenne-server/src/main/java/org/apache/cayenne/configuration/server/XMLPoolingDataSourceFactory.java
 
b/cayenne-server/src/main/java/org/apache/cayenne/configuration/server/XMLPoolingDataSourceFactory.java
index e99d78d..d0d07af 100644
--- 
a/cayenne-server/src/main/java/org/apache/cayenne/configuration/server/XMLPoolingDataSourceFactory.java
+++ 
b/cayenne-server/src/main/java/org/apache/cayenne/configuration/server/XMLPoolingDataSourceFactory.java
@@ -67,7 +67,7 @@ public class XMLPoolingDataSourceFactory implements 
DataSourceFactory {
long maxQueueWaitTime = 
properties.getLong(Constants.JDBC_MAX_QUEUE_WAIT_TIME,

UnmanagedPoolingDataSource.MAX_QUEUE_WAIT_DEFAULT);
 
-   Driver driver = objectFactory.newInstance(Driver.class, 
descriptor.get

[cayenne] 01/02: CAY-2582 Double insert of manyToMany relationship mapped to Set test case from PR #385

2019-06-07 Thread abulatski
This is an automated email from the ASF dual-hosted git repository.

abulatski pushed a commit to branch STABLE-4.0
in repository https://gitbox.apache.org/repos/asf/cayenne.git

commit ebdbcf90616fef1dbf0d08a224722eea4e9c0d4c
Author: Nikita Timofeev 
AuthorDate: Tue May 21 17:24:07 2019 +0300

CAY-2582 Double insert of manyToMany relationship mapped to Set
 test case from PR #385

(cherry picked from commit 326f1de071cc871561891557baf5879bd1ba06ce)
---
 .../java/org/apache/cayenne/ManyToManyJoinIT.java  |  51 ++
 .../relationships_many_to_many_join/Author.java|   9 ++
 .../relationships_many_to_many_join/Song.java  |   9 ++
 .../auto/_Author.java  |  86 
 .../auto/_Song.java| 110 +
 .../cayenne/unit/di/server/CayenneProjects.java|   1 +
 .../cayenne/unit/di/server/SchemaBuilder.java  |   2 +-
 .../cayenne-relationships-many-to-many-join.xml|   7 ++
 .../relationships-many-to-many-join.map.xml|  38 +++
 9 files changed, 312 insertions(+), 1 deletion(-)

diff --git 
a/cayenne-server/src/test/java/org/apache/cayenne/ManyToManyJoinIT.java 
b/cayenne-server/src/test/java/org/apache/cayenne/ManyToManyJoinIT.java
new file mode 100644
index 000..0949b5e
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/ManyToManyJoinIT.java
@@ -0,0 +1,51 @@
+/*
+ *   Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *https://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ /
+package org.apache.cayenne;
+
+import static org.junit.Assert.*;
+
+import org.apache.cayenne.di.Inject;
+import org.apache.cayenne.testdo.relationships_many_to_many_join.Author;
+import org.apache.cayenne.testdo.relationships_many_to_many_join.Song;
+import org.apache.cayenne.unit.di.server.CayenneProjects;
+import org.apache.cayenne.unit.di.server.ServerCase;
+import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
+
+@UseServerRuntime(CayenneProjects.RELATIONSHIPS_MANY_TO_MANY_JOIN_PROJECT)
+public class ManyToManyJoinIT extends ServerCase {
+
+@Inject
+private ObjectContext context;
+
+@Test
+public void testManyToManyJoinWithFlattenedRelationship() throws Exception 
{
+   Author author = context.newObject(Author.class);
+   author.setName("Bob Dylan");
+   
+Song song = context.newObject(Song.class);
+song.setName("House of the Rising Sun");
+
+song.addToAuthors(author);
+
+context.commitChanges();
+assertEquals(author, song.getAuthors().iterator().next());
+}
+
+}
diff --git 
a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_many_to_many_join/Author.java
 
b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_many_to_many_join/Author.java
new file mode 100644
index 000..a50741e
--- /dev/null
+++ 
b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_many_to_many_join/Author.java
@@ -0,0 +1,9 @@
+package org.apache.cayenne.testdo.relationships_many_to_many_join;
+
+import org.apache.cayenne.testdo.relationships_many_to_many_join.auto._Author;
+
+public class Author extends _Author {
+
+private static final long serialVersionUID = 1L; 
+
+}
diff --git 
a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_many_to_many_join/Song.java
 
b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_many_to_many_join/Song.java
new file mode 100644
index 000..8df7056
--- /dev/null
+++ 
b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_many_to_many_join/Song.java
@@ -0,0 +1,9 @@
+package org.apache.cayenne.testdo.relationships_many_to_many_join;
+
+import org.apache.cayenne.testdo.relationships_many_to_many_join.auto._Song;
+
+public class Song extends _Song {
+
+private static final long serialVersionUID = 1L; 
+
+}
diff --git 
a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_many_to_many_join/auto/_Author.java
 
b/cayenne-server/src/test/java/org/apache/cayenne/tes

  1   2   3   >