From f19ab5f9a4d5b0ddeb095c54396c3df111227240 Mon Sep 17 00:00:00 2001 From: Florian Schmaus Date: Fri, 25 Sep 2015 13:43:20 +0200 Subject: [PATCH] Delete ModelUtil in smack-legacy and use StringUtils where possible. --- .../workgroup/settings/GenericSettings.java | 4 +- .../workgroup/settings/OfflineSettings.java | 18 +- .../workgroup/settings/SearchSettings.java | 8 +- .../settings/WorkgroupProperties.java | 4 +- .../smackx/workgroup/util/ModelUtil.java | 324 ------------------ 5 files changed, 17 insertions(+), 341 deletions(-) delete mode 100644 smack-legacy/src/main/java/org/jivesoftware/smackx/workgroup/util/ModelUtil.java diff --git a/smack-legacy/src/main/java/org/jivesoftware/smackx/workgroup/settings/GenericSettings.java b/smack-legacy/src/main/java/org/jivesoftware/smackx/workgroup/settings/GenericSettings.java index a8f117f53..5c4222034 100644 --- a/smack-legacy/src/main/java/org/jivesoftware/smackx/workgroup/settings/GenericSettings.java +++ b/smack-legacy/src/main/java/org/jivesoftware/smackx/workgroup/settings/GenericSettings.java @@ -17,9 +17,9 @@ package org.jivesoftware.smackx.workgroup.settings; -import org.jivesoftware.smackx.workgroup.util.ModelUtil; import org.jivesoftware.smack.packet.IQ; import org.jivesoftware.smack.provider.IQProvider; +import org.jivesoftware.smack.util.StringUtils; import org.xmlpull.v1.XmlPullParser; import org.xmlpull.v1.XmlPullParserException; @@ -67,7 +67,7 @@ public class GenericSettings extends IQ { @Override protected IQChildElementXmlStringBuilder getIQChildElementBuilder(IQChildElementXmlStringBuilder buf) { buf.append('>'); - if (ModelUtil.hasLength(getQuery())) { + if (StringUtils.isNotEmpty(getQuery())) { buf.append("" + getQuery() + ""); } return buf; diff --git a/smack-legacy/src/main/java/org/jivesoftware/smackx/workgroup/settings/OfflineSettings.java b/smack-legacy/src/main/java/org/jivesoftware/smackx/workgroup/settings/OfflineSettings.java index 63e969099..59554ab14 100644 --- a/smack-legacy/src/main/java/org/jivesoftware/smackx/workgroup/settings/OfflineSettings.java +++ b/smack-legacy/src/main/java/org/jivesoftware/smackx/workgroup/settings/OfflineSettings.java @@ -19,9 +19,9 @@ package org.jivesoftware.smackx.workgroup.settings; import java.io.IOException; -import org.jivesoftware.smackx.workgroup.util.ModelUtil; import org.jivesoftware.smack.packet.SimpleIQ; import org.jivesoftware.smack.provider.IQProvider; +import org.jivesoftware.smack.util.StringUtils; import org.xmlpull.v1.XmlPullParser; import org.xmlpull.v1.XmlPullParserException; @@ -33,7 +33,7 @@ public class OfflineSettings extends SimpleIQ { private String subject; public String getRedirectURL() { - if (!ModelUtil.hasLength(redirectURL)) { + if (!StringUtils.isNotEmpty(redirectURL)) { return ""; } return redirectURL; @@ -44,7 +44,7 @@ public class OfflineSettings extends SimpleIQ { } public String getOfflineText() { - if (!ModelUtil.hasLength(offlineText)) { + if (!StringUtils.isNotEmpty(offlineText)) { return ""; } return offlineText; @@ -55,7 +55,7 @@ public class OfflineSettings extends SimpleIQ { } public String getEmailAddress() { - if (!ModelUtil.hasLength(emailAddress)) { + if (!StringUtils.isNotEmpty(emailAddress)) { return ""; } return emailAddress; @@ -66,7 +66,7 @@ public class OfflineSettings extends SimpleIQ { } public String getSubject() { - if (!ModelUtil.hasLength(subject)) { + if (!StringUtils.isNotEmpty(subject)) { return ""; } return subject; @@ -77,13 +77,13 @@ public class OfflineSettings extends SimpleIQ { } public boolean redirects() { - return (ModelUtil.hasLength(getRedirectURL())); + return (StringUtils.isNotEmpty(getRedirectURL())); } public boolean isConfigured(){ - return ModelUtil.hasLength(getEmailAddress()) && - ModelUtil.hasLength(getSubject()) && - ModelUtil.hasLength(getOfflineText()); + return StringUtils.isNotEmpty(getEmailAddress()) && + StringUtils.isNotEmpty(getSubject()) && + StringUtils.isNotEmpty(getOfflineText()); } /** diff --git a/smack-legacy/src/main/java/org/jivesoftware/smackx/workgroup/settings/SearchSettings.java b/smack-legacy/src/main/java/org/jivesoftware/smackx/workgroup/settings/SearchSettings.java index ff24f7ae9..74bc043f5 100644 --- a/smack-legacy/src/main/java/org/jivesoftware/smackx/workgroup/settings/SearchSettings.java +++ b/smack-legacy/src/main/java/org/jivesoftware/smackx/workgroup/settings/SearchSettings.java @@ -18,9 +18,9 @@ package org.jivesoftware.smackx.workgroup.settings; import java.io.IOException; -import org.jivesoftware.smackx.workgroup.util.ModelUtil; import org.jivesoftware.smack.packet.SimpleIQ; import org.jivesoftware.smack.provider.IQProvider; +import org.jivesoftware.smack.util.StringUtils; import org.xmlpull.v1.XmlPullParser; import org.xmlpull.v1.XmlPullParserException; @@ -29,7 +29,7 @@ public class SearchSettings extends SimpleIQ { private String kbLocation; public boolean isSearchEnabled() { - return ModelUtil.hasLength(getForumsLocation()) && ModelUtil.hasLength(getKbLocation()); + return StringUtils.isNotEmpty(getForumsLocation()) && StringUtils.isNotEmpty(getKbLocation()); } public String getForumsLocation() { @@ -49,11 +49,11 @@ public class SearchSettings extends SimpleIQ { } public boolean hasKB(){ - return ModelUtil.hasLength(getKbLocation()); + return StringUtils.isNotEmpty(getKbLocation()); } public boolean hasForums(){ - return ModelUtil.hasLength(getForumsLocation()); + return StringUtils.isNotEmpty(getForumsLocation()); } diff --git a/smack-legacy/src/main/java/org/jivesoftware/smackx/workgroup/settings/WorkgroupProperties.java b/smack-legacy/src/main/java/org/jivesoftware/smackx/workgroup/settings/WorkgroupProperties.java index 5511fd993..9a94f6d8a 100644 --- a/smack-legacy/src/main/java/org/jivesoftware/smackx/workgroup/settings/WorkgroupProperties.java +++ b/smack-legacy/src/main/java/org/jivesoftware/smackx/workgroup/settings/WorkgroupProperties.java @@ -19,9 +19,9 @@ package org.jivesoftware.smackx.workgroup.settings; import java.io.IOException; -import org.jivesoftware.smackx.workgroup.util.ModelUtil; import org.jivesoftware.smack.packet.IQ; import org.jivesoftware.smack.provider.IQProvider; +import org.jivesoftware.smack.util.StringUtils; import org.xmlpull.v1.XmlPullParser; import org.xmlpull.v1.XmlPullParserException; @@ -81,7 +81,7 @@ public class WorkgroupProperties extends IQ { @Override protected IQChildElementXmlStringBuilder getIQChildElementBuilder(IQChildElementXmlStringBuilder buf) { - if (ModelUtil.hasLength(getJid())) { + if (StringUtils.isNotEmpty(getJid())) { buf.append("jid=\"" + getJid() + "\" "); } buf.setEmptyElement(); diff --git a/smack-legacy/src/main/java/org/jivesoftware/smackx/workgroup/util/ModelUtil.java b/smack-legacy/src/main/java/org/jivesoftware/smackx/workgroup/util/ModelUtil.java deleted file mode 100644 index 35147781e..000000000 --- a/smack-legacy/src/main/java/org/jivesoftware/smackx/workgroup/util/ModelUtil.java +++ /dev/null @@ -1,324 +0,0 @@ -/** - * - * Copyright 2003-2007 Jive Software. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.jivesoftware.smackx.workgroup.util; - -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; -import java.util.ListIterator; - -/** - * Utility methods frequently used by data classes and design-time - * classes. - */ -public final class ModelUtil { - private ModelUtil() { - // Prevents instantiation. - } - - /** - * This is a utility method that compares two objects when one or - * both of the objects might be null The result of - * this method is determined as follows: - *
    - *
  1. If o1 and o2 are the same object - * according to the == operator, return - * true. - *
  2. Otherwise, if either o1 or o2 is - * null, return false. - *
  3. Otherwise, return o1.equals(o2). - *
- *

- * This method produces the exact logically inverted result as the - * {@link #areDifferent(Object, Object)} method.

- *

- * For array types, one of the equals methods in - * {@link java.util.Arrays} should be used instead of this method. - * Note that arrays with more than one dimension will require some - * custom code in order to implement equals properly. - */ - public static final boolean areEqual(Object o1, Object o2) { - if (o1 == o2) { - return true; - } - else if (o1 == null || o2 == null) { - return false; - } - else { - return o1.equals(o2); - } - } - - /** - * This is a utility method that compares two Booleans when one or - * both of the objects might be null The result of - * this method is determined as follows: - *

    - *
  1. If b1 and b2 are both TRUE or - * neither b1 nor b2 is TRUE, - * return true. - *
  2. Otherwise, return false. - *
- *

- */ - public static final boolean areBooleansEqual(Boolean b1, Boolean b2) { - // !jwetherb treat NULL the same as Boolean.FALSE - return (b1 == Boolean.TRUE && b2 == Boolean.TRUE) || - (b1 != Boolean.TRUE && b2 != Boolean.TRUE); - } - - /** - * This is a utility method that compares two objects when one or - * both of the objects might be null. The result - * returned by this method is determined as follows: - *

    - *
  1. If o1 and o2 are the same object - * according to the == operator, return - * false. - *
  2. Otherwise, if either o1 or o2 is - * null, return true. - *
  3. Otherwise, return !o1.equals(o2). - *
- *

- * This method produces the exact logically inverted result as the - * {@link #areEqual(Object, Object)} method.

- *

- * For array types, one of the equals methods in - * {@link java.util.Arrays} should be used instead of this method. - * Note that arrays with more than one dimension will require some - * custom code in order to implement equals properly. - */ - public static final boolean areDifferent(Object o1, Object o2) { - return !areEqual(o1, o2); - } - - - /** - * This is a utility method that compares two Booleans when one or - * both of the objects might be null The result of - * this method is determined as follows: - *

    - *
  1. If b1 and b2 are both TRUE or - * neither b1 nor b2 is TRUE, - * return false. - *
  2. Otherwise, return true. - *
- *

- * This method produces the exact logically inverted result as the - * {@link #areBooleansEqual(Boolean, Boolean)} method.

- */ - public static final boolean areBooleansDifferent(Boolean b1, Boolean b2) { - return !areBooleansEqual(b1, b2); - } - - - /** - * Returns true if the specified array is not null - * and contains a non-null element. Returns false - * if the array is null or if all the array elements are null. - */ - public static final boolean hasNonNullElement(Object[] array) { - if (array != null) { - final int n = array.length; - for (int i = 0; i < n; i++) { - if (array[i] != null) { - return true; - } - } - } - return false; - } - - /** - * Returns a single string that is the concatenation of all the - * strings in the specified string array. A single space is - * put between each string array element. Null array elements - * are skipped. If the array itself is null, the empty string - * is returned. This method is guaranteed to return a non-null - * value, if no expections are thrown. - */ - public static final String concat(String[] strs) { - return concat(strs, " "); //NOTRANS - } - - /** - * Returns a single string that is the concatenation of all the - * strings in the specified string array. The strings are separated - * by the specified delimiter. Null array elements are skipped. If - * the array itself is null, the empty string is returned. This - * method is guaranteed to return a non-null value, if no expections - * are thrown. - */ - public static final String concat(String[] strs, String delim) { - if (strs != null) { - final StringBuilder buf = new StringBuilder(); - final int n = strs.length; - for (int i = 0; i < n; i++) { - final String str = strs[i]; - if (str != null) { - buf.append(str).append(delim); - } - } - final int length = buf.length(); - if (length > 0) { - // Trim trailing space. - buf.setLength(length - 1); - } - return buf.toString(); - } - else { - return ""; // NOTRANS - } - } - - /** - * Returns true if the specified {@link String} is not - * null and has a length greater than zero. This is - * a very frequently occurring check. - */ - public static final boolean hasLength(String s) { - return (s != null && s.length() > 0); - } - - - /** - * Returns null if the specified string is empty or - * null. Otherwise the string itself is returned. - */ - public static final String nullifyIfEmpty(String s) { - return ModelUtil.hasLength(s) ? s : null; - } - - /** - * Returns null if the specified object is null - * or if its toString() representation is empty. - * Otherwise, the toString() representation of the - * object itself is returned. - */ - public static final String nullifyingToString(Object o) { - return o != null ? nullifyIfEmpty(o.toString()) : null; - } - - /** - * Determines if a string has been changed. - * - * @param oldString is the initial value of the String - * @param newString is the new value of the String - * @return true If both oldString and newString are null or if they are - * both not null and equal to each other. Otherwise returns false. - */ - public static boolean hasStringChanged(String oldString, String newString) { - if (oldString == null && newString == null) { - return false; - } - else if ((oldString == null && newString != null) - || (oldString != null && newString == null)) { - return true; - } - else { - return !oldString.equals(newString); - } - } - - public static String getTimeFromLong(long diff) { - final String HOURS = "h"; - final String MINUTES = "min"; - final String SECONDS = "sec"; - - final long MS_IN_A_DAY = 1000 * 60 * 60 * 24; - final long MS_IN_AN_HOUR = 1000 * 60 * 60; - final long MS_IN_A_MINUTE = 1000 * 60; - final long MS_IN_A_SECOND = 1000; - diff = diff % MS_IN_A_DAY; - long numHours = diff / MS_IN_AN_HOUR; - diff = diff % MS_IN_AN_HOUR; - long numMinutes = diff / MS_IN_A_MINUTE; - diff = diff % MS_IN_A_MINUTE; - long numSeconds = diff / MS_IN_A_SECOND; - diff = diff % MS_IN_A_SECOND; - - StringBuilder buf = new StringBuilder(); - if (numHours > 0) { - buf.append(numHours + " " + HOURS + ", "); - } - - if (numMinutes > 0) { - buf.append(numMinutes + " " + MINUTES + ", "); - } - - buf.append(numSeconds + " " + SECONDS); - - String result = buf.toString(); - return result; - } - - - /** - * Build a List of all elements in an Iterator. - */ - public static List iteratorAsList(Iterator i) { - ArrayList list = new ArrayList(10); - while (i.hasNext()) { - list.add(i.next()); - } - return list; - } - - /** - * Creates an Iterator that is the reverse of a ListIterator. - */ - public static Iterator reverseListIterator(ListIterator i) { - return new ReverseListIterator(i); - } -} - -/** - * An Iterator that is the reverse of a ListIterator. - */ -class ReverseListIterator implements Iterator { - private ListIterator _i; - - ReverseListIterator(ListIterator i) { - _i = i; - while (_i.hasNext()) - _i.next(); - } - - public boolean hasNext() { - return _i.hasPrevious(); - } - - public T next() { - return _i.previous(); - } - - public void remove() { - _i.remove(); - } - -} - - - - - - - - - - -