private void setConstantFields(PreparedStatement statement) throws SQLException { setConstantFields(statement, 1); }
private int unslateResource(Connection conn, String name, int exceptVersion) throws SQLException { PreparedStatement statement = conn.prepareStatement( "UPDATE pluginMeta SET slated=false WHERE tenant_id=? AND plugin_type=? " + "AND plugin_name=? AND resource_type=? AND name=? AND slated=true AND version<>?"); try { setConstantFields(statement); statement.setString(5, name); statement.setInt(6, exceptVersion); return statement.executeUpdate(); } finally { statement.close(); } }
private int slateVersion(Connection conn, String name, int version) throws SQLException { PreparedStatement statement = conn.prepareStatement( "UPDATE pluginMeta SET slated=true WHERE tenant_id=? AND plugin_type=? " + "AND plugin_name=? AND resource_type=? AND name=? AND version=?"); try { setConstantFields(statement); statement.setString(5, name); statement.setInt(6, version); return statement.executeUpdate(); } finally { statement.close(); } }
private ResourceMeta getMeta(Connection conn, String name, int version) throws SQLException { PreparedStatement statement = conn.prepareStatement( "SELECT name, version, slated, live FROM pluginMeta WHERE tenant_id=? " + "AND plugin_type=? AND plugin_name=? AND resource_type=? AND name=? AND version=? AND deleted=false"); try { setConstantFields(statement); statement.setString(5, name); statement.setInt(6, version); return getResourceMeta(statement); } finally { statement.close(); } }
@Override public void recall(String name, int version) throws IOException { try { Connection conn = dbConnectionPool.getConnection(); try { PreparedStatement statement = conn.prepareStatement( "UPDATE pluginMeta SET slated=false WHERE tenant_id=? AND plugin_type=? AND " + "plugin_name=? AND resource_type=? AND name=? AND version=?"); try { setConstantFields(statement); statement.setString(5, name); statement.setInt(6, version); statement.executeUpdate(); } finally { statement.close(); } } finally { conn.close(); } } catch (SQLException e) { LOG.error("Exception deactivating plugin resource {}.", name, e); throw new IOException(e); } }
@Override public Map<String, Set<ResourceMeta>> getAll() throws IOException { try { Connection conn = dbConnectionPool.getConnection(); try { PreparedStatement statement = conn.prepareStatement( "SELECT name, version, slated, live FROM pluginMeta " + "WHERE tenant_id=? AND plugin_type=? AND plugin_name=? AND resource_type=? AND deleted=false"); try { setConstantFields(statement); return getResourceMetaMap(statement); } finally { statement.close(); } } finally { conn.close(); } } catch (SQLException e) { LOG.error("Exception getting resources.", e); throw new IOException(e); } }
@Override public void delete(String name, int version) throws IOException { try { Connection conn = dbConnectionPool.getConnection(); try { PreparedStatement statement = conn.prepareStatement( "UPDATE pluginMeta SET deleted=true, delete_time=? WHERE " + "tenant_id=? AND plugin_type=? AND plugin_name=? AND resource_type=? AND name=? AND version=?"); try { statement.setTimestamp(1, DBHelper.getTimestamp(System.currentTimeMillis())); setConstantFields(statement, 2); statement.setString(6, name); statement.setInt(7, version); statement.executeUpdate(); } finally { statement.close(); } } finally { conn.close(); } } catch (SQLException e) { LOG.error("Exception deleting version {} of resource {} for tenant {}.", version, name, tenant); throw new IOException(e); } }
@Override public Set<ResourceMeta> getAll(String name) throws IOException { try { Connection conn = dbConnectionPool.getConnection(); try { PreparedStatement statement = conn.prepareStatement( "SELECT name, version, slated, live FROM pluginMeta " + "WHERE tenant_id=? AND plugin_type=? AND plugin_name=? AND resource_type=? AND name=? AND deleted=false"); try { setConstantFields(statement); statement.setString(5, name); return getResourceMetaSet(statement); } finally { statement.close(); } } finally { conn.close(); } } catch (SQLException e) { LOG.error("Exception getting all metadata for resource {}.", name, e); throw new IOException(e); } }
@Override public boolean exists(String name, int version) throws IOException { try { Connection conn = dbConnectionPool.getConnection(); try { PreparedStatement statement = conn.prepareStatement( "SELECT name FROM pluginMeta WHERE tenant_id=? AND plugin_type=? AND plugin_name=? " + "AND resource_type=? AND name=? AND version=? AND deleted=false"); try { setConstantFields(statement); statement.setString(5, name); statement.setInt(6, version); return dbQueryExecutor.hasResults(statement); } finally { statement.close(); } } finally { conn.close(); } } catch (SQLException e) { LOG.error("Exception checking existance of version {} of resource {} for tenant {}.", version, name, tenant); throw new IOException(e); } }
@Override public Set<ResourceMeta> getResourcesToSync() throws IOException { try { Connection conn = dbConnectionPool.getConnection(); try { PreparedStatement statement = conn.prepareStatement( "SELECT name, version, slated, live FROM pluginMeta WHERE tenant_id=? AND plugin_type=? AND " + "plugin_name=? AND resource_type=? AND slated=true AND deleted=false"); try { setConstantFields(statement); return getResourceMetaSet(statement); } finally { statement.close(); } } finally { conn.close(); } } catch (SQLException e) { LOG.error("Exception getting metadata of all resources slated to be active.", e); throw new IOException(e); } }
@Override public Set<ResourceMeta> getLiveResources() throws IOException { try { Connection conn = dbConnectionPool.getConnection(); try { PreparedStatement statement = conn.prepareStatement( "SELECT name, version, slated, live FROM pluginMeta WHERE tenant_id=? AND plugin_type=? AND " + "plugin_name=? AND resource_type=? AND live=true AND deleted=false"); try { setConstantFields(statement); return getResourceMetaSet(statement); } finally { statement.close(); } } finally { conn.close(); } } catch (SQLException e) { LOG.error("Exception getting metadata of all resources slated to be active.", e); throw new IOException(e); } }
@Override public boolean exists(String name) throws IOException { try { Connection conn = dbConnectionPool.getConnection(); try { PreparedStatement statement = conn.prepareStatement( "SELECT name FROM pluginMeta WHERE " + "tenant_id=? AND plugin_type=? AND plugin_name=? AND resource_type=? AND name=? AND deleted=false"); try { setConstantFields(statement); statement.setString(5, name); return dbQueryExecutor.hasResults(statement); } finally { statement.close(); } } finally { conn.close(); } } catch (SQLException e) { LOG.error("Exception checking existance of resource {} for tenant {}.", name, tenant); throw new IOException(e); } }
@Override public int getHighestVersion(String name) throws IOException { try { Connection conn = dbConnectionPool.getConnection(); try { PreparedStatement statement = conn.prepareStatement( "SELECT MAX(version) FROM pluginMeta WHERE " + "tenant_id=? AND plugin_type=? AND plugin_name=? AND resource_type=? AND name=?"); try { setConstantFields(statement); statement.setString(5, name); return dbQueryExecutor.getNum(statement); } finally { statement.close(); } } finally { conn.close(); } } catch (SQLException e) { LOG.error("Exception getting highest version of resource {} for tenant {}.", name, tenant, e); throw new IOException(e); } }
@Override public Map<String, Set<ResourceMeta>> getAll(ResourceStatus status) throws IOException { try { Connection conn = dbConnectionPool.getConnection(); try { PreparedStatement statement = conn.prepareStatement( "SELECT name, version, slated, live FROM pluginMeta WHERE tenant_id=? AND plugin_type=? " + "AND plugin_name=? AND resource_type=? AND slated=? AND live=? AND deleted=false"); try { setConstantFields(statement); statement.setBoolean(5, status.isLiveAfterSync()); statement.setBoolean(6, status.isLive()); return getResourceMetaMap(statement); } finally { statement.close(); } } finally { conn.close(); } } catch (SQLException e) { LOG.error("Exception getting resources.", e); throw new IOException(e); } }
@Override public Set<ResourceMeta> getAll(String name, ResourceStatus status) throws IOException { try { Connection conn = dbConnectionPool.getConnection(); try { PreparedStatement statement = conn.prepareStatement( "SELECT name, version, slated, live FROM pluginMeta " + "WHERE tenant_id=? AND plugin_type=? AND plugin_name=? AND " + "resource_type=? AND name=? AND slated=? AND live=? AND deleted=false"); try { setConstantFields(statement); statement.setString(5, name); statement.setBoolean(6, status.isLiveAfterSync()); statement.setBoolean(7, status.isLive()); return getResourceMetaSet(statement); } finally { statement.close(); } } finally { conn.close(); } } catch (SQLException e) { LOG.error("Exception getting all metadata for resource {}.", name, e); throw new IOException(e); } }
try { ResourceStatus status = meta.getStatus(); setConstantFields(statement); statement.setString(5, meta.getName()); statement.setInt(6, meta.getVersion());