This is an automated email from the ASF dual-hosted git repository. danhaywood pushed a commit to branch CAUSEWAY-3885 in repository https://gitbox.apache.org/repos/asf/causeway.git
commit 50f12ff4fbba3cc7f5827dac262ae5d60b3a2f24 Author: Dan Haywood <[email protected]> AuthorDate: Tue Apr 22 10:50:35 2025 +0100 CAUSEWAY-3885: adds new module for the generation of JDO Q classes --- .../logging-dn-enhance.properties | 48 +++++++++++++ .../pom.xml | 56 +++------------- extensions/core/commandlog/persistence-jdo/pom.xml | 7 ++ .../jdo/dom/CommandLogEntryRepository.java | 11 --- extensions/core/commandlog/pom.xml | 6 ++ .../logging-dn-enhance.properties | 48 +++++++++++++ .../pom.xml | 49 ++------------ .../executionlog/persistence-jdo/log4j2-test.xml | 78 ++++++++++++++++++++++ .../core/executionlog/persistence-jdo/pom.xml | 9 ++- extensions/core/executionlog/pom.xml | 6 ++ .../logging-dn-enhance.properties | 48 +++++++++++++ .../pom.xml | 49 ++------------ .../persistence-jdo/log4j2-test.xml | 78 ++++++++++++++++++++++ .../core/executionoutbox/persistence-jdo/pom.xml | 8 ++- extensions/core/executionoutbox/pom.xml | 6 ++ .../logging-dn-enhance.properties | 41 ++++++++++++ .../pom.xml | 27 +++----- .../security/audittrail/persistence-jdo/pom.xml | 32 +++++++-- extensions/security/audittrail/pom.xml | 6 ++ .../logging-dn-enhance.properties | 41 ++++++++++++ .../pom.xml | 25 +++---- extensions/security/secman/persistence-jdo/pom.xml | 26 ++++++++ extensions/security/secman/pom.xml | 7 +- .../persistence-jdo-qclasses/log4j2-test.xml | 78 ++++++++++++++++++++++ .../logging-dn-enhance.properties | 41 ++++++++++++ .../pom.xml | 25 +++---- .../security/sessionlog/persistence-jdo/pom.xml | 26 ++++++++ extensions/security/sessionlog/pom.xml | 6 ++ 28 files changed, 679 insertions(+), 209 deletions(-) diff --git a/extensions/core/commandlog/persistence-jdo-qclasses/logging-dn-enhance.properties b/extensions/core/commandlog/persistence-jdo-qclasses/logging-dn-enhance.properties new file mode 100644 index 00000000000..515c2a29662 --- /dev/null +++ b/extensions/core/commandlog/persistence-jdo-qclasses/logging-dn-enhance.properties @@ -0,0 +1,48 @@ +# +# 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. +# + +log4j.appender.A1=org.apache.log4j.FileAppender +log4j.appender.A1.File=datanucleus.log +log4j.appender.A1.layout=org.apache.log4j.PatternLayout +log4j.appender.A1.layout.ConversionPattern=%d{HH:mm:ss,SSS} (%t) %-5p [%c] - %m%n + + +# overriding all those below... +log4j.category.DataNucleus=ERROR + +log4j.category.DataNucleus.Persistence=INFO, A1 +log4j.category.DataNucleus.Transaction=INFO, A1 +log4j.category.DataNucleus.Connection=INFO, A1 +log4j.category.DataNucleus.Query=INFO, A1 +log4j.category.DataNucleus.Cache=INFO, A1 +log4j.category.DataNucleus.MetaData=INFO, A1 +log4j.category.DataNucleus.Datastore=INFO, A1 +log4j.category.DataNucleus.Datastore.Schema=INFO, A1 +log4j.category.DataNucleus.Datastore.Persist=INFO, A1 +log4j.category.DataNucleus.Datastore.Retrieve=INFO, A1 +#Log of all 'native' statements sent to the datastore +log4j.category.DataNucleus.Datastore.Native=INFO, A1 +log4j.category.DataNucleus.General=INFO, A1 +#All messages relating to object lifecycle changes +log4j.category.DataNucleus.Lifecycle=INFO, A1 +log4j.category.DataNucleus.ValueGeneration=INFO, A1 +log4j.category.DataNucleus.Enhancer=INFO, A1 +log4j.category.DataNucleus.SchemaTool=INFO, A1 +log4j.category.DataNucleus.JDO=INFO, A1 + \ No newline at end of file diff --git a/extensions/core/commandlog/persistence-jdo/pom.xml b/extensions/core/commandlog/persistence-jdo-qclasses/pom.xml similarity index 55% copy from extensions/core/commandlog/persistence-jdo/pom.xml copy to extensions/core/commandlog/persistence-jdo-qclasses/pom.xml index 83b13798f8d..f2dd193b4b9 100644 --- a/extensions/core/commandlog/persistence-jdo/pom.xml +++ b/extensions/core/commandlog/persistence-jdo-qclasses/pom.xml @@ -27,67 +27,29 @@ <version>2.0.0-SNAPSHOT</version> </parent> - <artifactId>causeway-extensions-commandlog-persistence-jdo</artifactId> - <name>Apache Causeway Ext - Command Log Implementation (JDO)</name> + <artifactId>causeway-extensions-commandlog-persistence-jdo-qclasses</artifactId> + <name>Apache Causeway Ext - Command Log Implementation (JDO) with Q Classes</name> <properties> - <jar-plugin.automaticModuleName>org.apache.causeway.extensions.commandlog.persistence.jdo</jar-plugin.automaticModuleName> - <git-plugin.propertiesDir>org/apache/causeway/extensions/commandlog/persistence-jdo</git-plugin.propertiesDir> + <jar-plugin.automaticModuleName>org.apache.causeway.extensions.commandlog.persistence.jdoqclasses</jar-plugin.automaticModuleName> + <git-plugin.propertiesDir>org/apache/causeway/extensions/commandlog/persistence-jdo-qclasses</git-plugin.propertiesDir> </properties> <build> - <resources> - <resource> - <filtering>false</filtering> - <directory>src/main/resources</directory> - </resource> - <resource> - <filtering>false</filtering> - <directory>src/main/java</directory> - <includes> - <include>**</include> - </includes> - <excludes> - <exclude>**/*.java</exclude> - </excludes> - </resource> - </resources> + <sourceDirectory>../persistence-jdo/src/main/java</sourceDirectory> </build> <dependencies> - <dependency> - <groupId>org.apache.causeway.extensions</groupId> - <artifactId>causeway-extensions-commandlog-applib</artifactId> - </dependency> - - <!-- PERSISTENCE --> - - <dependency> - <groupId>org.apache.causeway.persistence</groupId> - <artifactId>causeway-persistence-jdo-datanucleus</artifactId> - </dependency> - - <!-- TESTING --> - <dependency> <groupId>org.apache.causeway.extensions</groupId> <artifactId>causeway-extensions-commandlog-applib</artifactId> - <scope>test</scope> - <type>test-jar</type> </dependency> - <dependency> - <groupId>org.apache.causeway.testing</groupId> - <artifactId>causeway-testing-unittestsupport-applib</artifactId> - <scope>test</scope> - </dependency> - - <dependency> - <groupId>org.apache.causeway.testing</groupId> - <artifactId>causeway-testing-integtestsupport-applib</artifactId> - <scope>test</scope> - </dependency> + <dependency> + <groupId>org.apache.causeway.persistence</groupId> + <artifactId>causeway-persistence-jdo-datanucleus</artifactId> + </dependency> </dependencies> diff --git a/extensions/core/commandlog/persistence-jdo/pom.xml b/extensions/core/commandlog/persistence-jdo/pom.xml index 83b13798f8d..1d6091b7a4c 100644 --- a/extensions/core/commandlog/persistence-jdo/pom.xml +++ b/extensions/core/commandlog/persistence-jdo/pom.xml @@ -66,6 +66,13 @@ <dependency> <groupId>org.apache.causeway.persistence</groupId> <artifactId>causeway-persistence-jdo-datanucleus</artifactId> + <exclusions> + <!-- Prevent the JDO query classes from being generated --> + <exclusion> + <groupId>org.datanucleus</groupId> + <artifactId>datanucleus-jdo-query</artifactId> + </exclusion> + </exclusions> </dependency> <!-- TESTING --> diff --git a/extensions/core/commandlog/persistence-jdo/src/main/java/org/apache/causeway/extensions/commandlog/jdo/dom/CommandLogEntryRepository.java b/extensions/core/commandlog/persistence-jdo/src/main/java/org/apache/causeway/extensions/commandlog/jdo/dom/CommandLogEntryRepository.java index 6440a1cf98e..da2ca948fda 100644 --- a/extensions/core/commandlog/persistence-jdo/src/main/java/org/apache/causeway/extensions/commandlog/jdo/dom/CommandLogEntryRepository.java +++ b/extensions/core/commandlog/persistence-jdo/src/main/java/org/apache/causeway/extensions/commandlog/jdo/dom/CommandLogEntryRepository.java @@ -44,15 +44,4 @@ public CommandLogEntryRepository() { super(CommandLogEntry.class); } - /** - * The DN annotation processor (from artifact {@literal org.datanucleus:datanucleus-jdo-query}) - * should generate Q classes under 'target/generated-sources/annotations'. - * @see "https://www.datanucleus.org/products/accessplatform_6_0/jdo/query.html#jdoql" - */ - @SuppressWarnings("unused") - private void ensureWeHaveQClasses() { - // ensures at compile time, that Q classes are generated - org.apache.causeway.extensions.commandlog.jdo.dom.QCommandLogEntry q; - } - } diff --git a/extensions/core/commandlog/pom.xml b/extensions/core/commandlog/pom.xml index ed24dfd74f4..baad31c73b4 100644 --- a/extensions/core/commandlog/pom.xml +++ b/extensions/core/commandlog/pom.xml @@ -61,6 +61,11 @@ <artifactId>causeway-extensions-commandlog-persistence-jdo</artifactId> <version>2.0.0-SNAPSHOT</version> </dependency> + <dependency> + <groupId>org.apache.causeway.extensions</groupId> + <artifactId>causeway-extensions-commandlog-persistence-jdo-qclasses</artifactId> + <version>2.0.0-SNAPSHOT</version> + </dependency> <dependency> <groupId>org.apache.causeway.extensions</groupId> <artifactId>causeway-extensions-commandlog-persistence-jpa</artifactId> @@ -87,6 +92,7 @@ <modules> <module>applib</module> <module>persistence-jdo</module> + <module>persistence-jdo-qclasses</module> <module>persistence-jpa</module> </modules> diff --git a/extensions/core/executionlog/persistence-jdo-qclasses/logging-dn-enhance.properties b/extensions/core/executionlog/persistence-jdo-qclasses/logging-dn-enhance.properties new file mode 100644 index 00000000000..515c2a29662 --- /dev/null +++ b/extensions/core/executionlog/persistence-jdo-qclasses/logging-dn-enhance.properties @@ -0,0 +1,48 @@ +# +# 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. +# + +log4j.appender.A1=org.apache.log4j.FileAppender +log4j.appender.A1.File=datanucleus.log +log4j.appender.A1.layout=org.apache.log4j.PatternLayout +log4j.appender.A1.layout.ConversionPattern=%d{HH:mm:ss,SSS} (%t) %-5p [%c] - %m%n + + +# overriding all those below... +log4j.category.DataNucleus=ERROR + +log4j.category.DataNucleus.Persistence=INFO, A1 +log4j.category.DataNucleus.Transaction=INFO, A1 +log4j.category.DataNucleus.Connection=INFO, A1 +log4j.category.DataNucleus.Query=INFO, A1 +log4j.category.DataNucleus.Cache=INFO, A1 +log4j.category.DataNucleus.MetaData=INFO, A1 +log4j.category.DataNucleus.Datastore=INFO, A1 +log4j.category.DataNucleus.Datastore.Schema=INFO, A1 +log4j.category.DataNucleus.Datastore.Persist=INFO, A1 +log4j.category.DataNucleus.Datastore.Retrieve=INFO, A1 +#Log of all 'native' statements sent to the datastore +log4j.category.DataNucleus.Datastore.Native=INFO, A1 +log4j.category.DataNucleus.General=INFO, A1 +#All messages relating to object lifecycle changes +log4j.category.DataNucleus.Lifecycle=INFO, A1 +log4j.category.DataNucleus.ValueGeneration=INFO, A1 +log4j.category.DataNucleus.Enhancer=INFO, A1 +log4j.category.DataNucleus.SchemaTool=INFO, A1 +log4j.category.DataNucleus.JDO=INFO, A1 + \ No newline at end of file diff --git a/extensions/core/executionlog/persistence-jdo/pom.xml b/extensions/core/executionlog/persistence-jdo-qclasses/pom.xml similarity index 59% copy from extensions/core/executionlog/persistence-jdo/pom.xml copy to extensions/core/executionlog/persistence-jdo-qclasses/pom.xml index c7471672b17..d1c880ee832 100644 --- a/extensions/core/executionlog/persistence-jdo/pom.xml +++ b/extensions/core/executionlog/persistence-jdo-qclasses/pom.xml @@ -27,31 +27,16 @@ <version>2.0.0-SNAPSHOT</version> </parent> - <artifactId>causeway-extensions-executionlog-persistence-jdo</artifactId> - <name>Apache Causeway Ext - Execution Log Implementation (JDO)</name> + <artifactId>causeway-extensions-executionlog-persistence-jdo-qclasses</artifactId> + <name>Apache Causeway Ext - Execution Log Implementation (JDO) with Q Classes</name> <properties> - <jar-plugin.automaticModuleName>org.apache.causeway.extensions.executionlog.persistence.jdo</jar-plugin.automaticModuleName> - <git-plugin.propertiesDir>org/apache/causeway/extensions/executionlog/persistence-jdo</git-plugin.propertiesDir> + <jar-plugin.automaticModuleName>org.apache.causeway.extensions.executionlog.persistence.jdoqclasses</jar-plugin.automaticModuleName> + <git-plugin.propertiesDir>org/apache/causeway/extensions/executionlog/persistence-jdo-qclasses</git-plugin.propertiesDir> </properties> <build> - <resources> - <resource> - <filtering>false</filtering> - <directory>src/main/resources</directory> - </resource> - <resource> - <filtering>false</filtering> - <directory>src/main/java</directory> - <includes> - <include>**</include> - </includes> - <excludes> - <exclude>**/*.java</exclude> - </excludes> - </resource> - </resources> + <sourceDirectory>../persistence-jdo/src/main/java</sourceDirectory> </build> <dependencies> @@ -61,35 +46,11 @@ <artifactId>causeway-extensions-executionlog-applib</artifactId> </dependency> - <!-- PERSISTENCE --> - <dependency> <groupId>org.apache.causeway.persistence</groupId> <artifactId>causeway-persistence-jdo-datanucleus</artifactId> </dependency> - <!-- TESTING --> - - <dependency> - <groupId>org.apache.causeway.extensions</groupId> - <artifactId>causeway-extensions-executionlog-applib</artifactId> - <type>test-jar</type> - <scope>test</scope> - </dependency> - - <dependency> - <groupId>org.apache.causeway.testing</groupId> - <artifactId>causeway-testing-unittestsupport-applib</artifactId> - <scope>test</scope> - </dependency> - - <dependency> - <groupId>org.apache.causeway.testing</groupId> - <artifactId>causeway-testing-integtestsupport-applib</artifactId> - <scope>test</scope> - </dependency> - - </dependencies> </project> diff --git a/extensions/core/executionlog/persistence-jdo/log4j2-test.xml b/extensions/core/executionlog/persistence-jdo/log4j2-test.xml new file mode 100644 index 00000000000..0ed7986e245 --- /dev/null +++ b/extensions/core/executionlog/persistence-jdo/log4j2-test.xml @@ -0,0 +1,78 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- +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. +--> +<Configuration status="WARN"> + <Properties> + <Property name="PID">????</Property> + <Property name="LOG_EXCEPTION_CONVERSION_WORD">%xwEx</Property> + <Property name="LOG_LEVEL_PATTERN">%5p</Property> + <Property name="LOG_DATEFORMAT_PATTERN">yyyy-MM-dd HH:mm:ss.SSS</Property> + <Property name="CONSOLE_LOG_PATTERN">%clr{%d{${LOG_DATEFORMAT_PATTERN}}}{faint} %clr{${LOG_LEVEL_PATTERN}} %clr{${sys:PID}}{magenta} %clr{---}{faint} %clr{[%15.15t]}{faint} %clr{%-40.40c{1.}}{cyan} %clr{:}{faint} %m%n${sys:LOG_EXCEPTION_CONVERSION_WORD}</Property> + <Property name="FILE_LOG_PATTERN">%d{${LOG_DATEFORMAT_PATTERN}} ${LOG_LEVEL_PATTERN} ${sys:PID} --- [%t] %-40.40c{1.} : %m%n${sys:LOG_EXCEPTION_CONVERSION_WORD}</Property> + </Properties> + <Appenders> + <Console name="Console" target="SYSTEM_OUT" follow="true"> + <PatternLayout pattern="${sys:CONSOLE_LOG_PATTERN}" /> + </Console> + </Appenders> + <Loggers> + <Logger name="org.apache.catalina.startup.DigesterFactory" level="error" /> + <Logger name="org.apache.catalina.util.LifecycleBase" level="error" /> + <Logger name="org.apache.coyote.http11.Http11NioProtocol" level="warn" /> + <logger name="org.apache.sshd.common.util.SecurityUtils" level="warn"/> + <Logger name="org.apache.tomcat.util.net.NioSelectorPool" level="warn" /> + <Logger name="org.eclipse.jetty.util.component.AbstractLifeCycle" level="error" /> + <Logger name="org.hibernate.validator.internal.util.Version" level="warn" /> + <logger name="org.springframework.boot.actuate.endpoint.jmx" level="warn"/> + + <logger name="org.apache.directory" level="warn"/> + <logger name="org.apache.directory.api.ldap.model.entry.Value" level="off"/> + + <logger name="DataNucleus.Persistence" level="info"/> + <logger name="DataNucleus.Transaction" level="info"/> + <logger name="DataNucleus.Datastore.Schema" level="info"/> + <logger name="DataNucleus.Datastore.Native" level="info"/> + + <Root level="info"> + <AppenderRef ref="Console" /> + </Root> + </Loggers> +</Configuration> + +<!-- # DataNucleus Logging Categories --> +<!-- DataNucleus.Persistence - All messages relating to the persistence process --> +<!-- DataNucleus.Transaction - All messages relating to transactions --> +<!-- DataNucleus.Connection - All messages relating to Connections. --> +<!-- DataNucleus.Query - All messages relating to queries --> +<!-- DataNucleus.Cache - All messages relating to the DataNucleus Cache --> +<!-- DataNucleus.MetaData - All messages relating to MetaData --> +<!-- DataNucleus.Datastore - All general datastore messages --> +<!-- DataNucleus.Datastore.Schema - All schema related datastore log messages --> +<!-- DataNucleus.Datastore.Persist - All datastore persistence messages --> +<!-- DataNucleus.Datastore.Retrieve - All datastore retrieval messages --> +<!-- DataNucleus.Datastore.Native - Log of all 'native' statements sent to the datastore --> +<!-- DataNucleus.General - All general operational messages --> +<!-- DataNucleus.Lifecycle - All messages relating to object lifecycle changes --> +<!-- DataNucleus.ValueGeneration - All messages relating to value generation --> +<!-- DataNucleus.Enhancer - All messages from the DataNucleus Enhancer. --> +<!-- DataNucleus.SchemaTool - All messages from DataNucleus SchemaTool --> +<!-- DataNucleus.JDO - All messages general to JDO --> +<!-- DataNucleus.JPA - All messages general to JPA --> +<!-- DataNucleus.JCA - All messages relating to Connector JCA. --> +<!-- DataNucleus.IDE - Messages from the DataNucleus IDE. --> \ No newline at end of file diff --git a/extensions/core/executionlog/persistence-jdo/pom.xml b/extensions/core/executionlog/persistence-jdo/pom.xml index c7471672b17..809a0d9f07a 100644 --- a/extensions/core/executionlog/persistence-jdo/pom.xml +++ b/extensions/core/executionlog/persistence-jdo/pom.xml @@ -66,6 +66,13 @@ <dependency> <groupId>org.apache.causeway.persistence</groupId> <artifactId>causeway-persistence-jdo-datanucleus</artifactId> + <exclusions> + <!-- Prevent the JDO query classes from being generated --> + <exclusion> + <groupId>org.datanucleus</groupId> + <artifactId>datanucleus-jdo-query</artifactId> + </exclusion> + </exclusions> </dependency> <!-- TESTING --> @@ -88,8 +95,6 @@ <artifactId>causeway-testing-integtestsupport-applib</artifactId> <scope>test</scope> </dependency> - - </dependencies> </project> diff --git a/extensions/core/executionlog/pom.xml b/extensions/core/executionlog/pom.xml index 9ba05b45fd2..ac0eb9dfbbc 100644 --- a/extensions/core/executionlog/pom.xml +++ b/extensions/core/executionlog/pom.xml @@ -54,6 +54,11 @@ <artifactId>causeway-extensions-executionlog-persistence-jdo</artifactId> <version>2.0.0-SNAPSHOT</version> </dependency> + <dependency> + <groupId>org.apache.causeway.extensions</groupId> + <artifactId>causeway-extensions-executionlog-persistence-jdo-qclasses</artifactId> + <version>2.0.0-SNAPSHOT</version> + </dependency> <dependency> <groupId>org.apache.causeway.extensions</groupId> <artifactId>causeway-extensions-executionlog-persistence-jpa</artifactId> @@ -65,6 +70,7 @@ <modules> <module>applib</module> <module>persistence-jdo</module> + <module>persistence-jdo-qclasses</module> <module>persistence-jpa</module> </modules> diff --git a/extensions/core/executionoutbox/persistence-jdo-qclasses/logging-dn-enhance.properties b/extensions/core/executionoutbox/persistence-jdo-qclasses/logging-dn-enhance.properties new file mode 100644 index 00000000000..515c2a29662 --- /dev/null +++ b/extensions/core/executionoutbox/persistence-jdo-qclasses/logging-dn-enhance.properties @@ -0,0 +1,48 @@ +# +# 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. +# + +log4j.appender.A1=org.apache.log4j.FileAppender +log4j.appender.A1.File=datanucleus.log +log4j.appender.A1.layout=org.apache.log4j.PatternLayout +log4j.appender.A1.layout.ConversionPattern=%d{HH:mm:ss,SSS} (%t) %-5p [%c] - %m%n + + +# overriding all those below... +log4j.category.DataNucleus=ERROR + +log4j.category.DataNucleus.Persistence=INFO, A1 +log4j.category.DataNucleus.Transaction=INFO, A1 +log4j.category.DataNucleus.Connection=INFO, A1 +log4j.category.DataNucleus.Query=INFO, A1 +log4j.category.DataNucleus.Cache=INFO, A1 +log4j.category.DataNucleus.MetaData=INFO, A1 +log4j.category.DataNucleus.Datastore=INFO, A1 +log4j.category.DataNucleus.Datastore.Schema=INFO, A1 +log4j.category.DataNucleus.Datastore.Persist=INFO, A1 +log4j.category.DataNucleus.Datastore.Retrieve=INFO, A1 +#Log of all 'native' statements sent to the datastore +log4j.category.DataNucleus.Datastore.Native=INFO, A1 +log4j.category.DataNucleus.General=INFO, A1 +#All messages relating to object lifecycle changes +log4j.category.DataNucleus.Lifecycle=INFO, A1 +log4j.category.DataNucleus.ValueGeneration=INFO, A1 +log4j.category.DataNucleus.Enhancer=INFO, A1 +log4j.category.DataNucleus.SchemaTool=INFO, A1 +log4j.category.DataNucleus.JDO=INFO, A1 + \ No newline at end of file diff --git a/extensions/core/executionoutbox/persistence-jdo/pom.xml b/extensions/core/executionoutbox/persistence-jdo-qclasses/pom.xml similarity index 59% copy from extensions/core/executionoutbox/persistence-jdo/pom.xml copy to extensions/core/executionoutbox/persistence-jdo-qclasses/pom.xml index cb876a38891..7c140b286e8 100644 --- a/extensions/core/executionoutbox/persistence-jdo/pom.xml +++ b/extensions/core/executionoutbox/persistence-jdo-qclasses/pom.xml @@ -27,31 +27,16 @@ <version>2.0.0-SNAPSHOT</version> </parent> - <artifactId>causeway-extensions-executionoutbox-persistence-jdo</artifactId> - <name>Apache Causeway Ext - Execution Outbox Implementation (JDO)</name> + <artifactId>causeway-extensions-executionoutbox-persistence-jdo-qclasses</artifactId> + <name>Apache Causeway Ext - Execution Outbox Implementation (JDO) with Q Classes</name> <properties> - <jar-plugin.automaticModuleName>org.apache.causeway.extensions.executionoutbox.persistence.jdo</jar-plugin.automaticModuleName> - <git-plugin.propertiesDir>org/apache/causeway/extensions/executionoutbox/persistence-jdo</git-plugin.propertiesDir> + <jar-plugin.automaticModuleName>org.apache.causeway.extensions.executionoutbox.persistence.jdoqclasses</jar-plugin.automaticModuleName> + <git-plugin.propertiesDir>org/apache/causeway/extensions/executionoutbox/persistence-jdo-qclasses</git-plugin.propertiesDir> </properties> <build> - <resources> - <resource> - <filtering>false</filtering> - <directory>src/main/resources</directory> - </resource> - <resource> - <filtering>false</filtering> - <directory>src/main/java</directory> - <includes> - <include>**</include> - </includes> - <excludes> - <exclude>**/*.java</exclude> - </excludes> - </resource> - </resources> + <sourceDirectory>../persistence-jdo/src/main/java</sourceDirectory> </build> <dependencies> @@ -61,35 +46,11 @@ <artifactId>causeway-extensions-executionoutbox-applib</artifactId> </dependency> - <!-- PERSISTENCE --> - <dependency> <groupId>org.apache.causeway.persistence</groupId> <artifactId>causeway-persistence-jdo-datanucleus</artifactId> </dependency> - <!-- TESTING --> - - <dependency> - <groupId>org.apache.causeway.extensions</groupId> - <artifactId>causeway-extensions-executionoutbox-applib</artifactId> - <type>test-jar</type> - <scope>test</scope> - </dependency> - - <dependency> - <groupId>org.apache.causeway.testing</groupId> - <artifactId>causeway-testing-unittestsupport-applib</artifactId> - <scope>test</scope> - </dependency> - - <dependency> - <groupId>org.apache.causeway.testing</groupId> - <artifactId>causeway-testing-integtestsupport-applib</artifactId> - <scope>test</scope> - </dependency> - - </dependencies> </project> diff --git a/extensions/core/executionoutbox/persistence-jdo/log4j2-test.xml b/extensions/core/executionoutbox/persistence-jdo/log4j2-test.xml new file mode 100644 index 00000000000..0ed7986e245 --- /dev/null +++ b/extensions/core/executionoutbox/persistence-jdo/log4j2-test.xml @@ -0,0 +1,78 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- +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. +--> +<Configuration status="WARN"> + <Properties> + <Property name="PID">????</Property> + <Property name="LOG_EXCEPTION_CONVERSION_WORD">%xwEx</Property> + <Property name="LOG_LEVEL_PATTERN">%5p</Property> + <Property name="LOG_DATEFORMAT_PATTERN">yyyy-MM-dd HH:mm:ss.SSS</Property> + <Property name="CONSOLE_LOG_PATTERN">%clr{%d{${LOG_DATEFORMAT_PATTERN}}}{faint} %clr{${LOG_LEVEL_PATTERN}} %clr{${sys:PID}}{magenta} %clr{---}{faint} %clr{[%15.15t]}{faint} %clr{%-40.40c{1.}}{cyan} %clr{:}{faint} %m%n${sys:LOG_EXCEPTION_CONVERSION_WORD}</Property> + <Property name="FILE_LOG_PATTERN">%d{${LOG_DATEFORMAT_PATTERN}} ${LOG_LEVEL_PATTERN} ${sys:PID} --- [%t] %-40.40c{1.} : %m%n${sys:LOG_EXCEPTION_CONVERSION_WORD}</Property> + </Properties> + <Appenders> + <Console name="Console" target="SYSTEM_OUT" follow="true"> + <PatternLayout pattern="${sys:CONSOLE_LOG_PATTERN}" /> + </Console> + </Appenders> + <Loggers> + <Logger name="org.apache.catalina.startup.DigesterFactory" level="error" /> + <Logger name="org.apache.catalina.util.LifecycleBase" level="error" /> + <Logger name="org.apache.coyote.http11.Http11NioProtocol" level="warn" /> + <logger name="org.apache.sshd.common.util.SecurityUtils" level="warn"/> + <Logger name="org.apache.tomcat.util.net.NioSelectorPool" level="warn" /> + <Logger name="org.eclipse.jetty.util.component.AbstractLifeCycle" level="error" /> + <Logger name="org.hibernate.validator.internal.util.Version" level="warn" /> + <logger name="org.springframework.boot.actuate.endpoint.jmx" level="warn"/> + + <logger name="org.apache.directory" level="warn"/> + <logger name="org.apache.directory.api.ldap.model.entry.Value" level="off"/> + + <logger name="DataNucleus.Persistence" level="info"/> + <logger name="DataNucleus.Transaction" level="info"/> + <logger name="DataNucleus.Datastore.Schema" level="info"/> + <logger name="DataNucleus.Datastore.Native" level="info"/> + + <Root level="info"> + <AppenderRef ref="Console" /> + </Root> + </Loggers> +</Configuration> + +<!-- # DataNucleus Logging Categories --> +<!-- DataNucleus.Persistence - All messages relating to the persistence process --> +<!-- DataNucleus.Transaction - All messages relating to transactions --> +<!-- DataNucleus.Connection - All messages relating to Connections. --> +<!-- DataNucleus.Query - All messages relating to queries --> +<!-- DataNucleus.Cache - All messages relating to the DataNucleus Cache --> +<!-- DataNucleus.MetaData - All messages relating to MetaData --> +<!-- DataNucleus.Datastore - All general datastore messages --> +<!-- DataNucleus.Datastore.Schema - All schema related datastore log messages --> +<!-- DataNucleus.Datastore.Persist - All datastore persistence messages --> +<!-- DataNucleus.Datastore.Retrieve - All datastore retrieval messages --> +<!-- DataNucleus.Datastore.Native - Log of all 'native' statements sent to the datastore --> +<!-- DataNucleus.General - All general operational messages --> +<!-- DataNucleus.Lifecycle - All messages relating to object lifecycle changes --> +<!-- DataNucleus.ValueGeneration - All messages relating to value generation --> +<!-- DataNucleus.Enhancer - All messages from the DataNucleus Enhancer. --> +<!-- DataNucleus.SchemaTool - All messages from DataNucleus SchemaTool --> +<!-- DataNucleus.JDO - All messages general to JDO --> +<!-- DataNucleus.JPA - All messages general to JPA --> +<!-- DataNucleus.JCA - All messages relating to Connector JCA. --> +<!-- DataNucleus.IDE - Messages from the DataNucleus IDE. --> \ No newline at end of file diff --git a/extensions/core/executionoutbox/persistence-jdo/pom.xml b/extensions/core/executionoutbox/persistence-jdo/pom.xml index cb876a38891..bb841da3835 100644 --- a/extensions/core/executionoutbox/persistence-jdo/pom.xml +++ b/extensions/core/executionoutbox/persistence-jdo/pom.xml @@ -66,6 +66,13 @@ <dependency> <groupId>org.apache.causeway.persistence</groupId> <artifactId>causeway-persistence-jdo-datanucleus</artifactId> + <exclusions> + <!-- Prevent the JDO query classes from being generated --> + <exclusion> + <groupId>org.datanucleus</groupId> + <artifactId>datanucleus-jdo-query</artifactId> + </exclusion> + </exclusions> </dependency> <!-- TESTING --> @@ -89,7 +96,6 @@ <scope>test</scope> </dependency> - </dependencies> </project> diff --git a/extensions/core/executionoutbox/pom.xml b/extensions/core/executionoutbox/pom.xml index d559adc9cd8..3b39a1c2ebb 100644 --- a/extensions/core/executionoutbox/pom.xml +++ b/extensions/core/executionoutbox/pom.xml @@ -61,6 +61,11 @@ <scope>test</scope> <version>2.0.0-SNAPSHOT</version> </dependency> + <dependency> + <groupId>org.apache.causeway.extensions</groupId> + <artifactId>causeway-extensions-executionoutbox-persistence-jdo-qclasses</artifactId> + <version>2.0.0-SNAPSHOT</version> + </dependency> <dependency> <groupId>org.apache.causeway.extensions</groupId> <artifactId>causeway-extensions-executionoutbox-persistence-jpa</artifactId> @@ -84,6 +89,7 @@ <modules> <module>applib</module> <module>persistence-jdo</module> + <module>persistence-jdo-qclasses</module> <module>persistence-jpa</module> <module>restclient</module> </modules> diff --git a/extensions/security/audittrail/persistence-jdo-qclasses/logging-dn-enhance.properties b/extensions/security/audittrail/persistence-jdo-qclasses/logging-dn-enhance.properties new file mode 100644 index 00000000000..ca165acc786 --- /dev/null +++ b/extensions/security/audittrail/persistence-jdo-qclasses/logging-dn-enhance.properties @@ -0,0 +1,41 @@ +# 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. + +# LOG4J Configuration +# =================== + +# Basic logging goes to "datanucleus.log" +log4j.appender.A1=org.apache.log4j.FileAppender +log4j.appender.A1.File=datanucleus.log +log4j.appender.A1.layout=org.apache.log4j.PatternLayout +log4j.appender.A1.layout.ConversionPattern=%d{HH:mm:ss,SSS} (%t) %-5p [%c] - %m%n +#log4j.appender.A1.Threshold=INFO + +# Categories +# Each category can be set to a "level", and to direct to an appender + +# Default to DEBUG level for all DataNucleus categories +log4j.logger.DataNucleus = DEBUG, A1 + +log4j.category.com.mchange.v2.c3p0=INFO, A1 +log4j.category.com.mchange.v2.resourcepool=INFO, A1 +log4j.category.org.logicalcobwebs.proxool=INFO,A1 + + +# Hbase libs logging +log4j.category.org.apache.hadoop=INFO,A1 +log4j.category.org.apache.zookeeper=INFO,A1 \ No newline at end of file diff --git a/extensions/security/audittrail/persistence-jdo/pom.xml b/extensions/security/audittrail/persistence-jdo-qclasses/pom.xml similarity index 79% copy from extensions/security/audittrail/persistence-jdo/pom.xml copy to extensions/security/audittrail/persistence-jdo-qclasses/pom.xml index 6c769f1fef4..188ed5d2c53 100644 --- a/extensions/security/audittrail/persistence-jdo/pom.xml +++ b/extensions/security/audittrail/persistence-jdo-qclasses/pom.xml @@ -27,14 +27,18 @@ <relativePath>../pom.xml</relativePath> </parent> - <artifactId>causeway-extensions-audittrail-persistence-jdo</artifactId> - <name>Apache Causeway Ext - Audit Trail Persistence (using JDO)</name> + <artifactId>causeway-extensions-audittrail-persistence-jdo-qclasses</artifactId> + <name>Apache Causeway Ext - Audit Trail Persistence (using JDO) with Q Classes</name> <properties> - <jar-plugin.automaticModuleName>org.apache.causeway.extensions.audittrail.persistence.jdo</jar-plugin.automaticModuleName> - <git-plugin.propertiesDir>org/apache/causeway/extensions/audittrail/persistence-jdo</git-plugin.propertiesDir> + <jar-plugin.automaticModuleName>org.apache.causeway.extensions.audittrail.persistence.jdoqclasses</jar-plugin.automaticModuleName> + <git-plugin.propertiesDir>org/apache/causeway/extensions/audittrail/persistence-jdo-qclasses</git-plugin.propertiesDir> </properties> + <build> + <sourceDirectory>../persistence-jdo/src/main/java</sourceDirectory> + </build> + <dependencies> <dependency> @@ -65,21 +69,6 @@ <optional>true</optional> <!-- for datanucleus-jdo-query annotation processor, brought in via profile --> </dependency> - <!-- testing --> - - <dependency> - <groupId>org.apache.causeway.extensions</groupId> - <artifactId>causeway-extensions-audittrail-applib</artifactId> - <scope>test</scope> - <type>test-jar</type> - </dependency> - - <dependency> - <groupId>org.apache.causeway.testing</groupId> - <artifactId>causeway-testing-integtestsupport-applib</artifactId> - <scope>test</scope> - </dependency> - </dependencies> </project> diff --git a/extensions/security/audittrail/persistence-jdo/pom.xml b/extensions/security/audittrail/persistence-jdo/pom.xml index 6c769f1fef4..b3b7103df55 100644 --- a/extensions/security/audittrail/persistence-jdo/pom.xml +++ b/extensions/security/audittrail/persistence-jdo/pom.xml @@ -35,6 +35,25 @@ <git-plugin.propertiesDir>org/apache/causeway/extensions/audittrail/persistence-jdo</git-plugin.propertiesDir> </properties> + <build> + <resources> + <resource> + <filtering>false</filtering> + <directory>src/main/resources</directory> + </resource> + <resource> + <filtering>false</filtering> + <directory>src/main/java</directory> + <includes> + <include>**</include> + </includes> + <excludes> + <exclude>**/*.java</exclude> + </excludes> + </resource> + </resources> + </build> + <dependencies> <dependency> @@ -45,6 +64,13 @@ <dependency> <groupId>org.apache.causeway.persistence</groupId> <artifactId>causeway-persistence-jdo-datanucleus</artifactId> + <exclusions> + <!-- Prevent the JDO query classes from being generated --> + <exclusion> + <groupId>org.datanucleus</groupId> + <artifactId>datanucleus-jdo-query</artifactId> + </exclusion> + </exclusions> </dependency> <dependency> @@ -58,12 +84,6 @@ <scope>provided</scope> </dependency> - <dependency> - <groupId>org.datanucleus</groupId> - <artifactId>javax.jdo</artifactId> - <version>${datanucleus-jdo-api.version}</version> - <optional>true</optional> <!-- for datanucleus-jdo-query annotation processor, brought in via profile --> - </dependency> <!-- testing --> diff --git a/extensions/security/audittrail/pom.xml b/extensions/security/audittrail/pom.xml index b4f754c7329..37c7807d424 100644 --- a/extensions/security/audittrail/pom.xml +++ b/extensions/security/audittrail/pom.xml @@ -65,6 +65,11 @@ <artifactId>causeway-extensions-audittrail-persistence-jdo</artifactId> <version>2.0.0-SNAPSHOT</version> </dependency> + <dependency> + <groupId>org.apache.causeway.extensions</groupId> + <artifactId>causeway-extensions-audittrail-persistence-jdo-qclasses</artifactId> + <version>2.0.0-SNAPSHOT</version> + </dependency> <dependency> <groupId>org.apache.causeway.testing</groupId> @@ -89,6 +94,7 @@ <modules> <module>applib</module> <module>persistence-jdo</module> + <module>persistence-jdo-qclasses</module> <module>persistence-jpa</module> </modules> </project> diff --git a/extensions/security/secman/persistence-jdo-qclasses/logging-dn-enhance.properties b/extensions/security/secman/persistence-jdo-qclasses/logging-dn-enhance.properties new file mode 100644 index 00000000000..ca165acc786 --- /dev/null +++ b/extensions/security/secman/persistence-jdo-qclasses/logging-dn-enhance.properties @@ -0,0 +1,41 @@ +# 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. + +# LOG4J Configuration +# =================== + +# Basic logging goes to "datanucleus.log" +log4j.appender.A1=org.apache.log4j.FileAppender +log4j.appender.A1.File=datanucleus.log +log4j.appender.A1.layout=org.apache.log4j.PatternLayout +log4j.appender.A1.layout.ConversionPattern=%d{HH:mm:ss,SSS} (%t) %-5p [%c] - %m%n +#log4j.appender.A1.Threshold=INFO + +# Categories +# Each category can be set to a "level", and to direct to an appender + +# Default to DEBUG level for all DataNucleus categories +log4j.logger.DataNucleus = DEBUG, A1 + +log4j.category.com.mchange.v2.c3p0=INFO, A1 +log4j.category.com.mchange.v2.resourcepool=INFO, A1 +log4j.category.org.logicalcobwebs.proxool=INFO,A1 + + +# Hbase libs logging +log4j.category.org.apache.hadoop=INFO,A1 +log4j.category.org.apache.zookeeper=INFO,A1 \ No newline at end of file diff --git a/extensions/security/secman/persistence-jdo/pom.xml b/extensions/security/secman/persistence-jdo-qclasses/pom.xml similarity index 77% copy from extensions/security/secman/persistence-jdo/pom.xml copy to extensions/security/secman/persistence-jdo-qclasses/pom.xml index d0b7f3ddceb..3c17820266b 100644 --- a/extensions/security/secman/persistence-jdo/pom.xml +++ b/extensions/security/secman/persistence-jdo-qclasses/pom.xml @@ -27,14 +27,18 @@ <relativePath>../pom.xml</relativePath> </parent> - <artifactId>causeway-extensions-secman-persistence-jdo</artifactId> - <name>Apache Causeway Ext - Sec Man Persistence (Using JDO)</name> + <artifactId>causeway-extensions-secman-persistence-jdo-qclasses</artifactId> + <name>Apache Causeway Ext - Sec Man Persistence (Using JDO) with Q Classes</name> <properties> - <jar-plugin.automaticModuleName>org.apache.causeway.extensions.secman.persistence.jdo</jar-plugin.automaticModuleName> - <git-plugin.propertiesDir>org/apache/causeway/extensions/secman/persistence-jdo</git-plugin.propertiesDir> + <jar-plugin.automaticModuleName>org.apache.causeway.extensions.secman.persistence.jdoqclasses</jar-plugin.automaticModuleName> + <git-plugin.propertiesDir>org/apache/causeway/extensions/secman/persistence-jdo-qclasses</git-plugin.propertiesDir> </properties> + <build> + <sourceDirectory>../persistence-jdo/src/main/java</sourceDirectory> + </build> + <dependencies> <dependency> @@ -58,19 +62,6 @@ <scope>provided</scope> </dependency> - <dependency> - <groupId>org.apache.causeway.extensions</groupId> - <artifactId>causeway-extensions-secman-applib</artifactId> - <scope>test</scope> - <type>test-jar</type> - </dependency> - - <dependency> - <groupId>org.apache.causeway.testing</groupId> - <artifactId>causeway-testing-integtestsupport-applib</artifactId> - <scope>test</scope> - </dependency> - </dependencies> </project> diff --git a/extensions/security/secman/persistence-jdo/pom.xml b/extensions/security/secman/persistence-jdo/pom.xml index d0b7f3ddceb..245b736488d 100644 --- a/extensions/security/secman/persistence-jdo/pom.xml +++ b/extensions/security/secman/persistence-jdo/pom.xml @@ -35,6 +35,25 @@ <git-plugin.propertiesDir>org/apache/causeway/extensions/secman/persistence-jdo</git-plugin.propertiesDir> </properties> + <build> + <resources> + <resource> + <filtering>false</filtering> + <directory>src/main/resources</directory> + </resource> + <resource> + <filtering>false</filtering> + <directory>src/main/java</directory> + <includes> + <include>**</include> + </includes> + <excludes> + <exclude>**/*.java</exclude> + </excludes> + </resource> + </resources> + </build> + <dependencies> <dependency> @@ -45,6 +64,13 @@ <dependency> <groupId>org.apache.causeway.persistence</groupId> <artifactId>causeway-persistence-jdo-datanucleus</artifactId> + <exclusions> + <!-- Prevent the JDO query classes from being generated --> + <exclusion> + <groupId>org.datanucleus</groupId> + <artifactId>datanucleus-jdo-query</artifactId> + </exclusion> + </exclusions> </dependency> <dependency> diff --git a/extensions/security/secman/pom.xml b/extensions/security/secman/pom.xml index c0c7197c4d2..235b12d8cf3 100644 --- a/extensions/security/secman/pom.xml +++ b/extensions/security/secman/pom.xml @@ -29,7 +29,6 @@ <artifactId>causeway-extensions-secman</artifactId> <name>Apache Causeway Ext - Sec Man</name> - <description></description> <packaging>pom</packaging> @@ -72,6 +71,11 @@ <artifactId>causeway-extensions-secman-persistence-jdo</artifactId> <version>2.0.0-SNAPSHOT</version> </dependency> + <dependency> + <groupId>org.apache.causeway.extensions</groupId> + <artifactId>causeway-extensions-secman-persistence-jdo-qclasses</artifactId> + <version>2.0.0-SNAPSHOT</version> + </dependency> <dependency> <groupId>org.apache.causeway.extensions</groupId> <artifactId>causeway-extensions-secman-persistence-jpa</artifactId> @@ -119,6 +123,7 @@ <module>encryption-jbcrypt</module> <module>encryption-spring</module> <module>persistence-jdo</module> + <module>persistence-jdo-qclasses</module> <module>persistence-jpa</module> <module>delegated-shiro</module> <module>delegated-springoauth2</module> diff --git a/extensions/security/sessionlog/persistence-jdo-qclasses/log4j2-test.xml b/extensions/security/sessionlog/persistence-jdo-qclasses/log4j2-test.xml new file mode 100644 index 00000000000..0ed7986e245 --- /dev/null +++ b/extensions/security/sessionlog/persistence-jdo-qclasses/log4j2-test.xml @@ -0,0 +1,78 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- +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. +--> +<Configuration status="WARN"> + <Properties> + <Property name="PID">????</Property> + <Property name="LOG_EXCEPTION_CONVERSION_WORD">%xwEx</Property> + <Property name="LOG_LEVEL_PATTERN">%5p</Property> + <Property name="LOG_DATEFORMAT_PATTERN">yyyy-MM-dd HH:mm:ss.SSS</Property> + <Property name="CONSOLE_LOG_PATTERN">%clr{%d{${LOG_DATEFORMAT_PATTERN}}}{faint} %clr{${LOG_LEVEL_PATTERN}} %clr{${sys:PID}}{magenta} %clr{---}{faint} %clr{[%15.15t]}{faint} %clr{%-40.40c{1.}}{cyan} %clr{:}{faint} %m%n${sys:LOG_EXCEPTION_CONVERSION_WORD}</Property> + <Property name="FILE_LOG_PATTERN">%d{${LOG_DATEFORMAT_PATTERN}} ${LOG_LEVEL_PATTERN} ${sys:PID} --- [%t] %-40.40c{1.} : %m%n${sys:LOG_EXCEPTION_CONVERSION_WORD}</Property> + </Properties> + <Appenders> + <Console name="Console" target="SYSTEM_OUT" follow="true"> + <PatternLayout pattern="${sys:CONSOLE_LOG_PATTERN}" /> + </Console> + </Appenders> + <Loggers> + <Logger name="org.apache.catalina.startup.DigesterFactory" level="error" /> + <Logger name="org.apache.catalina.util.LifecycleBase" level="error" /> + <Logger name="org.apache.coyote.http11.Http11NioProtocol" level="warn" /> + <logger name="org.apache.sshd.common.util.SecurityUtils" level="warn"/> + <Logger name="org.apache.tomcat.util.net.NioSelectorPool" level="warn" /> + <Logger name="org.eclipse.jetty.util.component.AbstractLifeCycle" level="error" /> + <Logger name="org.hibernate.validator.internal.util.Version" level="warn" /> + <logger name="org.springframework.boot.actuate.endpoint.jmx" level="warn"/> + + <logger name="org.apache.directory" level="warn"/> + <logger name="org.apache.directory.api.ldap.model.entry.Value" level="off"/> + + <logger name="DataNucleus.Persistence" level="info"/> + <logger name="DataNucleus.Transaction" level="info"/> + <logger name="DataNucleus.Datastore.Schema" level="info"/> + <logger name="DataNucleus.Datastore.Native" level="info"/> + + <Root level="info"> + <AppenderRef ref="Console" /> + </Root> + </Loggers> +</Configuration> + +<!-- # DataNucleus Logging Categories --> +<!-- DataNucleus.Persistence - All messages relating to the persistence process --> +<!-- DataNucleus.Transaction - All messages relating to transactions --> +<!-- DataNucleus.Connection - All messages relating to Connections. --> +<!-- DataNucleus.Query - All messages relating to queries --> +<!-- DataNucleus.Cache - All messages relating to the DataNucleus Cache --> +<!-- DataNucleus.MetaData - All messages relating to MetaData --> +<!-- DataNucleus.Datastore - All general datastore messages --> +<!-- DataNucleus.Datastore.Schema - All schema related datastore log messages --> +<!-- DataNucleus.Datastore.Persist - All datastore persistence messages --> +<!-- DataNucleus.Datastore.Retrieve - All datastore retrieval messages --> +<!-- DataNucleus.Datastore.Native - Log of all 'native' statements sent to the datastore --> +<!-- DataNucleus.General - All general operational messages --> +<!-- DataNucleus.Lifecycle - All messages relating to object lifecycle changes --> +<!-- DataNucleus.ValueGeneration - All messages relating to value generation --> +<!-- DataNucleus.Enhancer - All messages from the DataNucleus Enhancer. --> +<!-- DataNucleus.SchemaTool - All messages from DataNucleus SchemaTool --> +<!-- DataNucleus.JDO - All messages general to JDO --> +<!-- DataNucleus.JPA - All messages general to JPA --> +<!-- DataNucleus.JCA - All messages relating to Connector JCA. --> +<!-- DataNucleus.IDE - Messages from the DataNucleus IDE. --> \ No newline at end of file diff --git a/extensions/security/sessionlog/persistence-jdo-qclasses/logging-dn-enhance.properties b/extensions/security/sessionlog/persistence-jdo-qclasses/logging-dn-enhance.properties new file mode 100644 index 00000000000..ca165acc786 --- /dev/null +++ b/extensions/security/sessionlog/persistence-jdo-qclasses/logging-dn-enhance.properties @@ -0,0 +1,41 @@ +# 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. + +# LOG4J Configuration +# =================== + +# Basic logging goes to "datanucleus.log" +log4j.appender.A1=org.apache.log4j.FileAppender +log4j.appender.A1.File=datanucleus.log +log4j.appender.A1.layout=org.apache.log4j.PatternLayout +log4j.appender.A1.layout.ConversionPattern=%d{HH:mm:ss,SSS} (%t) %-5p [%c] - %m%n +#log4j.appender.A1.Threshold=INFO + +# Categories +# Each category can be set to a "level", and to direct to an appender + +# Default to DEBUG level for all DataNucleus categories +log4j.logger.DataNucleus = DEBUG, A1 + +log4j.category.com.mchange.v2.c3p0=INFO, A1 +log4j.category.com.mchange.v2.resourcepool=INFO, A1 +log4j.category.org.logicalcobwebs.proxool=INFO,A1 + + +# Hbase libs logging +log4j.category.org.apache.hadoop=INFO,A1 +log4j.category.org.apache.zookeeper=INFO,A1 \ No newline at end of file diff --git a/extensions/security/sessionlog/persistence-jdo/pom.xml b/extensions/security/sessionlog/persistence-jdo-qclasses/pom.xml similarity index 77% copy from extensions/security/sessionlog/persistence-jdo/pom.xml copy to extensions/security/sessionlog/persistence-jdo-qclasses/pom.xml index 3d1d6529e62..f704600f590 100644 --- a/extensions/security/sessionlog/persistence-jdo/pom.xml +++ b/extensions/security/sessionlog/persistence-jdo-qclasses/pom.xml @@ -27,14 +27,18 @@ <relativePath>../pom.xml</relativePath> </parent> - <artifactId>causeway-extensions-sessionlog-persistence-jdo</artifactId> - <name>Apache Causeway Ext - Session Log Persistence (using JDO)</name> + <artifactId>causeway-extensions-sessionlog-persistence-jdo-qclasses</artifactId> + <name>Apache Causeway Ext - Session Log Persistence (using JDO) with Q Classes</name> <properties> - <jar-plugin.automaticModuleName>org.apache.causeway.extensions.sessionlog.persistence.jdo</jar-plugin.automaticModuleName> - <git-plugin.propertiesDir>org/apache/causeway/extensions/sessionlog/persistence-jdo</git-plugin.propertiesDir> + <jar-plugin.automaticModuleName>org.apache.causeway.extensions.sessionlog.persistence.jdoclasses</jar-plugin.automaticModuleName> + <git-plugin.propertiesDir>org/apache/causeway/extensions/sessionlog/persistence-jdo-qclasses</git-plugin.propertiesDir> </properties> + <build> + <sourceDirectory>../persistence-jdo/src/main/java</sourceDirectory> + </build> + <dependencies> <dependency> @@ -58,19 +62,6 @@ <scope>provided</scope> </dependency> - <dependency> - <groupId>org.apache.causeway.extensions</groupId> - <artifactId>causeway-extensions-sessionlog-applib</artifactId> - <scope>test</scope> - <type>test-jar</type> - </dependency> - - <dependency> - <groupId>org.apache.causeway.testing</groupId> - <artifactId>causeway-testing-integtestsupport-applib</artifactId> - <scope>test</scope> - </dependency> - </dependencies> </project> diff --git a/extensions/security/sessionlog/persistence-jdo/pom.xml b/extensions/security/sessionlog/persistence-jdo/pom.xml index 3d1d6529e62..6699f9f7212 100644 --- a/extensions/security/sessionlog/persistence-jdo/pom.xml +++ b/extensions/security/sessionlog/persistence-jdo/pom.xml @@ -35,6 +35,25 @@ <git-plugin.propertiesDir>org/apache/causeway/extensions/sessionlog/persistence-jdo</git-plugin.propertiesDir> </properties> + <build> + <resources> + <resource> + <filtering>false</filtering> + <directory>src/main/resources</directory> + </resource> + <resource> + <filtering>false</filtering> + <directory>src/main/java</directory> + <includes> + <include>**</include> + </includes> + <excludes> + <exclude>**/*.java</exclude> + </excludes> + </resource> + </resources> + </build> + <dependencies> <dependency> @@ -45,6 +64,13 @@ <dependency> <groupId>org.apache.causeway.persistence</groupId> <artifactId>causeway-persistence-jdo-datanucleus</artifactId> + <exclusions> + <!-- Prevent the JDO query classes from being generated --> + <exclusion> + <groupId>org.datanucleus</groupId> + <artifactId>datanucleus-jdo-query</artifactId> + </exclusion> + </exclusions> </dependency> <dependency> diff --git a/extensions/security/sessionlog/pom.xml b/extensions/security/sessionlog/pom.xml index 47b141c4abf..18379b8851f 100644 --- a/extensions/security/sessionlog/pom.xml +++ b/extensions/security/sessionlog/pom.xml @@ -62,6 +62,11 @@ <artifactId>causeway-extensions-sessionlog-persistence-jdo</artifactId> <version>2.0.0-SNAPSHOT</version> </dependency> + <dependency> + <groupId>org.apache.causeway.extensions</groupId> + <artifactId>causeway-extensions-sessionlog-persistence-jdo-qclasses</artifactId> + <version>2.0.0-SNAPSHOT</version> + </dependency> <dependency> <groupId>org.apache.causeway.testing</groupId> @@ -86,6 +91,7 @@ <modules> <module>applib</module> <module>persistence-jdo</module> + <module>persistence-jdo-qclasses</module> <module>persistence-jpa</module> </modules> </project>
