From c5c939bbce9396050f8d8915f8046a25d4aa126a Mon Sep 17 00:00:00 2001 From: David Sowerby Date: Thu, 18 Feb 2016 19:13:18 +0000 Subject: [PATCH 1/4] Corrected Travis reference in README --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 92a779c17..6188ae9e8 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ ![License](http://img.shields.io/:license-apache-blue.svg) [![Gitter](https://badges.gitter.im/davidsowerby/krail.svg)](https://gitter.im/davidsowerby/krail?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge) -[![Build Status](https://travis-ci.org/davidsowerby/krailkrail.svg?branch=master)](https://travis-ci.org/davidsowerby/krail) +[![Build Status](https://travis-ci.org/davidsowerby/krail.svg?branch=master)](https://travis-ci.org/davidsowerby/krail) [![Coverage Status](https://coveralls.io/repos/github/davidsowerby/krail/badge.svg?branch=master)](https://coveralls.io/github/davidsowerby/krail?branch=master) Krail provides a framework for rapid Java web development by combining Vaadin, Guice, Apache Shiro, Apache Commons Configuration and others. For more information, see the comprehensive [Tutorial](http://krail.readthedocs.org/en/master/), which also makes a reasonable demo. (You can clone directly from the [Tutorial repo](https://github.com/davidsowerby/krail-tutorial)) From 229c9a0b9d59f835bb353763749e3230a81ab04a Mon Sep 17 00:00:00 2001 From: sureshbabuinfo Date: Wed, 8 Jun 2016 22:40:18 +0530 Subject: [PATCH 2/4] Fixed MessageFormat which is not working when the same argument is repeated --- src/main/java/uk/q3c/util/MessageFormat.java | 19 ++++++++++--------- .../java/uk/q3c/util/MessageFormatTest.java | 16 ++++++++++++++++ 2 files changed, 26 insertions(+), 9 deletions(-) diff --git a/src/main/java/uk/q3c/util/MessageFormat.java b/src/main/java/uk/q3c/util/MessageFormat.java index 67593b6e1..12070c67a 100644 --- a/src/main/java/uk/q3c/util/MessageFormat.java +++ b/src/main/java/uk/q3c/util/MessageFormat.java @@ -115,16 +115,17 @@ private static String scanForParameters(String pattern, List parameters } private static Object[] sortArguments(List parameters, Object[] arguments, String pattern) { - if (parameters.size() != arguments.length) { - Object[] args = new Object[]{parameters.size(), arguments.length, pattern}; - log.warn("Message pattern and arguments do not match, there are {} parameters in the pattern, " + - "and {} arguments. The pattern is: '{}'", args); + try { + List sortedArguments = new ArrayList<>(); + for (Integer i : parameters) { + sortedArguments.add(arguments[i]); + } + return sortedArguments.toArray(); + } catch (IndexOutOfBoundsException e) { + Object[] args = new Object[] { parameters.size(), arguments.length, pattern }; + log.warn("Message pattern and arguments do not match, there are {} parameters in the pattern, " + + "and {} arguments. The pattern is: '{}'", args); throw new RuntimeException(); } - List sortedArguments = new ArrayList<>(); - for (Integer i : parameters) { - sortedArguments.add(arguments[i]); - } - return sortedArguments.toArray(); } } diff --git a/src/test/java/uk/q3c/util/MessageFormatTest.java b/src/test/java/uk/q3c/util/MessageFormatTest.java index ec7b9c8cf..139d328dc 100644 --- a/src/test/java/uk/q3c/util/MessageFormatTest.java +++ b/src/test/java/uk/q3c/util/MessageFormatTest.java @@ -16,6 +16,9 @@ import static org.assertj.core.api.Assertions.assertThat; +import java.util.ArrayList; +import java.util.List; + public class MessageFormatTest { @Test public void formatValid() { @@ -29,7 +32,20 @@ public void formatValid() { assertThat(result).isEqualTo("This is a simple pattern where the parameters can be in any order"); } + + @Test + public void formatValidRepeatedArgument() { + + // given + String pattern = "This is a {0} pattern where the same argument is {0}"; + Object[] arguments = new Object[]{"repeated"}; + // when + String result = MessageFormat.format(pattern, arguments); + // then + assertThat(result).isEqualTo("This is a repeated pattern where the same argument is repeated"); + } + @Test public void formatValidContiguous() { From c48cd5c8db6b2c12630b78d31e4979e53be8015b Mon Sep 17 00:00:00 2001 From: David Sowerby Date: Thu, 9 Jun 2016 16:55:39 +0100 Subject: [PATCH 3/4] =?UTF-8?q?Revert=20"Fixed=20MessageFormat=20=20which?= =?UTF-8?q?=20is=20not=20working=20when=20the=20same=20argument=20is=20r?= =?UTF-8?q?=E2=80=A6"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/uk/q3c/util/MessageFormat.java | 19 +++++++++---------- .../java/uk/q3c/util/MessageFormatTest.java | 16 ---------------- 2 files changed, 9 insertions(+), 26 deletions(-) diff --git a/src/main/java/uk/q3c/util/MessageFormat.java b/src/main/java/uk/q3c/util/MessageFormat.java index 12070c67a..67593b6e1 100644 --- a/src/main/java/uk/q3c/util/MessageFormat.java +++ b/src/main/java/uk/q3c/util/MessageFormat.java @@ -115,17 +115,16 @@ private static String scanForParameters(String pattern, List parameters } private static Object[] sortArguments(List parameters, Object[] arguments, String pattern) { - try { - List sortedArguments = new ArrayList<>(); - for (Integer i : parameters) { - sortedArguments.add(arguments[i]); - } - return sortedArguments.toArray(); - } catch (IndexOutOfBoundsException e) { - Object[] args = new Object[] { parameters.size(), arguments.length, pattern }; - log.warn("Message pattern and arguments do not match, there are {} parameters in the pattern, " - + "and {} arguments. The pattern is: '{}'", args); + if (parameters.size() != arguments.length) { + Object[] args = new Object[]{parameters.size(), arguments.length, pattern}; + log.warn("Message pattern and arguments do not match, there are {} parameters in the pattern, " + + "and {} arguments. The pattern is: '{}'", args); throw new RuntimeException(); } + List sortedArguments = new ArrayList<>(); + for (Integer i : parameters) { + sortedArguments.add(arguments[i]); + } + return sortedArguments.toArray(); } } diff --git a/src/test/java/uk/q3c/util/MessageFormatTest.java b/src/test/java/uk/q3c/util/MessageFormatTest.java index 139d328dc..ec7b9c8cf 100644 --- a/src/test/java/uk/q3c/util/MessageFormatTest.java +++ b/src/test/java/uk/q3c/util/MessageFormatTest.java @@ -16,9 +16,6 @@ import static org.assertj.core.api.Assertions.assertThat; -import java.util.ArrayList; -import java.util.List; - public class MessageFormatTest { @Test public void formatValid() { @@ -32,20 +29,7 @@ public void formatValid() { assertThat(result).isEqualTo("This is a simple pattern where the parameters can be in any order"); } - - @Test - public void formatValidRepeatedArgument() { - - // given - String pattern = "This is a {0} pattern where the same argument is {0}"; - Object[] arguments = new Object[]{"repeated"}; - // when - String result = MessageFormat.format(pattern, arguments); - // then - assertThat(result).isEqualTo("This is a repeated pattern where the same argument is repeated"); - } - @Test public void formatValidContiguous() { From 9b0e03da3eaaf43189698b8243899ae85fefe565 Mon Sep 17 00:00:00 2001 From: Soso Tughushi Date: Fri, 1 Jul 2016 17:09:41 +0400 Subject: [PATCH 4/4] Fixed rule 'Utility classes should not have public constructors' --- src/main/java/uk/q3c/krail/core/config/ConfigKeys.java | 2 ++ .../core/persist/common/common/KrailPersistenceUnitHelper.java | 2 ++ src/main/java/uk/q3c/util/ID.java | 1 + src/main/java/uk/q3c/util/MessageFormat.java | 3 +++ src/main/java/uk/q3c/util/ReflectionUtils.java | 2 ++ 5 files changed, 10 insertions(+) diff --git a/src/main/java/uk/q3c/krail/core/config/ConfigKeys.java b/src/main/java/uk/q3c/krail/core/config/ConfigKeys.java index 26b78d72a..1720e23e7 100644 --- a/src/main/java/uk/q3c/krail/core/config/ConfigKeys.java +++ b/src/main/java/uk/q3c/krail/core/config/ConfigKeys.java @@ -21,6 +21,8 @@ */ public class ConfigKeys { + private ConfigKeys(){} + public static final String SITEMAP_SOURCES = "sitemap.sources"; public static final String SERVER_PUSH_ENABLED = "server.pushEnabled"; diff --git a/src/main/java/uk/q3c/krail/core/persist/common/common/KrailPersistenceUnitHelper.java b/src/main/java/uk/q3c/krail/core/persist/common/common/KrailPersistenceUnitHelper.java index a22137424..34797c40b 100644 --- a/src/main/java/uk/q3c/krail/core/persist/common/common/KrailPersistenceUnitHelper.java +++ b/src/main/java/uk/q3c/krail/core/persist/common/common/KrailPersistenceUnitHelper.java @@ -30,6 +30,8 @@ */ public class KrailPersistenceUnitHelper { + private KrailPersistenceUnitHelper(){} + public static final String PROVIDE_PATTERN_DAO = "ProvidePatternDao"; public static final String PROVIDE_OPTION_DAO = "ProvideOptionDao"; diff --git a/src/main/java/uk/q3c/util/ID.java b/src/main/java/uk/q3c/util/ID.java index 615b65f5c..22c1aa89f 100644 --- a/src/main/java/uk/q3c/util/ID.java +++ b/src/main/java/uk/q3c/util/ID.java @@ -34,6 +34,7 @@ */ public class ID { + private ID(){} public static String getId(@Nonnull Optional qualifier, Object... components) { checkNotNull(qualifier); diff --git a/src/main/java/uk/q3c/util/MessageFormat.java b/src/main/java/uk/q3c/util/MessageFormat.java index 67593b6e1..679d0cf20 100644 --- a/src/main/java/uk/q3c/util/MessageFormat.java +++ b/src/main/java/uk/q3c/util/MessageFormat.java @@ -31,6 +31,9 @@ * @author David Sowerby 10 Feb 2013 */ public class MessageFormat { + + private MessageFormat(){} + private static Logger log = LoggerFactory.getLogger(MessageFormat.class); /** diff --git a/src/main/java/uk/q3c/util/ReflectionUtils.java b/src/main/java/uk/q3c/util/ReflectionUtils.java index 0cc340a1b..d0813b6d5 100644 --- a/src/main/java/uk/q3c/util/ReflectionUtils.java +++ b/src/main/java/uk/q3c/util/ReflectionUtils.java @@ -17,6 +17,8 @@ public class ReflectionUtils { + private ReflectionUtils(){} + public static Set> allInterfaces(Class clazz) { Set> allInterfaces = new HashSet<>(); Class classToCheck = clazz;