From 98fc790f9ec053d5367d7ce5851ef66d5a7ced5b Mon Sep 17 00:00:00 2001 From: Dennis Kao <ulysseskao@gmail.com> Date: Wed, 04 Dec 2013 09:33:15 +0800 Subject: [PATCH] add copyapi for theme --- xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/GeoserverIntegrateConfigJob.java | 54 +++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 53 insertions(+), 1 deletions(-) diff --git a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/GeoserverIntegrateConfigJob.java b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/GeoserverIntegrateConfigJob.java index ce4124f..766511b 100644 --- a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/GeoserverIntegrateConfigJob.java +++ b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/GeoserverIntegrateConfigJob.java @@ -469,6 +469,59 @@ } } + private void updateCurrentThemeStatus(Connection connection, String schemaName, short newStatus) + throws SQLException { + StringBuilder sbSQL = new StringBuilder("UPDATE "); + sbSQL.append(DataReposVersionManager.XPTVERSIONTABLE_NAME).append(' '); + sbSQL.append(" SET vptstatus = "); + sbSQL.append(newStatus); + sbSQL.append(", vpttimestamp = CURRENT_TIMESTAMP WHERE vptname = '"); + sbSQL.append(schemaName).append("'"); + + Statement stmt = null; + try { + stmt = connection.createStatement(); + stmt.executeUpdate(sbSQL.toString()); + } finally { + if (stmt != null) stmt.close(); + } + } + + + private boolean checkCurrentThemeStatus(Connection connection, short status) { + try { + return (retrieveCurrentThemeName(connection, status) != null); + } catch (SQLException e) { + logger.warn(e.getMessage(), e); + return false; + } + } + + + private String retrieveCurrentThemeName(Connection connection, short status) throws SQLException { + StringBuilder sbSQL = new StringBuilder("SELECT "); + sbSQL.append("vptname, vptstatus, vpttimestamp FROM "); + sbSQL.append(encodeSchemaTableName(_pgSchema, DataReposVersionManager.XPTVERSIONTABLE_NAME)).append(' '); + sbSQL.append("ORDER BY vptid"); + + String result = null; + Statement stmt = null; + ResultSet rs = null; + + try { + stmt = connection.createStatement(); + rs = stmt.executeQuery(sbSQL.toString()); + // get first result + if (rs.next()) { + result = rs.getString(1); + } + return result; + } finally { + JDBCUtils.close(rs); + JDBCUtils.close(stmt); + } + } + protected void transferXGeosVersionStatus(Connection connection, short vsstatusBefore, short vsstatusAfter, boolean exclusive) throws JobExecutionException { @@ -1019,5 +1072,4 @@ } } } - } -- Gitblit v0.0.0-SNAPSHOT