Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRyan D. Brooks2013-11-27 21:00:47 +0000
committerGerrit Code Review @ Eclipse.org2013-12-04 15:34:50 +0000
commitb0350ac9f7bcb8645573caf150c1b573c0c4f844 (patch)
tree1422f6c506812b1c474e44be29dd2eadb450315f /plugins/org.eclipse.osee.framework.database
parentb982d9743c6175cde634c1ea90bd843ad2b2765d (diff)
downloadorg.eclipse.osee-b0350ac9f7bcb8645573caf150c1b573c0c4f844.tar.gz
org.eclipse.osee-b0350ac9f7bcb8645573caf150c1b573c0c4f844.tar.xz
org.eclipse.osee-b0350ac9f7bcb8645573caf150c1b573c0c4f844.zip
refinement: Add support for IQueryProcessor in database service
Diffstat (limited to 'plugins/org.eclipse.osee.framework.database')
-rw-r--r--plugins/org.eclipse.osee.framework.database/src/org/eclipse/osee/framework/database/DatabaseService.java2
-rw-r--r--plugins/org.eclipse.osee.framework.database/src/org/eclipse/osee/framework/database/IQueryProcessor.java22
-rw-r--r--plugins/org.eclipse.osee.framework.database/src/org/eclipse/osee/framework/database/internal/core/OseeDatabaseServiceImpl.java15
-rw-r--r--plugins/org.eclipse.osee.framework.database/src/org/eclipse/osee/framework/database/internal/core/OseeDatabaseServiceProxy.java9
4 files changed, 46 insertions, 2 deletions
diff --git a/plugins/org.eclipse.osee.framework.database/src/org/eclipse/osee/framework/database/DatabaseService.java b/plugins/org.eclipse.osee.framework.database/src/org/eclipse/osee/framework/database/DatabaseService.java
index fd657b493a1..9954ce1cdd8 100644
--- a/plugins/org.eclipse.osee.framework.database/src/org/eclipse/osee/framework/database/DatabaseService.java
+++ b/plugins/org.eclipse.osee.framework.database/src/org/eclipse/osee/framework/database/DatabaseService.java
@@ -46,6 +46,8 @@ public interface DatabaseService {
<T, O extends Object> T runPreparedQueryFetchObject(OseeConnection connection, T defaultValue, String query, O... data) throws OseeCoreException;
+ void runQuery(IQueryProcessor processor, String query, Object... data);
+
boolean isProduction() throws OseeCoreException;
Map<String, String> getStatistics() throws OseeCoreException;
diff --git a/plugins/org.eclipse.osee.framework.database/src/org/eclipse/osee/framework/database/IQueryProcessor.java b/plugins/org.eclipse.osee.framework.database/src/org/eclipse/osee/framework/database/IQueryProcessor.java
new file mode 100644
index 00000000000..42f2a0d8756
--- /dev/null
+++ b/plugins/org.eclipse.osee.framework.database/src/org/eclipse/osee/framework/database/IQueryProcessor.java
@@ -0,0 +1,22 @@
+/*******************************************************************************
+ * Copyright (c) 2013 Boeing.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Boeing - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.osee.framework.database;
+
+import org.eclipse.osee.framework.database.core.IOseeStatement;
+
+/**
+ * @author Donald G. Dunne
+ */
+public interface IQueryProcessor {
+
+ void processNext(IOseeStatement chStmt);
+
+} \ No newline at end of file
diff --git a/plugins/org.eclipse.osee.framework.database/src/org/eclipse/osee/framework/database/internal/core/OseeDatabaseServiceImpl.java b/plugins/org.eclipse.osee.framework.database/src/org/eclipse/osee/framework/database/internal/core/OseeDatabaseServiceImpl.java
index 1cc737851b4..406b8bf7eec 100644
--- a/plugins/org.eclipse.osee.framework.database/src/org/eclipse/osee/framework/database/internal/core/OseeDatabaseServiceImpl.java
+++ b/plugins/org.eclipse.osee.framework.database/src/org/eclipse/osee/framework/database/internal/core/OseeDatabaseServiceImpl.java
@@ -17,6 +17,7 @@ import java.util.logging.Level;
import org.eclipse.osee.framework.core.data.IDatabaseInfo;
import org.eclipse.osee.framework.core.exception.OseeExceptions;
import org.eclipse.osee.framework.database.DatabaseService;
+import org.eclipse.osee.framework.database.IQueryProcessor;
import org.eclipse.osee.framework.database.core.IOseeStatement;
import org.eclipse.osee.framework.database.core.OseeConnection;
import org.eclipse.osee.framework.jdk.core.type.OseeCoreException;
@@ -191,4 +192,16 @@ public class OseeDatabaseServiceImpl implements DatabaseService {
return connectionProvider.getStatistics();
}
-}
+ @Override
+ public void runQuery(IQueryProcessor processor, String query, Object... data) {
+ IOseeStatement chStmt = getStatement();
+ try {
+ chStmt.runPreparedQuery(query, data);
+ while (chStmt.next()) {
+ processor.processNext(chStmt);
+ }
+ } finally {
+ chStmt.close();
+ }
+ }
+} \ No newline at end of file
diff --git a/plugins/org.eclipse.osee.framework.database/src/org/eclipse/osee/framework/database/internal/core/OseeDatabaseServiceProxy.java b/plugins/org.eclipse.osee.framework.database/src/org/eclipse/osee/framework/database/internal/core/OseeDatabaseServiceProxy.java
index 2dea94687de..e82be2d4de3 100644
--- a/plugins/org.eclipse.osee.framework.database/src/org/eclipse/osee/framework/database/internal/core/OseeDatabaseServiceProxy.java
+++ b/plugins/org.eclipse.osee.framework.database/src/org/eclipse/osee/framework/database/internal/core/OseeDatabaseServiceProxy.java
@@ -17,6 +17,7 @@ import org.eclipse.osee.framework.core.data.IDatabaseInfo;
import org.eclipse.osee.framework.core.exception.OseeDataStoreException;
import org.eclipse.osee.framework.database.DatabaseService;
import org.eclipse.osee.framework.database.IOseeDatabaseService;
+import org.eclipse.osee.framework.database.IQueryProcessor;
import org.eclipse.osee.framework.database.core.IConnectionFactory;
import org.eclipse.osee.framework.database.core.IDatabaseInfoProvider;
import org.eclipse.osee.framework.database.core.IOseeSequence;
@@ -175,4 +176,10 @@ public class OseeDatabaseServiceProxy implements IOseeDatabaseService {
checkInitialized();
return getDatabaseService().getStatistics();
}
-}
+
+ @Override
+ public void runQuery(IQueryProcessor processor, String query, Object... data) {
+ checkInitialized();
+ getDatabaseService().runQuery(processor, query, data);
+ }
+} \ No newline at end of file

Back to the top