From 5cf9d1423707a7ad653480ff69a2450a82013e41 Mon Sep 17 00:00:00 2001
From: Rob Bygrave
Date: Thu, 17 Nov 2016 19:21:17 +1300
Subject: [PATCH] no effective change - format only
---
.../server/core/BasicTypeConverter.java | 2 +-
.../core/CObjectGraphNodeStatistics.java | 8 +-
.../server/core/DatabasePlatformFactory.java | 52 ++--
.../core/DefaultBackgroundExecutor.java | 38 +--
.../server/core/DefaultCallableSql.java | 8 +-
.../server/core/DefaultContainer.java | 6 +-
.../server/core/DefaultMetaInfoManager.java | 24 +-
.../server/core/DefaultServer.java | 98 ++++--
.../server/core/DefaultSqlUpdate.java | 291 +++++++-----------
.../ebeaninternal/server/core/DiffHelp.java | 6 +-
.../server/core/InternString.java | 48 +--
.../ebeaninternal/server/core/Message.java | 90 +++---
.../server/core/PersistRequest.java | 128 ++++----
.../server/core/PersistRequestBean.java | 1 +
.../core/PersistRequestCallableSql.java | 193 ++++++------
.../server/core/PersistRequestOrmUpdate.java | 164 +++++-----
.../ebeaninternal/server/core/Persister.java | 6 +-
.../server/core/RelationalQueryRequest.java | 3 +-
.../server/core/ServletContextListener.java | 25 +-
.../server/core/TransWrapper.java | 58 ++--
.../core/bootup/BootupClassPathSearch.java | 3 +-
.../server/core/bootup/ManifestReader.java | 4 +-
.../ebeaninternal/server/core/package.html | 6 +-
.../core/timezone/CloneDataTimeZone.java | 2 +-
.../ebeaninternal/server/el/ElFilter.java | 6 +-
.../server/el/ElMatchBuilder.java | 2 +-
26 files changed, 623 insertions(+), 649 deletions(-)
diff --git a/src/main/java/com/avaje/ebeaninternal/server/core/BasicTypeConverter.java b/src/main/java/com/avaje/ebeaninternal/server/core/BasicTypeConverter.java
index d98ad3f65..fa83a4764 100644
--- a/src/main/java/com/avaje/ebeaninternal/server/core/BasicTypeConverter.java
+++ b/src/main/java/com/avaje/ebeaninternal/server/core/BasicTypeConverter.java
@@ -151,7 +151,7 @@ public final class BasicTypeConverter implements Serializable {
return (Boolean) value;
}
if (value instanceof Number) {
- return ((Number)value).intValue() == 1;
+ return ((Number) value).intValue() == 1;
}
String s = value.toString();
return s.equalsIgnoreCase(dbTrueValue);
diff --git a/src/main/java/com/avaje/ebeaninternal/server/core/CObjectGraphNodeStatistics.java b/src/main/java/com/avaje/ebeaninternal/server/core/CObjectGraphNodeStatistics.java
index 96fe96d6a..41349515d 100644
--- a/src/main/java/com/avaje/ebeaninternal/server/core/CObjectGraphNodeStatistics.java
+++ b/src/main/java/com/avaje/ebeaninternal/server/core/CObjectGraphNodeStatistics.java
@@ -1,11 +1,11 @@
package com.avaje.ebeaninternal.server.core;
+import com.avaje.ebean.bean.ObjectGraphNode;
+import com.avaje.ebean.meta.MetaObjectGraphNodeStats;
+
import java.util.concurrent.atomic.AtomicLong;
import java.util.concurrent.atomic.LongAdder;
-import com.avaje.ebean.meta.*;
-import com.avaje.ebean.bean.ObjectGraphNode;
-
/**
* Helper to collect the query execution statistics for a given node.
*/
@@ -34,7 +34,7 @@ public class CObjectGraphNodeStatistics {
public MetaObjectGraphNodeStats get(boolean reset) {
if (reset) {
return new Snapshot(node, startTime.getAndSet(System.currentTimeMillis()), count.sumThenReset(),
- totalTime.sumThenReset(), totalBeans.sumThenReset());
+ totalTime.sumThenReset(), totalBeans.sumThenReset());
} else {
return new Snapshot(node, startTime.get(), count.sum(), totalTime.sum(), totalBeans.sum());
}
diff --git a/src/main/java/com/avaje/ebeaninternal/server/core/DatabasePlatformFactory.java b/src/main/java/com/avaje/ebeaninternal/server/core/DatabasePlatformFactory.java
index 49c5cac20..d882208b1 100644
--- a/src/main/java/com/avaje/ebeaninternal/server/core/DatabasePlatformFactory.java
+++ b/src/main/java/com/avaje/ebeaninternal/server/core/DatabasePlatformFactory.java
@@ -1,18 +1,28 @@
package com.avaje.ebeaninternal.server.core;
-import java.sql.Connection;
-import java.sql.DatabaseMetaData;
-import java.sql.SQLException;
-
-import javax.persistence.PersistenceException;
-import javax.sql.DataSource;
-
import com.avaje.ebean.config.ServerConfig;
-import com.avaje.ebean.config.dbplatform.*;
+import com.avaje.ebean.config.dbplatform.DB2Platform;
+import com.avaje.ebean.config.dbplatform.DatabasePlatform;
+import com.avaje.ebean.config.dbplatform.H2Platform;
+import com.avaje.ebean.config.dbplatform.HsqldbPlatform;
+import com.avaje.ebean.config.dbplatform.MsSqlServer2000Platform;
+import com.avaje.ebean.config.dbplatform.MsSqlServer2005Platform;
+import com.avaje.ebean.config.dbplatform.MySqlPlatform;
+import com.avaje.ebean.config.dbplatform.OraclePlatform;
+import com.avaje.ebean.config.dbplatform.Postgres8Platform;
+import com.avaje.ebean.config.dbplatform.PostgresPlatform;
+import com.avaje.ebean.config.dbplatform.SQLitePlatform;
+import com.avaje.ebean.config.dbplatform.SqlAnywherePlatform;
import com.avaje.ebean.dbmigration.DbOffline;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import javax.persistence.PersistenceException;
+import javax.sql.DataSource;
+import java.sql.Connection;
+import java.sql.DatabaseMetaData;
+import java.sql.SQLException;
+
/**
* Create a DatabasePlatform from the configuration.
*
@@ -135,37 +145,29 @@ public class DatabasePlatformFactory {
if (dbProductName.contains("oracle")) {
return new OraclePlatform();
- }
- else if (dbProductName.contains("microsoft")) {
+ } else if (dbProductName.contains("microsoft")) {
if (majorVersion > 8) {
return new MsSqlServer2005Platform();
} else {
return new MsSqlServer2000Platform();
}
- }
- else if (dbProductName.contains("mysql")) {
+ } else if (dbProductName.contains("mysql")) {
return new MySqlPlatform();
- }
- else if (dbProductName.contains("h2")) {
+ } else if (dbProductName.contains("h2")) {
return new H2Platform();
- }
- else if (dbProductName.contains("hsql database engine")) {
+ } else if (dbProductName.contains("hsql database engine")) {
return new HsqldbPlatform();
- }
- else if (dbProductName.contains("postgres")) {
+ } else if (dbProductName.contains("postgres")) {
return new PostgresPlatform();
- }
- else if (dbProductName.contains("sqlite")) {
+ } else if (dbProductName.contains("sqlite")) {
return new SQLitePlatform();
- }
- else if (dbProductName.contains("db2")) {
+ } else if (dbProductName.contains("db2")) {
return new DB2Platform();
- }
- else if (dbProductName.contains("sql anywhere")) {
+ } else if (dbProductName.contains("sql anywhere")) {
return new SqlAnywherePlatform();
}
- // use the standard one
+ // use the standard one
return new DatabasePlatform();
}
}
diff --git a/src/main/java/com/avaje/ebeaninternal/server/core/DefaultBackgroundExecutor.java b/src/main/java/com/avaje/ebeaninternal/server/core/DefaultBackgroundExecutor.java
index e71bc42ef..f32a3d512 100644
--- a/src/main/java/com/avaje/ebeaninternal/server/core/DefaultBackgroundExecutor.java
+++ b/src/main/java/com/avaje/ebeaninternal/server/core/DefaultBackgroundExecutor.java
@@ -11,32 +11,32 @@ import java.util.concurrent.TimeUnit;
*/
public class DefaultBackgroundExecutor implements SpiBackgroundExecutor {
- private final DaemonScheduleThreadPool schedulePool;
+ private final DaemonScheduleThreadPool schedulePool;
private final DaemonExecutorService pool;
/**
* Construct the default implementation of BackgroundExecutor.
*/
- public DefaultBackgroundExecutor(int schedulePoolSize, int shutdownWaitSeconds, String namePrefix) {
- this.pool = new DaemonExecutorService(shutdownWaitSeconds, namePrefix);
- this.schedulePool = new DaemonScheduleThreadPool(schedulePoolSize, shutdownWaitSeconds, namePrefix+"-periodic-");
- }
+ public DefaultBackgroundExecutor(int schedulePoolSize, int shutdownWaitSeconds, String namePrefix) {
+ this.pool = new DaemonExecutorService(shutdownWaitSeconds, namePrefix);
+ this.schedulePool = new DaemonScheduleThreadPool(schedulePoolSize, shutdownWaitSeconds, namePrefix + "-periodic-");
+ }
- /**
- * Execute a Runnable using a background thread.
- */
- public void execute(Runnable r) {
- pool.execute(r);
- }
+ /**
+ * Execute a Runnable using a background thread.
+ */
+ public void execute(Runnable r) {
+ pool.execute(r);
+ }
- public void executePeriodically(Runnable r, long delay, TimeUnit unit) {
- schedulePool.scheduleWithFixedDelay(r, delay, delay, unit);
- }
+ public void executePeriodically(Runnable r, long delay, TimeUnit unit) {
+ schedulePool.scheduleWithFixedDelay(r, delay, delay, unit);
+ }
+
+ public void shutdown() {
+ pool.shutdown();
+ schedulePool.shutdown();
+ }
- public void shutdown() {
- pool.shutdown();
- schedulePool.shutdown();
- }
-
}
diff --git a/src/main/java/com/avaje/ebeaninternal/server/core/DefaultCallableSql.java b/src/main/java/com/avaje/ebeaninternal/server/core/DefaultCallableSql.java
index 85090eb8e..f74b340b6 100644
--- a/src/main/java/com/avaje/ebeaninternal/server/core/DefaultCallableSql.java
+++ b/src/main/java/com/avaje/ebeaninternal/server/core/DefaultCallableSql.java
@@ -1,9 +1,5 @@
package com.avaje.ebeaninternal.server.core;
-import java.io.Serializable;
-import java.sql.CallableStatement;
-import java.sql.SQLException;
-
import com.avaje.ebean.CallableSql;
import com.avaje.ebean.EbeanServer;
import com.avaje.ebeaninternal.api.BindParams;
@@ -11,6 +7,10 @@ import com.avaje.ebeaninternal.api.BindParams.Param;
import com.avaje.ebeaninternal.api.SpiCallableSql;
import com.avaje.ebeaninternal.api.TransactionEventTable;
+import java.io.Serializable;
+import java.sql.CallableStatement;
+import java.sql.SQLException;
+
public class DefaultCallableSql implements Serializable, SpiCallableSql {
diff --git a/src/main/java/com/avaje/ebeaninternal/server/core/DefaultContainer.java b/src/main/java/com/avaje/ebeaninternal/server/core/DefaultContainer.java
index e6c9df9dd..87f4a610e 100644
--- a/src/main/java/com/avaje/ebeaninternal/server/core/DefaultContainer.java
+++ b/src/main/java/com/avaje/ebeaninternal/server/core/DefaultContainer.java
@@ -14,8 +14,8 @@ import com.avaje.ebean.config.dbplatform.DatabasePlatform;
import com.avaje.ebean.dbmigration.DbOffline;
import com.avaje.ebeaninternal.api.SpiBackgroundExecutor;
import com.avaje.ebeaninternal.api.SpiEbeanServer;
-import com.avaje.ebeaninternal.server.cache.DefaultServerCachePlugin;
import com.avaje.ebeaninternal.server.cache.DefaultServerCacheManager;
+import com.avaje.ebeaninternal.server.cache.DefaultServerCachePlugin;
import com.avaje.ebeaninternal.server.cluster.ClusterManager;
import com.avaje.ebeaninternal.server.core.bootup.BootupClassPathSearch;
import com.avaje.ebeaninternal.server.core.bootup.BootupClasses;
@@ -286,7 +286,7 @@ public class DefaultContainer implements SpiContainer {
DataSourceFactory factory = config.service(DataSourceFactory.class);
if (factory == null) {
throw new IllegalStateException("No DataSourceFactory service implementation found in class path."
- + " Probably missing dependency to avaje-datasource?");
+ + " Probably missing dependency to avaje-datasource?");
}
DataSourceAlertFactory alertFactory = config.service(DataSourceAlertFactory.class);
@@ -306,7 +306,7 @@ public class DefaultContainer implements SpiContainer {
if (dsConfig.getListener() == null) {
String poolListener = dsConfig.getPoolListener();
if (poolListener != null) {
- dsConfig.setListener((DataSourcePoolListener)config.getClassLoadConfig().newInstance(poolListener));
+ dsConfig.setListener((DataSourcePoolListener) config.getClassLoadConfig().newInstance(poolListener));
}
}
}
diff --git a/src/main/java/com/avaje/ebeaninternal/server/core/DefaultMetaInfoManager.java b/src/main/java/com/avaje/ebeaninternal/server/core/DefaultMetaInfoManager.java
index 1e4200c7e..b0f7e9bf0 100644
--- a/src/main/java/com/avaje/ebeaninternal/server/core/DefaultMetaInfoManager.java
+++ b/src/main/java/com/avaje/ebeaninternal/server/core/DefaultMetaInfoManager.java
@@ -1,24 +1,24 @@
package com.avaje.ebeaninternal.server.core;
+import com.avaje.ebean.meta.MetaBeanInfo;
+import com.avaje.ebean.meta.MetaInfoManager;
+import com.avaje.ebean.meta.MetaObjectGraphNodeStats;
+import com.avaje.ebean.meta.MetaQueryPlanStatistic;
+
import java.util.ArrayList;
import java.util.List;
-import com.avaje.ebean.meta.MetaBeanInfo;
-import com.avaje.ebean.meta.MetaQueryPlanStatistic;
-import com.avaje.ebean.meta.MetaInfoManager;
-import com.avaje.ebean.meta.MetaObjectGraphNodeStats;
-
/**
* DefaultServer based implementation of MetaInfoManager.
*/
public class DefaultMetaInfoManager implements MetaInfoManager {
private final DefaultServer server;
-
+
public DefaultMetaInfoManager(DefaultServer server) {
this.server = server;
}
-
+
@Override
public MetaBeanInfo getMetaBeanInfo(Class> beanClass) {
return server.getBeanDescriptor(beanClass);
@@ -32,16 +32,14 @@ public class DefaultMetaInfoManager implements MetaInfoManager {
@Override
public List collectQueryPlanStatistics(boolean reset) {
-
+
List list = new ArrayList<>();
-
for (MetaBeanInfo metaBeanInfo : getMetaBeanInfoList()) {
list.addAll(metaBeanInfo.collectQueryPlanStatistics(reset));
}
-
- return list;
+ return list;
}
-
+
public List collectNodeStatistics(boolean reset) {
List list = new ArrayList<>();
@@ -55,5 +53,5 @@ public class DefaultMetaInfoManager implements MetaInfoManager {
}
return list;
}
-
+
}
diff --git a/src/main/java/com/avaje/ebeaninternal/server/core/DefaultServer.java b/src/main/java/com/avaje/ebeaninternal/server/core/DefaultServer.java
index 76c3cb0b8..5b82a9fcd 100644
--- a/src/main/java/com/avaje/ebeaninternal/server/core/DefaultServer.java
+++ b/src/main/java/com/avaje/ebeaninternal/server/core/DefaultServer.java
@@ -1,6 +1,36 @@
package com.avaje.ebeaninternal.server.core;
-import com.avaje.ebean.*;
+import com.avaje.ebean.AutoTune;
+import com.avaje.ebean.BackgroundExecutor;
+import com.avaje.ebean.BeanState;
+import com.avaje.ebean.CallableSql;
+import com.avaje.ebean.DocumentStore;
+import com.avaje.ebean.ExpressionFactory;
+import com.avaje.ebean.Filter;
+import com.avaje.ebean.FutureIds;
+import com.avaje.ebean.FutureList;
+import com.avaje.ebean.FutureRowCount;
+import com.avaje.ebean.PagedList;
+import com.avaje.ebean.PersistenceContextScope;
+import com.avaje.ebean.Query;
+import com.avaje.ebean.QueryEachConsumer;
+import com.avaje.ebean.QueryEachWhileConsumer;
+import com.avaje.ebean.QueryIterator;
+import com.avaje.ebean.RawSql;
+import com.avaje.ebean.SqlQuery;
+import com.avaje.ebean.SqlRow;
+import com.avaje.ebean.SqlUpdate;
+import com.avaje.ebean.Transaction;
+import com.avaje.ebean.TransactionCallback;
+import com.avaje.ebean.TxCallable;
+import com.avaje.ebean.TxIsolation;
+import com.avaje.ebean.TxRunnable;
+import com.avaje.ebean.TxScope;
+import com.avaje.ebean.TxType;
+import com.avaje.ebean.Update;
+import com.avaje.ebean.UpdateQuery;
+import com.avaje.ebean.ValuePair;
+import com.avaje.ebean.Version;
import com.avaje.ebean.bean.BeanCollection;
import com.avaje.ebean.bean.CallStack;
import com.avaje.ebean.bean.EntityBean;
@@ -538,7 +568,7 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
* then it will returned that object.
*
*/
- @SuppressWarnings({ "unchecked", "rawtypes" })
+ @SuppressWarnings({"unchecked", "rawtypes"})
public T getReference(Class type, Object id) {
if (id == null) {
@@ -554,13 +584,13 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
pc = t.getPersistenceContext();
Object existing = desc.contextGet(pc, id);
if (existing != null) {
- return (T)existing;
+ return (T) existing;
}
}
InheritInfo inheritInfo = desc.getInheritInfo();
if (inheritInfo == null) {
- return (T)desc.contextRef(pc, null, false, id);
+ return (T) desc.contextRef(pc, null, false, id);
}
BeanProperty idProp = desc.getIdProperty();
@@ -652,32 +682,32 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
TxType type = scope.getType();
switch (type) {
- case REQUIRED:
- return t == null;
+ case REQUIRED:
+ return t == null;
- case REQUIRES_NEW:
- return true;
+ case REQUIRES_NEW:
+ return true;
- case MANDATORY:
- if (t == null) {
- throw new PersistenceException("Transaction missing when MANDATORY");
- }
- return true;
+ case MANDATORY:
+ if (t == null) {
+ throw new PersistenceException("Transaction missing when MANDATORY");
+ }
+ return true;
- case NEVER:
- if (t != null) {
- throw new PersistenceException("Transaction exists for Transactional NEVER");
- }
- return false;
+ case NEVER:
+ if (t != null) {
+ throw new PersistenceException("Transaction exists for Transactional NEVER");
+ }
+ return false;
- case SUPPORTS:
- return false;
+ case SUPPORTS:
+ return false;
- case NOT_SUPPORTED:
- throw new RuntimeException("NOT_SUPPORTED should already be handled?");
+ case NOT_SUPPORTED:
+ throw new RuntimeException("NOT_SUPPORTED should already be handled?");
- default:
- throw new RuntimeException("Should never get here?");
+ default:
+ throw new RuntimeException("Should never get here?");
}
}
@@ -798,7 +828,7 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
*
*
* Code example:
- *
+ *
*
* <code>
* Ebean.startTransaction();
@@ -814,7 +844,7 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
* }
* </code>
*
- *
+ *
*
*/
public void endTransaction() {
@@ -862,7 +892,7 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
if (beanDescriptor == null) {
throw new PersistenceException("BeanDescriptor not found, is [" + query.getBeanType() + "] an entity bean?");
}
- return ((SpiQuery)query).validate(beanDescriptor);
+ return ((SpiQuery) query).validate(beanDescriptor);
}
public Filter filter(Class beanType) {
@@ -1056,7 +1086,7 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
if (SpiQuery.Mode.NORMAL.equals(spiQuery.getMode()) && !spiQuery.isLoadBeanCache()) {
// See if we can skip doing the fetch completely by getting the bean from the
// persistence context or the bean cache
- T bean = findIdCheckPersistenceContextAndCache(t, spiQuery, spiQuery.getId());
+ T bean = findIdCheckPersistenceContextAndCache(t, spiQuery, spiQuery.getId());
if (bean != null) {
return bean;
}
@@ -1116,7 +1146,7 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
}
}
- @SuppressWarnings({ "unchecked", "rawtypes" })
+ @SuppressWarnings({"unchecked", "rawtypes"})
public Set findSet(Query query, Transaction t) {
SpiOrmQueryRequest request = createQueryRequest(Type.SET, query, t);
@@ -1135,7 +1165,7 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
}
}
- @SuppressWarnings({ "unchecked", "rawtypes" })
+ @SuppressWarnings({"unchecked", "rawtypes"})
public Map findMap(Query query, Transaction t) {
SpiOrmQueryRequest request = createQueryRequest(Type.MAP, query, t);
@@ -1293,7 +1323,7 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
@Override
public PagedList findPagedList(Query query, Transaction transaction) {
- SpiQuery spiQuery = (SpiQuery)query;
+ SpiQuery spiQuery = (SpiQuery) query;
int maxRows = spiQuery.getMaxRows();
if (maxRows == 0) {
throw new PersistenceException("maxRows must be specified for findPagedList() query");
@@ -1445,7 +1475,7 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
throw new IllegalArgumentException("This bean is not an EntityBean?");
}
// mark the bean as dirty (so that an update will not get skipped)
- ((EntityBean)bean)._ebean_getIntercept().setDirty(true);
+ ((EntityBean) bean)._ebean_getIntercept().setDirty(true);
}
/**
@@ -1617,9 +1647,9 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
throw new IllegalArgumentException(Message.msg("bean.isnull"));
}
if (!(bean instanceof EntityBean)) {
- throw new IllegalArgumentException("Was expecting an EntityBean but got a "+bean.getClass());
+ throw new IllegalArgumentException("Was expecting an EntityBean but got a " + bean.getClass());
}
- return (EntityBean)bean;
+ return (EntityBean) bean;
}
@Override
diff --git a/src/main/java/com/avaje/ebeaninternal/server/core/DefaultSqlUpdate.java b/src/main/java/com/avaje/ebeaninternal/server/core/DefaultSqlUpdate.java
index 98357e1bc..66c025526 100644
--- a/src/main/java/com/avaje/ebeaninternal/server/core/DefaultSqlUpdate.java
+++ b/src/main/java/com/avaje/ebeaninternal/server/core/DefaultSqlUpdate.java
@@ -1,7 +1,5 @@
package com.avaje.ebeaninternal.server.core;
-import java.io.Serializable;
-
import com.avaje.ebean.Ebean;
import com.avaje.ebean.EbeanServer;
import com.avaje.ebean.SqlUpdate;
@@ -9,6 +7,8 @@ import com.avaje.ebean.Update;
import com.avaje.ebeaninternal.api.BindParams;
import com.avaje.ebeaninternal.api.SpiSqlUpdate;
+import java.io.Serializable;
+
/**
* A SQL Update Delete or Insert statement that can be executed. For the times
* when you want to use Sql DML rather than a ORM bean approach. Refer to the
@@ -21,159 +21,104 @@ import com.avaje.ebeaninternal.api.SpiSqlUpdate;
* SqlUpdate is designed for general DML sql and CallableSql is
* designed for use with stored procedures.
*
- *
- *
- * // String sql = "update f_topic set post_count = :count where id = :topicId";
- *
- * SqlUpdate update = new SqlUpdate(sql);
- * update.setParameter("count", 1);
- * update.setParameter("topicId", 50);
- *
- * int modifiedCount = Ebean.execute(update);
- *
- *
- *
- * Note that when the SqlUpdate is executed via Ebean.execute() the sql is
- * parsed to determine if it is an update, delete or insert. In addition the
- * table modified is deduced. If isAutoTableMod() is true, then this
- * is then added to the TransactionEvent and cache invalidation etc is
- * maintained. This means you don't need to use the Ebean.externalModification()
- * method as this has already been done.
- *
- *
- * You can sql.setAutoTableMod(false); to stop the automatic table modification
- *
- *
- * EXAMPLE: Using JDBC batching with SqlUpdate
- *
- *
- *
- * String data = "This is a simple test of the batch processing"
- * + " mode and the transaction execute batch method";
- *
- * String[] da = data.split(" ");
- *
- * String sql = "insert into junk (word) values (?)";
- *
- * SqlUpdate sqlUpdate = Ebean.createSqlUpdate(sql);
- *
- * Transaction t = Ebean.beginTransaction();
- * t.setBatchMode(true);
- * t.setBatchSize(3);
- * try {
- * for (int i = 0; i < da.length; i++) {
- *
- * sqlUpdate.setParameter(1, da[i]);
- * sqlUpdate.execute();
- * }
- *
- * // NB: commit implicitly flushes the batch
- * Ebean.commitTransaction();
- *
- * } finally {
- * Ebean.endTransaction();
- * }
- *
- * @see com.avaje.ebean.CallableSql
- * @see com.avaje.ebean.Ebean#execute(SqlUpdate)
*/
public final class DefaultSqlUpdate implements Serializable, SpiSqlUpdate {
- private static final long serialVersionUID = -6493829438421253102L;
+ private static final long serialVersionUID = -6493829438421253102L;
- private transient final EbeanServer server;
+ private transient final EbeanServer server;
- /**
- * The parameters used to bind to the sql.
- */
- private final BindParams bindParams;
+ /**
+ * The parameters used to bind to the sql.
+ */
+ private final BindParams bindParams;
- /**
- * The sql update or delete statement.
- */
- private final String sql;
+ /**
+ * The sql update or delete statement.
+ */
+ private final String sql;
/**
* The actual sql with named parameters converted.
*/
private String generatedSql;
- /**
- * Some descriptive text that can be put into the transaction log.
- */
- private String label = "";
+ /**
+ * Some descriptive text that can be put into the transaction log.
+ */
+ private String label = "";
- /**
- * The statement execution timeout.
- */
- private int timeout;
+ /**
+ * The statement execution timeout.
+ */
+ private int timeout;
- /**
- * Automatically detect the table being modified by this sql. This will
- * register this information so that eBean invalidates cached objects if
- * required.
- */
- private boolean isAutoTableMod = true;
+ /**
+ * Automatically detect the table being modified by this sql. This will
+ * register this information so that eBean invalidates cached objects if
+ * required.
+ */
+ private boolean isAutoTableMod = true;
- /**
- * Helper to add positioned parameters in order.
- */
- private int addPos;
+ /**
+ * Helper to add positioned parameters in order.
+ */
+ private int addPos;
- /**
- * Create with server sql and bindParams object.
- *
- * Useful if you are building the sql and binding parameters at the
- * same time.
- *
- */
- public DefaultSqlUpdate(EbeanServer server, String sql, BindParams bindParams) {
- this.server = server;
- this.sql = sql;
- this.bindParams = bindParams;
- }
-
- /**
- * Create with a specific server. This means you can use the
- * SqlUpdate.execute() method.
- */
- public DefaultSqlUpdate(EbeanServer server, String sql) {
- this(server, sql, new BindParams());
- }
+ /**
+ * Create with server sql and bindParams object.
+ *
+ * Useful if you are building the sql and binding parameters at the
+ * same time.
+ *
+ */
+ public DefaultSqlUpdate(EbeanServer server, String sql, BindParams bindParams) {
+ this.server = server;
+ this.sql = sql;
+ this.bindParams = bindParams;
+ }
- /**
- * Create with some sql.
- */
- public DefaultSqlUpdate(String sql) {
- this(null, sql, new BindParams());
- }
+ /**
+ * Create with a specific server. This means you can use the
+ * SqlUpdate.execute() method.
+ */
+ public DefaultSqlUpdate(EbeanServer server, String sql) {
+ this(server, sql, new BindParams());
+ }
- public int execute() {
- if (server != null) {
- return server.execute(this);
- } else {
- // Hopefully this doesn't catch anyone out...
- return Ebean.execute(this);
- }
- }
+ /**
+ * Create with some sql.
+ */
+ public DefaultSqlUpdate(String sql) {
+ this(null, sql, new BindParams());
+ }
- public boolean isAutoTableMod() {
- return isAutoTableMod;
- }
+ public int execute() {
+ if (server != null) {
+ return server.execute(this);
+ } else {
+ // Hopefully this doesn't catch anyone out...
+ return Ebean.execute(this);
+ }
+ }
- public SqlUpdate setAutoTableMod(boolean isAutoTableMod) {
- this.isAutoTableMod = isAutoTableMod;
- return this;
- }
+ public boolean isAutoTableMod() {
+ return isAutoTableMod;
+ }
- public String getLabel() {
- return label;
- }
+ public SqlUpdate setAutoTableMod(boolean isAutoTableMod) {
+ this.isAutoTableMod = isAutoTableMod;
+ return this;
+ }
- public SqlUpdate setLabel(String label) {
- this.label = label;
- return this;
- }
+ public String getLabel() {
+ return label;
+ }
+
+ public SqlUpdate setLabel(String label) {
+ this.label = label;
+ return this;
+ }
public String getGeneratedSql() {
return generatedSql;
@@ -185,57 +130,57 @@ public final class DefaultSqlUpdate implements Serializable, SpiSqlUpdate {
}
public String getSql() {
- return sql;
- }
+ return sql;
+ }
- public int getTimeout() {
- return timeout;
- }
+ public int getTimeout() {
+ return timeout;
+ }
- public SqlUpdate setTimeout(int secs) {
- this.timeout = secs;
- return this;
- }
+ public SqlUpdate setTimeout(int secs) {
+ this.timeout = secs;
+ return this;
+ }
public void addParameter(Object value) {
setParameter(++addPos, value);
}
-
- public SqlUpdate setParameter(int position, Object value) {
- bindParams.setParameter(position, value);
- return this;
- }
- public SqlUpdate setNull(int position, int jdbcType) {
- bindParams.setNullParameter(position, jdbcType);
- return this;
- }
+ public SqlUpdate setParameter(int position, Object value) {
+ bindParams.setParameter(position, value);
+ return this;
+ }
- public SqlUpdate setNullParameter(int position, int jdbcType) {
- bindParams.setNullParameter(position, jdbcType);
- return this;
- }
+ public SqlUpdate setNull(int position, int jdbcType) {
+ bindParams.setNullParameter(position, jdbcType);
+ return this;
+ }
- public SqlUpdate setParameter(String name, Object param) {
- bindParams.setParameter(name, param);
- return this;
- }
+ public SqlUpdate setNullParameter(int position, int jdbcType) {
+ bindParams.setNullParameter(position, jdbcType);
+ return this;
+ }
- public SqlUpdate setNull(String name, int jdbcType) {
- bindParams.setNullParameter(name, jdbcType);
- return this;
- }
+ public SqlUpdate setParameter(String name, Object param) {
+ bindParams.setParameter(name, param);
+ return this;
+ }
- public SqlUpdate setNullParameter(String name, int jdbcType) {
- bindParams.setNullParameter(name, jdbcType);
- return this;
- }
+ public SqlUpdate setNull(String name, int jdbcType) {
+ bindParams.setNullParameter(name, jdbcType);
+ return this;
+ }
- /**
- * Return the bind parameters.
- */
- public BindParams getBindParams() {
- return bindParams;
- }
+ public SqlUpdate setNullParameter(String name, int jdbcType) {
+ bindParams.setNullParameter(name, jdbcType);
+ return this;
+ }
+
+ /**
+ * Return the bind parameters.
+ */
+ public BindParams getBindParams() {
+ return bindParams;
+ }
}
diff --git a/src/main/java/com/avaje/ebeaninternal/server/core/DiffHelp.java b/src/main/java/com/avaje/ebeaninternal/server/core/DiffHelp.java
index 6a237d323..0a0535dd5 100644
--- a/src/main/java/com/avaje/ebeaninternal/server/core/DiffHelp.java
+++ b/src/main/java/com/avaje/ebeaninternal/server/core/DiffHelp.java
@@ -71,7 +71,7 @@ public class DiffHelp {
iterator.remove();
} else if (beanProperty instanceof BeanPropertyAssocOne) {
- BeanPropertyAssocOne> assoc = (BeanPropertyAssocOne>)beanProperty;
+ BeanPropertyAssocOne> assoc = (BeanPropertyAssocOne>) beanProperty;
if (!assoc.isEmbedded()) {
// flatten for assoc one beans
if (flattened == null) {
@@ -95,8 +95,8 @@ public class DiffHelp {
BeanDescriptor> oneDesc = assoc.getTargetDescriptor();
ValuePair value = entry.getValue();
- Object newId = value.getNewValue() == null ? null : oneDesc.getId((EntityBean)value.getNewValue());
- Object oldId = value.getOldValue() == null ? null : oneDesc.getId((EntityBean)value.getOldValue());
+ Object newId = value.getNewValue() == null ? null : oneDesc.getId((EntityBean) value.getNewValue());
+ Object oldId = value.getOldValue() == null ? null : oneDesc.getId((EntityBean) value.getOldValue());
String propName = beanProperty.getName() + "." + oneDesc.getIdProperty().getName();
flattened.put(propName, new ValuePair(newId, oldId));
diff --git a/src/main/java/com/avaje/ebeaninternal/server/core/InternString.java b/src/main/java/com/avaje/ebeaninternal/server/core/InternString.java
index f8d6b332a..5bdcb71f0 100644
--- a/src/main/java/com/avaje/ebeaninternal/server/core/InternString.java
+++ b/src/main/java/com/avaje/ebeaninternal/server/core/InternString.java
@@ -5,33 +5,33 @@ import java.util.HashMap;
/**
* Used to reduce memory consumption of strings used in deployment processing.
*
- * Using this for now instead of String.intern() to avoid any unexpected
+ * Using this for now instead of String.intern() to avoid any unexpected
* increase in PermGen space.
*
*/
public final class InternString {
- private static final HashMap map = new HashMap<>();
-
-
- /**
- * Return the shared instance of this string.
- */
- public static String intern(String s){
-
- if (s == null){
- return null;
- }
-
- synchronized (map) {
- String v = map.get(s);
- if (v != null){
- return v;
- } else {
- map.put(s, s);
- return s;
- }
-
- }
- }
+ private static final HashMap map = new HashMap<>();
+
+
+ /**
+ * Return the shared instance of this string.
+ */
+ public static String intern(String s) {
+
+ if (s == null) {
+ return null;
+ }
+
+ synchronized (map) {
+ String v = map.get(s);
+ if (v != null) {
+ return v;
+ } else {
+ map.put(s, s);
+ return s;
+ }
+
+ }
+ }
}
diff --git a/src/main/java/com/avaje/ebeaninternal/server/core/Message.java b/src/main/java/com/avaje/ebeaninternal/server/core/Message.java
index b129864b9..d0f1edd84 100644
--- a/src/main/java/com/avaje/ebeaninternal/server/core/Message.java
+++ b/src/main/java/com/avaje/ebeaninternal/server/core/Message.java
@@ -9,56 +9,56 @@ import java.util.ResourceBundle;
*/
public class Message {
- private static final String bundle = "com.avaje.ebeaninternal.api.message";
+ private static final String bundle = "com.avaje.ebeaninternal.api.message";
- /**
- * Return a message that has a single argument.
- */
- public static String msg(String key, Object arg) {
- Object[] args = new Object[1];
- args[0] = arg;
- return MessageFormat.format(getPattern(key), args);
- }
+ /**
+ * Return a message that has a single argument.
+ */
+ public static String msg(String key, Object arg) {
+ Object[] args = new Object[1];
+ args[0] = arg;
+ return MessageFormat.format(getPattern(key), args);
+ }
- /**
- * Return a message that has a two arguments.
- */
- public static String msg(String key, Object arg, Object arg2) {
- Object[] args = new Object[2];
- args[0] = arg;
- args[1] = arg2;
- return MessageFormat.format(getPattern(key), args);
- }
+ /**
+ * Return a message that has a two arguments.
+ */
+ public static String msg(String key, Object arg, Object arg2) {
+ Object[] args = new Object[2];
+ args[0] = arg;
+ args[1] = arg2;
+ return MessageFormat.format(getPattern(key), args);
+ }
- public static String msg(String key, Object arg, Object arg2, Object arg3) {
- Object[] args = new Object[3];
- args[0] = arg;
- args[1] = arg2;
- args[2] = arg3;
- return MessageFormat.format(getPattern(key), args);
- }
+ public static String msg(String key, Object arg, Object arg2, Object arg3) {
+ Object[] args = new Object[3];
+ args[0] = arg;
+ args[1] = arg2;
+ args[2] = arg3;
+ return MessageFormat.format(getPattern(key), args);
+ }
- /**
- * Return a message that has an array of arguments.
- */
- public static String msg(String key, Object[] args) {
- return MessageFormat.format(getPattern(key), args);
- }
+ /**
+ * Return a message that has an array of arguments.
+ */
+ public static String msg(String key, Object[] args) {
+ return MessageFormat.format(getPattern(key), args);
+ }
- /**
- * Return a message that has a no arguments.
- */
- public static String msg(String key) {
- return MessageFormat.format(getPattern(key), new Object[0]);
- }
+ /**
+ * Return a message that has a no arguments.
+ */
+ public static String msg(String key) {
+ return MessageFormat.format(getPattern(key), new Object[0]);
+ }
- private static String getPattern(String key) {
- try {
- ResourceBundle myResources = ResourceBundle.getBundle(bundle);
- return myResources.getString(key);
- } catch (MissingResourceException e) {
- return "MissingResource " + bundle + ":" + key;
- }
+ private static String getPattern(String key) {
+ try {
+ ResourceBundle myResources = ResourceBundle.getBundle(bundle);
+ return myResources.getString(key);
+ } catch (MissingResourceException e) {
+ return "MissingResource " + bundle + ":" + key;
}
-
+ }
+
}
diff --git a/src/main/java/com/avaje/ebeaninternal/server/core/PersistRequest.java b/src/main/java/com/avaje/ebeaninternal/server/core/PersistRequest.java
index faa8d432b..17d9618b4 100644
--- a/src/main/java/com/avaje/ebeaninternal/server/core/PersistRequest.java
+++ b/src/main/java/com/avaje/ebeaninternal/server/core/PersistRequest.java
@@ -11,36 +11,36 @@ import com.avaje.ebeaninternal.server.persist.PersistExecute;
*/
public abstract class PersistRequest extends BeanRequest implements BatchPostExecute {
- public enum Type {
- INSERT, UPDATE, DELETE, SOFT_DELETE, DELETE_PERMANENT, UPDATESQL, CALLABLESQL
- }
+ public enum Type {
+ INSERT, UPDATE, DELETE, SOFT_DELETE, DELETE_PERMANENT, UPDATESQL, CALLABLESQL
+ }
- protected boolean persistCascade;
-
- /**
- * One of INSERT, UPDATE, DELETE, UPDATESQL or CALLABLESQL.
- */
- protected Type type;
-
- protected final PersistExecute persistExecute;
+ protected boolean persistCascade;
/**
- * Used by CallableSqlRequest and UpdateSqlRequest.
- */
- public PersistRequest(SpiEbeanServer server, SpiTransaction t, PersistExecute persistExecute) {
- super(server, t);
- this.persistExecute = persistExecute;
- }
-
- /**
- * Execute a the request or queue/batch it for later execution.
- */
- public abstract int executeOrQueue();
+ * One of INSERT, UPDATE, DELETE, UPDATESQL or CALLABLESQL.
+ */
+ protected Type type;
- /**
- * Execute the request right now.
- */
- public abstract int executeNow();
+ protected final PersistExecute persistExecute;
+
+ /**
+ * Used by CallableSqlRequest and UpdateSqlRequest.
+ */
+ public PersistRequest(SpiEbeanServer server, SpiTransaction t, PersistExecute persistExecute) {
+ super(server, t);
+ this.persistExecute = persistExecute;
+ }
+
+ /**
+ * Execute a the request or queue/batch it for later execution.
+ */
+ public abstract int executeOrQueue();
+
+ /**
+ * Execute the request right now.
+ */
+ public abstract int executeNow();
public boolean isLogSql() {
return transaction.isLogSql();
@@ -58,47 +58,47 @@ public abstract class PersistRequest extends BeanRequest implements BatchPostExe
return transaction.isBatchThisRequest(type);
}
- /**
- * Execute the statement.
- */
- public int executeStatement() {
-
- boolean batch = isBatchThisRequest();
+ /**
+ * Execute the statement.
+ */
+ public int executeStatement() {
- int rows;
- BatchControl control = transaction.getBatchControl();
- if (control != null) {
- rows = control.executeStatementOrBatch(this, batch);
-
- } else if (batch) {
- // need to create the BatchControl
- control = persistExecute.createBatchControl(transaction);
- rows = control.executeStatementOrBatch(this, true);
- } else {
- rows = executeNow();
- }
-
- return rows;
- }
+ boolean batch = isBatchThisRequest();
+
+ int rows;
+ BatchControl control = transaction.getBatchControl();
+ if (control != null) {
+ rows = control.executeStatementOrBatch(this, batch);
+
+ } else if (batch) {
+ // need to create the BatchControl
+ control = persistExecute.createBatchControl(transaction);
+ rows = control.executeStatementOrBatch(this, true);
+ } else {
+ rows = executeNow();
+ }
+
+ return rows;
+ }
public void initTransIfRequired() {
- createImplicitTransIfRequired();
- persistCascade = transaction.isPersistCascade();
- }
+ createImplicitTransIfRequired();
+ persistCascade = transaction.isPersistCascade();
+ }
- /**
- * Return the type of this request. One of INSERT, UPDATE, DELETE, UPDATESQL
- * or CALLABLESQL.
- */
- public Type getType() {
- return type;
- }
+ /**
+ * Return the type of this request. One of INSERT, UPDATE, DELETE, UPDATESQL
+ * or CALLABLESQL.
+ */
+ public Type getType() {
+ return type;
+ }
+
+ /**
+ * Return true if save and delete should cascade.
+ */
+ public boolean isPersistCascade() {
+ return persistCascade;
+ }
- /**
- * Return true if save and delete should cascade.
- */
- public boolean isPersistCascade() {
- return persistCascade;
- }
-
}
diff --git a/src/main/java/com/avaje/ebeaninternal/server/core/PersistRequestBean.java b/src/main/java/com/avaje/ebeaninternal/server/core/PersistRequestBean.java
index 71f29d6d1..23a2e910a 100644
--- a/src/main/java/com/avaje/ebeaninternal/server/core/PersistRequestBean.java
+++ b/src/main/java/com/avaje/ebeaninternal/server/core/PersistRequestBean.java
@@ -25,6 +25,7 @@ import com.avaje.ebeaninternal.server.transaction.BeanPersistIdMap;
import com.avaje.ebeanservice.docstore.api.DocStoreUpdate;
import com.avaje.ebeanservice.docstore.api.DocStoreUpdateContext;
import com.avaje.ebeanservice.docstore.api.DocStoreUpdates;
+
import javax.persistence.OptimisticLockException;
import javax.persistence.PersistenceException;
import java.io.IOException;
diff --git a/src/main/java/com/avaje/ebeaninternal/server/core/PersistRequestCallableSql.java b/src/main/java/com/avaje/ebeaninternal/server/core/PersistRequestCallableSql.java
index 9028d0949..b2db58e0b 100644
--- a/src/main/java/com/avaje/ebeaninternal/server/core/PersistRequestCallableSql.java
+++ b/src/main/java/com/avaje/ebeaninternal/server/core/PersistRequestCallableSql.java
@@ -1,9 +1,5 @@
package com.avaje.ebeaninternal.server.core;
-import java.sql.CallableStatement;
-import java.sql.SQLException;
-import java.util.List;
-
import com.avaje.ebean.CallableSql;
import com.avaje.ebeaninternal.api.BindParams;
import com.avaje.ebeaninternal.api.BindParams.Param;
@@ -13,135 +9,138 @@ import com.avaje.ebeaninternal.api.SpiTransaction;
import com.avaje.ebeaninternal.api.TransactionEventTable;
import com.avaje.ebeaninternal.server.persist.PersistExecute;
+import java.sql.CallableStatement;
+import java.sql.SQLException;
+import java.util.List;
+
/**
* Persist request specifically for CallableSql.
*/
public final class PersistRequestCallableSql extends PersistRequest {
- private final SpiCallableSql callableSql;
+ private final SpiCallableSql callableSql;
- private int rowCount;
+ private int rowCount;
- private String bindLog;
+ private String bindLog;
- private CallableStatement cstmt;
+ private CallableStatement cstmt;
- private BindParams bindParam;
+ private BindParams bindParam;
- /**
- * Create.
- */
- public PersistRequestCallableSql(SpiEbeanServer server,
- CallableSql cs, SpiTransaction t, PersistExecute persistExecute) {
+ /**
+ * Create.
+ */
+ public PersistRequestCallableSql(SpiEbeanServer server,
+ CallableSql cs, SpiTransaction t, PersistExecute persistExecute) {
- super(server, t, persistExecute);
- this.type = PersistRequest.Type.CALLABLESQL;
- this.callableSql = (SpiCallableSql)cs;
- }
+ super(server, t, persistExecute);
+ this.type = PersistRequest.Type.CALLABLESQL;
+ this.callableSql = (SpiCallableSql) cs;
+ }
- @Override
- public int executeOrQueue() {
- return executeStatement();
- }
+ @Override
+ public int executeOrQueue() {
+ return executeStatement();
+ }
- @Override
- public int executeNow() {
- return persistExecute.executeSqlCallable(this);
- }
+ @Override
+ public int executeNow() {
+ return persistExecute.executeSqlCallable(this);
+ }
- /**
- * Return the CallableSql.
- */
- public SpiCallableSql getCallableSql() {
- return callableSql;
- }
+ /**
+ * Return the CallableSql.
+ */
+ public SpiCallableSql getCallableSql() {
+ return callableSql;
+ }
- /**
- * The the log of bind values.
- */
- public void setBindLog(String bindLog) {
- this.bindLog = bindLog;
- }
+ /**
+ * The the log of bind values.
+ */
+ public void setBindLog(String bindLog) {
+ this.bindLog = bindLog;
+ }
- /**
- * Note the rowCount of the execution.
- */
- public void checkRowCount(int count) {
- this.rowCount = count;
- }
+ /**
+ * Note the rowCount of the execution.
+ */
+ public void checkRowCount(int count) {
+ this.rowCount = count;
+ }
- /**
- * Only called for insert with generated keys.
- */
- public void setGeneratedKey(Object idValue) {
- }
+ /**
+ * Only called for insert with generated keys.
+ */
+ public void setGeneratedKey(Object idValue) {
+ }
- /**
- * Perform post execute processing for the CallableSql.
- */
- public void postExecute() {
+ /**
+ * Perform post execute processing for the CallableSql.
+ */
+ public void postExecute() {
- if (transaction.isLogSummary()) {
- String m = "CallableSql label[" + callableSql.getLabel() + "]" + " rows[" + rowCount+ "]" + " bind[" + bindLog + "]";
- transaction.logSummary(m);
- }
+ if (transaction.isLogSummary()) {
+ String m = "CallableSql label[" + callableSql.getLabel() + "]" + " rows[" + rowCount + "]" + " bind[" + bindLog + "]";
+ transaction.logSummary(m);
+ }
- // register table modifications with the transaction event
- TransactionEventTable tableEvents = callableSql.getTransactionEventTable();
+ // register table modifications with the transaction event
+ TransactionEventTable tableEvents = callableSql.getTransactionEventTable();
- if (tableEvents != null && !tableEvents.isEmpty()) {
- transaction.getEvent().add(tableEvents);
- } else {
- transaction.markNotQueryOnly();
- }
+ if (tableEvents != null && !tableEvents.isEmpty()) {
+ transaction.getEvent().add(tableEvents);
+ } else {
+ transaction.markNotQueryOnly();
+ }
- }
+ }
- /**
- * These need to be set for use with Non-batch execution. Specifically to
- * read registered out parameters and potentially handle the
- * executeOverride() method.
- */
- public void setBound(BindParams bindParam, CallableStatement cstmt) {
- this.bindParam = bindParam;
- this.cstmt = cstmt;
- }
+ /**
+ * These need to be set for use with Non-batch execution. Specifically to
+ * read registered out parameters and potentially handle the
+ * executeOverride() method.
+ */
+ public void setBound(BindParams bindParam, CallableStatement cstmt) {
+ this.bindParam = bindParam;
+ this.cstmt = cstmt;
+ }
- /**
- * Execute the statement in normal non batch mode.
- */
- public int executeUpdate() throws SQLException {
+ /**
+ * Execute the statement in normal non batch mode.
+ */
+ public int executeUpdate() throws SQLException {
- // check to see if the execution has been overridden
- // only works in non-batch mode
- if (callableSql.executeOverride(cstmt)) {
- return -1;
- // // been overridden so just return the rowCount
- // rowCount = callableSql.getRowCount();
- // return rowCount;
- }
+ // check to see if the execution has been overridden
+ // only works in non-batch mode
+ if (callableSql.executeOverride(cstmt)) {
+ return -1;
+ // // been overridden so just return the rowCount
+ // rowCount = callableSql.getRowCount();
+ // return rowCount;
+ }
- rowCount = cstmt.executeUpdate();
+ rowCount = cstmt.executeUpdate();
- // only read in non-batch mode
- readOutParams();
+ // only read in non-batch mode
+ readOutParams();
- return rowCount;
- }
+ return rowCount;
+ }
- private void readOutParams() throws SQLException {
+ private void readOutParams() throws SQLException {
- List list = bindParam.positionedParameters();
- int pos = 0;
+ List list = bindParam.positionedParameters();
+ int pos = 0;
- for (Param aList : list) {
+ for (Param param : list) {
pos++;
- Param param = aList;
if (param.isOutParam()) {
Object outValue = cstmt.getObject(pos);
param.setOutValue(outValue);
}
}
- }
+ }
}
diff --git a/src/main/java/com/avaje/ebeaninternal/server/core/PersistRequestOrmUpdate.java b/src/main/java/com/avaje/ebeaninternal/server/core/PersistRequestOrmUpdate.java
index 78c37b9b4..70f7d099e 100644
--- a/src/main/java/com/avaje/ebeaninternal/server/core/PersistRequestOrmUpdate.java
+++ b/src/main/java/com/avaje/ebeaninternal/server/core/PersistRequestOrmUpdate.java
@@ -13,98 +13,98 @@ import com.avaje.ebeaninternal.server.persist.PersistExecute;
*/
public final class PersistRequestOrmUpdate extends PersistRequest {
- private final BeanDescriptor> beanDescriptor;
-
- private final SpiUpdate> ormUpdate;
+ private final BeanDescriptor> beanDescriptor;
- private int rowCount;
+ private final SpiUpdate> ormUpdate;
- private String bindLog;
+ private int rowCount;
- /**
- * Create.
- */
- public PersistRequestOrmUpdate(SpiEbeanServer server, BeanManager> mgr, SpiUpdate> ormUpdate,
- SpiTransaction t, PersistExecute persistExecute) {
-
- super(server, t, persistExecute);
- this.beanDescriptor = mgr.getBeanDescriptor();
- this.ormUpdate = ormUpdate;
- }
-
- public BeanDescriptor> getBeanDescriptor() {
- return beanDescriptor;
- }
-
- @Override
- public int executeNow() {
- return persistExecute.executeOrmUpdate(this);
- }
+ private String bindLog;
- @Override
- public int executeOrQueue() {
- return executeStatement();
- }
+ /**
+ * Create.
+ */
+ public PersistRequestOrmUpdate(SpiEbeanServer server, BeanManager> mgr, SpiUpdate> ormUpdate,
+ SpiTransaction t, PersistExecute persistExecute) {
+
+ super(server, t, persistExecute);
+ this.beanDescriptor = mgr.getBeanDescriptor();
+ this.ormUpdate = ormUpdate;
+ }
+
+ public BeanDescriptor> getBeanDescriptor() {
+ return beanDescriptor;
+ }
+
+ @Override
+ public int executeNow() {
+ return persistExecute.executeOrmUpdate(this);
+ }
+
+ @Override
+ public int executeOrQueue() {
+ return executeStatement();
+ }
- /**
- * Return the UpdateSql.
- */
- public SpiUpdate> getOrmUpdate() {
- return ormUpdate;
- }
+ /**
+ * Return the UpdateSql.
+ */
+ public SpiUpdate> getOrmUpdate() {
+ return ormUpdate;
+ }
- /**
- * No concurrency checking so just note the rowCount.
- */
- public void checkRowCount(int count) {
- this.rowCount = count;
- }
+ /**
+ * No concurrency checking so just note the rowCount.
+ */
+ public void checkRowCount(int count) {
+ this.rowCount = count;
+ }
- /**
- * Not called for this type of request.
- */
- public void setGeneratedKey(Object idValue) {
- }
+ /**
+ * Not called for this type of request.
+ */
+ public void setGeneratedKey(Object idValue) {
+ }
- /**
- * Set the bound values.
- */
- public void setBindLog(String bindLog) {
- this.bindLog = bindLog;
- }
+ /**
+ * Set the bound values.
+ */
+ public void setBindLog(String bindLog) {
+ this.bindLog = bindLog;
+ }
- /**
- * Perform post execute processing.
- */
- public void postExecute() {
+ /**
+ * Perform post execute processing.
+ */
+ public void postExecute() {
- OrmUpdateType ormUpdateType = ormUpdate.getOrmUpdateType();
- String tableName = ormUpdate.getBaseTable();
-
- if (transaction.isLogSummary()) {
- String m = ormUpdateType + " table[" + tableName + "] rows["+ rowCount + "] bind[" + bindLog + "]";
- transaction.logSummary(m);
- }
-
- if (ormUpdate.isNotifyCache()) {
-
- // add the modification info to the TransactionEvent
- // this is used to invalidate cached objects etc
- switch (ormUpdateType) {
- case INSERT:
- transaction.getEvent().add(tableName, true, false, false);
- break;
- case UPDATE:
- transaction.getEvent().add(tableName, false, true, false);
- break;
- case DELETE:
- transaction.getEvent().add(tableName, false, false, true);
- break;
- default:
- break;
- }
- }
- }
+ OrmUpdateType ormUpdateType = ormUpdate.getOrmUpdateType();
+ String tableName = ormUpdate.getBaseTable();
+
+ if (transaction.isLogSummary()) {
+ String m = ormUpdateType + " table[" + tableName + "] rows[" + rowCount + "] bind[" + bindLog + "]";
+ transaction.logSummary(m);
+ }
+
+ if (ormUpdate.isNotifyCache()) {
+
+ // add the modification info to the TransactionEvent
+ // this is used to invalidate cached objects etc
+ switch (ormUpdateType) {
+ case INSERT:
+ transaction.getEvent().add(tableName, true, false, false);
+ break;
+ case UPDATE:
+ transaction.getEvent().add(tableName, false, true, false);
+ break;
+ case DELETE:
+ transaction.getEvent().add(tableName, false, false, true);
+ break;
+ default:
+ break;
+ }
+ }
+ }
}
diff --git a/src/main/java/com/avaje/ebeaninternal/server/core/Persister.java b/src/main/java/com/avaje/ebeaninternal/server/core/Persister.java
index 512b62525..89797b8fe 100644
--- a/src/main/java/com/avaje/ebeaninternal/server/core/Persister.java
+++ b/src/main/java/com/avaje/ebeaninternal/server/core/Persister.java
@@ -1,8 +1,5 @@
package com.avaje.ebeaninternal.server.core;
-import java.util.Collection;
-import java.util.List;
-
import com.avaje.ebean.CallableSql;
import com.avaje.ebean.Query;
import com.avaje.ebean.SqlUpdate;
@@ -10,6 +7,9 @@ import com.avaje.ebean.Transaction;
import com.avaje.ebean.Update;
import com.avaje.ebean.bean.EntityBean;
+import java.util.Collection;
+import java.util.List;
+
/**
* API for persisting a bean.
*/
diff --git a/src/main/java/com/avaje/ebeaninternal/server/core/RelationalQueryRequest.java b/src/main/java/com/avaje/ebeaninternal/server/core/RelationalQueryRequest.java
index 95f9e6e12..37018c04b 100644
--- a/src/main/java/com/avaje/ebeaninternal/server/core/RelationalQueryRequest.java
+++ b/src/main/java/com/avaje/ebeaninternal/server/core/RelationalQueryRequest.java
@@ -218,8 +218,7 @@ public final class RelationalQueryRequest {
int firstRow = query.getFirstRow();
int maxRows = query.getMaxRows();
if (firstRow > 0 || maxRows > 0) {
- return ebeanServer.getDatabasePlatform().getBasicSqlLimiter()
- .limit(sql, firstRow, maxRows);
+ return ebeanServer.getDatabasePlatform().getBasicSqlLimiter().limit(sql, firstRow, maxRows);
}
return sql;
}
diff --git a/src/main/java/com/avaje/ebeaninternal/server/core/ServletContextListener.java b/src/main/java/com/avaje/ebeaninternal/server/core/ServletContextListener.java
index a00613e1e..f9486be50 100644
--- a/src/main/java/com/avaje/ebeaninternal/server/core/ServletContextListener.java
+++ b/src/main/java/com/avaje/ebeaninternal/server/core/ServletContextListener.java
@@ -6,7 +6,6 @@ import javax.servlet.ServletContextEvent;
/**
* Listens for webserver server starting and stopping events.
- *
*
* Register this listener in the web.xml configuration file. This will listen
* for startup and shutdown events.
@@ -14,18 +13,18 @@ import javax.servlet.ServletContextEvent;
*/
public class ServletContextListener implements javax.servlet.ServletContextListener {
- /**
- * The servlet container is stopping.
- */
- public void contextDestroyed(ServletContextEvent event) {
- ShutdownManager.shutdown();
- }
+ /**
+ * The servlet container is stopping.
+ */
+ public void contextDestroyed(ServletContextEvent event) {
+ ShutdownManager.shutdown();
+ }
- /**
- * Do nothing on startup.
- */
- public void contextInitialized(ServletContextEvent event) {
+ /**
+ * Do nothing on startup.
+ */
+ public void contextInitialized(ServletContextEvent event) {
+
+ }
- }
-
}
diff --git a/src/main/java/com/avaje/ebeaninternal/server/core/TransWrapper.java b/src/main/java/com/avaje/ebeaninternal/server/core/TransWrapper.java
index 36fb3de0f..e1cdf36ac 100644
--- a/src/main/java/com/avaje/ebeaninternal/server/core/TransWrapper.java
+++ b/src/main/java/com/avaje/ebeaninternal/server/core/TransWrapper.java
@@ -11,17 +11,17 @@ import com.avaje.ebeaninternal.api.SpiTransaction;
*/
final class TransWrapper {
- final SpiTransaction transaction;
+ final SpiTransaction transaction;
- private final boolean wasCreated;
+ private final boolean wasCreated;
- /**
- * Wrap the transaction indicating if it was just created.
- */
- TransWrapper(SpiTransaction t, boolean created) {
- transaction = t;
- wasCreated = created;
- }
+ /**
+ * Wrap the transaction indicating if it was just created.
+ */
+ TransWrapper(SpiTransaction t, boolean created) {
+ transaction = t;
+ wasCreated = created;
+ }
void batchEscalateOnCollection() {
transaction.checkBatchEscalationOnCollection();
@@ -33,24 +33,24 @@ final class TransWrapper {
}
}
- void commitIfCreated() {
- if (wasCreated){
- transaction.commit();
- }
- }
-
- void rollbackIfCreated() {
- if (wasCreated){
- transaction.rollbackIfActive();
- }
- }
-
- /**
- * Return true if the transaction was just created. If true it should be
- * committed after the request has been processed.
- */
- boolean wasCreated() {
- return wasCreated;
- }
+ void commitIfCreated() {
+ if (wasCreated) {
+ transaction.commit();
+ }
+ }
-}
\ No newline at end of file
+ void rollbackIfCreated() {
+ if (wasCreated) {
+ transaction.rollbackIfActive();
+ }
+ }
+
+ /**
+ * Return true if the transaction was just created. If true it should be
+ * committed after the request has been processed.
+ */
+ boolean wasCreated() {
+ return wasCreated;
+ }
+
+}
diff --git a/src/main/java/com/avaje/ebeaninternal/server/core/bootup/BootupClassPathSearch.java b/src/main/java/com/avaje/ebeaninternal/server/core/bootup/BootupClassPathSearch.java
index a0bd0178c..f5641eed1 100644
--- a/src/main/java/com/avaje/ebeaninternal/server/core/bootup/BootupClassPathSearch.java
+++ b/src/main/java/com/avaje/ebeaninternal/server/core/bootup/BootupClassPathSearch.java
@@ -6,7 +6,8 @@ import org.avaje.classpath.scanner.ClassPathScanner;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import java.util.*;
+import java.util.List;
+import java.util.Set;
/**
* Searches for interesting classes such as Entities, Embedded and ScalarTypes.
diff --git a/src/main/java/com/avaje/ebeaninternal/server/core/bootup/ManifestReader.java b/src/main/java/com/avaje/ebeaninternal/server/core/bootup/ManifestReader.java
index a9ce63945..3acfb8996 100644
--- a/src/main/java/com/avaje/ebeaninternal/server/core/bootup/ManifestReader.java
+++ b/src/main/java/com/avaje/ebeaninternal/server/core/bootup/ManifestReader.java
@@ -24,14 +24,14 @@ class ManifestReader {
/**
* Read the packages from ebean.mf manifest files found as resources.
*/
- static Set readManifests(ClassLoader classLoader, String resourcePath) {
+ static Set readManifests(ClassLoader classLoader, String resourcePath) {
return new ManifestReader().read(classLoader, resourcePath);
}
/**
* Read all the specific manifest files and return the set of packages containing type query beans.
*/
- private Set read(ClassLoader classLoader, String resourcePath) {
+ private Set read(ClassLoader classLoader, String resourcePath) {
try {
Enumeration resources = classLoader.getResources(resourcePath);
diff --git a/src/main/java/com/avaje/ebeaninternal/server/core/package.html b/src/main/java/com/avaje/ebeaninternal/server/core/package.html
index 77c14d3f0..a9639f8fd 100644
--- a/src/main/java/com/avaje/ebeaninternal/server/core/package.html
+++ b/src/main/java/com/avaje/ebeaninternal/server/core/package.html
@@ -1,11 +1,11 @@
-
- Core implementation objects
+
+ Core implementation objects
Core implementation objects
-
\ No newline at end of file
+