Skip to content

Commit

Permalink
Secret management on application
Browse files Browse the repository at this point in the history
active environment management.
  • Loading branch information
vertigo17 committed Aug 1, 2024
1 parent eac72d7 commit 1ee4663
Show file tree
Hide file tree
Showing 22 changed files with 142 additions and 58 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -326,7 +326,7 @@ public AnswerList<CountryEnvironmentParameters> readByVariousByCriteria(String s
//were applied -- used for pagination p
query.append("SELECT SQL_CALC_FOUND_ROWS cea.* FROM countryenvironmentparameters cea");
query.append(" JOIN application app on app.Application = cea.Application and app.`System` = cea.`System` ");

searchSQL.append(" where 1=1 ");

if (!StringUtil.isEmpty(searchTerm)) {
Expand Down Expand Up @@ -490,7 +490,7 @@ public AnswerList<CountryEnvironmentParameters> readDependenciesByVarious(String
query.append(" JOIN application app on app.Application = cea.Application and app.`System` = cea.`System` ");
query.append(" JOIN (SELECT systemLink , CountryLink , EnvironmentLink from countryenvlink where `system` = ? and Country = ? and Environment = ? ) as lnk ");
query.append(" where cea.`system` = lnk.systemLink and cea.`Country` = lnk.CountryLink and cea.`Environment` = lnk.EnvironmentLink ; ");

// Debug message on SQL.
if (LOG.isDebugEnabled()) {
LOG.debug("SQL : " + query.toString());
Expand Down Expand Up @@ -588,8 +588,8 @@ public AnswerList<CountryEnvironmentParameters> readDependenciesByVarious(String
public Answer create(CountryEnvironmentParameters object) {
MessageEvent msg = null;
StringBuilder query = new StringBuilder();
query.append("INSERT INTO `countryenvironmentparameters` (`system`, `country`, `environment`, `application`, `ip`, `domain`, `url`, `urllogin`, `Var1`, `Var2`, `Var3`, `Var4`, `poolSize`, `mobileActivity`, `mobilePackage`, `UsrCreated`) ");
query.append("VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)");
query.append("INSERT INTO `countryenvironmentparameters` (`system`, `country`, `environment`, `application`, `isActive`, `ip`, `domain`, `url`, `urllogin`, `Var1`, `Var2`, `Var3`, `Var4`, `Secret1`, `Secret2`, `poolSize`, `mobileActivity`, `mobilePackage`, `UsrCreated`) ");
query.append("VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)");

// Debug message on SQL.
if (LOG.isDebugEnabled()) {
Expand All @@ -600,22 +600,26 @@ public Answer create(CountryEnvironmentParameters object) {
try {
PreparedStatement preStat = connection.prepareStatement(query.toString());
try {
preStat.setString(1, object.getSystem());
preStat.setString(2, object.getCountry());
preStat.setString(3, object.getEnvironment());
preStat.setString(4, object.getApplication());
preStat.setString(5, object.getIp());
preStat.setString(6, object.getDomain());
preStat.setString(7, object.getUrl());
preStat.setString(8, object.getUrlLogin());
preStat.setString(9, object.getVar1());
preStat.setString(10, object.getVar2());
preStat.setString(11, object.getVar3());
preStat.setString(12, object.getVar4());
preStat.setInt(13, object.getPoolSize());
preStat.setString(14, object.getMobileActivity());
preStat.setString(15, object.getMobilePackage());
preStat.setString(16, object.getUsrCreated());
int i=1;
preStat.setString(i++, object.getSystem());
preStat.setString(i++, object.getCountry());
preStat.setString(i++, object.getEnvironment());
preStat.setString(i++, object.getApplication());
preStat.setBoolean(i++, object.isActive());
preStat.setString(i++, object.getIp());
preStat.setString(i++, object.getDomain());
preStat.setString(i++, object.getUrl());
preStat.setString(i++, object.getUrlLogin());
preStat.setString(i++, object.getVar1());
preStat.setString(i++, object.getVar2());
preStat.setString(i++, object.getVar3());
preStat.setString(i++, object.getVar4());
preStat.setString(i++, object.getSecret1());
preStat.setString(i++, object.getSecret2());
preStat.setInt(i++, object.getPoolSize());
preStat.setString(i++, object.getMobileActivity());
preStat.setString(i++, object.getMobilePackage());
preStat.setString(i++, object.getUsrCreated());

preStat.executeUpdate();
msg = new MessageEvent(MessageEventEnum.DATA_OPERATION_OK);
Expand Down Expand Up @@ -697,7 +701,7 @@ public Answer delete(CountryEnvironmentParameters object) {
@Override
public Answer update(CountryEnvironmentParameters object) {
MessageEvent msg = null;
final String query = "UPDATE `countryenvironmentparameters` SET `IP`=?, `URL`=?, `URLLOGIN`=?, `domain`=?, Var1=?, Var2=?, Var3=?, Var4=?, poolSize=?, mobileActivity=?, mobilePackage=?, `UsrModif`= ?, `DateModif` = NOW()"
final String query = "UPDATE `countryenvironmentparameters` SET `IsActive`=?, `IP`=?, `URL`=?, `URLLOGIN`=?, `domain`=?, Var1=?, Var2=?, Var3=?, Var4=?, Secret1=?, Secret2=?, poolSize=?, mobileActivity=?, mobilePackage=?, `UsrModif`= ?, `DateModif` = NOW()"
+ " where `system`=? and `country`=? and `environment`=? and `application`=? ";

// Debug message on SQL.
Expand All @@ -709,6 +713,7 @@ public Answer update(CountryEnvironmentParameters object) {
PreparedStatement preStat = connection.prepareStatement(query);
try {
int i = 1;
preStat.setBoolean(i++, object.isActive());
preStat.setString(i++, object.getIp());
preStat.setString(i++, object.getUrl());
preStat.setString(i++, object.getUrlLogin());
Expand All @@ -717,6 +722,8 @@ public Answer update(CountryEnvironmentParameters object) {
preStat.setString(i++, object.getVar2());
preStat.setString(i++, object.getVar3());
preStat.setString(i++, object.getVar4());
preStat.setString(i++, object.getSecret1());
preStat.setString(i++, object.getSecret2());
preStat.setInt(i++, object.getPoolSize());
preStat.setString(i++, object.getMobileActivity());
preStat.setString(i++, object.getMobilePackage());
Expand Down Expand Up @@ -757,6 +764,7 @@ private CountryEnvironmentParameters loadFromResultSet(ResultSet resultSet) thro
String count = resultSet.getString("cea.Country");
String env = resultSet.getString("cea.Environment");
String application = resultSet.getString("cea.application");
boolean isActive = resultSet.getBoolean("cea.isActive");
String ip = resultSet.getString("cea.ip");
String domain = resultSet.getString("cea.domain");
String url = resultSet.getString("cea.url");
Expand All @@ -765,6 +773,8 @@ private CountryEnvironmentParameters loadFromResultSet(ResultSet resultSet) thro
String var2 = resultSet.getString("cea.Var2");
String var3 = resultSet.getString("cea.Var3");
String var4 = resultSet.getString("cea.Var4");
String secret1 = resultSet.getString("cea.Secret1");
String secret2 = resultSet.getString("cea.Secret2");
String mobileActivity = resultSet.getString("cea.mobileActivity");
if (mobileActivity == null) {
mobileActivity = "";
Expand All @@ -779,7 +789,8 @@ private CountryEnvironmentParameters loadFromResultSet(ResultSet resultSet) thro
Timestamp dateCreated = resultSet.getTimestamp("cea.DateCreated");
Timestamp dateModif = resultSet.getTimestamp("cea.DateModif");

return factoryCountryEnvironmentParameters.create(system, count, env, application, ip, domain, url, urllogin, var1, var2, var3, var4, poolSize, mobileActivity, mobilePackage, usrCreated, dateCreated, usrModif, dateModif);
return factoryCountryEnvironmentParameters.create(system, count, env, application, isActive, ip, domain, url, urllogin, var1, var2, var3, var4, secret1, secret2,
poolSize, mobileActivity, mobilePackage, usrCreated, dateCreated, usrModif, dateModif);
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@ public class CountryEnvironmentParameters {
@Id
private String application;

private boolean isActive;
private String ip;
private String domain;
private String url;
Expand All @@ -60,6 +61,8 @@ public class CountryEnvironmentParameters {
private String var2;
private String var3;
private String var4;
private String secret1;
private String secret2;
private String mobileActivity;
private String mobilePackage;
private int poolSize;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -293,7 +293,7 @@ public void addNetworkTrafficIndexList(NetworkTrafficIndex newIndex) {
}

public void addSecret(String secret) {
if (secret != null) {
if (secret != null && (!"".equals(secret))) {
this.secrets.put(secret, "");
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
*/
public interface IFactoryCountryEnvironmentParameters {

CountryEnvironmentParameters create(String system, String country, String environment, String application, String ip,
String Domain, String url, String urlLogin, String var1, String var2, String var3, String var4, int poolSize,
CountryEnvironmentParameters create(String system, String country, String environment, String application, boolean isActive, String ip,
String Domain, String url, String urlLogin, String var1, String var2, String var3, String var4, String secret1, String secret2, int poolSize,
String mobileActivity, String mobilePackage, String usrCreated, Timestamp dateCreated, String usrModif, Timestamp dateModif);
}
Original file line number Diff line number Diff line change
Expand Up @@ -31,14 +31,15 @@
public class FactoryCountryEnvironmentParameters implements IFactoryCountryEnvironmentParameters {

@Override
public CountryEnvironmentParameters create(String system, String country, String environment, String application, String ip,
String domain, String url, String urlLogin, String var1, String var2, String var3, String var4, int poolSize,
public CountryEnvironmentParameters create(String system, String country, String environment, String application, boolean isActive, String ip,
String domain, String url, String urlLogin, String var1, String var2, String var3, String var4, String secret1, String secret2, int poolSize,
String mobileActivity, String mobilePackage, String usrCreated, Timestamp dateCreated, String usrModif, Timestamp dateModif) {
CountryEnvironmentParameters object = new CountryEnvironmentParameters();
object.setSystem(system);
object.setCountry(country);
object.setEnvironment(environment);
object.setApplication(application);
object.setActive(isActive);
object.setIp(ip);
object.setDomain(domain);
object.setUrl(url);
Expand All @@ -47,6 +48,8 @@ public CountryEnvironmentParameters create(String system, String country, String
object.setVar2(var2);
object.setVar3(var3);
object.setVar4(var4);
object.setSecret1(secret1);
object.setSecret2(secret2);
object.setPoolSize(poolSize);
object.setMobileActivity(mobileActivity);
object.setMobilePackage(mobilePackage);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ public List<CountryEnvParam> findCountryEnvParamByCriteria(CountryEnvParam count
public List<JSONObject> findActiveEnvironmentBySystemCountryApplication(String system, String country, String application) throws CerberusException {
List<JSONObject> result = new ArrayList<>();
CountryEnvParam countryEnvParam = countryEnvParamFactory.create(system, country, true);
CountryEnvironmentParameters countryEnvironmentParameters = countryEnvironmentParametersFactory.create(system, country, null, application, null, null, null, null, null, null, null, null,
CountryEnvironmentParameters countryEnvironmentParameters = countryEnvironmentParametersFactory.create(system, country, null, application, true, null, null, null, null, null, null, null, null, null, null,
CountryEnvironmentParameters.DEFAULT_POOLSIZE, null, null, null, null, null, null);

List<CountryEnvironmentParameters> ceaList = countryEnvironmentParametersService.findCountryEnvironmentParametersByCriteria(countryEnvironmentParameters);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -218,6 +218,12 @@ public Answer compareListAndUpdateInsertDeleteElements(String system, String app
if (objectDifference.getIp().contains(StringUtil.SECRET_STRING)) {
objectDifference.setIp(objectDifference.getIp().replace(StringUtil.SECRET_STRING, StringUtil.getPasswordFromAnyUrl(objectInDatabase.getIp())));
}
if (StringUtil.SECRET_STRING.equals(objectDifference.getSecret1())) {
objectDifference.setSecret1(objectInDatabase.getSecret1());
}
if (StringUtil.SECRET_STRING.equals(objectDifference.getSecret2())) {
objectDifference.setSecret2(objectInDatabase.getSecret2());
}
ans = this.update(objectDifference);
finalAnswer = AnswerUtil.agregateAnswer(finalAnswer, ans);
listToUpdateOrInsert.remove(objectDifference);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -446,6 +446,15 @@ public ArrayList<String> getSqlDocumentation() {
b.append(",('countryenvironmentparameters','Var4','','en','Variable 4','Variable can be used inside testcases with %SYS_APP_VAR4% variable.','_environment')");
b.append(",('countryenvironmentparameters','Var4','','fr','Variable 4','Variable qui peut être utilisée dans les test avec : %SYS_APP_VAR4%','_environnement')");
b.append(",('countryenvironmentparameters','Var4','','fa','متغیر ۴','متغیر را می توان با استفاد از متغیر %SYS_APP_VAR4% مورد استفاده قرار داد..','_environment')");
b.append(",('countryenvironmentparameters','isActive','','en','Active','',NULL)");
b.append(",('countryenvironmentparameters','isActive','','fr','Actif','',NULL)");
b.append(",('countryenvironmentparameters','isActive','','fa','فعال','',NULL)");
b.append(",('countryenvironmentparameters','secret1','','en','Secret 1','Secret Variable that can be used inside testcases with %system.APP_SECRET1% variable.','_environment')");
b.append(",('countryenvironmentparameters','secret1','','fr','Secret 1','Variable securisée qui peut être utilisée dans les test avec : %system.APP_SECRET1%','_environnement')");
b.append(",('countryenvironmentparameters','secret1','','fa','متغیر 1','متغیر را می توان با استفاده از متغیر %system.APP_SECRET1% در موارد آزمون استفاده کرد','_environment')");
b.append(",('countryenvironmentparameters','secret2','','en','Secret 2','Secret Variable that can be used inside testcases with %system.APP_SECRET2% variable.','_environment')");
b.append(",('countryenvironmentparameters','secret2','','fr','Secret 2','Variable qui peut être utilisée dans les test avec : %system.APP_SECRET2%','_environnement')");
b.append(",('countryenvironmentparameters','secret2','','fa','متغیر 2','متغیر را می توان با استفاده از متغیر %system.APP_SECRET2% در موارد آزمون مورد استفاده قرار بگیرد.','_environment')");
b.append(",('countryenvironmentparameters','mobileActivity','','en','Mobile Activity','When defined, it feed the \\'appWaitActivity\\' capability.','_environment')");
b.append(",('countryenvironmentparameters','mobileActivity','','fr','Mobile Activity','Lorsque défini, renseigne automatiquement la capability \\'appWaitActivity\\'.','_environnement')");
b.append(",('countryenvironmentparameters','mobileActivity','','fa','فعالیت موبایل','زمانیکه تعریف می شود, برای قابلیت \\'appWaitActivity\\' مورد استفاده قرار می گیرد.','_environment')");
Expand Down Expand Up @@ -2357,8 +2366,8 @@ public ArrayList<String> getSqlDocumentation() {
b.append(",('page_global','tooltip_savetableconfig','','ru','Сохранить конфигурацию таблицы','Фильтры и показываемые колонки сохранены в ',NULL)");
b.append(",('page_global','tooltip_savetableconfig','','fr','Sauvegarder la configuration de la table','Sauvegarder la configuration de la table. Les filtres et l\\'affichage des colonnes sont sauvegardés dans les préférences utilisateur',NULL)");
b.append(",('page_global','tooltip_savetableconfig','','fa','ذخیره سازی پیکربندی جول','پیکربندی جدول را ذخیره کنید.فیلترها و نمایش ستون ها در تنظیمات برگزیده کاربر ذخیره می شوند.',NULL)");
b.append(",('page_global','tooltip_resettableconfig','','en','Reset the table configuration to its default value','Reset the table configuration. Filters and column display will go back to its default value',NULL)");
b.append(",('page_global','tooltip_resettableconfig','','fr','Restaurer la configuration par defaut de la table','Restaurer la configuration de la table par defaut. Les filtres et l\\'affichage des colonnes seront restauré à leur valeur d\\'origine',NULL)");
b.append(",('page_global','tooltip_resettableconfig','','en','Reset the table configuration to its default value','Reset the table configuration. Filters and column display will go back to its default values',NULL)");
b.append(",('page_global','tooltip_resettableconfig','','fr','Restaurer la configuration par defaut de la table','Restaurer la configuration de la table par defaut. Les filtres et l\\'affichage des colonnes seront restaurés à leur valeures d\\'origines',NULL)");
b.append(",('page_global','tooltip_showHideColumns','','en','Show/hide columns','',NULL)");
b.append(",('page_global','tooltip_showHideColumns','','ru','Показать/Скрыть колонки','',NULL)");
b.append(",('page_global','tooltip_showHideColumns','','fr','Afficher/cacher des colonnes','',NULL)");
Expand Down
Loading

0 comments on commit 1ee4663

Please sign in to comment.