You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@syncope.apache.org by il...@apache.org on 2013/03/04 16:52:52 UTC
svn commit: r1452352 - in /syncope/trunk: ./
common/src/main/java/org/apache/syncope/common/types/
console/src/main/java/org/apache/syncope/console/commons/
console/src/main/java/org/apache/syncope/console/pages/
console/src/main/java/org/apache/syncop...
Author: ilgrosso
Date: Mon Mar 4 15:52:51 2013
New Revision: 1452352
URL: http://svn.apache.org/r1452352
Log:
[SYNCOPE-332] Merge from 1_0_X
Modified:
syncope/trunk/ (props changed)
syncope/trunk/common/src/main/java/org/apache/syncope/common/types/SchemaType.java
syncope/trunk/console/src/main/java/org/apache/syncope/console/commons/AttributableDataProvider.java
syncope/trunk/console/src/main/java/org/apache/syncope/console/commons/SchemaModalPageFactory.java
syncope/trunk/console/src/main/java/org/apache/syncope/console/commons/SortableAttributableProviderComparator.java
syncope/trunk/console/src/main/java/org/apache/syncope/console/commons/SortableDataProviderComparator.java
syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/DisplayAttributesModalPage.java
syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/RoleModalPage.java
syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/Schema.java
syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/UserSearchResultPanel.java
syncope/trunk/console/src/main/java/org/apache/syncope/console/wicket/extensions/markup/html/repeater/data/table/AttrColumn.java
Propchange: syncope/trunk/
------------------------------------------------------------------------------
Merged /syncope/branches/1_0_X:r1451188-1452348
Modified: syncope/trunk/common/src/main/java/org/apache/syncope/common/types/SchemaType.java
URL: http://svn.apache.org/viewvc/syncope/trunk/common/src/main/java/org/apache/syncope/common/types/SchemaType.java?rev=1452352&r1=1452351&r2=1452352&view=diff
==============================================================================
--- syncope/trunk/common/src/main/java/org/apache/syncope/common/types/SchemaType.java (original)
+++ syncope/trunk/common/src/main/java/org/apache/syncope/common/types/SchemaType.java Mon Mar 4 15:52:51 2013
@@ -21,36 +21,29 @@ package org.apache.syncope.common.types;
import javax.xml.bind.annotation.XmlEnum;
@XmlEnum
-public
-enum SchemaType {
+public enum SchemaType {
/**
* Derived schema calculated based on other attributes.
*/
DERIVED("derivedSchema"),
-
/**
* Standard schema for normal attributes to be stored within syncope.
*/
NORMAL("schema"),
-
/**
* Virtual schema for attributes fetched from remote resources only.
*/
VIRTUAL("virtualSchema");
- public static SchemaType fromString(String value) {
- return SchemaType.valueOf(value.toUpperCase());
- }
-
// TODO remove name once CXF migration is complete
private final String name;
- private SchemaType(String name) {
+ private SchemaType(final String name) {
this.name = name;
}
public String toSpringURL() {
return name;
}
-}
\ No newline at end of file
+}
Modified: syncope/trunk/console/src/main/java/org/apache/syncope/console/commons/AttributableDataProvider.java
URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/java/org/apache/syncope/console/commons/AttributableDataProvider.java?rev=1452352&r1=1452351&r2=1452352&view=diff
==============================================================================
--- syncope/trunk/console/src/main/java/org/apache/syncope/console/commons/AttributableDataProvider.java (original)
+++ syncope/trunk/console/src/main/java/org/apache/syncope/console/commons/AttributableDataProvider.java Mon Mar 4 15:52:51 2013
@@ -56,10 +56,10 @@ public class AttributableDataProvider ex
this.filtered = filtered;
this.paginatorRows = paginatorRows;
- //Default sorting
+ // default sorting
setSort("id", SortOrder.ASCENDING);
- comparator = new SortableAttributableProviderComparator(this);
+ this.comparator = new SortableAttributableProviderComparator(this);
}
public void setSearchCond(final NodeCond searchCond) {
Modified: syncope/trunk/console/src/main/java/org/apache/syncope/console/commons/SchemaModalPageFactory.java
URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/java/org/apache/syncope/console/commons/SchemaModalPageFactory.java?rev=1452352&r1=1452351&r2=1452352&view=diff
==============================================================================
--- syncope/trunk/console/src/main/java/org/apache/syncope/console/commons/SchemaModalPageFactory.java (original)
+++ syncope/trunk/console/src/main/java/org/apache/syncope/console/commons/SchemaModalPageFactory.java Mon Mar 4 15:52:51 2013
@@ -19,6 +19,7 @@
package org.apache.syncope.console.commons;
import org.apache.syncope.common.types.AttributableType;
+import org.apache.syncope.common.types.SchemaType;
import org.apache.syncope.console.pages.AbstractSchemaModalPage;
import org.apache.syncope.console.pages.BaseModalPage;
import org.apache.syncope.console.pages.DerivedSchemaModalPage;
@@ -37,14 +38,6 @@ abstract public class SchemaModalPageFac
@SpringBean
protected SchemaRestClient restClient;
- public enum SchemaType {
-
- NORMAL,
- DERIVED,
- VIRTUAL
-
- };
-
public static AbstractSchemaModalPage getSchemaModalPage(AttributableType entity, SchemaType schemaType) {
AbstractSchemaModalPage page;
@@ -53,9 +46,11 @@ abstract public class SchemaModalPageFac
case DERIVED:
page = new DerivedSchemaModalPage(entity);
break;
+
case VIRTUAL:
page = new VirtualSchemaModalPage(entity);
break;
+
default:
page = new SchemaModalPage(entity);
break;
Modified: syncope/trunk/console/src/main/java/org/apache/syncope/console/commons/SortableAttributableProviderComparator.java
URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/java/org/apache/syncope/console/commons/SortableAttributableProviderComparator.java?rev=1452352&r1=1452351&r2=1452352&view=diff
==============================================================================
--- syncope/trunk/console/src/main/java/org/apache/syncope/console/commons/SortableAttributableProviderComparator.java (original)
+++ syncope/trunk/console/src/main/java/org/apache/syncope/console/commons/SortableAttributableProviderComparator.java Mon Mar 4 15:52:51 2013
@@ -18,12 +18,14 @@
*/
package org.apache.syncope.console.commons;
+import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import org.apache.syncope.common.to.AbstractAttributableTO;
import org.apache.syncope.common.to.AttributeTO;
+import org.apache.syncope.common.types.SchemaType;
import org.apache.wicket.extensions.markup.html.repeater.util.SortableDataProvider;
import org.apache.wicket.model.AbstractReadOnlyModel;
@@ -31,46 +33,86 @@ public class SortableAttributableProvide
private static final long serialVersionUID = 1775967163571699258L;
- private static final Set<String> inlineProps;
-
- static {
- inlineProps = new HashSet<String>();
- inlineProps.add("id");
- inlineProps.add("status");
- inlineProps.add("token");
- inlineProps.add("username");
- }
+ private static final Set<String> INLINE_PROPS = new HashSet<String>(Arrays.asList(
+ new String[]{"id", "status", "token", "username"}));
public SortableAttributableProviderComparator(final SortableDataProvider<AbstractAttributableTO, String> provider) {
super(provider);
}
@Override
- public int compare(final AbstractAttributableTO o1, final AbstractAttributableTO o2) {
- if (inlineProps.contains(provider.getSort().getProperty())) {
- return super.compare(o1, o2);
+ public int compare(final AbstractAttributableTO attributable1, AbstractAttributableTO attributable2) {
+ if (INLINE_PROPS.contains(provider.getSort().getProperty())) {
+ return super.compare(attributable1, attributable2);
}
- return super.compare(new AttrModel(o1.getAttributeMap()), new AttrModel(o2.getAttributeMap()));
+ return super.compare(new AttrModel(attributable1), new AttrModel(attributable2));
}
+ @SuppressWarnings("rawtypes")
private class AttrModel extends AbstractReadOnlyModel<Comparable> {
- private static final long serialVersionUID = 7201800923472498270L;
+ private static final long serialVersionUID = -7856686374020091808L;
+
+ private final Map<String, AttributeTO> attrs;
- private final Map<String, AttributeTO> attrMap;
+ private final Map<String, AttributeTO> derAttrs;
- public AttrModel(final Map<String, AttributeTO> attrMap) {
+ private final Map<String, AttributeTO> virAttrs;
+
+ public AttrModel(final AbstractAttributableTO attributableTO) {
super();
- this.attrMap = attrMap;
+ this.attrs = attributableTO.getAttributeMap();
+ this.derAttrs = attributableTO.getDerivedAttributeMap();
+ this.virAttrs = attributableTO.getVirtualAttributeMap();
}
+ /**
+ * @see UserAttrColumn constructor
+ */
@Override
public Comparable getObject() {
+ int hashPos = provider.getSort().getProperty().indexOf('#');
+
+ SchemaType schemaType = null;
+ final String schema;
+ if (hashPos == -1) {
+ schema = provider.getSort().getProperty();
+ } else {
+ String[] splitted = provider.getSort().getProperty().split("#");
+ try {
+ schemaType = SchemaType.valueOf(splitted[0]);
+ } catch (IllegalArgumentException e) {
+ // this should never happen
+ }
+ schema = provider.getSort().getProperty().substring(hashPos + 1);
+ }
+
+
+ final AttributeTO attr;
+ if (schemaType == null) {
+ attr = this.attrs.get(schema);
+ } else {
+ switch (schemaType) {
+ case NORMAL:
+ default:
+ attr = this.attrs.get(schema);
+ break;
+
+ case DERIVED:
+ attr = this.derAttrs.get(schema);
+ break;
+
+ case VIRTUAL:
+ attr = this.virAttrs.get(schema);
+ break;
+ }
+ }
+
Comparable result = null;
- List<String> values = attrMap.get(provider.getSort().getProperty()).getValues();
+ List<String> values = attr == null ? null : attr.getValues();
if (values != null && !values.isEmpty()) {
result = values.iterator().next();
}
Modified: syncope/trunk/console/src/main/java/org/apache/syncope/console/commons/SortableDataProviderComparator.java
URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/java/org/apache/syncope/console/commons/SortableDataProviderComparator.java?rev=1452352&r1=1452351&r2=1452352&view=diff
==============================================================================
--- syncope/trunk/console/src/main/java/org/apache/syncope/console/commons/SortableDataProviderComparator.java (original)
+++ syncope/trunk/console/src/main/java/org/apache/syncope/console/commons/SortableDataProviderComparator.java Mon Mar 4 15:52:51 2013
@@ -24,19 +24,18 @@ import org.apache.wicket.extensions.mark
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.PropertyModel;
-public class SortableDataProviderComparator<T> implements Comparator<T>, Serializable {
+public class SortableDataProviderComparator<T extends Object> implements Comparator<T>, Serializable {
private static final long serialVersionUID = -8897687699977460543L;
protected final SortableDataProvider<T, String> provider;
public SortableDataProviderComparator(final SortableDataProvider<T, String> provider) {
-
this.provider = provider;
}
- protected int compare(final IModel<Comparable> model1, IModel<Comparable> model2) {
-
+ @SuppressWarnings({"unchecked", "rawtypes"})
+ protected int compare(final IModel<Comparable> model1, final IModel<Comparable> model2) {
int result;
if (model1.getObject() == null && model2.getObject() == null) {
@@ -56,10 +55,11 @@ public class SortableDataProviderCompara
return result;
}
+ @SuppressWarnings("rawtypes")
@Override
- public int compare(final T o1, final T o2) {
- IModel<Comparable> model1 = new PropertyModel<Comparable>(o1, provider.getSort().getProperty());
- IModel<Comparable> model2 = new PropertyModel<Comparable>(o2, provider.getSort().getProperty());
+ public int compare(final T object1, final T object2) {
+ IModel<Comparable> model1 = new PropertyModel<Comparable>(object1, provider.getSort().getProperty());
+ IModel<Comparable> model2 = new PropertyModel<Comparable>(object2, provider.getSort().getProperty());
return compare(model1, model2);
}
Modified: syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/DisplayAttributesModalPage.java
URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/DisplayAttributesModalPage.java?rev=1452352&r1=1452351&r2=1452352&view=diff
==============================================================================
--- syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/DisplayAttributesModalPage.java (original)
+++ syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/DisplayAttributesModalPage.java Mon Mar 4 15:52:51 2013
@@ -30,10 +30,10 @@ import org.apache.syncope.common.types.A
import org.apache.syncope.console.commons.Constants;
import org.apache.syncope.console.commons.PreferenceManager;
import org.apache.syncope.console.rest.SchemaRestClient;
-import org.apache.syncope.console.wicket.ajax.markup.html.ClearIndicatingAjaxButton;
import org.apache.wicket.PageReference;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.markup.html.form.AjaxButton;
+import org.apache.wicket.extensions.ajax.markup.html.IndicatingAjaxButton;
import org.apache.wicket.extensions.ajax.markup.html.modal.ModalWindow;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.form.Check;
@@ -266,12 +266,12 @@ public class DisplayAttributesModalPage
selectedDerSchemas.clear();
}
- final AjaxButton submit = new ClearIndicatingAjaxButton("submit", new ResourceModel("submit"), pageRef) {
+ final AjaxButton submit = new IndicatingAjaxButton("submit", new ResourceModel("submit")) {
private static final long serialVersionUID = -4804368561204623354L;
@Override
- protected void onSubmitInternal(final AjaxRequestTarget target, final Form<?> form) {
+ protected void onSubmit(final AjaxRequestTarget target, final Form<?> form) {
if (selectedDetails.size() + selectedSchemas.size() + selectedVirSchemas.size()
+ selectedDerSchemas.size() > MAX_SELECTIONS) {
@@ -297,19 +297,19 @@ public class DisplayAttributesModalPage
}
@Override
- protected void onError(AjaxRequestTarget target, Form<?> form) {
+ protected void onError(final AjaxRequestTarget target, final Form<?> form) {
target.add(feedbackPanel);
}
};
form.add(submit);
- final AjaxButton cancel = new ClearIndicatingAjaxButton("cancel", new ResourceModel("cancel"), pageRef) {
+ final AjaxButton cancel = new IndicatingAjaxButton("cancel", new ResourceModel("cancel")) {
private static final long serialVersionUID = -958724007591692537L;
@Override
- protected void onSubmitInternal(final AjaxRequestTarget target, final Form<?> form) {
+ protected void onSubmit(final AjaxRequestTarget target, final Form<?> form) {
window.close(target);
}
};
Modified: syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/RoleModalPage.java
URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/RoleModalPage.java?rev=1452352&r1=1452351&r2=1452352&view=diff
==============================================================================
--- syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/RoleModalPage.java (original)
+++ syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/RoleModalPage.java Mon Mar 4 15:52:51 2013
@@ -95,7 +95,8 @@ public class RoleModalPage extends BaseM
this.rolePanel = new RolePanel("rolePanel", form, roleTO, mode);
form.add(rolePanel);
- final AjaxButton submit = new ClearIndicatingAjaxButton("submit", new ResourceModel("submit"), pageRef) {
+ final AjaxButton submit = new ClearIndicatingAjaxButton("submit", new ResourceModel("submit"),
+ getPageReference()) {
private static final long serialVersionUID = -958724007591692537L;
@@ -140,7 +141,7 @@ public class RoleModalPage extends BaseM
form.add(submit);
form.setDefaultButton(submit);
-
+
form.add(cancel);
add(form);
Modified: syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/Schema.java
URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/Schema.java?rev=1452352&r1=1452351&r2=1452352&view=diff
==============================================================================
--- syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/Schema.java (original)
+++ syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/Schema.java Mon Mar 4 15:52:51 2013
@@ -27,6 +27,7 @@ import org.apache.syncope.common.to.Deri
import org.apache.syncope.common.to.SchemaTO;
import org.apache.syncope.common.to.VirtualSchemaTO;
import org.apache.syncope.common.types.AttributableType;
+import org.apache.syncope.common.types.SchemaType;
import org.apache.syncope.console.commons.Constants;
import org.apache.syncope.console.commons.PreferenceManager;
import org.apache.syncope.console.commons.SchemaModalPageFactory;
@@ -68,7 +69,7 @@ public class Schema extends BasePage {
private static final long serialVersionUID = 8091922398776299403L;
- private enum SchemaType {
+ private enum PlainSchemaType {
RoleSchema,
UserSchema,
@@ -254,17 +255,17 @@ public class Schema extends BasePage {
final String allowedDeleteRoles = xmlRolesReader.getAllAllowedRoles("Schema", "delete");
List<IColumn> rolesColumns = getColumnsForSchema(roleSchemasContainer, editRoleSchemaWin,
- AttributableType.ROLE, SchemaModalPageFactory.SchemaType.NORMAL, Constants.SCHEMA_FIELDS,
+ AttributableType.ROLE, SchemaType.NORMAL, Constants.SCHEMA_FIELDS,
allowedReadRoles, allowedCreateRoles);
final AjaxFallbackDefaultDataTable tableRoles = new AjaxFallbackDefaultDataTable("datatable", rolesColumns,
- new SchemaProvider(SchemaType.RoleSchema), rolePageRows);
+ new SchemaProvider(PlainSchemaType.RoleSchema), rolePageRows);
add(getPaginatorForm(roleSchemasContainer, tableRoles, "RolesPaginatorForm", "rolePageRows",
Constants.PREF_ROLE_SCHEMA_PAGINATOR_ROWS));
List<IColumn> columnsRolesDer = getColumnsForSchema(roleDerivedSchemasContainer, editRoleDerivedSchemaWin,
- AttributableType.ROLE, SchemaModalPageFactory.SchemaType.DERIVED, Constants.DERIVED_SCHEMA_FIELDS,
+ AttributableType.ROLE, SchemaType.DERIVED, Constants.DERIVED_SCHEMA_FIELDS,
allowedReadRoles, allowedDeleteRoles);
final AjaxFallbackDefaultDataTable tableRolesDer = new AjaxFallbackDefaultDataTable("datatable",
@@ -274,7 +275,7 @@ public class Schema extends BasePage {
Constants.PREF_ROLE_DER_SCHEMA_PAGINATOR_ROWS));
List<IColumn> columnsRolesVir = getColumnsForSchema(roleVirtualSchemasContainer, editRoleVirtualSchemaWin,
- AttributableType.ROLE, SchemaModalPageFactory.SchemaType.VIRTUAL, Constants.VIRTUAL_SCHEMA_FIELDS,
+ AttributableType.ROLE, SchemaType.VIRTUAL, Constants.VIRTUAL_SCHEMA_FIELDS,
allowedReadRoles, allowedDeleteRoles);
final AjaxFallbackDefaultDataTable tableRolesVir = new AjaxFallbackDefaultDataTable("datatable",
@@ -284,10 +285,10 @@ public class Schema extends BasePage {
Constants.PREF_ROLE_VIR_SCHEMA_PAGINATOR_ROWS));
List<IColumn> userColumns = getColumnsForSchema(userSchemasContainer, editUserSchemaWin, AttributableType.USER,
- SchemaModalPageFactory.SchemaType.NORMAL, Constants.SCHEMA_FIELDS, allowedReadRoles, allowedCreateRoles);
+ SchemaType.NORMAL, Constants.SCHEMA_FIELDS, allowedReadRoles, allowedCreateRoles);
final AjaxFallbackDefaultDataTable tableUsers = new AjaxFallbackDefaultDataTable("datatable", userColumns,
- new SchemaProvider(SchemaType.UserSchema), userSchemaPageRows);
+ new SchemaProvider(PlainSchemaType.UserSchema), userSchemaPageRows);
tableUsers.setMarkupId("tableUsers");
@@ -295,7 +296,7 @@ public class Schema extends BasePage {
Constants.PREF_USER_SCHEMA_PAGINATOR_ROWS));
List<IColumn> columnsUsersDer = getColumnsForSchema(userDerivedSchemasContainer, editUserDerivedSchemaWin,
- AttributableType.USER, SchemaModalPageFactory.SchemaType.DERIVED, Constants.DERIVED_SCHEMA_FIELDS,
+ AttributableType.USER, SchemaType.DERIVED, Constants.DERIVED_SCHEMA_FIELDS,
allowedReadRoles, allowedDeleteRoles);
final AjaxFallbackDefaultDataTable tableUsersDer = new AjaxFallbackDefaultDataTable("datatable",
@@ -305,7 +306,7 @@ public class Schema extends BasePage {
"userDerSchemaPageRows", Constants.PREF_USER_DER_SCHEMA_PAGINATOR_ROWS));
List<IColumn> columnsUsersVir = getColumnsForSchema(userVirtualSchemasContainer, editUserVirtualSchemaWin,
- AttributableType.USER, SchemaModalPageFactory.SchemaType.VIRTUAL, Constants.VIRTUAL_SCHEMA_FIELDS,
+ AttributableType.USER, SchemaType.VIRTUAL, Constants.VIRTUAL_SCHEMA_FIELDS,
allowedReadRoles, allowedDeleteRoles);
final AjaxFallbackDefaultDataTable tableUsersVir = new AjaxFallbackDefaultDataTable("datatable",
@@ -315,17 +316,17 @@ public class Schema extends BasePage {
"userVirSchemaPageRows", Constants.PREF_USER_VIR_SCHEMA_PAGINATOR_ROWS));
List<IColumn> membershipsColumns = getColumnsForSchema(membershipSchemaContainer, editMembershipSchemaWin,
- AttributableType.MEMBERSHIP, SchemaModalPageFactory.SchemaType.NORMAL, Constants.SCHEMA_FIELDS,
+ AttributableType.MEMBERSHIP, SchemaType.NORMAL, Constants.SCHEMA_FIELDS,
allowedReadRoles, allowedCreateRoles);
final AjaxFallbackDefaultDataTable tableMemberships = new AjaxFallbackDefaultDataTable("datatable",
- membershipsColumns, new SchemaProvider(SchemaType.MembershipSchema), membershipPageRows);
+ membershipsColumns, new SchemaProvider(PlainSchemaType.MembershipSchema), membershipPageRows);
add(getPaginatorForm(membershipSchemaContainer, tableMemberships, "MembershipPaginatorForm",
"membershipPageRows", Constants.PREF_MEMBERSHIP_SCHEMA_PAGINATOR_ROWS));
List<IColumn> columnsMembershipsDer = getColumnsForSchema(membershipDerivedSchemaContainer,
- editMembershipDerivedSchemaWin, AttributableType.MEMBERSHIP, SchemaModalPageFactory.SchemaType.DERIVED,
+ editMembershipDerivedSchemaWin, AttributableType.MEMBERSHIP, SchemaType.DERIVED,
Constants.DERIVED_SCHEMA_FIELDS, allowedReadRoles, allowedDeleteRoles);
final AjaxFallbackDefaultDataTable tableMembershipsDer = new AjaxFallbackDefaultDataTable("datatable",
@@ -336,7 +337,7 @@ public class Schema extends BasePage {
"membershipDerPageRows", Constants.PREF_MEMBERSHIP_DER_SCHEMA_PAGINATOR_ROWS));
List<IColumn> columnsMembershipsVir = getColumnsForSchema(membershipVirtualSchemaContainer,
- editMembershipVirtualSchemaWin, AttributableType.MEMBERSHIP, SchemaModalPageFactory.SchemaType.VIRTUAL,
+ editMembershipVirtualSchemaWin, AttributableType.MEMBERSHIP, SchemaType.VIRTUAL,
Constants.VIRTUAL_SCHEMA_FIELDS, allowedReadRoles, allowedDeleteRoles);
final AjaxFallbackDefaultDataTable tableMembershipsVir = new AjaxFallbackDefaultDataTable("datatable",
@@ -506,38 +507,38 @@ public class Schema extends BasePage {
setWindowClosedCallback(editMembershipVirtualSchemaWin, membershipVirtualSchemaContainer);
- add(getCreateSchemaWindow(createRoleSchemaWin, AttributableType.ROLE, SchemaModalPageFactory.SchemaType.NORMAL,
+ add(getCreateSchemaWindow(createRoleSchemaWin, AttributableType.ROLE, SchemaType.NORMAL,
"createRoleSchemaWinLink", "createRoleSchemaWin", allowedCreateRoles));
add(getCreateSchemaWindow(createRoleDerivedSchemaWin, AttributableType.ROLE,
- SchemaModalPageFactory.SchemaType.DERIVED, "createRoleDerivedSchemaWinLink",
+ SchemaType.DERIVED, "createRoleDerivedSchemaWinLink",
"createRoleDerivedSchemaWin", allowedCreateRoles));
add(getCreateSchemaWindow(createRoleVirtualSchemaWin, AttributableType.ROLE,
- SchemaModalPageFactory.SchemaType.VIRTUAL, "createRoleVirtualSchemaWinLink",
+ SchemaType.VIRTUAL, "createRoleVirtualSchemaWinLink",
"createRoleVirtualSchemaWin", allowedCreateRoles));
- add(getCreateSchemaWindow(createUserSchemaWin, AttributableType.USER, SchemaModalPageFactory.SchemaType.NORMAL,
+ add(getCreateSchemaWindow(createUserSchemaWin, AttributableType.USER, SchemaType.NORMAL,
"createUserSchemaWinLink", "createUserSchemaModalWin", allowedCreateRoles));
add(getCreateSchemaWindow(createUserDerivedSchemaWin, AttributableType.USER,
- SchemaModalPageFactory.SchemaType.DERIVED, "createUserDerSchemaWinLink", "createUserDerSchemaModalWin",
+ SchemaType.DERIVED, "createUserDerSchemaWinLink", "createUserDerSchemaModalWin",
allowedCreateRoles));
add(getCreateSchemaWindow(createUserVirtualSchemaWin, AttributableType.USER,
- SchemaModalPageFactory.SchemaType.VIRTUAL, "createUserVirSchemaWinLink", "createUserVirSchemaModalWin",
+ SchemaType.VIRTUAL, "createUserVirSchemaWinLink", "createUserVirSchemaModalWin",
allowedCreateRoles));
add(getCreateSchemaWindow(createMembershipSchemaWin, AttributableType.MEMBERSHIP,
- SchemaModalPageFactory.SchemaType.NORMAL, "createMembershipSchemaWinLink",
+ SchemaType.NORMAL, "createMembershipSchemaWinLink",
"createMembershipSchemaModalWin", allowedCreateRoles));
add(getCreateSchemaWindow(createMembershipDerivedSchemaWin, AttributableType.MEMBERSHIP,
- SchemaModalPageFactory.SchemaType.DERIVED, "createMembershipDerSchemaWinLink",
+ SchemaType.DERIVED, "createMembershipDerSchemaWinLink",
"createMembershipDerivedSchemaWin", allowedCreateRoles));
add(getCreateSchemaWindow(createMembershipVirtualSchemaWin, AttributableType.MEMBERSHIP,
- SchemaModalPageFactory.SchemaType.VIRTUAL, "createMembershipVirSchemaWinLink",
+ SchemaType.VIRTUAL, "createMembershipVirSchemaWinLink",
"createMembershipVirtualSchemaWin", allowedCreateRoles));
}
@@ -547,9 +548,9 @@ public class Schema extends BasePage {
private final SortableDataProviderComparator<SchemaTO> comparator;
- private final SchemaType schemaType;
+ private final PlainSchemaType schemaType;
- public SchemaProvider(final SchemaType schemaType) {
+ public SchemaProvider(final PlainSchemaType schemaType) {
super();
this.schemaType = schemaType;
@@ -565,7 +566,7 @@ public class Schema extends BasePage {
Collections.sort(list, comparator);
- return list.subList((int)first, (int)first + (int)count).iterator();
+ return list.subList((int) first, (int) first + (int) count).iterator();
}
@Override
@@ -624,7 +625,7 @@ public class Schema extends BasePage {
Collections.sort(list, comparator);
- return list.subList((int)first, (int)first + (int)count).iterator();
+ return list.subList((int) first, (int) first + (int) count).iterator();
}
@Override
@@ -676,7 +677,7 @@ public class Schema extends BasePage {
Collections.sort(list, comparator);
- return list.subList((int)first, (int)first + (int)count).iterator();
+ return list.subList((int) first, (int) first + (int) count).iterator();
}
@Override
@@ -707,7 +708,7 @@ public class Schema extends BasePage {
private <T extends AbstractSchemaModalPage> List<IColumn> getColumnsForSchema(
final WebMarkupContainer webContainer, final ModalWindow modalWindow,
- final AttributableType attributableType, final SchemaModalPageFactory.SchemaType schemaType,
+ final AttributableType attributableType, final SchemaType schemaType,
final String[] fields, final String readPermissions, final String deletePermissions) {
List<IColumn> columns = new ArrayList<IColumn>();
@@ -820,7 +821,7 @@ public class Schema extends BasePage {
}
private <T extends AbstractSchemaModalPage> AjaxLink getCreateSchemaWindow(final ModalWindow createSchemaWin,
- final AttributableType attributableType, final SchemaModalPageFactory.SchemaType schemaType,
+ final AttributableType attributableType, final SchemaType schemaType,
final String winLinkName, final String winName, final String createPermissions) {
AjaxLink createSchemaWinLink = new ClearIndicatingAjaxLink(winLinkName, getPageReference()) {
Modified: syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/UserSearchResultPanel.java
URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/UserSearchResultPanel.java?rev=1452352&r1=1452351&r2=1452352&view=diff
==============================================================================
--- syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/UserSearchResultPanel.java (original)
+++ syncope/trunk/console/src/main/java/org/apache/syncope/console/pages/panels/UserSearchResultPanel.java Mon Mar 4 15:52:51 2013
@@ -26,6 +26,7 @@ import java.util.List;
import org.apache.syncope.common.search.NodeCond;
import org.apache.syncope.common.to.AbstractAttributableTO;
import org.apache.syncope.common.to.UserTO;
+import org.apache.syncope.common.types.SchemaType;
import org.apache.syncope.common.validation.SyncopeClientCompositeErrorException;
import org.apache.syncope.console.commons.Constants;
import org.apache.syncope.console.pages.DisplayAttributesModalPage;
@@ -81,15 +82,15 @@ public class UserSearchResultPanel exten
}
for (String name : prefMan.getList(getRequest(), Constants.PREF_USERS_ATTRIBUTES_VIEW)) {
- columns.add(new AttrColumn(name, AttrColumn.SchemaType.schema));
+ columns.add(new AttrColumn(name, SchemaType.NORMAL));
}
for (String name : prefMan.getList(getRequest(), Constants.PREF_USERS_DERIVED_ATTRIBUTES_VIEW)) {
- columns.add(new AttrColumn(name, AttrColumn.SchemaType.derivedSchema));
+ columns.add(new AttrColumn(name, SchemaType.DERIVED));
}
for (String name : prefMan.getList(getRequest(), Constants.PREF_USERS_VIRTUAL_ATTRIBUTES_VIEW)) {
- columns.add(new AttrColumn(name, AttrColumn.SchemaType.virtualSchema));
+ columns.add(new AttrColumn(name, SchemaType.VIRTUAL));
}
// Add defaults in case of no selection
@@ -105,6 +106,8 @@ public class UserSearchResultPanel exten
columns.add(new AbstractColumn<AbstractAttributableTO, String>(new ResourceModel("actions", "")) {
+ private static final long serialVersionUID = -3503023501954863131L;
+
@Override
public String getCssClass() {
return "action";
Modified: syncope/trunk/console/src/main/java/org/apache/syncope/console/wicket/extensions/markup/html/repeater/data/table/AttrColumn.java
URL: http://svn.apache.org/viewvc/syncope/trunk/console/src/main/java/org/apache/syncope/console/wicket/extensions/markup/html/repeater/data/table/AttrColumn.java?rev=1452352&r1=1452351&r2=1452352&view=diff
==============================================================================
--- syncope/trunk/console/src/main/java/org/apache/syncope/console/wicket/extensions/markup/html/repeater/data/table/AttrColumn.java (original)
+++ syncope/trunk/console/src/main/java/org/apache/syncope/console/wicket/extensions/markup/html/repeater/data/table/AttrColumn.java Mon Mar 4 15:52:51 2013
@@ -21,6 +21,7 @@ package org.apache.syncope.console.wicke
import java.util.List;
import org.apache.syncope.common.to.AbstractAttributableTO;
+import org.apache.syncope.common.types.SchemaType;
import org.apache.wicket.extensions.markup.html.repeater.data.grid.ICellPopulator;
import org.apache.wicket.extensions.markup.html.repeater.data.table.AbstractColumn;
import org.apache.wicket.markup.html.basic.Label;
@@ -32,21 +33,14 @@ public class AttrColumn extends Abstract
private static final long serialVersionUID = 2624734332447371372L;
- public enum SchemaType {
-
- schema,
- virtualSchema,
- derivedSchema;
-
- };
-
private final String name;
private final SchemaType schemaType;
public AttrColumn(final String name, final SchemaType schemaType) {
-
- super(new ResourceModel(name, name), name);
+ // set sortProperty to schematype#name (e.g. derivedSchema#cn,
+ // for use with SortableUserProviderComparator.AttrModel#getObject)
+ super(new ResourceModel(name, name), schemaType.name() + "#" + name);
this.name = name;
this.schemaType = schemaType;
}
@@ -58,20 +52,20 @@ public class AttrColumn extends Abstract
List<String> values = null;
switch (schemaType) {
- case schema:
+ case NORMAL:
if (rowModel.getObject().getAttributeMap().containsKey(name)) {
values = rowModel.getObject().getAttributeMap().get(name).getValues();
}
break;
- case virtualSchema:
+ case VIRTUAL:
if (rowModel.getObject().getVirtualAttributeMap().containsKey(name)) {
values = rowModel.getObject().getVirtualAttributeMap().get(name).getValues();
}
break;
- case derivedSchema:
+ case DERIVED:
if (rowModel.getObject().getDerivedAttributeMap().containsKey(name)) {
values = rowModel.getObject().getDerivedAttributeMap().get(name).getValues();