You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@roller.apache.org by sn...@apache.org on 2014/04/20 15:39:01 UTC
svn commit: r1588757 [3/25] - in /roller/branches/rome2/app/src:
main/java/org/apache/roller/ main/java/org/apache/roller/planet/business/
main/java/org/apache/roller/planet/business/fetcher/
main/java/org/apache/roller/planet/business/jpa/ main/java/o...
Modified: roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/business/jpa/JPAMediaFileManagerImpl.java
URL: http://svn.apache.org/viewvc/roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/business/jpa/JPAMediaFileManagerImpl.java?rev=1588757&r1=1588756&r2=1588757&view=diff
==============================================================================
--- roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/business/jpa/JPAMediaFileManagerImpl.java (original)
+++ roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/business/jpa/JPAMediaFileManagerImpl.java Sun Apr 20 13:38:51 2014
@@ -31,17 +31,19 @@ import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
+import java.util.Collections;
+import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
-
import java.util.Properties;
import java.util.Set;
import java.util.StringTokenizer;
-import javax.imageio.ImageIO;
+import javax.imageio.ImageIO;
import javax.persistence.NoResultException;
import javax.persistence.Query;
-import org.apache.commons.lang.StringUtils;
+
+import org.apache.commons.lang3.StringUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.roller.weblogger.WebloggerException;
@@ -108,9 +110,25 @@ public class JPAMediaFileManagerImpl imp
MediaFileDirectory targetDir) throws WebloggerException {
for (MediaFileDirectory mediaFileDir : mediaFileDirs) {
+ // Refresh associated parent for changes
+ strategy.refresh(mediaFileDir.getParent());
mediaFileDir.setParent(targetDir);
+ if ("/".equals(targetDir.getPath())) {
+ mediaFileDir.setPath("/" + mediaFileDir.getName());
+ } else {
+ mediaFileDir.setPath(targetDir.getPath() + "/"
+ + mediaFileDir.getName());
+ }
this.strategy.store(mediaFileDir);
}
+
+ // Refresh associated parent for changes
+ roller.flush();
+ strategy.refresh(targetDir);
+ if (targetDir.getParent() != null) {
+ strategy.refresh(targetDir.getParent());
+ }
+
// update weblog last modified date. date updated by saveWebsite()
roller.getWeblogManager().saveWeblog(targetDir.getWeblog());
}
@@ -135,6 +153,15 @@ public class JPAMediaFileManagerImpl imp
}
// update weblog last modified date. date updated by saveWebsite()
roller.getWeblogManager().saveWeblog(targetDirectory.getWeblog());
+
+ // Refresh associated parent for changes
+ roller.flush();
+ if (moved.size() > 0) {
+ strategy.refresh(moved.get(0).getDirectory());
+ }
+
+ // Refresh associated parent for changes
+ strategy.refresh(targetDirectory);
}
/**
@@ -170,6 +197,10 @@ public class JPAMediaFileManagerImpl imp
// update weblog last modified date. date updated by saveWeblog()
roller.getWeblogManager().saveWeblog(newDirectory.getWeblog());
+ // Refresh associated parent for changes
+ roller.flush();
+ strategy.refresh(parentDirectory);
+
return newDirectory;
}
@@ -182,6 +213,9 @@ public class JPAMediaFileManagerImpl imp
// update weblog last modified date. date updated by saveWebsite()
roller.getWeblogManager().saveWeblog(directory.getWeblog());
+
+ // Refresh associated parent for changes
+ strategy.refresh(directory.getParent());
}
/**
@@ -285,6 +319,10 @@ public class JPAMediaFileManagerImpl imp
}
strategy.store(mediaFile);
+ // Refresh associated parent for changes
+ roller.flush();
+ strategy.refresh(mediaFile.getDirectory());
+
// update weblog last modified date. date updated by saveWeblog()
roller.getWeblogManager().saveWeblog(weblog);
@@ -329,6 +367,10 @@ public class JPAMediaFileManagerImpl imp
cmgr.saveFileContent(mediaFile.getWeblog(), mediaFile.getId()
+ "_sm", new ByteArrayInputStream(baos.toByteArray()));
+ roller.flush();
+ // Refresh associated parent for changes
+ strategy.refresh(mediaFile.getDirectory());
+
} catch (Exception e) {
log.debug("ERROR creating thumbnail", e);
}
@@ -341,6 +383,11 @@ public class JPAMediaFileManagerImpl imp
throws WebloggerException {
mediaFile.setLastUpdated(new Timestamp(System.currentTimeMillis()));
strategy.store(mediaFile);
+
+ roller.flush();
+ // Refresh associated parent for changes
+ strategy.refresh(mediaFile.getDirectory());
+
// update weblog last modified date. date updated by saveWeblog()
roller.getWeblogManager().saveWeblog(weblog);
}
@@ -353,6 +400,10 @@ public class JPAMediaFileManagerImpl imp
mediaFile.setLastUpdated(new Timestamp(System.currentTimeMillis()));
strategy.store(mediaFile);
+ roller.flush();
+ // Refresh associated parent for changes
+ strategy.refresh(mediaFile.getDirectory());
+
// update weblog last modified date. date updated by saveWeblog()
roller.getWeblogManager().saveWeblog(weblog);
@@ -526,6 +577,10 @@ public class JPAMediaFileManagerImpl imp
.getFileContentManager();
this.strategy.remove(mediaFile);
+
+ // Refresh associated parent for changes
+ strategy.refresh(mediaFile.getDirectory());
+
// update weblog last modified date. date updated by saveWeblog()
roller.getWeblogManager().saveWeblog(weblog);
@@ -827,6 +882,7 @@ public class JPAMediaFileManagerImpl imp
: newDir.getPath()) + "/" + files[i].getName();
log.debug(" Upgrade file with original path: "
+ originalPath);
+
MediaFile mf = new MediaFile();
try {
mf.setName(files[i].getName());
@@ -846,10 +902,12 @@ public class JPAMediaFileManagerImpl imp
mf.setInputStream(new FileInputStream(files[i]));
mf.setContentType(Utilities
.getContentTypeFromFileName(files[i].getName()));
- newDir.getMediaFiles().add(mf);
+ // Create
this.roller.getMediaFileManager().createMediaFile(
weblog, mf, messages);
+ newDir.getMediaFiles().add(mf);
+
log.info(messages.toString());
fileCount++;
@@ -894,16 +952,32 @@ public class JPAMediaFileManagerImpl imp
for (MediaFile mf : files) {
try {
cmgr.deleteFile(dir.getWeblog(), mf.getId());
+ // Now thumbnail
+ cmgr.deleteFile(dir.getWeblog(), mf.getId() + "_sm");
} catch (Exception e) {
log.debug("File to be deleted already unavailable in the file store");
}
this.strategy.remove(mf);
}
- Set<MediaFileDirectory> dirs = dir.getChildDirectories();
+
+ // Children
+ roller.flush();
+
+ // Set<MediaFileDirectory> dirs = dir.getChildDirectories();
+ // Recursive fix ConcurrentModificationException
+ Set<MediaFileDirectory> dirs = Collections
+ .synchronizedSet(new HashSet<MediaFileDirectory>(dir
+ .getChildDirectories()));
for (MediaFileDirectory md : dirs) {
removeMediaFileDirectory(md);
}
+
this.strategy.remove(dir);
+
+ // Refresh associated parent
+ roller.flush();
+ strategy.refresh(dir.getParent());
+
}
public void removeMediaFileTag(String name, MediaFile entry)
@@ -916,10 +990,10 @@ public class JPAMediaFileManagerImpl imp
// Call back the entity to adjust its internal state
entry.onRemoveTag(name);
- // Remove it from database
+ // Refresh it from database
this.strategy.remove(tag);
- // Remove it from the collection
+ // Refresh it from the collection
it.remove();
}
}
Propchange: roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/business/jpa/JPAMediaFileManagerImpl.java
------------------------------------------------------------------------------
Merged /roller/trunk/app/src/main/java/org/apache/roller/weblogger/business/jpa/JPAMediaFileManagerImpl.java:r1546818-1588713
Modified: roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/business/jpa/JPAOAuthManagerImpl.java
URL: http://svn.apache.org/viewvc/roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/business/jpa/JPAOAuthManagerImpl.java?rev=1588757&r1=1588756&r2=1588757&view=diff
==============================================================================
--- roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/business/jpa/JPAOAuthManagerImpl.java (original)
+++ roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/business/jpa/JPAOAuthManagerImpl.java Sun Apr 20 13:38:51 2014
@@ -31,7 +31,7 @@ import net.oauth.OAuthProblemException;
import net.oauth.OAuthServiceProvider;
import net.oauth.OAuthValidator;
import org.apache.commons.codec.digest.DigestUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.roller.weblogger.WebloggerException;
Modified: roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/business/jpa/JPAPersistenceStrategy.java
URL: http://svn.apache.org/viewvc/roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/business/jpa/JPAPersistenceStrategy.java?rev=1588757&r1=1588756&r2=1588757&view=diff
==============================================================================
--- roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/business/jpa/JPAPersistenceStrategy.java (original)
+++ roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/business/jpa/JPAPersistenceStrategy.java Sun Apr 20 13:38:51 2014
@@ -19,7 +19,6 @@
package org.apache.roller.weblogger.business.jpa;
import java.util.Collection;
-import java.util.Iterator;
import java.util.Enumeration;
import java.util.Properties;
import java.io.InputStream;
@@ -113,7 +112,22 @@ public class JPAPersistenceStrategy {
}
}
}
-
+ /**
+ * Refresh changes to the current object.
+ *
+ * @throws org.apache.roller.weblogger.WebloggerException on any error
+ */
+ public void refresh(Object clazz) throws WebloggerException {
+ if (clazz == null) {
+ return;
+ }
+ try {
+ EntityManager em = getEntityManager(true);
+ em.refresh(clazz);
+ } catch (Exception e) {
+ // ignored;
+ }
+ }
/**
* Flush changes to the datastore, commit transaction, release em.
* @throws org.apache.roller.weblogger.WebloggerException on any error
@@ -183,11 +197,10 @@ public class JPAPersistenceStrategy {
*/
public void removeAll(Collection pos) throws WebloggerException {
EntityManager em = getEntityManager(true);
- for (Iterator iterator = pos.iterator(); iterator.hasNext();) {
- Object obj = iterator.next();
+ for (Object obj : pos) {
em.remove(obj);
}
- }
+ }
/**
* Retrieve object, no transaction needed.
@@ -284,8 +297,7 @@ public class JPAPersistenceStrategy {
public Query getNamedUpdate(String queryName)
throws WebloggerException {
EntityManager em = getEntityManager(true);
- Query q = em.createNamedQuery(queryName);
- return q;
+ return em.createNamedQuery(queryName);
}
/**
Modified: roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/business/jpa/JPAPingQueueManagerImpl.java
URL: http://svn.apache.org/viewvc/roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/business/jpa/JPAPingQueueManagerImpl.java?rev=1588757&r1=1588756&r2=1588757&view=diff
==============================================================================
--- roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/business/jpa/JPAPingQueueManagerImpl.java (original)
+++ roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/business/jpa/JPAPingQueueManagerImpl.java Sun Apr 20 13:38:51 2014
@@ -93,9 +93,9 @@ public class JPAPingQueueManagerImpl imp
this.saveQueueEntry(pingQueueEntry);
}
- public List getAllQueueEntries()
+ public List<PingQueueEntry> getAllQueueEntries()
throws WebloggerException {
- return (List)strategy.getNamedQuery(
+ return (List<PingQueueEntry>) strategy.getNamedQuery(
"PingQueueEntry.getAllOrderByEntryTime").getResultList();
}
Modified: roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/business/jpa/JPAPingTargetManagerImpl.java
URL: http://svn.apache.org/viewvc/roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/business/jpa/JPAPingTargetManagerImpl.java?rev=1588757&r1=1588756&r2=1588757&view=diff
==============================================================================
--- roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/business/jpa/JPAPingTargetManagerImpl.java (original)
+++ roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/business/jpa/JPAPingTargetManagerImpl.java Sun Apr 20 13:38:51 2014
@@ -23,15 +23,11 @@ import java.net.MalformedURLException;
import java.net.URL;
import java.net.UnknownHostException;
import java.util.List;
-import java.util.Iterator;
import javax.persistence.Query;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
import org.apache.roller.weblogger.WebloggerException;
import org.apache.roller.weblogger.business.pings.PingTargetManager;
import org.apache.roller.weblogger.pojos.PingTarget;
-import org.apache.roller.weblogger.pojos.Weblog;
/*
* JPAPingTargetManagerImpl.java
@@ -42,13 +38,8 @@ import org.apache.roller.weblogger.pojos
@com.google.inject.Singleton
public class JPAPingTargetManagerImpl implements PingTargetManager {
- /** The logger instance for this class. */
- private static Log log = LogFactory.getLog(
- JPAPingTargetManagerImpl.class);
-
private final JPAPersistenceStrategy strategy;
-
-
+
@com.google.inject.Inject
protected JPAPingTargetManagerImpl(JPAPersistenceStrategy strategy) {
this.strategy = strategy;
@@ -79,13 +70,6 @@ public class JPAPingTargetManagerImpl im
q.executeUpdate();
}
- public void removeAllCustomPingTargets()
- throws WebloggerException {
- Query q = strategy.getNamedUpdate(
- "PingTarget.removeByWebsiteNotNull");
- q.executeUpdate();
- }
-
public void savePingTarget(PingTarget pingTarget)
throws WebloggerException {
strategy.store(pingTarget);
@@ -105,24 +89,17 @@ public class JPAPingTargetManagerImpl im
String id = pingTarget.getId();
- // Determine the set of "brother" targets (custom or common)
+ // Determine the set of "brother" targets
// among which this name should be unique.
- List brotherTargets = null;
- Weblog website = pingTarget.getWebsite();
- if (website == null) {
- brotherTargets = getCommonPingTargets();
- } else {
- brotherTargets = getCustomPingTargets(website);
- }
-
+ List<PingTarget> brotherTargets;
+ brotherTargets = getCommonPingTargets();
+
// Within that set of targets, fail if there is a target
// with the same name and that target doesn't
// have the same id.
- for (Iterator i = brotherTargets.iterator(); i.hasNext();) {
- PingTarget brother = (PingTarget) i.next();
- // Fail if it has the same name but not the same id.
- if (brother.getName().equals(name) &&
- (id == null || !brother.getId().equals(id))) {
+ for (PingTarget brother : brotherTargets) {
+ if (brother.getName().equals(name) &&
+ (id == null || !brother.getId().equals(id))) {
return false;
}
}
@@ -172,18 +149,10 @@ public class JPAPingTargetManagerImpl im
}
}
- public List getCommonPingTargets()
- throws WebloggerException {
- Query q = strategy.getNamedQuery(
- "PingTarget.getByWebsiteNullOrderByName");
- return q.getResultList();
- }
-
- public List getCustomPingTargets(Weblog website)
+ public List<PingTarget> getCommonPingTargets()
throws WebloggerException {
Query q = strategy.getNamedQuery(
- "PingTarget.getByWebsiteOrderByName");
- q.setParameter(1, website);
+ "PingTarget.getPingTargetsOrderByName");
return q.getResultList();
}
Modified: roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/business/jpa/JPAPropertiesManagerImpl.java
URL: http://svn.apache.org/viewvc/roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/business/jpa/JPAPropertiesManagerImpl.java?rev=1588757&r1=1588756&r2=1588757&view=diff
==============================================================================
--- roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/business/jpa/JPAPropertiesManagerImpl.java (original)
+++ roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/business/jpa/JPAPropertiesManagerImpl.java Sun Apr 20 13:38:51 2014
@@ -19,7 +19,6 @@
package org.apache.roller.weblogger.business.jpa;
import java.util.HashMap;
-import java.util.Iterator;
import java.util.List;
import java.util.Map;
@@ -35,7 +34,6 @@ import org.apache.roller.weblogger.confi
import org.apache.roller.weblogger.config.runtime.PropertyDef;
import org.apache.roller.weblogger.config.runtime.RuntimeConfigDefs;
import org.apache.roller.weblogger.pojos.RuntimeConfigProperty;
-import org.apache.roller.weblogger.business.Weblogger;
/*
@@ -58,7 +56,7 @@ public class JPAPropertiesManagerImpl im
* Creates a new instance of JPAPropertiesManagerImpl
*/
@com.google.inject.Inject
- protected JPAPropertiesManagerImpl(Weblogger roller, JPAPersistenceStrategy strategy) {
+ protected JPAPropertiesManagerImpl(JPAPersistenceStrategy strategy) {
log.debug("Instantiating JPA Properties Manager");
this.strategy = strategy;
}
@@ -69,13 +67,16 @@ public class JPAPropertiesManagerImpl im
*/
public void initialize() throws InitializationException {
- Map props = null;
+ Map<String, RuntimeConfigProperty> props;
try {
+ // retrieve properties from database
props = this.getProperties();
- initializeMissingProps(props);
- // save our changes
+ // if any default props missing from the properties DB table,
+ // initialize them and save them to that table.
+ initializeMissingProps(props);
this.saveProperties(props);
+
} catch (Exception e) {
log.fatal("Failed to initialize runtime configuration properties."+
"Please check that the database has been upgraded!", e);
@@ -101,23 +102,19 @@ public class JPAPropertiesManagerImpl im
* uses the property name as the key and the RuntimeConfigProperty object
* as the value.
*/
- public Map getProperties() throws WebloggerException {
+ public Map<String, RuntimeConfigProperty> getProperties() throws WebloggerException {
- HashMap props = new HashMap();
- List list = (List) strategy.getNamedQuery("RuntimeConfigProperty.getAll").getResultList();
+ HashMap<String, RuntimeConfigProperty> props = new HashMap<String, RuntimeConfigProperty>();
+ List<RuntimeConfigProperty> list = strategy.getNamedQuery("RuntimeConfigProperty.getAll").getResultList();
/*
* for convenience sake we are going to put the list of props
* into a map for users to access it. The value element of the
* hash still needs to be the RuntimeConfigProperty object so that
* we can save the elements again after they have been updated
*/
- RuntimeConfigProperty prop = null;
- Iterator it = list.iterator();
- while(it.hasNext()) {
- prop = (RuntimeConfigProperty) it.next();
+ for (RuntimeConfigProperty prop : list) {
props.put(prop.getName(), prop);
}
-
return props;
}
@@ -137,9 +134,8 @@ public class JPAPropertiesManagerImpl im
public void saveProperties(Map properties) throws WebloggerException {
// just go through the list and saveProperties each property
- Iterator props = properties.values().iterator();
- while (props.hasNext()) {
- this.strategy.store((RuntimeConfigProperty) props.next());
+ for (Object prop : properties.values()) {
+ this.strategy.store(prop);
}
}
@@ -151,10 +147,10 @@ public class JPAPropertiesManagerImpl im
*
* If the Map of props is empty/null then we will initialize all properties.
**/
- private Map initializeMissingProps(Map props) {
+ private Map initializeMissingProps(Map<String, RuntimeConfigProperty> props) {
if(props == null) {
- props = new HashMap();
+ props = new HashMap<String, RuntimeConfigProperty>();
}
// start by getting our runtimeConfigDefs
@@ -166,35 +162,24 @@ public class JPAPropertiesManagerImpl im
return props;
}
- // iterator through all the definitions and add properties
+ // iterate through all the definitions and add properties
// that are not already in our props map
- ConfigDef configDef = null;
- DisplayGroup dGroup = null;
- PropertyDef propDef = null;
- Iterator defs = runtimeConfigDefs.getConfigDefs().iterator();
- while(defs.hasNext()) {
- configDef = (ConfigDef) defs.next();
-
- Iterator groups = configDef.getDisplayGroups().iterator();
- while(groups.hasNext()) {
- dGroup = (DisplayGroup) groups.next();
-
- Iterator propdefs = dGroup.getPropertyDefs().iterator();
- while(propdefs.hasNext()) {
- propDef = (PropertyDef) propdefs.next();
+
+ for (ConfigDef configDef : runtimeConfigDefs.getConfigDefs()) {
+ for (DisplayGroup dGroup : configDef.getDisplayGroups()) {
+ for (PropertyDef propDef : dGroup.getPropertyDefs()) {
// do we already have this prop? if not then add it
if(!props.containsKey(propDef.getName())) {
RuntimeConfigProperty newprop =
- new RuntimeConfigProperty(
- propDef.getName(), propDef.getDefaultValue());
+ new RuntimeConfigProperty(
+ propDef.getName(), propDef.getDefaultValue());
props.put(propDef.getName(), newprop);
- log.info("Found uninitialized property " +
- propDef.getName() +
- " ... setting value to [" +
- propDef.getDefaultValue() + "]");
+ log.info("Property " + propDef.getName() +
+ " not yet in roller_properties database table, will store with " +
+ "default value of [" + propDef.getDefaultValue() + "`]");
}
}
}
Modified: roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/business/jpa/JPARefererManagerImpl.java
URL: http://svn.apache.org/viewvc/roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/business/jpa/JPARefererManagerImpl.java?rev=1588757&r1=1588756&r2=1588757&view=diff
==============================================================================
--- roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/business/jpa/JPARefererManagerImpl.java (original)
+++ roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/business/jpa/JPARefererManagerImpl.java Sun Apr 20 13:38:51 2014
@@ -30,7 +30,7 @@ import javax.persistence.Query;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.roller.weblogger.WebloggerException;
import org.apache.roller.weblogger.business.Weblogger;
@@ -112,9 +112,8 @@ public class JPARefererManagerImpl imple
if (blacklist.length == 0) {
return;
}
- List referers = getBlackListedReferer(blacklist);
- for (Iterator iterator = referers.iterator(); iterator.hasNext();) {
- WeblogReferrer referer= (WeblogReferrer) iterator.next();
+ List<WeblogReferrer> referers = getBlackListedReferer(blacklist);
+ for (WeblogReferrer referer : referers) {
this.strategy.remove(referer);
}
}
@@ -136,9 +135,8 @@ public class JPARefererManagerImpl imple
if (blacklist.length == 0) {
return;
}
- List referers = getBlackListedReferer(website, blacklist);
- for (Iterator iterator = referers.iterator(); iterator.hasNext();) {
- WeblogReferrer referer= (WeblogReferrer) iterator.next();
+ List<WeblogReferrer> referers = getBlackListedReferer(website, blacklist);
+ for (WeblogReferrer referer : referers) {
this.strategy.remove(referer);
}
}
@@ -173,7 +171,7 @@ public class JPARefererManagerImpl imple
* @param length Maximum number of results to return (for paging)
* @return List of StatCount objects.
*/
- public List getHotWeblogs(int sinceDays, int offset, int length)
+ public List<StatCount> getHotWeblogs(int sinceDays, int offset, int length)
throws WebloggerException {
if (log.isDebugEnabled()) {
@@ -200,7 +198,7 @@ public class JPARefererManagerImpl imple
q.setParameter(1, Boolean.TRUE);
q.setParameter(2, Boolean.TRUE);
q.setParameter(3, start);
- List queryResults = (List)q.getResultList();
+ List queryResults = q.getResultList();
for (Iterator it = queryResults.iterator(); it.hasNext(); ) {
Object[] row = (Object[])it.next();
long hits = ((Number)row[0]).longValue();
@@ -258,7 +256,7 @@ public class JPARefererManagerImpl imple
* @param weblog
* @return List of type WeblogReferrer
*/
- public List getReferers(Weblog weblog) throws WebloggerException {
+ public List<WeblogReferrer> getReferers(Weblog weblog) throws WebloggerException {
Query q = strategy.getNamedQuery(
"WeblogReferrer.getByWebsiteOrderByTotalHitsDesc");
q.setParameter(1, weblog);
@@ -270,7 +268,7 @@ public class JPARefererManagerImpl imple
* @param website Web site.
* @return List of type WeblogReferrer
*/
- public List getTodaysReferers(Weblog website) throws WebloggerException {
+ public List<WeblogReferrer> getTodaysReferers(Weblog website) throws WebloggerException {
Query q = strategy.getNamedQuery(
"WeblogReferrer.getByWebsite&DayHitsGreaterZeroOrderByDayHitsDesc");
q.setParameter(1, website);
@@ -284,7 +282,7 @@ public class JPARefererManagerImpl imple
* @return List of type WeblogReferrer.
* @throws org.apache.roller.weblogger.WebloggerException
*/
- public List getReferersToDate(Weblog website, String date)
+ public List<WeblogReferrer> getReferersToDate(Weblog website, String date)
throws WebloggerException {
if (website==null) {
@@ -309,7 +307,7 @@ public class JPARefererManagerImpl imple
* @return List of WeblogReferrer objects.
* @throws org.apache.roller.weblogger.WebloggerException
*/
- public List getReferersToEntry(String entryid) throws WebloggerException {
+ public List<WeblogReferrer> getReferersToEntry(String entryid) throws WebloggerException {
if (null == entryid) {
throw new WebloggerException("entryid is null");
}
@@ -338,7 +336,7 @@ public class JPARefererManagerImpl imple
/**
* Query for collection of referers.
*/
- protected List getReferersWithSameTitle(Weblog website,
+ protected List<WeblogReferrer> getReferersWithSameTitle(Weblog website,
String requestUrl,
String title,
String excerpt)
@@ -385,7 +383,7 @@ public class JPARefererManagerImpl imple
return;
}
- Weblog weblog = null;
+ Weblog weblog;
WeblogEntry entry = null;
// lookup the weblog now
@@ -408,7 +406,7 @@ public class JPARefererManagerImpl imple
}
try {
- List matchRef = null;
+ List matchRef;
// try to find existing WeblogReferrer for referrerUrl
if (referrerUrl == null || referrerUrl.trim().length() < 8) {
@@ -423,8 +421,8 @@ public class JPARefererManagerImpl imple
matchRef = getMatchingReferers(weblog, requestUrl, referrerUrl);
// If referer was not found, try adding or leaving off 'www'
- if ( matchRef.size() == 0 ) {
- String secondTryUrl = null;
+ if (matchRef.size() == 0) {
+ String secondTryUrl;
if ( referrerUrl.startsWith("http://www") ) {
secondTryUrl = "http://"+referrerUrl.substring(11);
} else {
@@ -465,7 +463,7 @@ public class JPARefererManagerImpl imple
null,
requestUrl,
null,
- "", // Read comment above regarding Derby bug
+ "",
Boolean.FALSE,
Boolean.FALSE,
one,
@@ -578,16 +576,14 @@ public class JPARefererManagerImpl imple
// LOOP: find the referer with the highest weight
Boolean visible = Boolean.FALSE;
- List refs= getReferersWithSameTitle(
+ List<WeblogReferrer> refs= getReferersWithSameTitle(
mReferer.getWebsite(),
mReferer.getRequestUrl(),
lb.getTitle(),
lb.getExcerpt());
WeblogReferrer chosen = null;
int maxweight = 0;
- for (Iterator rdItr = refs.iterator();rdItr.hasNext();) {
- WeblogReferrer referer = (WeblogReferrer) rdItr.next();
-
+ for (WeblogReferrer referer : refs) {
int weight = referer.getRefererUrl().length();
if (referer.getRefererUrl().indexOf('#') != -1) {
weight += 100;
@@ -603,14 +599,11 @@ public class JPARefererManagerImpl imple
// replacement must be visible as well.
visible = Boolean.TRUE;
}
-
}
// LOOP: to mark all of the lower weight ones
// as duplicates
- for (Iterator rdItr = refs.iterator();rdItr.hasNext();) {
- WeblogReferrer referer = (WeblogReferrer) rdItr.next();
-
+ for (WeblogReferrer referer : refs) {
if (!referer.equals(chosen)) {
referer.setDuplicate(Boolean.TRUE);
} else {
@@ -619,8 +612,6 @@ public class JPARefererManagerImpl imple
}
saveReferer(referer);
}
-
-
}
} else {
// It is not a linkback, but store it anyway
@@ -655,14 +646,14 @@ public class JPARefererManagerImpl imple
query.executeUpdate();
}
- protected List getBlackListedReferer(String[] blacklist) throws
+ protected List<WeblogReferrer> getBlackListedReferer(String[] blacklist) throws
WebloggerException {
StringBuilder queryString = getQueryStringForBlackList(blacklist);
Query query = strategy.getDynamicQuery(queryString.toString());
- return (List) query.getResultList();
+ return query.getResultList();
}
- protected List getBlackListedReferer(Weblog website, String[] blacklist)
+ protected List<WeblogReferrer> getBlackListedReferer(Weblog website, String[] blacklist)
throws WebloggerException {
StringBuilder queryString = getQueryStringForBlackList(blacklist);
queryString.append(" AND r.website = ?1 ");
Modified: roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/business/jpa/JPAUserManagerImpl.java
URL: http://svn.apache.org/viewvc/roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/business/jpa/JPAUserManagerImpl.java?rev=1588757&r1=1588756&r2=1588757&view=diff
==============================================================================
--- roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/business/jpa/JPAUserManagerImpl.java (original)
+++ roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/business/jpa/JPAUserManagerImpl.java Sun Apr 20 13:38:51 2014
@@ -28,8 +28,7 @@ import org.apache.roller.weblogger.busin
import java.util.ArrayList;
import java.util.Date;
-import java.util.Hashtable;
-import java.util.Iterator;
+import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.TreeMap;
@@ -51,7 +50,7 @@ public class JPAUserManagerImpl implemen
private final JPAPersistenceStrategy strategy;
// cached mapping of userNames -> userIds
- private Map userNameToIdMap = new Hashtable();
+ private Map<String, String> userNameToIdMap = new HashMap<String, String>();
@com.google.inject.Inject
@@ -77,7 +76,7 @@ public class JPAUserManagerImpl implemen
// remove permissions, maintaining both sides of relationship
List<WeblogPermission> perms = getWeblogPermissions(user);
for (WeblogPermission perm : perms) {
- this.strategy.remove(perms);
+ this.strategy.remove(perm);
}
this.strategy.remove(user);
@@ -94,7 +93,7 @@ public class JPAUserManagerImpl implemen
public void addUser(User newUser) throws WebloggerException {
- if(newUser == null) {
+ if (newUser == null) {
throw new WebloggerException("cannot add null user");
}
@@ -178,7 +177,7 @@ public class JPAUserManagerImpl implemen
for (int i=0; i<params.length; i++) {
query.setParameter(i+1, params[i]);
}
- User user = null;
+ User user;
try {
user = (User)query.getSingleResult();
} catch (NoResultException e) {
@@ -194,17 +193,12 @@ public class JPAUserManagerImpl implemen
return user;
}
- public List getUsers(Weblog weblog, Boolean enabled, Date startDate,
+ public List<User> getUsers(Weblog weblog, Boolean enabled, Date startDate,
Date endDate, int offset, int length)
throws WebloggerException {
- Query query = null;
-
- // if we are doing date range then we must have an end date
- if (startDate != null && endDate == null) {
- endDate = new Date();
- }
+ Query query;
- List params = new ArrayList();
+ List<Object> params = new ArrayList<Object>();
int size = 0;
StringBuilder queryString = new StringBuilder();
StringBuilder whereClause = new StringBuilder();
@@ -212,7 +206,7 @@ public class JPAUserManagerImpl implemen
if (weblog != null) {
queryString.append("SELECT u FROM User u JOIN u.permissions p ");
params.add(size++, weblog);
- whereClause.append(" WHERE p.website = ?" + size);
+ whereClause.append(" WHERE p.website = ?").append(size);
} else {
queryString.append("SELECT u FROM User u ");
}
@@ -224,7 +218,7 @@ public class JPAUserManagerImpl implemen
whereClause.append(" AND ");
}
params.add(size++, enabled);
- whereClause.append("u.enabled = ?" + size);
+ whereClause.append("u.enabled = ?").append(size);
}
if (startDate != null) {
@@ -234,16 +228,14 @@ public class JPAUserManagerImpl implemen
whereClause.append(" AND ");
}
- // if we are doing date range then we must have an end date
- if(endDate == null) {
- endDate = new Date();
- }
Timestamp start = new Timestamp(startDate.getTime());
- Timestamp end = new Timestamp(endDate.getTime());
+ // if we are doing date range then we must have an end date
+ // TODO: why? confirm end date needed
+ Timestamp end = new Timestamp(endDate != null ? endDate.getTime() : new Date().getTime());
params.add(size++, start);
- whereClause.append("u.dateCreated > ?" + size);
+ whereClause.append("u.dateCreated > ?").append(size);
params.add(size++, end);
- whereClause.append(" AND u.dateCreated < ?" + size);
+ whereClause.append(" AND u.dateCreated < ?").append(size);
}
whereClause.append(" ORDER BY u.dateCreated DESC");
query = strategy.getDynamicQuery(queryString.toString() + whereClause.toString());
@@ -261,33 +253,27 @@ public class JPAUserManagerImpl implemen
}
- public List getUsers(int offset, int length) throws WebloggerException {
+ public List<User> getUsers(int offset, int length) throws WebloggerException {
return getUsers(Boolean.TRUE, null, null, offset, length);
}
- public List getUsers(Boolean enabled, Date startDate, Date endDate,
+ public List<User> getUsers(Boolean enabled, Date startDate, Date endDate,
int offset, int length)
throws WebloggerException {
- Query query = null;
- List results = null;
- boolean setRange = offset != 0 || length != -1;
+ Query query;
+
+ Timestamp end = new Timestamp(endDate != null ? endDate.getTime() : new Date().getTime());
- if (endDate == null) {
- endDate = new Date();
- }
-
if (enabled != null) {
if (startDate != null) {
Timestamp start = new Timestamp(startDate.getTime());
- Timestamp end = new Timestamp(endDate.getTime());
query = strategy.getNamedQuery(
"User.getByEnabled&EndDate&StartDateOrderByStartDateDesc");
query.setParameter(1, enabled);
query.setParameter(2, end);
query.setParameter(3, start);
} else {
- Timestamp end = new Timestamp(endDate.getTime());
query = strategy.getNamedQuery(
"User.getByEnabled&EndDateOrderByStartDateDesc");
query.setParameter(1, enabled);
@@ -296,13 +282,11 @@ public class JPAUserManagerImpl implemen
} else {
if (startDate != null) {
Timestamp start = new Timestamp(startDate.getTime());
- Timestamp end = new Timestamp(endDate.getTime());
query = strategy.getNamedQuery(
"User.getByEndDate&StartDateOrderByStartDateDesc");
query.setParameter(1, end);
query.setParameter(2, start);
} else {
- Timestamp end = new Timestamp(endDate.getTime());
query = strategy.getNamedQuery(
"User.getByEndDateOrderByStartDateDesc");
query.setParameter(1, end);
@@ -321,12 +305,8 @@ public class JPAUserManagerImpl implemen
/**
* Get users of a website
*/
- public List getUsers(Weblog website, Boolean enabled, int offset, int length) throws WebloggerException {
- Query query = null;
-
- if (length == -1) {
- length = Integer.MAX_VALUE - offset;
- }
+ public List<User> getUsers(Weblog website, Boolean enabled, int offset, int length) throws WebloggerException {
+ Query query;
if (enabled != null) {
if (website != null) {
@@ -355,9 +335,9 @@ public class JPAUserManagerImpl implemen
}
- public List getUsersStartingWith(String startsWith, Boolean enabled,
+ public List<User> getUsersStartingWith(String startsWith, Boolean enabled,
int offset, int length) throws WebloggerException {
- Query query = null;
+ Query query;
if (enabled != null) {
if (startsWith != null) {
@@ -472,7 +452,7 @@ public class JPAUserManagerImpl implemen
for (int i = 0; i < params.length; i++) {
query.setParameter(i + 1, params[i]);
}
- User user = null;
+ User user;
try {
user = (User) query.getSingleResult();
} catch (NoResultException e) {
@@ -648,7 +628,7 @@ public class JPAUserManagerImpl implemen
Query q = strategy.getNamedQuery("WeblogPermission.getByUserName&WeblogIdIncludingPending");
q.setParameter(1, user.getUserName());
q.setParameter(2, weblog.getHandle());
- WeblogPermission existingPerm = null;
+ WeblogPermission existingPerm;
try {
existingPerm = (WeblogPermission)q.getSingleResult();
@@ -667,7 +647,7 @@ public class JPAUserManagerImpl implemen
Query q = strategy.getNamedQuery("WeblogPermission.getByUserName&WeblogIdIncludingPending");
q.setParameter(1, user.getUserName());
q.setParameter(2, weblog.getHandle());
- WeblogPermission existingPerm = null;
+ WeblogPermission existingPerm;
try {
existingPerm = (WeblogPermission)q.getSingleResult();
} catch (NoResultException ignored) {
@@ -684,7 +664,7 @@ public class JPAUserManagerImpl implemen
Query q = strategy.getNamedQuery("WeblogPermission.getByUserName&WeblogIdIncludingPending");
q.setParameter(1, user.getUserName());
q.setParameter(2, weblog.getHandle());
- WeblogPermission oldperm = null;
+ WeblogPermission oldperm;
try {
oldperm = (WeblogPermission)q.getSingleResult();
} catch (NoResultException ignored) {
@@ -759,13 +739,13 @@ public class JPAUserManagerImpl implemen
public List<String> getRoles(User user) throws WebloggerException {
Query q = strategy.getNamedQuery("UserRole.getByUserName");
q.setParameter(1, user.getUserName());
- List roles = q.getResultList();
+ List<UserRole> roles = q.getResultList();
List<String> roleNames = new ArrayList<String>();
- for (Iterator it = roles.iterator(); it.hasNext();) {
- UserRole userRole = (UserRole)it.next();
- roleNames.add(userRole.getRole());
+ if (roles != null) {
+ for (UserRole userRole : roles) {
+ roleNames.add(userRole.getRole());
+ }
}
-
return roleNames;
}