diff --git a/terasoluna-gfw-common-libraries/terasoluna-gfw-common/src/main/java/org/terasoluna/gfw/common/message/ResultMessages.java b/terasoluna-gfw-common-libraries/terasoluna-gfw-common/src/main/java/org/terasoluna/gfw/common/message/ResultMessages.java index 2e26a8648..fc16c55aa 100644 --- a/terasoluna-gfw-common-libraries/terasoluna-gfw-common/src/main/java/org/terasoluna/gfw/common/message/ResultMessages.java +++ b/terasoluna-gfw-common-libraries/terasoluna-gfw-common/src/main/java/org/terasoluna/gfw/common/message/ResultMessages.java @@ -16,8 +16,12 @@ package org.terasoluna.gfw.common.message; import static org.terasoluna.gfw.common.message.StandardResultMessageType.DANGER; +import static org.terasoluna.gfw.common.message.StandardResultMessageType.DARK; import static org.terasoluna.gfw.common.message.StandardResultMessageType.ERROR; import static org.terasoluna.gfw.common.message.StandardResultMessageType.INFO; +import static org.terasoluna.gfw.common.message.StandardResultMessageType.LIGHT; +import static org.terasoluna.gfw.common.message.StandardResultMessageType.PRIMARY; +import static org.terasoluna.gfw.common.message.StandardResultMessageType.SECONDARY; import static org.terasoluna.gfw.common.message.StandardResultMessageType.SUCCESS; import static org.terasoluna.gfw.common.message.StandardResultMessageType.WARN; import static org.terasoluna.gfw.common.message.StandardResultMessageType.WARNING; @@ -237,6 +241,42 @@ public static ResultMessages danger() { return new ResultMessages(DANGER); } + /** + * factory method for primary messages. + * @return error messages + * @since 5.7.0 + */ + public static ResultMessages primary() { + return new ResultMessages(PRIMARY); + } + + /** + * factory method for secondary messages. + * @return error messages + * @since 5.7.0 + */ + public static ResultMessages secondary() { + return new ResultMessages(SECONDARY); + } + + /** + * factory method for light messages. + * @return error messages + * @since 5.7.0 + */ + public static ResultMessages light() { + return new ResultMessages(LIGHT); + } + + /** + * factory method for dark messages. + * @return error messages + * @since 5.7.0 + */ + public static ResultMessages dark() { + return new ResultMessages(DARK); + } + /** * Returns {@link Iterator} instance that iterates over a list of {@link ResultMessage} * @see java.lang.Iterable#iterator() diff --git a/terasoluna-gfw-common-libraries/terasoluna-gfw-common/src/main/java/org/terasoluna/gfw/common/message/StandardResultMessageType.java b/terasoluna-gfw-common-libraries/terasoluna-gfw-common/src/main/java/org/terasoluna/gfw/common/message/StandardResultMessageType.java index 2aa016e99..b13c63ba3 100644 --- a/terasoluna-gfw-common-libraries/terasoluna-gfw-common/src/main/java/org/terasoluna/gfw/common/message/StandardResultMessageType.java +++ b/terasoluna-gfw-common-libraries/terasoluna-gfw-common/src/main/java/org/terasoluna/gfw/common/message/StandardResultMessageType.java @@ -24,6 +24,11 @@ *
warn
(Deprecated from 5.0.0, will be removed in the future)warning(Added from 5.0.0)
error
danger
primary(Added from 5.7.0)
secondary(Added from 5.7.0)
light(Added from 5.7.0)
dark(Added from 5.7.0)
danger
is as same as error
and danger
is usually used as alias for
* error
.
@@ -54,7 +59,27 @@ public enum StandardResultMessageType implements ResultMessageType {
/**
* message type is danger
.
*/
- DANGER("danger");
+ DANGER("danger"),
+ /**
+ * message type is primary
.
+ * @since 5.7.0
+ */
+ PRIMARY("primary"),
+ /**
+ * message type is secondary
.
+ * @since 5.7.0
+ */
+ SECONDARY("secondary"),
+ /**
+ * message type is light
.
+ * @since 5.7.0
+ */
+ LIGHT("light"),
+ /**
+ * message type is dark
.
+ * @since 5.7.0
+ */
+ DARK("dark");
/**
* message type
diff --git a/terasoluna-gfw-common-libraries/terasoluna-gfw-common/src/test/java/org/terasoluna/gfw/common/message/ResultMessagesTest.java b/terasoluna-gfw-common-libraries/terasoluna-gfw-common/src/test/java/org/terasoluna/gfw/common/message/ResultMessagesTest.java
index f54bf14c1..6c0b7fb20 100644
--- a/terasoluna-gfw-common-libraries/terasoluna-gfw-common/src/test/java/org/terasoluna/gfw/common/message/ResultMessagesTest.java
+++ b/terasoluna-gfw-common-libraries/terasoluna-gfw-common/src/test/java/org/terasoluna/gfw/common/message/ResultMessagesTest.java
@@ -19,8 +19,12 @@
import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.Assert.fail;
import static org.terasoluna.gfw.common.message.StandardResultMessageType.DANGER;
+import static org.terasoluna.gfw.common.message.StandardResultMessageType.DARK;
import static org.terasoluna.gfw.common.message.StandardResultMessageType.ERROR;
import static org.terasoluna.gfw.common.message.StandardResultMessageType.INFO;
+import static org.terasoluna.gfw.common.message.StandardResultMessageType.LIGHT;
+import static org.terasoluna.gfw.common.message.StandardResultMessageType.PRIMARY;
+import static org.terasoluna.gfw.common.message.StandardResultMessageType.SECONDARY;
import static org.terasoluna.gfw.common.message.StandardResultMessageType.SUCCESS;
import static org.terasoluna.gfw.common.message.StandardResultMessageType.WARN;
import static org.terasoluna.gfw.common.message.StandardResultMessageType.WARNING;
@@ -258,6 +262,54 @@ public void issue24_testWarning() {
assertThat(messages.getList(), is(Arrays.asList(msg1, msg2)));
}
+ @Test
+ public void testPrimary() {
+ ResultMessage msg1 = ResultMessage.fromCode("foo", "aa");
+ ResultMessage msg2 = ResultMessage.fromCode("bar", "bb");
+
+ ResultMessages messages = ResultMessages.primary().add("foo", "aa").add(
+ "bar", "bb");
+
+ assertThat(messages.getType(), is((ResultMessageType) PRIMARY));
+ assertThat(messages.getList(), is(Arrays.asList(msg1, msg2)));
+ }
+
+ @Test
+ public void testSecondary() {
+ ResultMessage msg1 = ResultMessage.fromCode("foo", "aa");
+ ResultMessage msg2 = ResultMessage.fromCode("bar", "bb");
+
+ ResultMessages messages = ResultMessages.secondary().add("foo", "aa")
+ .add("bar", "bb");
+
+ assertThat(messages.getType(), is((ResultMessageType) SECONDARY));
+ assertThat(messages.getList(), is(Arrays.asList(msg1, msg2)));
+ }
+
+ @Test
+ public void testLight() {
+ ResultMessage msg1 = ResultMessage.fromCode("foo", "aa");
+ ResultMessage msg2 = ResultMessage.fromCode("bar", "bb");
+
+ ResultMessages messages = ResultMessages.light().add("foo", "aa").add(
+ "bar", "bb");
+
+ assertThat(messages.getType(), is((ResultMessageType) LIGHT));
+ assertThat(messages.getList(), is(Arrays.asList(msg1, msg2)));
+ }
+
+ @Test
+ public void testDark() {
+ ResultMessage msg1 = ResultMessage.fromCode("foo", "aa");
+ ResultMessage msg2 = ResultMessage.fromCode("bar", "bb");
+
+ ResultMessages messages = ResultMessages.dark().add("foo", "aa").add(
+ "bar", "bb");
+
+ assertThat(messages.getType(), is((ResultMessageType) DARK));
+ assertThat(messages.getList(), is(Arrays.asList(msg1, msg2)));
+ }
+
@Test
public void testSerialization() {
try {
diff --git a/terasoluna-gfw-common-libraries/terasoluna-gfw-common/src/test/java/org/terasoluna/gfw/common/message/StandardResultMessageTypeTest.java b/terasoluna-gfw-common-libraries/terasoluna-gfw-common/src/test/java/org/terasoluna/gfw/common/message/StandardResultMessageTypeTest.java
index 96cdac31e..72b36f40a 100644
--- a/terasoluna-gfw-common-libraries/terasoluna-gfw-common/src/test/java/org/terasoluna/gfw/common/message/StandardResultMessageTypeTest.java
+++ b/terasoluna-gfw-common-libraries/terasoluna-gfw-common/src/test/java/org/terasoluna/gfw/common/message/StandardResultMessageTypeTest.java
@@ -59,4 +59,30 @@ public void issue24_testWarning() {
assertThat(StandardResultMessageType.WARNING.toString(), is("warning"));
}
+ @Test
+ public void testPrimary() {
+ assertThat(StandardResultMessageType.PRIMARY.getType(), is("primary"));
+ assertThat(StandardResultMessageType.PRIMARY.toString(), is("primary"));
+ }
+
+ @Test
+ public void testSecondary() {
+ assertThat(StandardResultMessageType.SECONDARY.getType(), is(
+ "secondary"));
+ assertThat(StandardResultMessageType.SECONDARY.toString(), is(
+ "secondary"));
+ }
+
+ @Test
+ public void testLight() {
+ assertThat(StandardResultMessageType.LIGHT.getType(), is("light"));
+ assertThat(StandardResultMessageType.LIGHT.toString(), is("light"));
+ }
+
+ @Test
+ public void testDark() {
+ assertThat(StandardResultMessageType.DARK.getType(), is("dark"));
+ assertThat(StandardResultMessageType.DARK.toString(), is("dark"));
+ }
+
}
diff --git a/terasoluna-gfw-common-libraries/terasoluna-gfw-web-jsp/src/main/java/org/terasoluna/gfw/web/pagination/PaginationTag.java b/terasoluna-gfw-common-libraries/terasoluna-gfw-web-jsp/src/main/java/org/terasoluna/gfw/web/pagination/PaginationTag.java
index 22a488322..8e6693f8e 100644
--- a/terasoluna-gfw-common-libraries/terasoluna-gfw-web-jsp/src/main/java/org/terasoluna/gfw/web/pagination/PaginationTag.java
+++ b/terasoluna-gfw-common-libraries/terasoluna-gfw-web-jsp/src/main/java/org/terasoluna/gfw/web/pagination/PaginationTag.java
@@ -92,6 +92,12 @@ public class PaginationTag extends RequestContextAwareTag {
*/
private String innerElementClass = PaginationInfo.DEFAULT_INNER_CLASS;
+ /**
+ * Value of "class" attribute of anchor tag of pagination
+ * @since 5.7.0
+ */
+ private String anchorClass = PaginationInfo.DEFAULT_A_CLASS;
+
/**
* Display text of the link of back to the top
*/
@@ -183,6 +189,10 @@ protected void writeAnchor(TagWriter tagWriter, String href,
String value) throws JspException {
if (StringUtils.hasText(href)) {
tagWriter.startTag(PaginationInfo.A_ELM);
+ if (StringUtils.hasText(anchorClass)) {
+ tagWriter.writeAttribute(PaginationInfo.CLASS_ATTR,
+ anchorClass);
+ }
tagWriter.writeAttribute(PaginationInfo.HREF_ATTR, href);
tagWriter.appendValue(value);
tagWriter.endTag(true);
@@ -393,6 +403,7 @@ public void release() {
this.outerElementClass = null;
this.innerElement = null;
this.innerElementClass = null;
+ this.anchorClass = null;
this.firstLinkText = null;
this.previousLinkText = null;
this.nextLinkText = null;
@@ -509,6 +520,15 @@ public void setInnerElementClass(String innerElementClass) {
this.innerElementClass = innerElementClass;
}
+ /**
+ * Set value of "class" attribute of anchor tag of pagination * -outer tag class change. * -inner tag class change. + * -anchor tag class change. **/ @Test @@ -610,11 +613,12 @@ public void testDoStartTagInternal17() throws Exception { // customize tag.setOuterElementClass("all"); tag.setInnerElementClass("item"); + tag.setAnchorClass("link"); int ret = tag.doStartTagInternal(); assertThat(ret, is(TagSupport.EVAL_BODY_INCLUDE)); - String expected = ""; + String expected = ""; assertThat(getOutput(), is(expected)); } @@ -624,6 +628,7 @@ public void testDoStartTagInternal17() throws Exception { *
* -outer tag class change. * -inner tag class change. + * -anchor tag class change. **/ @Test @@ -641,11 +646,12 @@ public void testDoStartTagInternal17_2() throws Exception { // customize tag.setOuterElementClass("all"); tag.setInnerElementClass("item"); + tag.setAnchorClass("link"); int ret = tag.doStartTagInternal(); assertThat(ret, is(TagSupport.EVAL_BODY_INCLUDE)); - String expected = ""; + String expected = ""; assertThat(getOutput(), is(expected)); } diff --git a/terasoluna-gfw-common-libraries/terasoluna-gfw-web/src/main/java/org/terasoluna/gfw/web/pagination/PaginationInfo.java b/terasoluna-gfw-common-libraries/terasoluna-gfw-web/src/main/java/org/terasoluna/gfw/web/pagination/PaginationInfo.java index e6b46318b..6e712ee2c 100644 --- a/terasoluna-gfw-common-libraries/terasoluna-gfw-web/src/main/java/org/terasoluna/gfw/web/pagination/PaginationInfo.java +++ b/terasoluna-gfw-common-libraries/terasoluna-gfw-web/src/main/java/org/terasoluna/gfw/web/pagination/PaginationInfo.java @@ -144,6 +144,12 @@ public int getEnd() { */ public static final String DEFAULT_INNER_CLASS = ""; + /** + * Value of "class" attribute of anchor tag of pagination + * @since 5.7.0 + */ + public static final String DEFAULT_A_CLASS = ""; + /** * Display text of the link of back to the top */