Merge pull request #11 from nuzayats/update_xinha
Upgrade Xinha to the latest
diff --git a/app/pom.xml b/app/pom.xml
index 4739e4c..8bba67e 100644
--- a/app/pom.xml
+++ b/app/pom.xml
@@ -24,7 +24,7 @@
<parent>
<groupId>org.apache.roller</groupId>
<artifactId>roller-project</artifactId>
- <version>5.2.0</version>
+ <version>6.0.0-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>
@@ -45,7 +45,7 @@
<jsp-api.version>2.2</jsp-api.version>
<jstl.version>1.2</jstl.version>
<log4j.version>1.2.17</log4j.version>
- <log4j2.version>2.8.2</log4j2.version>
+ <log4j2.version>2.10.0</log4j2.version>
<lucene.version>4.10.4</lucene.version>
<oauth-core.version>20100527</oauth-core.version>
<maven-war.version>3.1.0</maven-war.version>
@@ -56,7 +56,7 @@
<slf4j.version>1.7.25</slf4j.version>
<spring.version>4.1.4.RELEASE</spring.version>
<spring.security.version>3.2.5.RELEASE</spring.security.version>
- <struts.version>2.5.12</struts.version>
+ <struts.version>2.5.17</struts.version>
<velocity.version>1.7</velocity.version>
<webjars.version>1.5</webjars.version>
<ws-commons-util.version>1.0.2</ws-commons-util.version>
@@ -94,12 +94,6 @@
<artifactId>mail</artifactId>
<version>${java-mail.version}</version>
<scope>provided</scope>
- <exclusions>
- <exclusion>
- <groupId>javax.activation</groupId>
- <artifactId>activation</artifactId>
- </exclusion>
- </exclusions>
</dependency>
<!-- Eclipselink JPA is the default JPA implementation used by
@@ -158,6 +152,18 @@
<groupId>org.apache.velocity</groupId>
<artifactId>velocity</artifactId>
<version>${velocity.version}</version>
+ <exclusions>
+ <exclusion>
+ <groupId>commons-collections</groupId>
+ <artifactId>commons-collections</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+
+ <dependency>
+ <groupId>commons-collections</groupId>
+ <artifactId>commons-collections</artifactId>
+ <version>3.2.2</version>
</dependency>
<dependency>
diff --git a/app/src/main/java/org/apache/roller/weblogger/business/jpa/JPAWeblogEntryManagerImpl.java b/app/src/main/java/org/apache/roller/weblogger/business/jpa/JPAWeblogEntryManagerImpl.java
index 5035f93..7fe517d 100644
--- a/app/src/main/java/org/apache/roller/weblogger/business/jpa/JPAWeblogEntryManagerImpl.java
+++ b/app/src/main/java/org/apache/roller/weblogger/business/jpa/JPAWeblogEntryManagerImpl.java
@@ -288,7 +288,7 @@
this.entryAnchorToIdMap.remove(entry.getWebsite().getHandle()+":"+entry.getAnchor());
}
- public List getNextPrevEntries(WeblogEntry current, String catName,
+ private List getNextPrevEntries(WeblogEntry current, String catName,
String locale, int maxEntries, boolean next)
throws WebloggerException {
@@ -462,13 +462,7 @@
query.setParameter(i+1, params.get(i));
}
- if (wesc.getOffset() != 0) {
- query.setFirstResult(wesc.getOffset());
- }
- if (wesc.getMaxResults() != -1) {
- query.setMaxResults(wesc.getMaxResults());
- }
-
+ setFirstMax( query, wesc.getOffset(), wesc.getMaxResults() );
return query.getResultList();
}
@@ -666,12 +660,7 @@
}
TypedQuery<WeblogEntryComment> query = strategy.getDynamicQuery(queryString.toString(), WeblogEntryComment.class);
- if (csc.getOffset() != 0) {
- query.setFirstResult(csc.getOffset());
- }
- if (csc.getMaxResults() != -1) {
- query.setMaxResults(csc.getMaxResults());
- }
+ setFirstMax( query, csc.getOffset(), csc.getMaxResults());
for (int i=0; i<params.size(); i++) {
query.setParameter(i+1, params.get(i));
}
@@ -758,7 +747,7 @@
* @inheritDoc
*/
public Map<Date, List<WeblogEntry>> getWeblogEntryObjectMap(WeblogEntrySearchCriteria wesc) throws WebloggerException {
- TreeMap<Date, List<WeblogEntry>> map = new TreeMap<Date, List<WeblogEntry>>(Collections.reverseOrder());
+ TreeMap<Date, List<WeblogEntry>> map = new TreeMap<>(Collections.reverseOrder());
List<WeblogEntry> entries = getWeblogEntries(wesc);
@@ -769,11 +758,7 @@
for (WeblogEntry entry : entries) {
Date sDate = DateUtil.getNoonOfDay(entry.getPubTime(), cal);
- List<WeblogEntry> dayEntries = map.get(sDate);
- if (dayEntries == null) {
- dayEntries = new ArrayList<WeblogEntry>();
- map.put(sDate, dayEntries);
- }
+ List<WeblogEntry> dayEntries = map.computeIfAbsent(sDate, k -> new ArrayList<>());
dayEntries.add(entry);
}
return map;
@@ -843,12 +828,7 @@
query.setParameter(1, end);
}
}
- if (offset != 0) {
- query.setFirstResult(offset);
- }
- if (length != -1) {
- query.setMaxResults(length);
- }
+ setFirstMax( query, offset, length);
queryResults = query.getResultList();
List<StatCount> results = new ArrayList<StatCount>();
if (queryResults != null) {
@@ -951,12 +931,7 @@
"WeblogEntryTagAggregate.getPopularTagsByWebsiteNull", TagStat.class);
}
}
- if (offset != 0) {
- query.setFirstResult(offset);
- }
- if (limit != -1) {
- query.setMaxResults(limit);
- }
+ setFirstMax( query, offset, limit);
queryResults = query.getResultList();
double min = Integer.MAX_VALUE;
@@ -1029,12 +1004,7 @@
for (int i=0; i<params.size(); i++) {
query.setParameter(i+1, params.get(i));
}
- if (offset != 0) {
- query.setFirstResult(offset);
- }
- if (limit != -1) {
- query.setMaxResults(limit);
- }
+ setFirstMax( query, offset, limit);
queryResults = query.getResultList();
List<TagStat> results = new ArrayList<TagStat>();
@@ -1214,26 +1184,36 @@
throws WebloggerException {
// figure out start date
- Calendar cal = Calendar.getInstance();
- cal.setTime(new Date());
- cal.add(Calendar.DATE, -1 * sinceDays);
- Date startDate = cal.getTime();
+ Date startDate = getStartDateNow(sinceDays);
- TypedQuery<WeblogHitCount> query = strategy.getNamedQuery(
+ TypedQuery<WeblogHitCount> query;
+ query = strategy.getNamedQuery(
"WeblogHitCount.getByWeblogEnabledTrueAndActiveTrue&DailyHitsGreaterThenZero&WeblogLastModifiedGreaterOrderByDailyHitsDesc",
WeblogHitCount.class);
query.setParameter(1, startDate);
-
+ setFirstMax( query, offset, length );
+ return query.getResultList();
+ }
+
+
+ private static void setFirstMax( Query query, int offset, int length ) {
if (offset != 0) {
query.setFirstResult(offset);
}
if (length != -1) {
query.setMaxResults(length);
- }
- return query.getResultList();
+ }
}
-
-
+
+
+ public static Date getStartDateNow(int sinceDays) {
+ Calendar cal = Calendar.getInstance();
+ cal.setTime(new Date());
+ cal.add(Calendar.DATE, -1 * sinceDays);
+ return cal.getTime();
+ }
+
+
/**
* @inheritDoc
*/
diff --git a/app/src/main/java/org/apache/roller/weblogger/business/search/IndexManagerImpl.java b/app/src/main/java/org/apache/roller/weblogger/business/search/IndexManagerImpl.java
index 77bd8e6..7b5ac68 100644
--- a/app/src/main/java/org/apache/roller/weblogger/business/search/IndexManagerImpl.java
+++ b/app/src/main/java/org/apache/roller/weblogger/business/search/IndexManagerImpl.java
@@ -90,7 +90,7 @@
/**
* Creates a new lucene index manager. This should only be created once.
- * Creating the index manager more than once will definately result in
+ * Creating the index manager more than once will definitely result in
* errors. The preferred way of getting an index is through the
* RollerContext.
*
diff --git a/app/src/main/java/org/apache/roller/weblogger/ui/rendering/model/SiteModel.java b/app/src/main/java/org/apache/roller/weblogger/ui/rendering/model/SiteModel.java
index ada1b24..e3fd7b3 100644
--- a/app/src/main/java/org/apache/roller/weblogger/ui/rendering/model/SiteModel.java
+++ b/app/src/main/java/org/apache/roller/weblogger/ui/rendering/model/SiteModel.java
@@ -33,6 +33,7 @@
import org.apache.roller.weblogger.business.WebloggerFactory;
import org.apache.roller.weblogger.business.UserManager;
import org.apache.roller.weblogger.business.WeblogEntryManager;
+import org.apache.roller.weblogger.business.jpa.JPAWeblogEntryManagerImpl;
import org.apache.roller.weblogger.pojos.TagStat;
import org.apache.roller.weblogger.pojos.WeblogHitCount;
import org.apache.roller.weblogger.pojos.StatCount;
@@ -389,10 +390,7 @@
*/
public List<WeblogWrapper> getNewWeblogs(int sinceDays, int length) {
List<WeblogWrapper> results = new ArrayList<WeblogWrapper>();
- Calendar cal = Calendar.getInstance();
- cal.setTime(new Date());
- cal.add(Calendar.DATE, -1 * sinceDays);
- Date startDate = cal.getTime();
+ Date startDate = JPAWeblogEntryManagerImpl.getStartDateNow(sinceDays);
try {
List<Weblog> weblogs = WebloggerFactory.getWeblogger().getWeblogManager().getWeblogs(
Boolean.TRUE, Boolean.TRUE, startDate, null, 0, length);
@@ -466,10 +464,7 @@
*/
public List getMostCommentedWeblogs(int sinceDays , int length) {
List results = new ArrayList();
- Calendar cal = Calendar.getInstance();
- cal.setTime(new Date());
- cal.add(Calendar.DATE, -1 * sinceDays);
- Date startDate = cal.getTime();
+ Date startDate = JPAWeblogEntryManagerImpl.getStartDateNow(sinceDays);
try {
results = WebloggerFactory.getWeblogger().getWeblogManager().getMostCommentedWeblogs(
startDate, new Date(), 0, length);
@@ -490,10 +485,7 @@
public List getMostCommentedWeblogEntries(
List cats, int sinceDays, int length) {
List results = new ArrayList();
- Calendar cal = Calendar.getInstance();
- cal.setTime(new Date());
- cal.add(Calendar.DATE, -1 * sinceDays);
- Date startDate = cal.getTime();
+ Date startDate = JPAWeblogEntryManagerImpl.getStartDateNow(sinceDays);
try {
Weblogger roller = WebloggerFactory.getWeblogger();
WeblogEntryManager wmgr = roller.getWeblogEntryManager();
diff --git a/app/src/main/java/org/apache/roller/weblogger/ui/struts2/core/Install.java b/app/src/main/java/org/apache/roller/weblogger/ui/struts2/core/Install.java
index e67cc85..12de267 100644
--- a/app/src/main/java/org/apache/roller/weblogger/ui/struts2/core/Install.java
+++ b/app/src/main/java/org/apache/roller/weblogger/ui/struts2/core/Install.java
@@ -38,7 +38,7 @@
/**
* Walk user through install process.
*/
-// TODO: make this work @AllowedMethods({"execute","create","update","bootstrap"})
+// TODO: make this work @AllowedMethods({"execute","create","upgrade","bootstrap"})
public class Install extends UIAction {
private static Log log = LogFactory.getLog(Install.class);
diff --git a/app/src/main/resources/struts.xml b/app/src/main/resources/struts.xml
index 3c9a4c6..eb6f8ba 100644
--- a/app/src/main/resources/struts.xml
+++ b/app/src/main/resources/struts.xml
@@ -154,7 +154,7 @@
<global-allowed-methods>
execute,
create,
- update,
+ upgrade,
bootstrap
</global-allowed-methods>
diff --git a/app/src/test/java/org/apache/roller/planet/business/SingleThreadedFeedUpdaterTest.java b/app/src/test/java/org/apache/roller/planet/business/SingleThreadedFeedUpdaterTest.java
index 4015845..ad89f3e 100644
--- a/app/src/test/java/org/apache/roller/planet/business/SingleThreadedFeedUpdaterTest.java
+++ b/app/src/test/java/org/apache/roller/planet/business/SingleThreadedFeedUpdaterTest.java
@@ -37,7 +37,7 @@
private Subscription testSub = null;
- private String feed_url = "http://rollerweblogger.org/roller/feed/entries/atom";
+ private String feed_url = "https://rollerweblogger.org/roller/feed/entries/atom";
protected void setUp() throws Exception {
diff --git a/app/src/test/resources/jetty.xml b/app/src/test/resources/jetty.xml
index 0209086..995ea1d 100644
--- a/app/src/test/resources/jetty.xml
+++ b/app/src/test/resources/jetty.xml
@@ -1,6 +1,6 @@
<?xml version="1.0"?>
<!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://www.eclipse.org/jetty/configure.dtd">
-<Configure id='Server' class="org.eclipse.jetty.webapp.WebAppContext">
+<Configure id="Server" class="org.eclipse.jetty.server.Server">
<!-- Dummy values used only when testing with Jetty via mvn jetty:run -->
diff --git a/assembly-release/pom.xml b/assembly-release/pom.xml
index 77dac0d..8cc413a 100644
--- a/assembly-release/pom.xml
+++ b/assembly-release/pom.xml
@@ -22,7 +22,7 @@
<parent>
<groupId>org.apache.roller</groupId>
<artifactId>roller-project</artifactId>
- <version>5.2.0</version>
+ <version>6.0.0-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>
diff --git a/assembly-release/sign-release.sh b/assembly-release/sign-release.sh
index 77fdd59..a36e210 100755
--- a/assembly-release/sign-release.sh
+++ b/assembly-release/sign-release.sh
@@ -1,7 +1,7 @@
#!/usr/bin/env bash
export rcstring=""
-export vstring="5.2.0"
+export vstring="6.0.0"
# for rc releases we rename the release files
if [ rcstring != "" ]; then
diff --git a/it-selenium/pom.xml b/it-selenium/pom.xml
index 2854584..b155983 100644
--- a/it-selenium/pom.xml
+++ b/it-selenium/pom.xml
@@ -24,7 +24,7 @@
<parent>
<groupId>org.apache.roller</groupId>
<artifactId>roller-project</artifactId>
- <version>5.2.0</version>
+ <version>6.0.0-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>
diff --git a/it-selenium/src/test/resources/roller-jettyrun.properties b/it-selenium/src/test/resources/roller-jettyrun.properties
index 643e0c5..e3fdd52 100644
--- a/it-selenium/src/test/resources/roller-jettyrun.properties
+++ b/it-selenium/src/test/resources/roller-jettyrun.properties
@@ -23,7 +23,7 @@
passwds.encryption.enabled=false
# use src copy of themes for read-only access
-themes.dir=target/roller-selenium-tests-5.2.0/themes
+themes.dir=target/roller-selenium-tests-6.0.0-SNAPSHOT/themes
# put work in work dir
search.index.dir =target/work/search-index
diff --git a/pom.xml b/pom.xml
index 408d530..6af923f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -22,7 +22,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>org.apache.roller</groupId>
<artifactId>roller-project</artifactId>
- <version>5.2.0</version>
+ <version>6.0.0-SNAPSHOT</version>
<packaging>pom</packaging>
<prerequisites>
@@ -47,7 +47,7 @@
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<derby.version>10.11.1.1</derby.version>
- <roller.version>5.2.0</roller.version>
+ <roller.version>6.0.0-SNAPSHOT</roller.version>
</properties>
<modules>
@@ -63,8 +63,8 @@
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
- <source>1.7</source>
- <target>1.7</target>
+ <source>1.8</source>
+ <target>1.8</target>
<fork>true</fork>
<encoding>${project.build.sourceEncoding}</encoding>
</configuration>
@@ -80,7 +80,7 @@
<plugin>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
- <version>9.2.6.v20141205</version>
+ <version>9.4.11.v20180605</version>
</plugin>
<plugin>
<groupId>com.btmatthews.maven.plugins.inmemdb</groupId>