package org.ff4j.store;
import org.ff4j.audit.EventConstants;
/*
* #%L ff4j-core %% Copyright (C) 2013 Ff4J %% Licensed under the Apache License, Version 2.0 (the "License"); you may not use
* this file except in compliance with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS"
* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language
* governing permissions and limitations under the License. #L%
*/
/**
* Specialization of a Feature store to add sql query.
*
* @author Cedrick Lunven (@clunven)
*/
public class JdbcStoreConstants {
/** sql query expression */
public static final String SQLQUERY_ALLFEATURES = "SELECT FEAT_UID,ENABLE,DESCRIPTION,STRATEGY,EXPRESSION,GROUPNAME FROM FF4J_FEATURES";
/** sql query expression */
public static final String SQLQUERY_ALLGROUPS = "SELECT DISTINCT(GROUPNAME) FROM FF4J_FEATURES";
/** sql query expression */
public static final String SQLQUERY_GET_FEATURE_GROUP = "SELECT FEAT_UID,ENABLE,DESCRIPTION,STRATEGY,EXPRESSION,GROUPNAME FROM FF4J_FEATURES WHERE GROUPNAME = ?";
/** sql query expression */
public static final String SQL_GETFEATUREBYID = "SELECT FEAT_UID,ENABLE,DESCRIPTION,STRATEGY,EXPRESSION,GROUPNAME FROM FF4J_FEATURES WHERE FEAT_UID = ?";
/** sql query expression */
public static final String SQL_EXIST = "SELECT COUNT(FEAT_UID) FROM FF4J_FEATURES WHERE FEAT_UID = ?";
/** sql query expression */
public static final String SQL_DISABLE = "UPDATE FF4J_FEATURES SET ENABLE = 0 WHERE FEAT_UID = ?";
/** sql query expression */
public static final String SQL_ADD_TO_GROUP = "UPDATE FF4J_FEATURES SET GROUPNAME = ? WHERE FEAT_UID = ?";
/** sql query expression */
public static final String SQL_REMOVE_FROM_GROUP = "UPDATE FF4J_FEATURES SET GROUPNAME = NULL WHERE FEAT_UID = ?";
/** sql query expression */
public static final String SQL_ENABLE = "UPDATE FF4J_FEATURES SET ENABLE = 1 WHERE FEAT_UID = ?";
/** sql query expression */
public static final String SQL_ENABLE_GROUP = "UPDATE FF4J_FEATURES SET ENABLE = 1 WHERE GROUPNAME = ?";
/** sql query expression */
public static final String SQL_DISABLE_GROUP = "UPDATE FF4J_FEATURES SET ENABLE = 0 WHERE GROUPNAME = ?";
/** sql query expression */
public static final String SQL_EXIST_GROUP = "SELECT COUNT(*) FROM FF4J_FEATURES WHERE GROUPNAME = ?";
/** sql query expression */
public static final String SQL_CREATE = "INSERT INTO FF4J_FEATURES(FEAT_UID, ENABLE, DESCRIPTION, STRATEGY,EXPRESSION, GROUPNAME) VALUES(?, ?, ?, ?, ?, ?)";
/** sql query expression */
public static final String SQL_DELETE = "DELETE FROM FF4J_FEATURES WHERE FEAT_UID = ?";
/** sql query expression */
public static final String SQL_UPDATE = "UPDATE FF4J_FEATURES SET ENABLE=?,DESCRIPTION=?,STRATEGY=?,EXPRESSION=?,GROUPNAME=? WHERE FEAT_UID = ?";
/** sql query expression */
public static final String SQL_ADD_ROLE = "INSERT INTO FF4J_ROLES(FEAT_UID, ROLE_NAME) VALUES (?,?)";
/** sql query expression */
public static final String SQL_DELETE_ROLES = "DELETE FROM FF4J_ROLES WHERE FEAT_UID = ?";
/** sql query expression */
public static final String SQL_DELETE_ROLE = "DELETE FROM FF4J_ROLES WHERE FEAT_UID = ? AND ROLE_NAME = ?";
/** sql query expression */
public static final String SQL_GET_ROLES = "SELECT ROLE_NAME FROM FF4J_ROLES WHERE FEAT_UID = ?";
/** sql query expression */
public static final String SQL_GET_ALLROLES = "SELECT FEAT_UID,ROLE_NAME FROM FF4J_ROLES";
// ------- Properties -------------
/** sql query expression */
public static final String SQL_GETREFPROPERTIESBYID = "SELECT PROPERTY_ID,CLAZZ,CURRENTVALUE,DESCRIPTION,FIXEDVALUES,FEAT_UID "
+ "FROM FF4J_CUSTOM_PROPERTIES "
+ "WHERE FEAT_UID = ?";
/** sql query expression */
public static final String SQL_GET_CUSTOMPROPERTY_BYID = "SELECT PROPERTY_ID,CLAZZ,CURRENTVALUE,FIXEDVALUES,FEAT_UID "
+ "FROM FF4J_CUSTOM_PROPERTIES "
+ "WHERE PROPERTY_ID = ? AND FEAT_UID = ?";
/** sql query expression */
public static final String SQL_DELETE_CUSTOMPROPERTY = "DELETE FROM FF4J_CUSTOM_PROPERTIES WHERE PROPERTY_ID = ? AND FEAT_UID = ?";
/** sql query expression */
public static final String SQL_DELETE_CUSTOMPROPERTIES = "DELETE FROM FF4J_CUSTOM_PROPERTIES WHERE FEAT_UID = ?";
/** sql query expression */
public static final String SQL_DELETE_ALL_CUSTOMPROPERTIES = "DELETE FROM FF4J_CUSTOM_PROPERTIES";
/** sql query expression */
public static final String SQL_DELETE_ALL_ROLES = "DELETE FROM FF4J_ROLES";
/** sql query expression */
public static final String SQL_DELETE_ALL_FEATURES = "DELETE FROM FF4J_FEATURES";
/** sql query expression */
public static final String SQL_CREATE_CUSTOMPROPERTY =
"INSERT INTO FF4J_CUSTOM_PROPERTIES (" +
"PROPERTY_ID, CLAZZ, CURRENTVALUE, DESCRIPTION, FIXEDVALUES, FEAT_UID) " +
"VALUES(?, ?, ?, ?, ?, ?)";
/** Create property. */
public static final String SQL_PROPERTY_CREATE = "INSERT INTO FF4J_PROPERTIES(PROPERTY_ID, CLAZZ, CURRENTVALUE, DESCRIPTION, FIXEDVALUES) VALUES(?, ?, ?, ?, ?)";
/** Delete property. */
public static final String SQL_PROPERTY_DELETE = "DELETE FROM FF4J_PROPERTIES WHERE PROPERTY_ID = ?";
/** Delete property. */
public static final String SQL_PROPERTY_DELETE_ALL = "DELETE FROM FF4J_PROPERTIES";
/** Test if property exist. */
public static final String SQL_PROPERTY_EXIST = "SELECT COUNT(*) FROM FF4J_PROPERTIES WHERE PROPERTY_ID = ?";
/** Test if property exist. */
public static final String SQL_PROPERTY_READ = "SELECT PROPERTY_ID,CLAZZ,CURRENTVALUE,DESCRIPTION,FIXEDVALUES FROM FF4J_PROPERTIES WHERE PROPERTY_ID = ?";
/** sql query expression */
public static final String SQL_PROPERTY_UPDATE = "UPDATE FF4J_PROPERTIES SET CURRENTVALUE = ? WHERE PROPERTY_ID = ?";
/** sql query expression */
public static final String SQL_PROPERTY_READALL = "SELECT PROPERTY_ID,CLAZZ,CURRENTVALUE,DESCRIPTION,FIXEDVALUES FROM FF4J_PROPERTIES";
/** sql query expression */
public static final String SQL_PROPERTY_READNAMES = "SELECT PROPERTY_ID FROM FF4J_PROPERTIES";
// ------- AUDIT -------------
public static final String TABLE_AUDIT = "FF4J_AUDIT";
/** sql column name for table FF4J_AUDIT. */
public static final String COL_EVENT_UUID = "EVT_UUID";
/** sql column name for table FF4J_AUDIT. */
public static final String COL_EVENT_TIME = "EVT_TIME";
/** sql column name for table FF4J_AUDIT. */
public static final String COL_EVENT_TYPE = "EVT_TYPE";
/** sql column name for table FF4J_AUDIT. */
public static final String COL_EVENT_NAME = "EVT_NAME";
/** sql column name for table FF4J_AUDIT. */
public static final String COL_EVENT_ACTION = "EVT_ACTION";
/** sql column name for table FF4J_AUDIT. */
public static final String COL_EVENT_HOSTNAME = "EVT_HOSTNAME";
/** sql column name for table FF4J_AUDIT. */
public static final String COL_EVENT_SOURCE = "EVT_SOURCE";
/** sql column name for table FF4J_AUDIT. */
public static final String COL_EVENT_DURATION = "EVT_DURATION";
/** sql column name for table FF4J_AUDIT. */
public static final String COL_EVENT_USER = "EVT_USER";
/** sql column name for table FF4J_AUDIT. */
public static final String COL_EVENT_VALUE = "EVT_VALUE";
/** sql column name for table FF4J_AUDIT. */
public static final String COL_EVENT_KEYS = "EVT_KEYS";
/** Creation. */
public static final String SQL_AUDIT_COUNT = "SELECT COUNT(*) FROM " + TABLE_AUDIT;
/** Creation. */
public static final String SQL_AUDIT_LISTFEATURES = "SELECT DISTINCT " + COL_EVENT_NAME + " FROM " + TABLE_AUDIT + " WHERE " + COL_EVENT_TYPE + " LIKE '" + EventConstants.TARGET_FEATURE + "'";
/** Get all information for the Pie as a single request. */
public static final String SQL_AUDIT_OK_DISTRIB = "SELECT count(" + COL_EVENT_UUID + ") as NB, " + COL_EVENT_NAME +
" FROM " + TABLE_AUDIT +
" WHERE (" + COL_EVENT_TYPE + " LIKE '" + EventConstants.TARGET_FEATURE + "') " +
" AND (" + COL_EVENT_ACTION + " LIKE '" + EventConstants.ACTION_CHECK_OK + "') " +
" AND (" + COL_EVENT_TIME + "> ?) " +
" AND (" + COL_EVENT_TIME + "< ?)" +
" GROUP BY " + COL_EVENT_NAME;
/** List events for a dedicate feature (in a time window). */
public static final String SQL_AUDIT_FEATURE_DISTRIB = "SELECT count(" + COL_EVENT_UUID + ") as NB, " + COL_EVENT_ACTION +
" FROM " + TABLE_AUDIT +
" WHERE (" + COL_EVENT_TYPE + " LIKE '" + EventConstants.TARGET_FEATURE + "') " +
" AND (" + COL_EVENT_NAME + " LIKE ?) " +
" AND (" + COL_EVENT_TIME + "> ?) " +
" AND (" + COL_EVENT_TIME + "< ?)" +
" GROUP BY " + COL_EVENT_ACTION;
/** List events for a dedicate feature (in a time window). */
public static final String SQL_AUDIT_FEATURE_ALLEVENTS = "SELECT * FROM " + TABLE_AUDIT + // Count
" WHERE (" + COL_EVENT_TYPE + " LIKE '" + EventConstants.TARGET_FEATURE + "') " +
" AND (" + COL_EVENT_NAME + " LIKE ?) " + // lower bound
" AND (" + COL_EVENT_TIME + "> ?) " + // lower bound
" AND (" + COL_EVENT_TIME + "< ?)"; // upper bound
// ----- Columns
/** sql column name from table FF4J_FEATURES. */
public static final String COL_FEAT_UID = "FEAT_UID";
/** sql column name from table FF4J_FEATURES. */
public static final String COL_FEAT_ENABLE = "ENABLE";
/** sql column name from table FF4J_FEATURES. */
public static final String COL_FEAT_DESCRIPTION = "DESCRIPTION";
/** sql column name from table FF4J_FEATURES. */
public static final String COL_FEAT_GROUPNAME = "GROUPNAME";
/** sql column name from table FF4J_FEATURES. */
public static final String COL_FEAT_STRATEGY = "STRATEGY";
/** sql column name from table FF4J_FEATURES. */
public static final String COL_FEAT_EXPRESSION = "EXPRESSION";
/** sql column name from table FF4J_ROLES. */
public static final String COL_ROLE_FEATID = "FEAT_UID";
/** sql column name from table FF4J_ROLES. */
public static final String COL_ROLE_ROLENAME = "ROLE_NAME";
/** sql column name from table FF4J_PROPERTIES. */
public static final String COL_PROPERTY_ID = "PROPERTY_ID";
/** sql column name from table FF4J_PROPERTIES. */
public static final String COL_PROPERTY_TYPE = "CLAZZ";
/** sql column name from table FF4J_PROPERTIES. */
public static final String COL_PROPERTY_VALUE = "CURRENTVALUE";
/** sql column name from table FF4J_PROPERTIES. */
public static final String COL_PROPERTY_FIXED = "FIXEDVALUES";
/** sql column name from table FF4J_PROPERTIES. */
public static final String COL_PROPERTY_FEATID = "FEAT_UID";
/** sql column name from table FF4J_PROPERTIES. */
public static final String COL_PROPERTY_DESCRIPTION = "DESCRIPTION";
private JdbcStoreConstants() {}
}