diff options
author | Ryan D. Brooks | 2013-11-27 21:00:47 +0000 |
---|---|---|
committer | Gerrit Code Review @ Eclipse.org | 2013-12-04 15:34:50 +0000 |
commit | b0350ac9f7bcb8645573caf150c1b573c0c4f844 (patch) | |
tree | 1422f6c506812b1c474e44be29dd2eadb450315f /plugins/org.eclipse.osee.framework.database | |
parent | b982d9743c6175cde634c1ea90bd843ad2b2765d (diff) | |
download | org.eclipse.osee-b0350ac9f7bcb8645573caf150c1b573c0c4f844.tar.gz org.eclipse.osee-b0350ac9f7bcb8645573caf150c1b573c0c4f844.tar.xz org.eclipse.osee-b0350ac9f7bcb8645573caf150c1b573c0c4f844.zip |
refinement: Add support for IQueryProcessor in database service
Change-Id: I7856f661efe81fc38cbbbc2aca665113e8466340
Diffstat (limited to 'plugins/org.eclipse.osee.framework.database')
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 |