1 16 17 package org.pentaho.core.admin.datasources; 18 19 import org.pentaho.core.solution.IParameterProvider; 20 import org.pentaho.messages.Messages; 21 22 public class DatasourceAdminHelper { 23 24 public static int saveEdit(IParameterProvider parameters, ServerDatasourceAdmin dsAdmin) { 25 String dsName = parameters.getStringParameter("dsname", null); String url = parameters.getStringParameter("url", null); String driverName = parameters.getStringParameter("driver", null); String user = parameters.getStringParameter("user", null); String keepPassword = parameters.getStringParameter("keeppassword", null); String password = null; 31 int status = IDatasourceAdmin.DS_OPERATION_FAILED; 32 DataSourceInfo dsInfo = dsAdmin.getDataSourceInfo(dsName); 33 if ("on".equals(keepPassword) && dsName != null) { if (dsInfo != null) { 35 password = dsInfo.getPassword(); 36 } 37 } else { 38 password = parameters.getStringParameter("newpwd1", null); if (!password.equals(parameters.getStringParameter("newpwd2", null))) { password = null; 41 } else { 42 } 43 } 44 if (password != null) { 45 dsInfo.setDriver(driverName); 46 dsInfo.setPassword(password); 47 dsInfo.setUrl(url); 48 dsInfo.setUserId(user); 49 status = dsAdmin.saveDataSource(dsInfo, true); 50 } 51 return status; 52 } 53 54 public static final String getMessage(int status, String dsName) { 55 String message = ""; switch (status) { 57 case IDatasourceAdmin.DS_DELETED: 58 message = Messages.getString("DSAdminHelper.USER_DATASOURCE_DELETED") + dsName;break; case IDatasourceAdmin.DS_FILE_OPERATION_FAILED: 60 message = Messages.getString("DSAdminHelper.USER_FILE_ERROR");break; case IDatasourceAdmin.DS_NOT_FOUND: 62 message = Messages.getString("DSAdminHelper.USER_DATASOURCE_MISSING") + dsName;break; case IDatasourceAdmin.DS_OPERATION_FAILED: 64 message = Messages.getString("DSAdminHelper.USER_OPERATION_FAILED");break; case IDatasourceAdmin.DS_OPERATION_NOT_ALLOWED: 66 message = Messages.getString("DSAdminHelper.USER_OPERATION_NOT_ALLOWED");break; case IDatasourceAdmin.DS_RENAMED: 68 message = Messages.getString("DSAdminHelper.USER_DATASOURCE_RENAMED") + dsName;break; case IDatasourceAdmin.DS_SAVED: 70 message = Messages.getString("DSAdminHelper.USER_DATASOURCE_SAVED") + dsName;break; } 72 return message; 73 } 74 75 } 76 | Popular Tags |