/**
*
- * @author
+ * @author
*/
public class AccountJpaFilter extends JpaDocumentFilter {
public List<ParamBinding> buildWhereForSearch(StringBuilder queryStrBldr) {
List<ParamBinding> paramList = new ArrayList<ParamBinding>();
+ boolean csAdmin = SecurityUtils.isCSpaceAdmin();
+ if (!csAdmin) {
+ queryStrBldr.append(addTenant(false, paramList));
+ }
+
String screenName = null;
List<String> snvals = getQueryParam(AccountStorageConstants.Q_SCREEN_NAME);
if (null != snvals && snvals.size() > 0) {
screenName = snvals.get(0);
}
- boolean csAdmin = SecurityUtils.isCSpaceAdmin();
- if (!csAdmin) {
- queryStrBldr.append(addTenant(false, paramList));
- }
if (null != screenName && !screenName.isEmpty()) {
if (!csAdmin) {
queryStrBldr.append(" AND");
paramList.add(new ParamBinding("tenantId", tenantId));
return whereClause;
}
-
+
public String replaceSpacesWithQueryWildcards(String str) {
if (null == str || str.trim().isEmpty()) {
return str;
/**
* RoleJpaFilter is to build where clause for role queries
- * @author
+ * @author
*/
public class RoleJpaFilter extends JpaDocumentFilter {
public List<ParamBinding> buildWhereForSearch(StringBuilder queryStrBldr) {
List<ParamBinding> paramList = new ArrayList<ParamBinding>();
+ boolean csAdmin = SecurityUtils.isCSpaceAdmin();
+ if (!csAdmin) {
+ queryStrBldr.append(addTenant(false, paramList));
+ }
+
String roleName = null;
List<String> rn = getQueryParam(RoleStorageConstants.Q_ROLE_NAME);
if (null != rn && rn.size() > 0) {
roleName = rn.get(0);
}
- boolean csAdmin = SecurityUtils.isCSpaceAdmin();
- if (!csAdmin) {
- queryStrBldr.append(addTenant(false, paramList));
- }
if (null != roleName && !roleName.isEmpty()) {
if (!csAdmin) {
queryStrBldr.append(" AND");
queryStrBldr.append(addTenant(true, paramList));
}
+ String displayName = null;
+ List<String> dn = getQueryParam(RoleStorageConstants.Q_DISPLAY_NAME);
+ if (null != dn && dn.size() > 0) {
+ displayName = dn.get(0);
+ }
+ if (null != displayName && !displayName.isEmpty()) {
+ if (!csAdmin) {
+ queryStrBldr.append(" AND");
+ } else {
+ queryStrBldr.append(" WHERE");
+ }
+ queryStrBldr.append(" UPPER(a." + RoleStorageConstants.DISPLAY_NAME+ ")");
+ queryStrBldr.append(" LIKE");
+ queryStrBldr.append(" :" + RoleStorageConstants.Q_DISPLAY_NAME);
+ paramList.add(new ParamBinding(RoleStorageConstants.Q_DISPLAY_NAME, "%"
+ + displayName.toUpperCase() + "%"));
+ queryStrBldr.append(addTenant(true, paramList));
+ }
if (logger.isDebugEnabled()) {
String query = queryStrBldr.toString();
*/
public class RoleStorageConstants {
+ final public static String Q_DISPLAY_NAME = "dn";
final public static String Q_ROLE_NAME = "r";
+ final public static String DISPLAY_NAME = "displayName";
final public static String ROLE_NAME = "roleName";
final public static String ROLE_ID = "csid";
final public static String ROLE_TENANT_ID = "tenant_id";