Author: gk Date: Mon Dec 20 17:41:20 2021 New Revision: 1896195 URL: http://svn.apache.org/viewvc?rev=1896195&view=rev Log: - use Java 8 streams, Java 7 switches, extract code duplicates into same named methods. - fix log4j old versions, fix plugin configuration elements in pom. - upgrade ant to 1.10.12 due to CVE-2021-36373 - cleanup / align assembly descriptors - remove log4j2.xml from src/ressources
Removed: db/torque/trunk/torque-maven-plugin/src/main/resources/log4j2.xml Modified: db/torque/trunk/README.md db/torque/trunk/pom.xml db/torque/trunk/src/main/assembly/bin-with-dependencies.xml db/torque/trunk/src/main/assembly/src.xml db/torque/trunk/torque-ant-tasks/pom.xml db/torque/trunk/torque-generator/src/main/java/org/apache/torque/generator/configuration/DirectoryConfigurationProvider.java db/torque/trunk/torque-generator/src/main/java/org/apache/torque/generator/configuration/outlet/JavaOutletSaxHandler.java db/torque/trunk/torque-generator/src/main/java/org/apache/torque/generator/configuration/source/ConfigurableClassSaxHandler.java db/torque/trunk/torque-generator/src/main/java/org/apache/torque/generator/configuration/source/FileSourceSaxHandler.java db/torque/trunk/torque-generator/src/main/java/org/apache/torque/generator/control/Controller.java db/torque/trunk/torque-generator/src/main/java/org/apache/torque/generator/source/jdbc/JdbcMetadataSource.java db/torque/trunk/torque-generator/src/main/java/org/apache/torque/generator/source/stream/CombinedFileSource.java db/torque/trunk/torque-runtime/src/changes/changes.xml db/torque/trunk/torque-runtime/src/main/java/org/apache/torque/sql/whereclausebuilder/CurrentDateTimePsPartBuilder.java db/torque/trunk/torque-runtime/src/main/java/org/apache/torque/sql/whereclausebuilder/LikeBuilder.java db/torque/trunk/torque-runtime/src/main/java/org/apache/torque/sql/whereclausebuilder/NullValueBuilder.java db/torque/trunk/torque-runtime/src/main/java/org/apache/torque/util/AvgHelper.java db/torque/trunk/torque-runtime/src/main/java/org/apache/torque/util/CountHelper.java db/torque/trunk/torque-runtime/src/main/java/org/apache/torque/util/SummaryHelper.java db/torque/trunk/torque-site/src/site/xdoc/documentation/tutorial/orm/step6-ant.xml db/torque/trunk/torque-templates/src/changes/changes.xml db/torque/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformDefaultImpl.java db/torque/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformDerbyImpl.java db/torque/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformHsqldbImpl.java db/torque/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformMysqlImpl.java db/torque/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformPostgresqlImpl.java db/torque/trunk/torque-templates/src/main/java/org/apache/torque/templates/transformer/om/FindHelper.java db/torque/trunk/torque-templates/src/main/java/org/apache/torque/templates/transformer/om/OMColumnJavaTransformer.java db/torque/trunk/torque-templates/src/main/java/org/apache/torque/templates/transformer/om/mapInit/DatabaseMapInitTransformer.java Modified: db/torque/trunk/README.md URL: http://svn.apache.org/viewvc/db/torque/trunk/README.md?rev=1896195&r1=1896194&r2=1896195&view=diff ============================================================================== --- db/torque/trunk/README.md (original) +++ db/torque/trunk/README.md Mon Dec 20 17:41:20 2021 @@ -65,11 +65,11 @@ Two kinds of tests exist. Module "intern *Torque-test* allows to test against databases and provides a [README](torque-test/README.md) of its own. You need the ant tool installed. -You may start Torque-Test module in the torque-test folder by this command (with default database derbyEmbedded) +You may start Torque-Test module in the **torque-test folder** by this command (with default database derbyEmbedded) mvn clean install -PderbyEmbedded,beans,managers -or in root folder (with default database derbyEmbedded-jenkins and activated module test) +or in **root folder** (with default database **derbyEmbedded-jenkins** and activated module test mvn clean install -PderbyEmbedded-jenkins,beans,managers,test @@ -119,9 +119,9 @@ Public Key is added to KEYS. - Deploy artifacts -You will be asked for your gpg passphrase durign the build process, if not provided otherwise. +You will be asked for your gpg passphrase during the build process, if not provided otherwise. - mvn package deploy + mvn package deploy -Papache-release,derbyEmbedded-jenkins,beans,managers,owasp - Release modules Modified: db/torque/trunk/pom.xml URL: http://svn.apache.org/viewvc/db/torque/trunk/pom.xml?rev=1896195&r1=1896194&r2=1896195&view=diff ============================================================================== --- db/torque/trunk/pom.xml (original) +++ db/torque/trunk/pom.xml Mon Dec 20 17:41:20 2021 @@ -492,15 +492,12 @@ <format>html</format> <format>xml</format> </formats> + <check/> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-pmd-plugin</artifactId> - <configuration> - <linkXref>true</linkXref> - <targetJdk>${maven.compiler.source}</targetJdk> - </configuration> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> @@ -547,7 +544,7 @@ <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-pmd-plugin</artifactId> - <version>3.13.0</version> + <version>3.15.0</version> <configuration> <linkXref>true</linkXref> <targetJdk>${maven.compiler.source}</targetJdk> @@ -605,7 +602,7 @@ <artifactId>maven-javadoc-plugin</artifactId> <version>3.3.1</version> <configuration> - <additionalparam>-Xdoclint:none</additionalparam> + <doclint>none</doclint> <source>1.8</source> </configuration> <executions> @@ -654,7 +651,7 @@ </reportSets> <configuration> <!-- test project javadoc is not needed in the main site and javadoc fails during the release build, so skip --> - <skipModules>torque-test</skipModules> + <skippedModules>torque-test</skippedModules> </configuration> </plugin> <plugin> @@ -733,6 +730,7 @@ <torque.compiler.fork>false</torque.compiler.fork> <torque.compiler.compilerVersion>1.8</torque.compiler.compilerVersion> + <!--suppress UnresolvedMavenProperty --> <torque.compiler.javac>${JAVA_HOME}/bin/javac</torque.compiler.javac> <project.build.outputTimestamp>1</project.build.outputTimestamp> Modified: db/torque/trunk/src/main/assembly/bin-with-dependencies.xml URL: http://svn.apache.org/viewvc/db/torque/trunk/src/main/assembly/bin-with-dependencies.xml?rev=1896195&r1=1896194&r2=1896195&view=diff ============================================================================== --- db/torque/trunk/src/main/assembly/bin-with-dependencies.xml (original) +++ db/torque/trunk/src/main/assembly/bin-with-dependencies.xml Mon Dec 20 17:41:20 2021 @@ -17,9 +17,8 @@ specific language governing permissions and limitations under the License. --> -<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd"> +<assembly xmlns="http://maven.apache.org/ASSEMBLY/2.1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/ASSEMBLY/2.1.0 http://maven.apache.org/xsd/assembly-2.1.0.xsd"> <id>bin</id> <formats> <format>tar.gz</format> @@ -27,10 +26,11 @@ </formats> <fileSets> <fileSet> + <directory>${project.basedir}</directory> <includes> - <include>${project.basedir}/README*</include> - <include>${project.basedir}/LICENSE*</include> - <include>${project.basedir}/NOTICE*</include> + <include>README*</include> + <include>LICENSE*</include> + <include>NOTICE*</include> </includes> </fileSet> <fileSet> @@ -38,7 +38,7 @@ <includes> <include>*.jar</include> </includes> - <outputDirectory>.</outputDirectory> + <outputDirectory></outputDirectory> </fileSet> </fileSets> <dependencySets> Modified: db/torque/trunk/src/main/assembly/src.xml URL: http://svn.apache.org/viewvc/db/torque/trunk/src/main/assembly/src.xml?rev=1896195&r1=1896194&r2=1896195&view=diff ============================================================================== --- db/torque/trunk/src/main/assembly/src.xml (original) +++ db/torque/trunk/src/main/assembly/src.xml Mon Dec 20 17:41:20 2021 @@ -1,6 +1,3 @@ -<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd"> <!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file @@ -19,6 +16,8 @@ specific language governing permissions and limitations under the License. --> +<assembly xmlns="http://maven.apache.org/ASSEMBLY/2.1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/ASSEMBLY/2.1.0 http://maven.apache.org/xsd/assembly-2.1.0.xsd"> <id>src</id> <formats> <format>tar.gz</format> @@ -27,7 +26,7 @@ <fileSets> <fileSet> <directory>${project.basedir}</directory> - <outputDirectory>/</outputDirectory> + <outputDirectory></outputDirectory> <useDefaultExcludes>true</useDefaultExcludes> <excludes> <exclude>**/.project</exclude> Modified: db/torque/trunk/torque-ant-tasks/pom.xml URL: http://svn.apache.org/viewvc/db/torque/trunk/torque-ant-tasks/pom.xml?rev=1896195&r1=1896194&r2=1896195&view=diff ============================================================================== --- db/torque/trunk/torque-ant-tasks/pom.xml (original) +++ db/torque/trunk/torque-ant-tasks/pom.xml Mon Dec 20 17:41:20 2021 @@ -53,7 +53,7 @@ <dependency> <groupId>org.apache.ant</groupId> <artifactId>ant</artifactId> - <version>1.10.9</version> + <version>1.10.12</version> <scope>provided</scope> <exclusions> <exclusion> Modified: db/torque/trunk/torque-generator/src/main/java/org/apache/torque/generator/configuration/DirectoryConfigurationProvider.java URL: http://svn.apache.org/viewvc/db/torque/trunk/torque-generator/src/main/java/org/apache/torque/generator/configuration/DirectoryConfigurationProvider.java?rev=1896195&r1=1896194&r2=1896195&view=diff ============================================================================== --- db/torque/trunk/torque-generator/src/main/java/org/apache/torque/generator/configuration/DirectoryConfigurationProvider.java (original) +++ db/torque/trunk/torque-generator/src/main/java/org/apache/torque/generator/configuration/DirectoryConfigurationProvider.java Mon Dec 20 17:41:20 2021 @@ -26,7 +26,9 @@ import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; import java.util.ArrayList; +import java.util.Arrays; import java.util.Collection; +import java.util.stream.Collectors; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -169,12 +171,11 @@ extends AbstractConfigurationProvider File[] sourceFiles = outletConfigDir.listFiles(); if ( sourceFiles != null ) { - for ( File srcFile : sourceFiles ) { - if (!srcFile.isDirectory() && srcFile.getPath().endsWith("xml")) - { - result.add(srcFile.getName()); - } - } + result = + Arrays.stream(sourceFiles) + .filter(srcFile -> !srcFile.isDirectory() && srcFile.getPath().endsWith("xml")) + .map(File::getName) + .collect(Collectors.toCollection(ArrayList::new)); } return result; } Modified: db/torque/trunk/torque-generator/src/main/java/org/apache/torque/generator/configuration/outlet/JavaOutletSaxHandler.java URL: http://svn.apache.org/viewvc/db/torque/trunk/torque-generator/src/main/java/org/apache/torque/generator/configuration/outlet/JavaOutletSaxHandler.java?rev=1896195&r1=1896194&r2=1896195&view=diff ============================================================================== --- db/torque/trunk/torque-generator/src/main/java/org/apache/torque/generator/configuration/outlet/JavaOutletSaxHandler.java (original) +++ db/torque/trunk/torque-generator/src/main/java/org/apache/torque/generator/configuration/outlet/JavaOutletSaxHandler.java Mon Dec 20 17:41:20 2021 @@ -303,17 +303,7 @@ class JavaOutletSaxHandler extends Outle BeanUtils.copyProperty( getOutlet(), propertyName, propertyValue.toString()); } - catch (InvocationTargetException e) - { - throw new SAXException("error while setting Property " - + propertyName - + " for java outlet " - + getOutlet().getName() - + " with value " - + propertyValue.toString(), - e); - } - catch (IllegalAccessException e) + catch (InvocationTargetException | IllegalAccessException e) { throw new SAXException("error while setting Property " + propertyName Modified: db/torque/trunk/torque-generator/src/main/java/org/apache/torque/generator/configuration/source/ConfigurableClassSaxHandler.java URL: http://svn.apache.org/viewvc/db/torque/trunk/torque-generator/src/main/java/org/apache/torque/generator/configuration/source/ConfigurableClassSaxHandler.java?rev=1896195&r1=1896194&r2=1896195&view=diff ============================================================================== --- db/torque/trunk/torque-generator/src/main/java/org/apache/torque/generator/configuration/source/ConfigurableClassSaxHandler.java (original) +++ db/torque/trunk/torque-generator/src/main/java/org/apache/torque/generator/configuration/source/ConfigurableClassSaxHandler.java Mon Dec 20 17:41:20 2021 @@ -215,17 +215,7 @@ public class ConfigurableClassSaxHandler propertyName, propertyValue); } - catch (InvocationTargetException e) - { - throw new SAXException("error while setting Property " - + propertyName - + " for java transformer " - + configuredClass.getClass().getName() - + " with value " - + propertyValue.toString(), - e); - } - catch (IllegalAccessException e) + catch (InvocationTargetException | IllegalAccessException e) { throw new SAXException("error while setting Property " + propertyName Modified: db/torque/trunk/torque-generator/src/main/java/org/apache/torque/generator/configuration/source/FileSourceSaxHandler.java URL: http://svn.apache.org/viewvc/db/torque/trunk/torque-generator/src/main/java/org/apache/torque/generator/configuration/source/FileSourceSaxHandler.java?rev=1896195&r1=1896194&r2=1896195&view=diff ============================================================================== --- db/torque/trunk/torque-generator/src/main/java/org/apache/torque/generator/configuration/source/FileSourceSaxHandler.java (original) +++ db/torque/trunk/torque-generator/src/main/java/org/apache/torque/generator/configuration/source/FileSourceSaxHandler.java Mon Dec 20 17:41:20 2021 @@ -100,29 +100,28 @@ public class FileSourceSaxHandler extend Attributes attributes) throws SAXException { - if (rawName.equals(INCLUDE_TAG)) + switch (rawName) { - currentInclude = new StringBuilder(); - } - else if (rawName.equals(EXCLUDE_TAG)) - { - currentExclude = new StringBuilder(); - } - else if (rawName.equals(SOURCE_TAG)) - { - super.startElement(uri, localName, rawName, attributes); - format = attributes.getValue(FORMAT_ATTRIBUTE); - if (attributes.getValue(COMBINE_FILES_ATTRIBUTE) != null) - { - combineFiles = SaxHelper.getBooleanAttribute( - COMBINE_FILES_ATTRIBUTE, - attributes, - "the element " + SOURCE_TAG); - } - } - else - { - super.startElement(uri, localName, rawName, attributes); + case INCLUDE_TAG: + currentInclude = new StringBuilder(); + break; + case EXCLUDE_TAG: + currentExclude = new StringBuilder(); + break; + case SOURCE_TAG: + super.startElement(uri, localName, rawName, attributes); + format = attributes.getValue(FORMAT_ATTRIBUTE); + if (attributes.getValue(COMBINE_FILES_ATTRIBUTE) != null) + { + combineFiles = SaxHelper.getBooleanAttribute( + COMBINE_FILES_ATTRIBUTE, + attributes, + "the element " + SOURCE_TAG); + } + break; + default: + super.startElement(uri, localName, rawName, attributes); + break; } } @@ -133,63 +132,62 @@ public class FileSourceSaxHandler extend public void endElement(String uri, String localName, String rawName) throws SAXException { - if (rawName.equals(INCLUDE_TAG)) - { - includes.add(currentInclude.toString()); - currentInclude = null; - } - else if (rawName.equals(EXCLUDE_TAG)) - { - excludes.add(currentExclude.toString()); - currentExclude = null; - } - else if (rawName.equals(SOURCE_TAG)) + switch (rawName) { - try - { - StreamSourceFormat sourceFormat = null; - if (format != null) + case INCLUDE_TAG: + includes.add(currentInclude.toString()); + currentInclude = null; + break; + case EXCLUDE_TAG: + excludes.add(currentExclude.toString()); + currentExclude = null; + break; + case SOURCE_TAG: + try { - Set<StreamSourceFormat> sourceFormats - = getConfigurationHandlers().getStreamSourceFormats(); - for (StreamSourceFormat candidate : sourceFormats) + StreamSourceFormat sourceFormat = null; + if (format != null) { - if (format.equals(candidate.getKey())) + Set<StreamSourceFormat> sourceFormats + = getConfigurationHandlers().getStreamSourceFormats(); + for (StreamSourceFormat candidate : sourceFormats) { - sourceFormat = candidate; - break; + if (format.equals(candidate.getKey())) + { + sourceFormat = candidate; + break; + } + } + if (sourceFormat == null) + { + throw new SAXException("Unknown source format : " + + format + + " Known types are: " + sourceFormats); } } - if (sourceFormat == null) - { - throw new SAXException("Unknown source format : " - + format - + " Known types are: " + sourceFormats); - } - } - Fileset sourceFileset = new Fileset( - getUnitDescriptor().getProjectPaths() - .getDefaultSourcePath(), - includes, - excludes); + Fileset sourceFileset = new Fileset( + getUnitDescriptor().getProjectPaths() + .getDefaultSourcePath(), + includes, + excludes); - sourceProvider = new FileSourceProvider( - sourceFormat, - sourceFileset, - combineFiles); - } - catch (ConfigurationException e) - { - throw new SAXException("Could not create source: " - + e.getMessage(), - e); - } - super.endElement(uri, localName, rawName); - finished(); - } - else - { - super.endElement(uri, localName, rawName); + sourceProvider = new FileSourceProvider( + sourceFormat, + sourceFileset, + combineFiles); + } + catch (ConfigurationException e) + { + throw new SAXException("Could not create source: " + + e.getMessage(), + e); + } + super.endElement(uri, localName, rawName); + finished(); + break; + default: + super.endElement(uri, localName, rawName); + break; } } Modified: db/torque/trunk/torque-generator/src/main/java/org/apache/torque/generator/control/Controller.java URL: http://svn.apache.org/viewvc/db/torque/trunk/torque-generator/src/main/java/org/apache/torque/generator/control/Controller.java?rev=1896195&r1=1896194&r2=1896195&view=diff ============================================================================== --- db/torque/trunk/torque-generator/src/main/java/org/apache/torque/generator/control/Controller.java (original) +++ db/torque/trunk/torque-generator/src/main/java/org/apache/torque/generator/control/Controller.java Mon Dec 20 17:41:20 2021 @@ -489,16 +489,10 @@ public class Controller } log.debug("Processing new model " + model); - ExistingTargetStrategy existingTargetStrategy = null; - for (final ExistingTargetStrategy candidate : EXISTING_TARGET_STRATEGIES) - { - if (candidate.getStrategyName().equals( - output.getExistingTargetStrategy())) - { - existingTargetStrategy = candidate; - break; - } - } + ExistingTargetStrategy existingTargetStrategy = EXISTING_TARGET_STRATEGIES.stream() + .filter(candidate -> candidate.getStrategyName().equals( + output.getExistingTargetStrategy())) + .findFirst().orElse(null); if (existingTargetStrategy == null) { throw new ControllerException("existingTargetStrategy " Modified: db/torque/trunk/torque-generator/src/main/java/org/apache/torque/generator/source/jdbc/JdbcMetadataSource.java URL: http://svn.apache.org/viewvc/db/torque/trunk/torque-generator/src/main/java/org/apache/torque/generator/source/jdbc/JdbcMetadataSource.java?rev=1896195&r1=1896194&r2=1896195&view=diff ============================================================================== --- db/torque/trunk/torque-generator/src/main/java/org/apache/torque/generator/source/jdbc/JdbcMetadataSource.java (original) +++ db/torque/trunk/torque-generator/src/main/java/org/apache/torque/generator/source/jdbc/JdbcMetadataSource.java Mon Dec 20 17:41:20 2021 @@ -34,6 +34,7 @@ import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Set; +import java.util.stream.IntStream; import org.apache.commons.lang3.StringUtils; import org.apache.commons.logging.Log; @@ -196,86 +197,12 @@ public class JdbcMetadataSource extends Set<String> primaryKeys = getPrimaryKeys(dbMetaData, tableName, schema); - for (ColumnMetadata col : columns) - { - String name = col.getName(); - Integer type = col.getSqlType(); - int size = col.getSize().intValue(); - int scale = col.getDecimalDigits().intValue(); - - Integer nullType = col.getNullType(); - String defValue = col.getDefValue(); - - SourceElement column = new SourceElement("column"); - column.setAttribute("name", name); - - SchemaType schemaType = SchemaType.getByJdbcType(type); - if (schemaType != null) - { - column.setAttribute("type", schemaType.toString()); - } - - if (size > 0 && (type.intValue() == Types.CHAR - || type.intValue() == Types.VARCHAR - || type.intValue() == Types.LONGVARCHAR - || type.intValue() == Types.DECIMAL - || type.intValue() == Types.NUMERIC)) - { - column.setAttribute("size", String.valueOf(size)); - } - - if (scale > 0 && (type.intValue() == Types.DECIMAL - || type.intValue() == Types.NUMERIC)) - { - column.setAttribute("scale", String.valueOf(scale)); - } - - if (primaryKeys.contains(name)) - { - column.setAttribute("primaryKey", "true"); - } - else if (nullType.intValue() == 0) - { - column.setAttribute("required", "true"); - } - - if (StringUtils.isNotEmpty(defValue)) - { - // trim out parens & quotes out of def value. - // makes sense for MSSQL. not sure about others. - if (defValue.startsWith("(") && defValue.endsWith(")")) - { - defValue = defValue.substring(1, defValue.length() - 1); - } - - if (defValue.startsWith("'") && defValue.endsWith("'")) - { - defValue = defValue.substring(1, defValue.length() - 1); - } - - column.setAttribute("default", defValue); - } - table.getChildren().add(column); - } + addTableColumns(table, columns, primaryKeys); // Foreign keys for this table. Collection<ForeignKeyMetadata> forgnKeys = getForeignKeys(dbMetaData, tableName, schema); - for (ForeignKeyMetadata foreignKeyMetadata : forgnKeys) - { - SourceElement fk = new SourceElement("foreign-key"); - fk.setAttribute( - "foreignTable", - foreignKeyMetadata.getReferencedTable()); - for (int m = 0; m < foreignKeyMetadata.getLocalColumns().size(); m++) - { - SourceElement ref = new SourceElement("reference"); - ref.setAttribute("local", foreignKeyMetadata.getLocalColumns().get(m)); - ref.setAttribute("foreign", foreignKeyMetadata.getForeignColumns().get(m)); - fk.getChildren().add(ref); - } - table.getChildren().add(fk); - } + addTableForeignKeys(table, forgnKeys); } } catch (SQLException e) @@ -287,6 +214,85 @@ public class JdbcMetadataSource extends return rootElement; } + private void addTableForeignKeys(SourceElement table, Collection<ForeignKeyMetadata> forgnKeys) { + for (ForeignKeyMetadata foreignKeyMetadata : forgnKeys) + { + SourceElement fk = new SourceElement("foreign-key"); + fk.setAttribute( + "foreignTable", + foreignKeyMetadata.getReferencedTable()); + for (int m = 0; m < foreignKeyMetadata.getLocalColumns().size(); m++) + { + SourceElement ref = new SourceElement("reference"); + ref.setAttribute("local", foreignKeyMetadata.getLocalColumns().get(m)); + ref.setAttribute("foreign", foreignKeyMetadata.getForeignColumns().get(m)); + fk.getChildren().add(ref); + } + table.getChildren().add(fk); + } + } + + private void addTableColumns(SourceElement table, List<ColumnMetadata> columns, Set<String> primaryKeys) { + for (ColumnMetadata col : columns) + { + String name = col.getName(); + Integer type = col.getSqlType(); + int size = col.getSize().intValue(); + int scale = col.getDecimalDigits().intValue(); + + Integer nullType = col.getNullType(); + String defValue = col.getDefValue(); + + SourceElement column = new SourceElement("column"); + column.setAttribute("name", name); + + SchemaType schemaType = SchemaType.getByJdbcType(type); + if (schemaType != null) + { + column.setAttribute("type", schemaType.toString()); + } + + if (size > 0 && (IntStream.of(Types.CHAR, Types.VARCHAR, Types.LONGVARCHAR, Types.DECIMAL, + Types.NUMERIC).anyMatch(j -> type.intValue() == j)) ) + { + column.setAttribute("size", String.valueOf(size)); + } + + if (scale > 0 && (IntStream.of( Types.DECIMAL, Types.NUMERIC)) + .anyMatch(j -> j == type.intValue()) ) + { + column.setAttribute("scale", String.valueOf(scale)); + } + + if (primaryKeys.contains(name)) + { + column.setAttribute("primaryKey", "true"); + } + else if (nullType.intValue() == 0) + { + column.setAttribute("required", "true"); + } + + if (StringUtils.isNotEmpty(defValue)) + { + // trim out parens & quotes out of def value. + // makes sense for MSSQL. not sure about others. + if (defValue.startsWith("(") && defValue.endsWith(")")) + { + defValue = defValue.substring(1, defValue.length() - 1); + } + + if (defValue.startsWith("'") && defValue.endsWith("'")) + { + defValue = defValue.substring(1, defValue.length() - 1); + } + + column.setAttribute("default", defValue); + } + table.getChildren().add(column); + } + } + @Override public String getDescription() { Modified: db/torque/trunk/torque-generator/src/main/java/org/apache/torque/generator/source/stream/CombinedFileSource.java URL: http://svn.apache.org/viewvc/db/torque/trunk/torque-generator/src/main/java/org/apache/torque/generator/source/stream/CombinedFileSource.java?rev=1896195&r1=1896194&r2=1896195&view=diff ============================================================================== --- db/torque/trunk/torque-generator/src/main/java/org/apache/torque/generator/source/stream/CombinedFileSource.java (original) +++ db/torque/trunk/torque-generator/src/main/java/org/apache/torque/generator/source/stream/CombinedFileSource.java Mon Dec 20 17:41:20 2021 @@ -24,6 +24,7 @@ import java.util.ArrayList; import java.util.Collection; import java.util.Date; import java.util.List; +import java.util.stream.Collectors; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -62,7 +63,7 @@ public class CombinedFileSource extends /** * The log of the class. */ - private static Log log = LogFactory.getLog(CombinedFileSource.class); + private static final Log log = LogFactory.getLog(CombinedFileSource.class); /** * The list of contained file sources, not null.. @@ -130,16 +131,12 @@ public class CombinedFileSource extends @Override public String getDescription() { - StringBuilder result = new StringBuilder(); - for (FileSource fileSource : fileSources) - { - if (result.length() > 0) - { - result.append(';'); - } - result.append(fileSource.getPath()); - } - return result.toString(); + String result = + fileSources.stream() + .map(fileSource -> + String.valueOf(fileSource.getPath())) + .collect(Collectors.joining(";")); + return result; } /** Modified: db/torque/trunk/torque-runtime/src/changes/changes.xml URL: http://svn.apache.org/viewvc/db/torque/trunk/torque-runtime/src/changes/changes.xml?rev=1896195&r1=1896194&r2=1896195&view=diff ============================================================================== --- db/torque/trunk/torque-runtime/src/changes/changes.xml (original) +++ db/torque/trunk/torque-runtime/src/changes/changes.xml Mon Dec 20 17:41:20 2021 @@ -22,7 +22,9 @@ <title>Changes</title> </properties> <body> - <release version="5.0-SNAPSHOT" date="in SVN"> + <release version="5.1-SNAPSHOT" date="in SVN"> + </release> + <release version="5.0-SNAPSHOT" date="2020-09-22"> <action type="update" dev="gk"> Use Commons Configuration, which allows for overriding, Update Beanutils 1.9.4 </action> Modified: db/torque/trunk/torque-runtime/src/main/java/org/apache/torque/sql/whereclausebuilder/CurrentDateTimePsPartBuilder.java URL: http://svn.apache.org/viewvc/db/torque/trunk/torque-runtime/src/main/java/org/apache/torque/sql/whereclausebuilder/CurrentDateTimePsPartBuilder.java?rev=1896195&r1=1896194&r2=1896195&view=diff ============================================================================== --- db/torque/trunk/torque-runtime/src/main/java/org/apache/torque/sql/whereclausebuilder/CurrentDateTimePsPartBuilder.java (original) +++ db/torque/trunk/torque-runtime/src/main/java/org/apache/torque/sql/whereclausebuilder/CurrentDateTimePsPartBuilder.java Mon Dec 20 17:41:20 2021 @@ -26,6 +26,8 @@ import org.apache.torque.criteria.SqlEnu import org.apache.torque.sql.Query; import org.apache.torque.sql.WhereClauseExpression; +import java.util.stream.Stream; + /** * A WhereClausePsPartBuilder which handles <code>SqlEnum.CURRENT_DATE</code> * and <code>SqlEnum.CURRENT_TIME</code>. @@ -70,12 +72,9 @@ extends AbstractWhereClausePsPartBuilder final WhereClauseExpression whereClauseExpression, final Adapter adapter) { - if (whereClauseExpression.getOperator().equals( - SqlEnum.CURRENT_DATE) - || whereClauseExpression.getOperator().equals( - SqlEnum.CURRENT_TIME) - || whereClauseExpression.getOperator().equals( - SqlEnum.CURRENT_TIMESTAMP)) + if (Stream.of(SqlEnum.CURRENT_DATE, SqlEnum.CURRENT_TIME, SqlEnum.CURRENT_TIMESTAMP) + .anyMatch(sqlEnum -> + whereClauseExpression.getOperator().equals(sqlEnum)) ) { return true; } Modified: db/torque/trunk/torque-runtime/src/main/java/org/apache/torque/sql/whereclausebuilder/LikeBuilder.java URL: http://svn.apache.org/viewvc/db/torque/trunk/torque-runtime/src/main/java/org/apache/torque/sql/whereclausebuilder/LikeBuilder.java?rev=1896195&r1=1896194&r2=1896195&view=diff ============================================================================== --- db/torque/trunk/torque-runtime/src/main/java/org/apache/torque/sql/whereclausebuilder/LikeBuilder.java (original) +++ db/torque/trunk/torque-runtime/src/main/java/org/apache/torque/sql/whereclausebuilder/LikeBuilder.java Mon Dec 20 17:41:20 2021 @@ -26,6 +26,8 @@ import org.apache.torque.criteria.SqlEnu import org.apache.torque.sql.Query; import org.apache.torque.sql.WhereClauseExpression; +import java.util.stream.Stream; + /** * Builds a PreparedStatementPart from a WhereClauseExpression containing * a Like operator. @@ -232,10 +234,10 @@ public class LikeBuilder extends Abstrac final WhereClauseExpression whereClauseExpression, final Adapter adapter) { - if (whereClauseExpression.getOperator().equals(SqlEnum.LIKE) - || whereClauseExpression.getOperator().equals(SqlEnum.NOT_LIKE) - || whereClauseExpression.getOperator().equals(SqlEnum.ILIKE) - || whereClauseExpression.getOperator().equals(SqlEnum.NOT_ILIKE)) + if (Stream.of( + SqlEnum.LIKE, SqlEnum.NOT_LIKE, SqlEnum.ILIKE, SqlEnum.NOT_ILIKE) + .anyMatch(sqlEnum -> whereClauseExpression.getOperator() + .equals(sqlEnum))) { return true; } Modified: db/torque/trunk/torque-runtime/src/main/java/org/apache/torque/sql/whereclausebuilder/NullValueBuilder.java URL: http://svn.apache.org/viewvc/db/torque/trunk/torque-runtime/src/main/java/org/apache/torque/sql/whereclausebuilder/NullValueBuilder.java?rev=1896195&r1=1896194&r2=1896195&view=diff ============================================================================== --- db/torque/trunk/torque-runtime/src/main/java/org/apache/torque/sql/whereclausebuilder/NullValueBuilder.java (original) +++ db/torque/trunk/torque-runtime/src/main/java/org/apache/torque/sql/whereclausebuilder/NullValueBuilder.java Mon Dec 20 17:41:20 2021 @@ -27,6 +27,8 @@ import org.apache.torque.om.ObjectKey; import org.apache.torque.sql.Query; import org.apache.torque.sql.WhereClauseExpression; +import java.util.stream.Stream; + /** * Builds a PreparedStatementPart from a WhereClauseExpression which * rhs is null and which has one of the comparison opertator =, <>, or !=, @@ -131,10 +133,9 @@ public class NullValueBuilder extends Ab { return false; } - if (whereClauseExpression.getOperator().equals(SqlEnum.EQUAL) - || whereClauseExpression.getOperator().equals(SqlEnum.NOT_EQUAL) - || whereClauseExpression.getOperator().equals( - SqlEnum.ALT_NOT_EQUAL)) + if (Stream.of(SqlEnum.EQUAL, SqlEnum.NOT_EQUAL, SqlEnum.ALT_NOT_EQUAL) + .anyMatch(sqlEnum -> + whereClauseExpression.getOperator().equals(sqlEnum))) { return true; } Modified: db/torque/trunk/torque-runtime/src/main/java/org/apache/torque/util/AvgHelper.java URL: http://svn.apache.org/viewvc/db/torque/trunk/torque-runtime/src/main/java/org/apache/torque/util/AvgHelper.java?rev=1896195&r1=1896194&r2=1896195&view=diff ============================================================================== --- db/torque/trunk/torque-runtime/src/main/java/org/apache/torque/util/AvgHelper.java (original) +++ db/torque/trunk/torque-runtime/src/main/java/org/apache/torque/util/AvgHelper.java Mon Dec 20 17:41:20 2021 @@ -19,11 +19,11 @@ package org.apache.torque.util; * under the License. */ -/** - * This is a utility class which eases getting the - * average of a dataset column with criteria - * - * @author <a href="mailto:j...@jivecast.com">Jeffery Painter</a> +/* + This is a utility class which eases getting the + average of a dataset column with criteria + + @author <a href="mailto:j...@jivecast.com">Jeffery Painter</a> * @author <a href="mailto:martin.gou...@sungard.com">Martin Goulet</a> * @author <a href="mailto:eric.lamb...@sungard.com">Eric Lambert</a> * @author <a href="mailto:sebastien.paque...@sungard.com">Sebastien Paquette</a> @@ -76,7 +76,7 @@ public class AvgHelper * Returns the average of a column in a query. * * @param c Criteria to get the count for. - * @param columnName Name of database Column which is averaged. + * @param column Name of database Column which is averaged. * * @return average of the column matching the query provided * @throws TorqueException if the query could not be executed @@ -92,7 +92,7 @@ public class AvgHelper * * @param c Criteria to get the count for. * @param conn Connection to use - * @param columnName Name of database Column which is averaged. + * @param column Name of database Column which is averaged. * @return average of the column matching the query provided * @throws TorqueException if the query could not be executed */ @@ -134,14 +134,7 @@ public class AvgHelper UniqueList<String> criteriaSelectModifiers = c.getSelectModifiers(); - boolean distinct = false; - if (criteriaSelectModifiers != null - && criteriaSelectModifiers.size() > 0 - && criteriaSelectModifiers.contains(SqlEnum.DISTINCT.toString())) - { - criteriaSelectModifiers.remove(SqlEnum.DISTINCT.toString()); - distinct = true; - } + boolean distinct = isAndSetDistinct(criteriaSelectModifiers); c.addSelectColumn(new Avg(new ColumnImpl(columnName), distinct)); @@ -159,4 +152,16 @@ public class AvgHelper return result.get(0); } + + private boolean isAndSetDistinct(UniqueList<String> criteriaSelectModifiers) { + boolean distinct = false; + if (criteriaSelectModifiers != null + && criteriaSelectModifiers.size() > 0 + && criteriaSelectModifiers.contains(SqlEnum.DISTINCT.toString())) + { + criteriaSelectModifiers.remove(SqlEnum.DISTINCT.toString()); + distinct = true; + } + return distinct; + } } Modified: db/torque/trunk/torque-runtime/src/main/java/org/apache/torque/util/CountHelper.java URL: http://svn.apache.org/viewvc/db/torque/trunk/torque-runtime/src/main/java/org/apache/torque/util/CountHelper.java?rev=1896195&r1=1896194&r2=1896195&view=diff ============================================================================== --- db/torque/trunk/torque-runtime/src/main/java/org/apache/torque/util/CountHelper.java (original) +++ db/torque/trunk/torque-runtime/src/main/java/org/apache/torque/util/CountHelper.java Mon Dec 20 17:41:20 2021 @@ -199,14 +199,7 @@ public class CountHelper UniqueList<String> criteriaSelectModifiers = c.getSelectModifiers(); - boolean distinct = false; - if (criteriaSelectModifiers != null - && criteriaSelectModifiers.size() > 0 - && criteriaSelectModifiers.contains(SqlEnum.DISTINCT.toString())) - { - criteriaSelectModifiers.remove(SqlEnum.DISTINCT.toString()); - distinct = true; - } + boolean distinct = isAndSetDistinct(criteriaSelectModifiers); c.addSelectColumn(new Count(new ColumnImpl(columnName), distinct)); @@ -224,4 +217,16 @@ public class CountHelper return result.get(0); } + + private boolean isAndSetDistinct(UniqueList<String> criteriaSelectModifiers) { + boolean distinct = false; + if (criteriaSelectModifiers != null + && criteriaSelectModifiers.size() > 0 + && criteriaSelectModifiers.contains(SqlEnum.DISTINCT.toString())) + { + criteriaSelectModifiers.remove(SqlEnum.DISTINCT.toString()); + distinct = true; + } + return distinct; + } } Modified: db/torque/trunk/torque-runtime/src/main/java/org/apache/torque/util/SummaryHelper.java URL: http://svn.apache.org/viewvc/db/torque/trunk/torque-runtime/src/main/java/org/apache/torque/util/SummaryHelper.java?rev=1896195&r1=1896194&r2=1896195&view=diff ============================================================================== --- db/torque/trunk/torque-runtime/src/main/java/org/apache/torque/util/SummaryHelper.java (original) +++ db/torque/trunk/torque-runtime/src/main/java/org/apache/torque/util/SummaryHelper.java Mon Dec 20 17:41:20 2021 @@ -252,15 +252,10 @@ public class SummaryHelper c.getSelectColumns().clear(); c.getGroupByColumns().clear(); - UniqueList<String> criteriaSelectModifiers; - criteriaSelectModifiers = c.getSelectModifiers(); + UniqueList<String> criteriaSelectModifiers + = c.getSelectModifiers(); - if (criteriaSelectModifiers != null - && criteriaSelectModifiers.size() > 0 - && criteriaSelectModifiers.contains(SqlEnum.DISTINCT.toString())) - { - criteriaSelectModifiers.remove(SqlEnum.DISTINCT.toString()); - } + setDistinct(criteriaSelectModifiers); c.setIgnoreCase(false); List<Column> cols = getGroupByColumns(); @@ -315,6 +310,15 @@ public class SummaryHelper return c; } + private void setDistinct(UniqueList<String> criteriaSelectModifiers) { + if (criteriaSelectModifiers != null + && criteriaSelectModifiers.size() > 0 + && criteriaSelectModifiers.contains(SqlEnum.DISTINCT.toString())) + { + criteriaSelectModifiers.remove(SqlEnum.DISTINCT.toString()); + } + } + /** * <p> * Add a column that will be used to group the aggregate results by. Modified: db/torque/trunk/torque-site/src/site/xdoc/documentation/tutorial/orm/step6-ant.xml URL: http://svn.apache.org/viewvc/db/torque/trunk/torque-site/src/site/xdoc/documentation/tutorial/orm/step6-ant.xml?rev=1896195&r1=1896194&r2=1896195&view=diff ============================================================================== --- db/torque/trunk/torque-site/src/site/xdoc/documentation/tutorial/orm/step6-ant.xml (original) +++ db/torque/trunk/torque-site/src/site/xdoc/documentation/tutorial/orm/step6-ant.xml Mon Dec 20 17:41:20 2021 @@ -97,10 +97,10 @@ ant <source><![CDATA[ linux: -java -cp target/classes:lib/runtime/commons-beanutils-core-1.9.4.jar:lib/runtime/commons-dbcp2-2.7.jar:lib/runtime/commons-collections-3.2.2.jar:lib/runtime/commons-configuration2-2.7.jar:lib/runtime/commons-lang3-3.10.jar:lib/runtime/commons-logging-1.2.jar:lib/runtime/commons-pool2-2.7.0.jar:lib/runtime/log4j-1.2-api-2.13.3.jar:lib/runtime/mysql-connector-java-8.0.21.jar:lib/runtime/torque-runtime-5.0.jar org.apache.torque.tutorial.om.Bookstore +java -cp target/classes:lib/runtime/commons-beanutils-core-1.9.4.jar:lib/runtime/commons-dbcp2-2.7.jar:lib/runtime/commons-collections-3.2.2.jar:lib/runtime/commons-configuration2-2.7.jar:lib/runtime/commons-lang3-3.10.jar:lib/runtime/commons-logging-1.2.jar:lib/runtime/commons-pool2-2.7.0.jar:lib/runtime/log4j-1.2-api-2.16.0.jar:lib/runtime/mysql-connector-java-8.0.27.jar:lib/runtime/torque-runtime-5.0.jar org.apache.torque.tutorial.om.Bookstore windows: -java -cp target/classes;lib/runtime/commons-beanutils-core-1.9.4.jar;lib/runtime/commons-dbcp2-2.7.jar;lib/runtime/commons-collections-3.2.2.jar;lib/runtime/commons-configuration2-2.7.jar;lib/runtime/commons-lang3-3.10.jar;lib/runtime/commons-logging-1.2.jar;lib/runtime/commons-pool2-2.7.0.jar;lib/runtime/log4j-1.2-api-2.13.3.jar;lib/runtime/mysql-connector-java-8.0.21.jar;lib/runtime/torque-runtime-5.0.jar org.apache.torque.tutorial.om.Bookstore +java -cp target/classes;lib/runtime/commons-beanutils-core-1.9.4.jar;lib/runtime/commons-dbcp2-2.7.jar;lib/runtime/commons-collections-3.2.2.jar;lib/runtime/commons-configuration2-2.7.jar;lib/runtime/commons-lang3-3.10.jar;lib/runtime/commons-logging-1.2.jar;lib/runtime/commons-pool2-2.7.0.jar;lib/runtime/log4j-1.2-api-2.16.0.jar;lib/runtime/mysql-connector-java-8.0.27.jar;lib/runtime/torque-runtime-5.0.jar org.apache.torque.tutorial.om.Bookstore ]]></source> Modified: db/torque/trunk/torque-templates/src/changes/changes.xml URL: http://svn.apache.org/viewvc/db/torque/trunk/torque-templates/src/changes/changes.xml?rev=1896195&r1=1896194&r2=1896195&view=diff ============================================================================== --- db/torque/trunk/torque-templates/src/changes/changes.xml (original) +++ db/torque/trunk/torque-templates/src/changes/changes.xml Mon Dec 20 17:41:20 2021 @@ -27,8 +27,9 @@ <action type="update" dev="gk"> remove versions in build-helper-maven-plugin, moved to parent build-helper v.3.2.0 </action> - <action type="fix" dev="gk"> - Fix for TORQUE-360 + <action type="fix" dev="gk" issue="TORQUE-360" due-to="Youngho Cho"> + Moved package to TorqueSchemaAttributeName, allow relative and absolute package in inheritance columns, + update database schema version to 5.1. Thanks to </action> </release> Modified: db/torque/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformDefaultImpl.java URL: http://svn.apache.org/viewvc/db/torque/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformDefaultImpl.java?rev=1896195&r1=1896194&r2=1896195&view=diff ============================================================================== --- db/torque/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformDefaultImpl.java (original) +++ db/torque/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformDefaultImpl.java Mon Dec 20 17:41:20 2021 @@ -97,7 +97,9 @@ public class PlatformDefaultImpl impleme } /** - * Helper function to format date values to a platform-specific string + * Helper function to format date values to a platform-specific string. + * + * set {@link ZoneId} to GMT timezone. * * @param date the Date object * @param format the format string Modified: db/torque/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformDerbyImpl.java URL: http://svn.apache.org/viewvc/db/torque/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformDerbyImpl.java?rev=1896195&r1=1896194&r2=1896195&view=diff ============================================================================== --- db/torque/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformDerbyImpl.java (original) +++ db/torque/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformDerbyImpl.java Mon Dec 20 17:41:20 2021 @@ -23,6 +23,8 @@ import org.apache.torque.templates.typem import org.apache.torque.templates.typemapping.SizedForBitDataSqlType; import org.apache.torque.templates.typemapping.SqlType; +import java.util.Arrays; + /** * Derby Platform implementation. * @@ -91,10 +93,10 @@ public class PlatformDerbyImpl extends P @Override public boolean hasSize(String sqlType) { - return "NUMERIC".equals(sqlType) || "DECIMAL".equals(sqlType) - || "VARCHAR".equals(sqlType) || "CHAR".equals(sqlType) - || "BINARY".equals(sqlType) || "VARBINARY".equals(sqlType) - || "BLOB".equals(sqlType) || "CLOB".equals(sqlType); + return Arrays.asList( + "NUMERIC", "DECIMAL", "VARCHAR", "CHAR", "BINARY", + "VARBINARY", "BLOB", "CLOB") + .contains(sqlType); } @Override Modified: db/torque/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformHsqldbImpl.java URL: http://svn.apache.org/viewvc/db/torque/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformHsqldbImpl.java?rev=1896195&r1=1896194&r2=1896195&view=diff ============================================================================== --- db/torque/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformHsqldbImpl.java (original) +++ db/torque/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformHsqldbImpl.java Mon Dec 20 17:41:20 2021 @@ -19,6 +19,7 @@ package org.apache.torque.templates.plat * under the License. */ +import java.util.Arrays; import java.util.Date; import org.apache.torque.templates.typemapping.SchemaType; @@ -130,12 +131,14 @@ public class PlatformHsqldbImpl extends */ @Override public boolean hasSize(String sqlType) { - return "VARCHAR".equals(sqlType) || "VARBINARY".equals(sqlType) || "BINARY".equals(sqlType); + return Arrays.asList("VARCHAR", "VARBINARY", "BINARY") + .contains(sqlType); } @Override public boolean hasScale(String sqlType) { - return "TIMESTAMP".equals(sqlType) || "DATE".equals(sqlType) || "TIME".equals(sqlType); + return Arrays.asList("TIMESTAMP", "DATE", "TIME") + .contains(sqlType); } } Modified: db/torque/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformMysqlImpl.java URL: http://svn.apache.org/viewvc/db/torque/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformMysqlImpl.java?rev=1896195&r1=1896194&r2=1896195&view=diff ============================================================================== --- db/torque/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformMysqlImpl.java (original) +++ db/torque/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformMysqlImpl.java Mon Dec 20 17:41:20 2021 @@ -19,6 +19,7 @@ package org.apache.torque.templates.plat * under the License. */ +import java.util.Arrays; import java.util.Date; import org.apache.torque.templates.typemapping.SchemaType; @@ -93,9 +94,8 @@ public class PlatformMysqlImpl extends P @Override public boolean hasSize(String sqlType) { - return !("MEDIUMTEXT".equals(sqlType) || "LONGTEXT".equals(sqlType) - || "BLOB".equals(sqlType) || "MEDIUMBLOB".equals(sqlType) - || "LONGBLOB".equals(sqlType)); + return !(Arrays.asList("MEDIUMTEXT", "LONGTEXT", "BLOB", "MEDIUMBLOB", "LONGBLOB") + .contains(sqlType)); } @@ -107,7 +107,7 @@ public class PlatformMysqlImpl extends P @Override public boolean hasScale(String sqlType) { - return "TIMESTAMP".equals(sqlType) || "DATETIME".equals(sqlType) || "DATE".equals(sqlType) || "TIME".equals(sqlType); + return Arrays.asList("TIMESTAMP", "DATETIME", "DATE", "TIME").contains(sqlType); } Modified: db/torque/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformPostgresqlImpl.java URL: http://svn.apache.org/viewvc/db/torque/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformPostgresqlImpl.java?rev=1896195&r1=1896194&r2=1896195&view=diff ============================================================================== --- db/torque/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformPostgresqlImpl.java (original) +++ db/torque/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformPostgresqlImpl.java Mon Dec 20 17:41:20 2021 @@ -22,6 +22,8 @@ package org.apache.torque.templates.plat import org.apache.torque.templates.typemapping.SchemaType; import org.apache.torque.templates.typemapping.SqlType; +import java.util.stream.Stream; + /** * Postgresql Platform implementation. * @@ -103,9 +105,8 @@ public class PlatformPostgresqlImpl exte @Override public boolean hasScale(String sqlType) { - if ("INT2".equalsIgnoreCase(sqlType) - || "TEXT".equalsIgnoreCase(sqlType) - || "BYTEA".equalsIgnoreCase(sqlType)) + if (Stream.of("INT2", "TEXT", "BYTEA") + .anyMatch(s -> s.equalsIgnoreCase(sqlType))) { return false; } @@ -118,9 +119,8 @@ public class PlatformPostgresqlImpl exte @Override public boolean hasSize(String sqlType) { - if ("INT2".equalsIgnoreCase(sqlType) - || "TEXT".equalsIgnoreCase(sqlType) - || "BYTEA".equalsIgnoreCase(sqlType)) + if (Stream.of("INT2", "TEXT", "BYTEA") + .anyMatch(s -> s.equalsIgnoreCase(sqlType))) { return false; } Modified: db/torque/trunk/torque-templates/src/main/java/org/apache/torque/templates/transformer/om/FindHelper.java URL: http://svn.apache.org/viewvc/db/torque/trunk/torque-templates/src/main/java/org/apache/torque/templates/transformer/om/FindHelper.java?rev=1896195&r1=1896194&r2=1896195&view=diff ============================================================================== --- db/torque/trunk/torque-templates/src/main/java/org/apache/torque/templates/transformer/om/FindHelper.java (original) +++ db/torque/trunk/torque-templates/src/main/java/org/apache/torque/templates/transformer/om/FindHelper.java Mon Dec 20 17:41:20 2021 @@ -21,6 +21,8 @@ package org.apache.torque.templates.tran import java.util.ArrayList; import java.util.List; +import java.util.Objects; +import java.util.stream.Collectors; import org.apache.torque.generator.source.SourceElement; import org.apache.torque.templates.TorqueSchemaAttributeName; @@ -75,20 +77,16 @@ final class FindHelper } if (searchExternalSchemata) { - for (SourceElement externalSchema : root.getChildren( - TorqueSchemaElementName.EXTERNAL_SCHEMA)) - { - SourceElement databaseElement - = externalSchema.getChild(TorqueSchemaElementName.DATABASE); - SourceElement result = findTable( + return root.getChildren( + TorqueSchemaElementName.EXTERNAL_SCHEMA).stream() + .map(externalSchema -> + externalSchema.getChild(TorqueSchemaElementName.DATABASE)) + .map(databaseElement -> findTable( databaseElement, tableName, - searchExternalSchemata); - if (result != null) - { - return result; - } - } + searchExternalSchemata)) + .filter(Objects::nonNull) + .findFirst().orElse(null); } return null; } @@ -112,16 +110,10 @@ final class FindHelper throw new IllegalArgumentException("Wrong source element " + table.getName()); } - for (SourceElement column : table.getChildren( - TorqueSchemaElementName.COLUMN)) - { - if (column.getAttribute(TorqueSchemaAttributeName.NAME) - .equals(columnName)) - { - return column; - } - } - return null; + return table.getChildren( + TorqueSchemaElementName.COLUMN).stream() + .filter(column -> column.getAttribute(TorqueSchemaAttributeName.NAME) + .equals(columnName)).findFirst().orElse(null); } /** @@ -136,23 +128,18 @@ final class FindHelper SourceElement table, String tableName) { - List<SourceElement> result = new ArrayList<>(); + List<SourceElement> result; if (!TorqueSchemaElementName.TABLE.getName().equals( table.getName())) { throw new IllegalArgumentException("Wrong source element " + table.getName()); } - for (SourceElement foreignKey : table.getChildren( - TorqueSchemaElementName.FOREIGN_KEY)) - { - if (foreignKey.getAttribute( - TorqueSchemaAttributeName.FOREIGN_TABLE) - .equals(tableName)) - { - result.add(foreignKey); - } - } + result = table.getChildren( + TorqueSchemaElementName.FOREIGN_KEY).stream() + .filter(foreignKey -> foreignKey.getAttribute( + TorqueSchemaAttributeName.FOREIGN_TABLE) + .equals(tableName)).collect(Collectors.toList()); return result; } } Modified: db/torque/trunk/torque-templates/src/main/java/org/apache/torque/templates/transformer/om/OMColumnJavaTransformer.java URL: http://svn.apache.org/viewvc/db/torque/trunk/torque-templates/src/main/java/org/apache/torque/templates/transformer/om/OMColumnJavaTransformer.java?rev=1896195&r1=1896194&r2=1896195&view=diff ============================================================================== --- db/torque/trunk/torque-templates/src/main/java/org/apache/torque/templates/transformer/om/OMColumnJavaTransformer.java (original) +++ db/torque/trunk/torque-templates/src/main/java/org/apache/torque/templates/transformer/om/OMColumnJavaTransformer.java Mon Dec 20 17:41:20 2021 @@ -23,6 +23,7 @@ import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.TimeZone; +import java.util.stream.Stream; import org.apache.commons.lang3.StringUtils; import org.apache.logging.log4j.LogManager; @@ -226,9 +227,8 @@ public class OMColumnJavaTransformer } else if (JavaType.DATE == javaType) { - if (CURRENT_DATE.equalsIgnoreCase(defaultValue) - || CURRENT_TIME.equalsIgnoreCase(defaultValue) - || CURRENT_TIMESTAMP.equalsIgnoreCase(defaultValue)) + if (Stream.of(CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP) + .anyMatch(s -> s.equalsIgnoreCase(defaultValue)) ) { if (useDatabaseDefaultValue) { Modified: db/torque/trunk/torque-templates/src/main/java/org/apache/torque/templates/transformer/om/mapInit/DatabaseMapInitTransformer.java URL: http://svn.apache.org/viewvc/db/torque/trunk/torque-templates/src/main/java/org/apache/torque/templates/transformer/om/mapInit/DatabaseMapInitTransformer.java?rev=1896195&r1=1896194&r2=1896195&view=diff ============================================================================== --- db/torque/trunk/torque-templates/src/main/java/org/apache/torque/templates/transformer/om/mapInit/DatabaseMapInitTransformer.java (original) +++ db/torque/trunk/torque-templates/src/main/java/org/apache/torque/templates/transformer/om/mapInit/DatabaseMapInitTransformer.java Mon Dec 20 17:41:20 2021 @@ -229,15 +229,8 @@ public class DatabaseMapInitTransformer private SourceElement getDatabaseSetWithDatabaseName( SourceElement databaseSetsElement, String name) { - for (SourceElement databaseSetElement - : databaseSetsElement.getChildren(DATABASE_SET_ELEMENT)) - { - if (databaseSetElement.getAttribute(TorqueSchemaAttributeName.NAME) - .equals(name)) - { - return databaseSetElement; - } - } - return null; + return databaseSetsElement.getChildren(DATABASE_SET_ELEMENT).stream() + .filter(databaseSetElement -> databaseSetElement.getAttribute(TorqueSchemaAttributeName.NAME) + .equals(name)).findFirst().orElse(null); } } --------------------------------------------------------------------- To unsubscribe, e-mail: torque-dev-unsubscr...@db.apache.org For additional commands, e-mail: torque-dev-h...@db.apache.org