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 2018/03/06 15:03:43 UTC
[1/2] syncope git commit: [SYNCOPE-1225] Some cleanup
Repository: syncope
Updated Branches:
refs/heads/2_0_X 2c013d9e5 -> f4bd870fa
refs/heads/master 3e3693016 -> e82e43cdd
[SYNCOPE-1225] Some cleanup
Project: http://git-wip-us.apache.org/repos/asf/syncope/repo
Commit: http://git-wip-us.apache.org/repos/asf/syncope/commit/f4bd870f
Tree: http://git-wip-us.apache.org/repos/asf/syncope/tree/f4bd870f
Diff: http://git-wip-us.apache.org/repos/asf/syncope/diff/f4bd870f
Branch: refs/heads/2_0_X
Commit: f4bd870fa1879d6575a78da46b9a7e935ccde8f7
Parents: 2c013d9
Author: Francesco Chicchiriccò <il...@apache.org>
Authored: Tue Mar 6 15:12:07 2018 +0100
Committer: Francesco Chicchiriccò <il...@apache.org>
Committed: Tue Mar 6 15:12:07 2018 +0100
----------------------------------------------------------------------
.../schema/SchemaSyncopeOperations.java | 8 +-
.../NotificationWizardBuilder.java | 25 ++++-
.../client/console/panels/SchemaTypePanel.java | 57 +++++++---
.../panels/SchemaTypePanelWithSearch.java | 105 -------------------
.../client/console/panels/SchemasPanel.java | 79 +++++++++++++-
.../panels/search/AbstractSearchPanel.java | 3 +-
.../client/console/rest/SchemaRestClient.java | 53 +++-------
.../console/wizards/any/AbstractAttrs.java | 2 +-
.../syncope/client/console/pages/BasePage.html | 2 +-
.../panels/SchemaTypePanelWithSearch.html | 33 ------
.../client/console/panels/SchemasPanel.html | 11 ++
.../client/enduser/SyncopeEnduserSession.java | 4 +-
.../enduser/resources/SchemaResource.java | 12 +--
.../common/rest/api/beans/SchemaQuery.java | 1 -
.../common/rest/api/service/SchemaService.java | 4 +-
.../apache/syncope/core/logic/SchemaLogic.java | 27 +++--
.../core/persistence/api/dao/SchemaDAO.java | 6 +-
.../persistence/jpa/dao/JPADerSchemaDAO.java | 12 +--
.../persistence/jpa/dao/JPAPlainSchemaDAO.java | 12 +--
.../persistence/jpa/dao/JPAVirSchemaDAO.java | 12 +--
.../persistence/jpa/inner/DerSchemaTest.java | 2 +-
.../persistence/jpa/inner/PlainSchemaTest.java | 2 +-
.../persistence/jpa/inner/VirSchemaTest.java | 2 +-
.../rest/cxf/service/SchemaServiceImpl.java | 2 +-
.../fit/console/AbstractTypesITCase.java | 14 +--
.../syncope/fit/console/SchemasITCase.java | 84 +++++++--------
.../syncope/fit/core/DerSchemaITCase.java | 10 +-
.../syncope/fit/core/MultitenancyITCase.java | 3 +-
.../syncope/fit/core/PlainSchemaITCase.java | 14 +--
.../syncope/fit/core/VirSchemaITCase.java | 22 ++--
30 files changed, 283 insertions(+), 340 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/syncope/blob/f4bd870f/client/cli/src/main/java/org/apache/syncope/client/cli/commands/schema/SchemaSyncopeOperations.java
----------------------------------------------------------------------
diff --git a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/schema/SchemaSyncopeOperations.java b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/schema/SchemaSyncopeOperations.java
index 79cb89a..4dd17b1 100644
--- a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/schema/SchemaSyncopeOperations.java
+++ b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/schema/SchemaSyncopeOperations.java
@@ -34,19 +34,19 @@ public class SchemaSyncopeOperations {
}
public <T extends SchemaTO> List<T> list(final String schemaTypeString) {
- return schemaService.list(new SchemaQuery.Builder().type(SchemaType.valueOf(schemaTypeString)).build());
+ return schemaService.search(new SchemaQuery.Builder().type(SchemaType.valueOf(schemaTypeString)).build());
}
public <T extends SchemaTO> List<T> listPlain() {
- return schemaService.list(new SchemaQuery.Builder().type(SchemaType.PLAIN).build());
+ return schemaService.search(new SchemaQuery.Builder().type(SchemaType.PLAIN).build());
}
public <T extends SchemaTO> List<T> listDerived() {
- return schemaService.list(new SchemaQuery.Builder().type(SchemaType.DERIVED).build());
+ return schemaService.search(new SchemaQuery.Builder().type(SchemaType.DERIVED).build());
}
public <T extends SchemaTO> List<T> listVirtual() {
- return schemaService.list(new SchemaQuery.Builder().type(SchemaType.VIRTUAL).build());
+ return schemaService.search(new SchemaQuery.Builder().type(SchemaType.VIRTUAL).build());
}
public void delete(final String schemaTypeString, final String schemaName) {
http://git-wip-us.apache.org/repos/asf/syncope/blob/f4bd870f/client/console/src/main/java/org/apache/syncope/client/console/notifications/NotificationWizardBuilder.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/notifications/NotificationWizardBuilder.java b/client/console/src/main/java/org/apache/syncope/client/console/notifications/NotificationWizardBuilder.java
index 7000c4c..aa34be9 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/notifications/NotificationWizardBuilder.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/notifications/NotificationWizardBuilder.java
@@ -45,6 +45,8 @@ import org.apache.syncope.client.console.wicket.markup.html.form.MultiFieldPanel
import org.apache.syncope.client.console.wicket.markup.html.form.MultiPanel;
import org.apache.syncope.client.console.wizards.AjaxWizardBuilder;
import org.apache.syncope.common.lib.EntityTOUtils;
+import org.apache.syncope.common.lib.SyncopeClientException;
+import org.apache.syncope.common.lib.to.AnyTypeTO;
import org.apache.syncope.common.lib.to.DerSchemaTO;
import org.apache.syncope.common.lib.to.MailTemplateTO;
import org.apache.syncope.common.lib.to.NotificationTO;
@@ -75,6 +77,8 @@ public class NotificationWizardBuilder extends AjaxWizardBuilder<NotificationWra
private final NotificationRestClient restClient = new NotificationRestClient();
+ private final AnyTypeRestClient anyTypeRestClient = new AnyTypeRestClient();
+
private final SchemaRestClient schemaRestClient = new SchemaRestClient();
private final LoggerRestClient loggerRestClient = new LoggerRestClient();
@@ -350,7 +354,7 @@ public class NotificationWizardBuilder extends AjaxWizardBuilder<NotificationWra
AjaxTextFieldPanel recipientAttrName = new AjaxTextFieldPanel(
"recipientAttrName", new ResourceModel("recipientAttrName", "recipientAttrName").getObject(),
new PropertyModel<String>(notificationTO, "recipientAttrName"));
- recipientAttrName.setChoices(getSchemaNames());
+ recipientAttrName.setChoices(getSchemas());
recipientAttrName.addRequiredLabel();
recipientAttrName.setTitle(getString("intAttrNameInfo.help")
+ "<div style=\"font-size: 10px;\">"
@@ -386,18 +390,29 @@ public class NotificationWizardBuilder extends AjaxWizardBuilder<NotificationWra
}
}
- private List<String> getSchemaNames() {
+ private List<String> getSchemas() {
+ AnyTypeTO type = null;
+ try {
+ type = anyTypeRestClient.read(AnyTypeKind.USER.name());
+ } catch (SyncopeClientException e) {
+ LOG.error("While reading all any types", e);
+ }
+
+ String[] anyTypeClasses = type == null
+ ? new String[0]
+ : type.getClasses().toArray(new String[] {});
+
List<String> result = new ArrayList<>();
result.add("username");
CollectionUtils.collect(
- schemaRestClient.<PlainSchemaTO>getSchemas(SchemaType.PLAIN, AnyTypeKind.USER.name()),
+ schemaRestClient.<PlainSchemaTO>getSchemas(SchemaType.PLAIN, null, anyTypeClasses),
EntityTOUtils.<PlainSchemaTO>keyTransformer(), result);
CollectionUtils.collect(
- schemaRestClient.<DerSchemaTO>getSchemas(SchemaType.DERIVED, AnyTypeKind.USER.name()),
+ schemaRestClient.<DerSchemaTO>getSchemas(SchemaType.DERIVED, null, anyTypeClasses),
EntityTOUtils.<DerSchemaTO>keyTransformer(), result);
CollectionUtils.collect(
- schemaRestClient.<VirSchemaTO>getSchemas(SchemaType.VIRTUAL, AnyTypeKind.USER.name()),
+ schemaRestClient.<VirSchemaTO>getSchemas(SchemaType.VIRTUAL, null, anyTypeClasses),
EntityTOUtils.<VirSchemaTO>keyTransformer(), result);
Collections.sort(result);
http://git-wip-us.apache.org/repos/asf/syncope/blob/f4bd870f/client/console/src/main/java/org/apache/syncope/client/console/panels/SchemaTypePanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/SchemaTypePanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/SchemaTypePanel.java
index a665112..0243122 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/SchemaTypePanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/SchemaTypePanel.java
@@ -18,6 +18,7 @@
*/
package org.apache.syncope.client.console.panels;
+import java.io.Serializable;
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.Arrays;
@@ -129,7 +130,7 @@ public class SchemaTypePanel extends TypesDirectoryPanel<SchemaTO, SchemaProvide
}, true);
initResultTable();
- MetaDataRoleAuthorizationStrategy.authorize(addAjaxLink, RENDER, StandardEntitlement.SCHEMA_LIST);
+ MetaDataRoleAuthorizationStrategy.authorize(addAjaxLink, RENDER, StandardEntitlement.SCHEMA_CREATE);
} catch (InstantiationException | IllegalAccessException e) {
LOG.error("Error create new schema", e);
}
@@ -253,10 +254,8 @@ public class SchemaTypePanel extends TypesDirectoryPanel<SchemaTO, SchemaProvide
@Override
public Iterator<SchemaTO> iterator(final long first, final long count) {
- List<SchemaTO> schemaList = StringUtils.isBlank(keyword)
- ? restClient.getSchemas(this.schemaType)
- : restClient.getSchemas(this.schemaType, keyword, new String[0]);
- Collections.sort(schemaList, comparator);
+ List<SchemaTO> schemas = restClient.getSchemas(this.schemaType, keyword);
+ Collections.sort(schemas, comparator);
if (SchemaType.PLAIN == this.schemaType) {
final List<String> configurations = new ArrayList<>();
@@ -270,22 +269,20 @@ public class SchemaTypePanel extends TypesDirectoryPanel<SchemaTO, SchemaProvide
}, configurations);
final List<SchemaTO> res = new ArrayList<>();
- for (SchemaTO item : schemaList) {
- if (!configurations.contains(item.getKey())) {
- res.add(item);
+ for (SchemaTO schema : schemas) {
+ if (!configurations.contains(schema.getKey())) {
+ res.add(schema);
}
}
return res.subList((int) first, (int) first + (int) count).iterator();
} else {
- return schemaList.subList((int) first, (int) first + (int) count).iterator();
+ return schemas.subList((int) first, (int) first + (int) count).iterator();
}
}
@Override
public long size() {
- int size = StringUtils.isBlank(keyword)
- ? restClient.getSchemas(this.schemaType).size()
- : restClient.getSchemas(this.schemaType, keyword, new String[0]).size();
+ int size = restClient.getSchemas(this.schemaType, keyword).size();
return size > confRestClient.list().size()
? (SchemaType.PLAIN == this.schemaType
? size - confRestClient.list().size()
@@ -301,17 +298,43 @@ public class SchemaTypePanel extends TypesDirectoryPanel<SchemaTO, SchemaProvide
@Override
public void onEvent(final IEvent<?> event) {
- if (event.getPayload() instanceof SchemaTypePanelWithSearch.SchemaSearchEvent) {
- SchemaTypePanelWithSearch.SchemaSearchEvent payload =
- SchemaTypePanelWithSearch.SchemaSearchEvent.class.cast(event.getPayload());
- final AjaxRequestTarget target = payload.getTarget();
+ if (event.getPayload() instanceof SchemaSearchEvent) {
+ SchemaSearchEvent payload = SchemaSearchEvent.class.cast(event.getPayload());
+ AjaxRequestTarget target = payload.getTarget();
+
keyword = payload.getKeyword();
+ if (!keyword.startsWith("*")) {
+ keyword = "*" + keyword;
+ }
+ if (!keyword.endsWith("*")) {
+ keyword = keyword + "*";
+ }
updateResultTable(target);
- ((BasePage) pageRef.getPage()).getNotificationPanel().refresh(target);
} else {
super.onEvent(event);
}
}
+ public static class SchemaSearchEvent implements Serializable {
+
+ private static final long serialVersionUID = -282052400565266028L;
+
+ private final AjaxRequestTarget target;
+
+ private final String keyword;
+
+ SchemaSearchEvent(final AjaxRequestTarget target, final String keyword) {
+ this.target = target;
+ this.keyword = keyword;
+ }
+
+ public AjaxRequestTarget getTarget() {
+ return target;
+ }
+
+ public String getKeyword() {
+ return keyword;
+ }
+ }
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/f4bd870f/client/console/src/main/java/org/apache/syncope/client/console/panels/SchemaTypePanelWithSearch.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/SchemaTypePanelWithSearch.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/SchemaTypePanelWithSearch.java
deleted file mode 100644
index c822630..0000000
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/SchemaTypePanelWithSearch.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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.
- */
-package org.apache.syncope.client.console.panels;
-
-import java.io.Serializable;
-import org.apache.commons.lang3.StringUtils;
-import org.apache.syncope.client.console.wicket.markup.html.form.AjaxTextFieldPanel;
-import org.apache.syncope.common.lib.types.SchemaType;
-import org.apache.wicket.PageReference;
-import org.apache.wicket.ajax.AjaxRequestTarget;
-import org.apache.wicket.ajax.markup.html.form.AjaxSubmitLink;
-import org.apache.wicket.event.Broadcast;
-import org.apache.wicket.markup.html.WebMarkupContainer;
-import org.apache.wicket.markup.html.form.Form;
-import org.apache.wicket.markup.html.panel.Panel;
-import org.apache.wicket.model.Model;
-
-public class SchemaTypePanelWithSearch extends Panel {
-
- private static final long serialVersionUID = 433565065115855671L;
-
- private final SchemaTypePanel schemaTypePanel;
-
- public SchemaTypePanelWithSearch(final String id,
- final SchemaType schemaType,
- final PageReference pageReference) {
- super(id);
-
- schemaTypePanel = new SchemaTypePanel(id, schemaType, pageReference);
-
- addSearchBox();
- add(schemaTypePanel);
- }
-
- private void addSearchBox() {
- final Model<String> queryFilter = new Model<>(StringUtils.EMPTY);
-
- final WebMarkupContainer searchBoxContainer = new WebMarkupContainer("searchBox");
- final Form<?> form = new Form<>("form");
- final AjaxTextFieldPanel filter = new AjaxTextFieldPanel(
- "filter",
- "filter",
- queryFilter,
- false);
- filter.hideLabel().setOutputMarkupId(true);
- form.add(filter);
-
- form.add(new AjaxSubmitLink("search") {
-
- private static final long serialVersionUID = -1765773642975892072L;
-
- @Override
- protected void onAfterSubmit(final AjaxRequestTarget target, final Form<?> form) {
- super.onAfterSubmit(target, form);
-
- send(SchemaTypePanelWithSearch.this,
- Broadcast.DEPTH,
- new SchemaSearchEvent(target, queryFilter.getObject()));
- }
- });
- searchBoxContainer.add(form);
-
- add(searchBoxContainer);
- }
-
- public static class SchemaSearchEvent implements Serializable {
-
- private static final long serialVersionUID = -282052400565266028L;
-
- private final AjaxRequestTarget target;
-
- private final String keyword;
-
- public SchemaSearchEvent(final AjaxRequestTarget target, final String keyword) {
- this.target = target;
- this.keyword = keyword;
- }
-
- public AjaxRequestTarget getTarget() {
- return target;
- }
-
- public String getKeyword() {
- return keyword;
- }
-
- }
-
-}
http://git-wip-us.apache.org/repos/asf/syncope/blob/f4bd870f/client/console/src/main/java/org/apache/syncope/client/console/panels/SchemasPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/SchemasPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/SchemasPanel.java
index 7ad295b..62cd907 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/SchemasPanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/SchemasPanel.java
@@ -20,11 +20,23 @@ package org.apache.syncope.client.console.panels;
import java.util.ArrayList;
import java.util.List;
+import org.apache.commons.lang3.StringUtils;
import org.apache.syncope.client.console.wicket.markup.html.bootstrap.tabs.Accordion;
+import org.apache.syncope.client.console.wicket.markup.html.form.AjaxTextFieldPanel;
import org.apache.syncope.common.lib.types.SchemaType;
+import org.apache.wicket.AttributeModifier;
+import org.apache.wicket.Component;
import org.apache.wicket.PageReference;
+import org.apache.wicket.ajax.AjaxEventBehavior;
+import org.apache.wicket.ajax.AjaxRequestTarget;
+import org.apache.wicket.ajax.attributes.AjaxCallListener;
+import org.apache.wicket.ajax.attributes.AjaxRequestAttributes;
+import org.apache.wicket.ajax.markup.html.form.AjaxSubmitLink;
+import org.apache.wicket.event.Broadcast;
import org.apache.wicket.extensions.markup.html.tabs.AbstractTab;
import org.apache.wicket.extensions.markup.html.tabs.ITab;
+import org.apache.wicket.markup.html.WebMarkupContainer;
+import org.apache.wicket.markup.html.form.Form;
import org.apache.wicket.markup.html.panel.Panel;
import org.apache.wicket.model.Model;
@@ -32,6 +44,8 @@ public class SchemasPanel extends Panel {
private static final long serialVersionUID = -1140213992451232279L;
+ private static final String SEARCH_SUBMIT_LINK = "searchSubmitLink";
+
private final PageReference pageReference;
public SchemasPanel(final String id, final PageReference pageRef) {
@@ -39,14 +53,70 @@ public class SchemasPanel extends Panel {
this.pageReference = pageRef;
- final Accordion accordion = new Accordion("accordionPanel", buildTabList());
+ final Model<String> keywordModel = new Model<>(StringUtils.EMPTY);
+
+ WebMarkupContainer searchBoxContainer = new WebMarkupContainer("searchBox");
+ add(searchBoxContainer);
+
+ final Form<?> form = new Form<>("form");
+ searchBoxContainer.add(form);
+
+ final AjaxTextFieldPanel searchPanel = new AjaxTextFieldPanel(
+ "filter", "filter", keywordModel, true);
+ form.add(searchPanel.hideLabel().setOutputMarkupId(true));
+
+ final AjaxSubmitLink submitLink = new AjaxSubmitLink("search") {
+
+ private static final long serialVersionUID = -1765773642975892072L;
+
+ @Override
+ protected void onAfterSubmit(final AjaxRequestTarget target, final Form<?> form) {
+ super.onAfterSubmit(target, form);
+
+ send(SchemasPanel.this, Broadcast.DEPTH,
+ new SchemaTypePanel.SchemaSearchEvent(target, keywordModel.getObject()));
+ }
+ };
+ submitLink.setOutputMarkupId(true);
+ submitLink.setMarkupId(SEARCH_SUBMIT_LINK);
+ form.add(submitLink);
+
+ searchPanel.getField().add(AttributeModifier.replace(
+ "onkeydown",
+ Model.of("if(event.keyCode == 13) {event.preventDefault();}")));
+
+ searchPanel.getField().add(new AjaxEventBehavior("onkeydown") {
+
+ private static final long serialVersionUID = -7133385027739964990L;
+
+ @Override
+ protected void onEvent(final AjaxRequestTarget target) {
+ target.appendJavaScript("$('#" + SEARCH_SUBMIT_LINK + "').click();");
+ }
+
+ @Override
+ protected void updateAjaxAttributes(final AjaxRequestAttributes attributes) {
+ super.updateAjaxAttributes(attributes);
+
+ attributes.getAjaxCallListeners().add(new AjaxCallListener() {
+
+ private static final long serialVersionUID = 7160235486520935153L;
+
+ @Override
+ public CharSequence getPrecondition(final Component component) {
+ return "if (Wicket.Event.keyCode(attrs.event) == 13) { return true; } else { return false; }";
+ }
+ });
+ }
+ });
+
+ Accordion accordion = new Accordion("accordionPanel", buildTabList());
accordion.setOutputMarkupId(true);
add(accordion);
}
private List<ITab> buildTabList() {
-
- final List<ITab> tabs = new ArrayList<>();
+ List<ITab> tabs = new ArrayList<>();
for (final SchemaType schemaType : SchemaType.values()) {
tabs.add(new AbstractTab(new Model<>(schemaType.name())) {
@@ -55,10 +125,11 @@ public class SchemasPanel extends Panel {
@Override
public Panel getPanel(final String panelId) {
- return new SchemaTypePanelWithSearch(panelId, schemaType, pageReference);
+ return new SchemaTypePanel(panelId, schemaType, pageReference);
}
});
}
+
return tabs;
}
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/f4bd870f/client/console/src/main/java/org/apache/syncope/client/console/panels/search/AbstractSearchPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/search/AbstractSearchPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/search/AbstractSearchPanel.java
index 945296a..5c02669 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/search/AbstractSearchPanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/search/AbstractSearchPanel.java
@@ -186,8 +186,7 @@ public abstract class AbstractSearchPanel extends Panel {
@Override
protected Map<String, PlainSchemaTO> load() {
final List<PlainSchemaTO> schemas = schemaRestClient.<PlainSchemaTO>getSchemas(
- SchemaType.PLAIN,
- anyTypeRestClient.read(type).getClasses().toArray(new String[] {}));
+ SchemaType.PLAIN, null, anyTypeRestClient.read(type).getClasses().toArray(new String[] {}));
final Map<String, PlainSchemaTO> res = new HashMap<>();
for (PlainSchemaTO schema : schemas) {
http://git-wip-us.apache.org/repos/asf/syncope/blob/f4bd870f/client/console/src/main/java/org/apache/syncope/client/console/rest/SchemaRestClient.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/rest/SchemaRestClient.java b/client/console/src/main/java/org/apache/syncope/client/console/rest/SchemaRestClient.java
index ea119df..ea6660b 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/rest/SchemaRestClient.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/rest/SchemaRestClient.java
@@ -21,6 +21,7 @@ package org.apache.syncope.client.console.rest;
import java.util.ArrayList;
import java.util.List;
import org.apache.commons.collections4.CollectionUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.syncope.common.lib.SyncopeClientException;
import org.apache.syncope.common.lib.EntityTOUtils;
import org.apache.syncope.common.lib.to.SchemaTO;
@@ -62,56 +63,26 @@ public class SchemaRestClient extends BaseRestClient {
}
}
}
- return getSchemas(schemaType, classes.toArray(new String[] {}));
+ return getSchemas(schemaType, null, classes.toArray(new String[] {}));
}
- public <T extends SchemaTO> List<T> getSchemas(final SchemaType schemaType, final String typeName) {
- AnyTypeTO type = null;
+ public <T extends SchemaTO> List<T> getSchemas(
+ final SchemaType schemaType, final String keyword, final String... anyTypeClasses) {
- try {
- type = getService(AnyTypeService.class).read(typeName);
- } catch (SyncopeClientException e) {
- LOG.error("While reading all any types", e);
+ SchemaQuery.Builder builder = new SchemaQuery.Builder().type(schemaType);
+ if (StringUtils.isNotBlank(keyword)) {
+ builder.keyword(keyword);
}
-
- if (type == null) {
- return getSchemas(schemaType);
- } else {
- return getSchemas(schemaType, type.getClasses().toArray(new String[] {}));
+ if (anyTypeClasses != null && anyTypeClasses.length > 0) {
+ builder.anyTypeClasses(anyTypeClasses);
}
- }
-
- public <T extends SchemaTO> List<T> getSchemas(final SchemaType schemaType, final String... kind) {
- return doGetSchemas(schemaType, null, kind);
- }
-
- public <T extends SchemaTO> List<T> getSchemas(
- final SchemaType schemaType, final String keyword, final String... kind) {
- return doGetSchemas(schemaType, keyword, kind);
- }
- private <T extends SchemaTO> List<T> doGetSchemas(
- final SchemaType schemaType, final String keyword, final String... kind) {
List<T> schemas = new ArrayList<>();
-
try {
- SchemaQuery.Builder schemaQuery =
- new SchemaQuery.Builder().type(schemaType);
- if (keyword != null) {
- schemaQuery.keyword(keyword);
- }
-
- if (kind == null || kind.length == 0) {
- schemas.addAll(getService(SchemaService.class).
- <T>list(schemaQuery.build()));
- } else {
- schemas.addAll(getService(SchemaService.class).
- <T>list(schemaQuery.anyTypeClasses(kind).build()));
- }
+ schemas.addAll(getService(SchemaService.class).<T>search(builder.build()));
} catch (SyncopeClientException e) {
- LOG.error("While getting all {} schemas for {}", schemaType, kind, e);
+ LOG.error("While getting all {} schemas for {}", schemaType, anyTypeClasses, e);
}
-
return schemas;
}
@@ -119,7 +90,7 @@ public class SchemaRestClient extends BaseRestClient {
List<String> schemaNames = new ArrayList<>();
try {
- CollectionUtils.collect(getSchemas(schemaType),
+ CollectionUtils.collect(getSchemas(schemaType, null, new String[0]),
EntityTOUtils.<SchemaTO>keyTransformer(), schemaNames);
} catch (SyncopeClientException e) {
LOG.error("While getting all user schema names", e);
http://git-wip-us.apache.org/repos/asf/syncope/blob/f4bd870f/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/AbstractAttrs.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/AbstractAttrs.java b/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/AbstractAttrs.java
index eca2f3a..4c3fce7 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/AbstractAttrs.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/AbstractAttrs.java
@@ -152,7 +152,7 @@ public abstract class AbstractAttrs<S extends SchemaTO> extends WizardStep imple
if (anyTypeClasses.isEmpty()) {
allSchemas = Collections.emptyList();
} else {
- allSchemas = schemaRestClient.getSchemas(getSchemaType(), anyTypeClasses.toArray(new String[] {}));
+ allSchemas = schemaRestClient.getSchemas(getSchemaType(), null, anyTypeClasses.toArray(new String[] {}));
}
scs.clear();
http://git-wip-us.apache.org/repos/asf/syncope/blob/f4bd870f/client/console/src/main/resources/org/apache/syncope/client/console/pages/BasePage.html
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/pages/BasePage.html b/client/console/src/main/resources/org/apache/syncope/client/console/pages/BasePage.html
index a8887cf..adcebe9 100644
--- a/client/console/src/main/resources/org/apache/syncope/client/console/pages/BasePage.html
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/pages/BasePage.html
@@ -116,7 +116,7 @@ under the License.
<li wicket:id="policiesLI"><a href="#" wicket:id="policies"><i class="fa fa-list"></i><wicket:message key="policies"/></a></li>
<li wicket:id="securityquestionsLI"><a href="#" wicket:id="securityquestions"><i class="fa fa-question"></i><wicket:message key="securityQuestions"/></a></li>
<li wicket:id="typesLI"><a href="#" wicket:id="types"><i class="fa fa-wrench"></i><wicket:message key="types"/></a></li>
- <li wicket:id="workflowLI"><a href="#" wicket:id="workflow"><i class="fa fa-share-alt"></i><wicket:message key="workflow"/></a></li>
+ <li wicket:id="workflowLI"><a href="#" wicket:id="workflow"><i class="fa fa-briefcase"></i><wicket:message key="workflow"/></a></li>
</ul>
</li>
<li wicket:id="extensionsLI" class="treeview">
http://git-wip-us.apache.org/repos/asf/syncope/blob/f4bd870f/client/console/src/main/resources/org/apache/syncope/client/console/panels/SchemaTypePanelWithSearch.html
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/panels/SchemaTypePanelWithSearch.html b/client/console/src/main/resources/org/apache/syncope/client/console/panels/SchemaTypePanelWithSearch.html
deleted file mode 100644
index 6caa8b6..0000000
--- a/client/console/src/main/resources/org/apache/syncope/client/console/panels/SchemaTypePanelWithSearch.html
+++ /dev/null
@@ -1,33 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements. See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership. The ASF licenses this file
-to you 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.
--->
-<html xmlns="http://www.w3.org/1999/xhtml" xmlns:wicket="http://wicket.apache.org">
- <wicket:panel>
- <div wicket:id="searchBox">
- <form wicket:id="form">
- <div class="form-group input-group">
- <span wicket:id="filter">[FILTER]</span>
- <span class="input-group-addon">
- <a href="#" wicket:id="search"><i class="glyphicon glyphicon-search"></i></a>
- </span>
- </div>
- </form>
- </div>
- <div wicket:id="content"></div>
- </wicket:panel>
-</html>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/syncope/blob/f4bd870f/client/console/src/main/resources/org/apache/syncope/client/console/panels/SchemasPanel.html
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/panels/SchemasPanel.html b/client/console/src/main/resources/org/apache/syncope/client/console/panels/SchemasPanel.html
index ce1be06..c1e31f3 100644
--- a/client/console/src/main/resources/org/apache/syncope/client/console/panels/SchemasPanel.html
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/panels/SchemasPanel.html
@@ -18,6 +18,17 @@ under the License.
-->
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:wicket="http://wicket.apache.org">
<wicket:panel>
+ <div wicket:id="searchBox">
+ <form wicket:id="form">
+ <div class="form-group input-group">
+ <span wicket:id="filter">[FILTER]</span>
+ <span class="input-group-addon">
+ <a href="#" wicket:id="search"><i class="glyphicon glyphicon-search"></i></a>
+ </span>
+ </div>
+ </form>
+ </div>
+
<div wicket:id="accordionPanel"></div>
</wicket:panel>
</html>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/syncope/blob/f4bd870f/client/enduser/src/main/java/org/apache/syncope/client/enduser/SyncopeEnduserSession.java
----------------------------------------------------------------------
diff --git a/client/enduser/src/main/java/org/apache/syncope/client/enduser/SyncopeEnduserSession.java b/client/enduser/src/main/java/org/apache/syncope/client/enduser/SyncopeEnduserSession.java
index 370f91a..067fd52 100644
--- a/client/enduser/src/main/java/org/apache/syncope/client/enduser/SyncopeEnduserSession.java
+++ b/client/enduser/src/main/java/org/apache/syncope/client/enduser/SyncopeEnduserSession.java
@@ -83,8 +83,8 @@ public class SyncopeEnduserSession extends WebSession {
SyncopeEnduserApplication.get().getAnonymousKey()));
platformInfo = anonymousClient.getService(SyncopeService.class).platform();
- datePlainSchemas = anonymousClient.getService(SchemaService.class).
- list(new SchemaQuery.Builder().type(SchemaType.PLAIN).build());
+ datePlainSchemas = anonymousClient.getService(SchemaService.class).search(
+ new SchemaQuery.Builder().type(SchemaType.PLAIN).build());
CollectionUtils.filter(datePlainSchemas, new Predicate<PlainSchemaTO>() {
@Override
http://git-wip-us.apache.org/repos/asf/syncope/blob/f4bd870f/client/enduser/src/main/java/org/apache/syncope/client/enduser/resources/SchemaResource.java
----------------------------------------------------------------------
diff --git a/client/enduser/src/main/java/org/apache/syncope/client/enduser/resources/SchemaResource.java b/client/enduser/src/main/java/org/apache/syncope/client/enduser/resources/SchemaResource.java
index f952ed5..f5373ad 100644
--- a/client/enduser/src/main/java/org/apache/syncope/client/enduser/resources/SchemaResource.java
+++ b/client/enduser/src/main/java/org/apache/syncope/client/enduser/resources/SchemaResource.java
@@ -96,30 +96,30 @@ public class SchemaResource extends BaseResource {
final List<SchemaTO> plainSchemas = classes.isEmpty()
? Collections.<SchemaTO>emptyList()
: customForm == null || customForm.isEmpty() || customForm.get(SchemaType.PLAIN.name()) == null
- ? schemaService.list(
+ ? schemaService.search(
new SchemaQuery.Builder().type(SchemaType.PLAIN).anyTypeClasses(classes).build())
: customForm.get(SchemaType.PLAIN.name()).isShow()
- ? customizeSchemas(schemaService.list(new SchemaQuery.Builder().type(SchemaType.PLAIN).
+ ? customizeSchemas(schemaService.search(new SchemaQuery.Builder().type(SchemaType.PLAIN).
anyTypeClasses(classes).build()), group, customForm.get(SchemaType.PLAIN.name()).
getAttributes())
: Collections.<SchemaTO>emptyList();
final List<SchemaTO> derSchemas = classes.isEmpty()
? Collections.<SchemaTO>emptyList()
: customForm == null || customForm.isEmpty() || customForm.get(SchemaType.DERIVED.name()) == null
- ? schemaService.list(
+ ? schemaService.search(
new SchemaQuery.Builder().type(SchemaType.DERIVED).anyTypeClasses(classes).build())
: customForm.get(SchemaType.DERIVED.name()).isShow()
- ? customizeSchemas(schemaService.list(new SchemaQuery.Builder().type(SchemaType.DERIVED).
+ ? customizeSchemas(schemaService.search(new SchemaQuery.Builder().type(SchemaType.DERIVED).
anyTypeClasses(classes).build()), group, customForm.get(SchemaType.DERIVED.name()).
getAttributes())
: Collections.<SchemaTO>emptyList();
final List<SchemaTO> virSchemas = classes.isEmpty()
? Collections.<SchemaTO>emptyList()
: customForm == null || customForm.isEmpty() || customForm.get(SchemaType.VIRTUAL.name()) == null
- ? schemaService.list(
+ ? schemaService.search(
new SchemaQuery.Builder().type(SchemaType.VIRTUAL).anyTypeClasses(classes).build())
: customForm.get(SchemaType.VIRTUAL.name()).isShow()
- ? customizeSchemas(schemaService.list(new SchemaQuery.Builder().type(SchemaType.VIRTUAL).
+ ? customizeSchemas(schemaService.search(new SchemaQuery.Builder().type(SchemaType.VIRTUAL).
anyTypeClasses(classes).build()), group, customForm.get(SchemaType.VIRTUAL.name()).
getAttributes())
: Collections.<SchemaTO>emptyList();
http://git-wip-us.apache.org/repos/asf/syncope/blob/f4bd870f/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/beans/SchemaQuery.java
----------------------------------------------------------------------
diff --git a/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/beans/SchemaQuery.java b/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/beans/SchemaQuery.java
index a35b85c..b5bbe6c 100644
--- a/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/beans/SchemaQuery.java
+++ b/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/beans/SchemaQuery.java
@@ -63,7 +63,6 @@ public class SchemaQuery extends AbstractBaseBean {
public Builder keyword(final String keyword) {
instance.setKeyword(keyword);
-
return this;
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/f4bd870f/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/SchemaService.java
----------------------------------------------------------------------
diff --git a/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/SchemaService.java b/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/SchemaService.java
index e19cce7..d8bf9dc 100644
--- a/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/SchemaService.java
+++ b/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/SchemaService.java
@@ -57,12 +57,12 @@ public interface SchemaService extends JAXRSService {
* @param <T> actual SchemaTO
* @param query query conditions
* @return list of schemas with matching type, for the given anyTypeClass if provided,
- * with names containing keyword if provided
+ * with keys containing keyword if provided
*/
@GET
@Path("{type}")
@Produces({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML })
- <T extends SchemaTO> List<T> list(@BeanParam SchemaQuery query);
+ <T extends SchemaTO> List<T> search(@BeanParam SchemaQuery query);
/**
* Returns schema matching the given type and key.
http://git-wip-us.apache.org/repos/asf/syncope/blob/f4bd870f/core/logic/src/main/java/org/apache/syncope/core/logic/SchemaLogic.java
----------------------------------------------------------------------
diff --git a/core/logic/src/main/java/org/apache/syncope/core/logic/SchemaLogic.java b/core/logic/src/main/java/org/apache/syncope/core/logic/SchemaLogic.java
index 4f16de9..229766e 100644
--- a/core/logic/src/main/java/org/apache/syncope/core/logic/SchemaLogic.java
+++ b/core/logic/src/main/java/org/apache/syncope/core/logic/SchemaLogic.java
@@ -145,24 +145,20 @@ public class SchemaLogic extends AbstractTransactionalLogic<SchemaTO> {
}
@PreAuthorize("isAuthenticated()")
- @SuppressWarnings("unchecked")
- public <T extends SchemaTO> List<T> list(
- final SchemaType schemaType, final List<String> anyTypeClasses) {
+ public <T extends SchemaTO> List<T> list(final SchemaType schemaType, final List<String> anyTypeClasses) {
return doSearch(schemaType, anyTypeClasses, null);
}
@PreAuthorize("isAuthenticated()")
- @SuppressWarnings("unchecked")
public <T extends SchemaTO> List<T> search(
final SchemaType schemaType, final List<String> anyTypeClasses, final String keyword) {
- return doSearch(schemaType, anyTypeClasses,
- keyword != null
- ? StringUtils.replaceChars(keyword, "*", "%")
- : null);
+
+ return doSearch(schemaType, anyTypeClasses, keyword == null ? null : keyword.replace('*', '%'));
}
private <T extends SchemaTO> List<T> doSearch(
final SchemaType schemaType, final List<String> anyTypeClasses, final String keyword) {
+
List<AnyTypeClass> classes = new ArrayList<>(anyTypeClasses == null ? 0 : anyTypeClasses.size());
if (anyTypeClasses != null) {
anyTypeClasses.remove(AnyTypeKind.USER.name());
@@ -182,11 +178,14 @@ public class SchemaLogic extends AbstractTransactionalLogic<SchemaTO> {
case VIRTUAL:
result = CollectionUtils.collect(
classes.isEmpty()
- ? (keyword == null ? virSchemaDAO.findAll() : virSchemaDAO.search(keyword))
+ ? keyword == null
+ ? virSchemaDAO.findAll()
+ : virSchemaDAO.findByKeyword(keyword)
: virSchemaDAO.findByAnyTypeClasses(classes),
new Transformer<VirSchema, T>() {
@Override
+ @SuppressWarnings("unchecked")
public T transform(final VirSchema input) {
return (T) binder.getVirSchemaTO(input);
}
@@ -196,11 +195,14 @@ public class SchemaLogic extends AbstractTransactionalLogic<SchemaTO> {
case DERIVED:
result = CollectionUtils.collect(
classes.isEmpty()
- ? (keyword == null ? derSchemaDAO.findAll() : derSchemaDAO.search(keyword))
+ ? keyword == null
+ ? derSchemaDAO.findAll()
+ : derSchemaDAO.findByKeyword(keyword)
: derSchemaDAO.findByAnyTypeClasses(classes),
new Transformer<DerSchema, T>() {
@Override
+ @SuppressWarnings("unchecked")
public T transform(final DerSchema input) {
return (T) binder.getDerSchemaTO(input);
}
@@ -211,11 +213,14 @@ public class SchemaLogic extends AbstractTransactionalLogic<SchemaTO> {
default:
result = CollectionUtils.collect(
classes.isEmpty()
- ? (keyword == null ? plainSchemaDAO.findAll() : plainSchemaDAO.search(keyword))
+ ? keyword == null
+ ? plainSchemaDAO.findAll()
+ : plainSchemaDAO.findByKeyword(keyword)
: plainSchemaDAO.findByAnyTypeClasses(classes),
new Transformer<PlainSchema, T>() {
@Override
+ @SuppressWarnings("unchecked")
public T transform(final PlainSchema input) {
return (T) binder.getPlainSchemaTO(input);
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/f4bd870f/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/SchemaDAO.java
----------------------------------------------------------------------
diff --git a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/SchemaDAO.java b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/SchemaDAO.java
index de2df90..0f8a10d 100644
--- a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/SchemaDAO.java
+++ b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/SchemaDAO.java
@@ -29,10 +29,10 @@ public interface SchemaDAO<S extends Schema> extends DAO<S> {
List<S> findByAnyTypeClasses(Collection<AnyTypeClass> anyTypeClasses);
+ List<S> findByKeyword(String keyword);
+
List<S> findAll();
-
- List<S> search(String keyword);
-
+
S save(S derSchema);
void delete(String key);
http://git-wip-us.apache.org/repos/asf/syncope/blob/f4bd870f/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPADerSchemaDAO.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPADerSchemaDAO.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPADerSchemaDAO.java
index 98e1bea..d0a1ade 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPADerSchemaDAO.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPADerSchemaDAO.java
@@ -56,18 +56,18 @@ public class JPADerSchemaDAO extends AbstractDAO<DerSchema> implements DerSchema
}
@Override
- public List<DerSchema> findAll() {
+ public List<DerSchema> findByKeyword(final String keyword) {
TypedQuery<DerSchema> query = entityManager().createQuery(
- "SELECT e FROM " + JPADerSchema.class.getSimpleName() + " e", DerSchema.class);
+ "SELECT e FROM " + JPADerSchema.class.getSimpleName() + " e"
+ + " WHERE e.id LIKE :keyword", DerSchema.class);
+ query.setParameter("keyword", keyword);
return query.getResultList();
}
@Override
- public List<DerSchema> search(final String keyword) {
+ public List<DerSchema> findAll() {
TypedQuery<DerSchema> query = entityManager().createQuery(
- "SELECT e FROM " + JPADerSchema.class.getSimpleName() + " e"
- + " WHERE e.id LIKE :keyword", DerSchema.class);
- query.setParameter("keyword", keyword);
+ "SELECT e FROM " + JPADerSchema.class.getSimpleName() + " e", DerSchema.class);
return query.getResultList();
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/f4bd870f/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAPlainSchemaDAO.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAPlainSchemaDAO.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAPlainSchemaDAO.java
index b9b333c..b001225 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAPlainSchemaDAO.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAPlainSchemaDAO.java
@@ -74,18 +74,18 @@ public class JPAPlainSchemaDAO extends AbstractDAO<PlainSchema> implements Plain
}
@Override
- public List<PlainSchema> findAll() {
+ public List<PlainSchema> findByKeyword(final String keyword) {
TypedQuery<PlainSchema> query = entityManager().createQuery(
- "SELECT e FROM " + JPAPlainSchema.class.getSimpleName() + " e", PlainSchema.class);
+ "SELECT e FROM " + JPAPlainSchema.class.getSimpleName() + " e"
+ + " WHERE e.id LIKE :keyword", PlainSchema.class);
+ query.setParameter("keyword", keyword);
return query.getResultList();
}
@Override
- public List<PlainSchema> search(final String keyword) {
+ public List<PlainSchema> findAll() {
TypedQuery<PlainSchema> query = entityManager().createQuery(
- "SELECT e FROM " + JPAPlainSchema.class.getSimpleName() + " e"
- + " WHERE e.id LIKE :keyword", PlainSchema.class);
- query.setParameter("keyword", keyword);
+ "SELECT e FROM " + JPAPlainSchema.class.getSimpleName() + " e", PlainSchema.class);
return query.getResultList();
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/f4bd870f/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAVirSchemaDAO.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAVirSchemaDAO.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAVirSchemaDAO.java
index b42b40a..8a669d4 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAVirSchemaDAO.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAVirSchemaDAO.java
@@ -108,18 +108,18 @@ public class JPAVirSchemaDAO extends AbstractDAO<VirSchema> implements VirSchema
}
@Override
- public List<VirSchema> findAll() {
+ public List<VirSchema> findByKeyword(final String keyword) {
TypedQuery<VirSchema> query = entityManager().createQuery(
- "SELECT e FROM " + JPAVirSchema.class.getSimpleName() + " e", VirSchema.class);
+ "SELECT e FROM " + JPAVirSchema.class.getSimpleName() + " e"
+ + " WHERE e.id LIKE :keyword", VirSchema.class);
+ query.setParameter("keyword", keyword);
return query.getResultList();
}
@Override
- public List<VirSchema> search(final String keyword) {
+ public List<VirSchema> findAll() {
TypedQuery<VirSchema> query = entityManager().createQuery(
- "SELECT e FROM " + JPAVirSchema.class.getSimpleName() + " e"
- + " WHERE e.id LIKE :keyword", VirSchema.class);
- query.setParameter("keyword", keyword);
+ "SELECT e FROM " + JPAVirSchema.class.getSimpleName() + " e", VirSchema.class);
return query.getResultList();
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/f4bd870f/core/persistence-jpa/src/test/java/org/apache/syncope/core/persistence/jpa/inner/DerSchemaTest.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/test/java/org/apache/syncope/core/persistence/jpa/inner/DerSchemaTest.java b/core/persistence-jpa/src/test/java/org/apache/syncope/core/persistence/jpa/inner/DerSchemaTest.java
index c38a617..a992e84 100644
--- a/core/persistence-jpa/src/test/java/org/apache/syncope/core/persistence/jpa/inner/DerSchemaTest.java
+++ b/core/persistence-jpa/src/test/java/org/apache/syncope/core/persistence/jpa/inner/DerSchemaTest.java
@@ -48,7 +48,7 @@ public class DerSchemaTest extends AbstractTest {
@Test
public void search() {
- List<DerSchema> schemas = derSchemaDAO.search("mderivedd%");
+ List<DerSchema> schemas = derSchemaDAO.findByKeyword("mderivedd%");
assertEquals(1, schemas.size());
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/f4bd870f/core/persistence-jpa/src/test/java/org/apache/syncope/core/persistence/jpa/inner/PlainSchemaTest.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/test/java/org/apache/syncope/core/persistence/jpa/inner/PlainSchemaTest.java b/core/persistence-jpa/src/test/java/org/apache/syncope/core/persistence/jpa/inner/PlainSchemaTest.java
index b910b37..dd0fa85 100644
--- a/core/persistence-jpa/src/test/java/org/apache/syncope/core/persistence/jpa/inner/PlainSchemaTest.java
+++ b/core/persistence-jpa/src/test/java/org/apache/syncope/core/persistence/jpa/inner/PlainSchemaTest.java
@@ -52,7 +52,7 @@ public class PlainSchemaTest extends AbstractTest {
@Test
public void search() {
- List<PlainSchema> schemas = plainSchemaDAO.search("fullna%");
+ List<PlainSchema> schemas = plainSchemaDAO.findByKeyword("fullna%");
assertEquals(1, schemas.size());
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/f4bd870f/core/persistence-jpa/src/test/java/org/apache/syncope/core/persistence/jpa/inner/VirSchemaTest.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/test/java/org/apache/syncope/core/persistence/jpa/inner/VirSchemaTest.java b/core/persistence-jpa/src/test/java/org/apache/syncope/core/persistence/jpa/inner/VirSchemaTest.java
index ce9dd36..786331a 100644
--- a/core/persistence-jpa/src/test/java/org/apache/syncope/core/persistence/jpa/inner/VirSchemaTest.java
+++ b/core/persistence-jpa/src/test/java/org/apache/syncope/core/persistence/jpa/inner/VirSchemaTest.java
@@ -55,7 +55,7 @@ public class VirSchemaTest extends AbstractTest {
@Test
public void search() {
- List<VirSchema> schemas = virSchemaDAO.search("rvirtuald%");
+ List<VirSchema> schemas = virSchemaDAO.findByKeyword("rvirtuald%");
assertEquals(1, schemas.size());
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/f4bd870f/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/SchemaServiceImpl.java
----------------------------------------------------------------------
diff --git a/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/SchemaServiceImpl.java b/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/SchemaServiceImpl.java
index 10db5b5..ac5f5c6 100644
--- a/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/SchemaServiceImpl.java
+++ b/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/SchemaServiceImpl.java
@@ -52,7 +52,7 @@ public class SchemaServiceImpl extends AbstractServiceImpl implements SchemaServ
}
@Override
- public <T extends SchemaTO> List<T> list(final SchemaQuery query) {
+ public <T extends SchemaTO> List<T> search(final SchemaQuery query) {
return logic.search(query.getType(), query.getAnyTypeClasses(), query.getKeyword());
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/f4bd870f/fit/core-reference/src/test/java/org/apache/syncope/fit/console/AbstractTypesITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/AbstractTypesITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/AbstractTypesITCase.java
index 4c9362e..6a395ad 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/AbstractTypesITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/AbstractTypesITCase.java
@@ -27,10 +27,10 @@ import org.junit.Before;
public abstract class AbstractTypesITCase extends AbstractConsoleITCase {
protected static final String PLAIN_DATATABLE_PATH = "body:content:tabbedPanel:panel:"
- + "accordionPanel:tabs:0:body:content:content:container:content:searchContainer:resultTable";
+ + "accordionPanel:tabs:0:body:content:container:content:searchContainer:resultTable";
protected static final String VIRTUAL_DATATABLE_PATH = "body:content:tabbedPanel:panel:"
- + "accordionPanel:tabs:2:body:content:content:container:content:searchContainer:resultTable";
+ + "accordionPanel:tabs:2:body:content:container:content:searchContainer:resultTable";
protected static final String DATATABLE_PATH =
"body:content:tabbedPanel:panel:container:content:searchContainer:resultTable";
@@ -88,19 +88,19 @@ public abstract class AbstractTypesITCase extends AbstractConsoleITCase {
protected void createPlainSchema(final String key) {
browsingToPlainSchemas();
TESTER.clickLink(
- "body:content:tabbedPanel:panel:accordionPanel:tabs:0:body:content:content:container:content:add");
+ "body:content:tabbedPanel:panel:accordionPanel:tabs:0:body:content:container:content:add");
TESTER.assertComponent(
- "body:content:tabbedPanel:panel:accordionPanel:tabs:0:body:content:content:outerObjectsRepeater:0:outer",
+ "body:content:tabbedPanel:panel:accordionPanel:tabs:0:body:content:outerObjectsRepeater:0:outer",
Modal.class);
final FormTester formTester = TESTER.newFormTester("body:content:tabbedPanel:panel:"
- + "accordionPanel:tabs:0:body:content:content:outerObjectsRepeater:0:outer:form");
+ + "accordionPanel:tabs:0:body:content:outerObjectsRepeater:0:outer:form");
formTester.setValue("content:details:form:key:textField", key);
formTester.setValue("content:details:form:type:dropDownChoiceField", "3");
- TESTER.clickLink("body:content:tabbedPanel:panel:accordionPanel:"
- + "tabs:0:body:content:content:outerObjectsRepeater:0:outer:dialog:footer:inputs:0:submit");
+ TESTER.clickLink("body:content:tabbedPanel:panel:"
+ + "accordionPanel:tabs:0:body:content:outerObjectsRepeater:0:outer:dialog:footer:inputs:0:submit");
TESTER.assertInfoMessages("Operation executed successfully");
http://git-wip-us.apache.org/repos/asf/syncope/blob/f4bd870f/fit/core-reference/src/test/java/org/apache/syncope/fit/console/SchemasITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/SchemasITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/SchemasITCase.java
index 74c9c26..45303fb 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/SchemasITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/SchemasITCase.java
@@ -45,32 +45,32 @@ public class SchemasITCase extends AbstractTypesITCase {
Constants.ON_CLICK);
TESTER.clickLink(
- "body:content:tabbedPanel:panel:accordionPanel:tabs:0:body:content:content:outerObjectsRepeater:1:outer:"
+ "body:content:tabbedPanel:panel:accordionPanel:tabs:0:body:content:outerObjectsRepeater:1:outer:"
+ "container:content:togglePanelContainer:container:actions:actions:actionRepeater:0:action:action");
TESTER.assertComponent(
"body:content:tabbedPanel:"
- + "panel:accordionPanel:tabs:0:body:content:content:outerObjectsRepeater:0:outer:"
+ + "panel:accordionPanel:tabs:0:body:content:outerObjectsRepeater:0:outer:"
+ "form:content:kindForm:kind:dropDownChoiceField", DropDownChoice.class);
}
@Test
public void createPlainSchema() {
browsingToPlainSchemas();
- TESTER.clickLink("body:content:tabbedPanel:panel:accordionPanel:"
- + "tabs:0:body:content:content:container:content:add");
+ TESTER.clickLink(
+ "body:content:tabbedPanel:panel:accordionPanel:tabs:0:body:content:container:content:add");
- TESTER.assertComponent("body:content:tabbedPanel:panel:accordionPanel:"
- + "tabs:0:body:content:content:outerObjectsRepeater:0:outer",
+ TESTER.assertComponent(
+ "body:content:tabbedPanel:panel:accordionPanel:tabs:0:body:content:outerObjectsRepeater:0:outer",
Modal.class);
final FormTester formTester = TESTER.newFormTester("body:content:tabbedPanel:panel:"
- + "accordionPanel:tabs:0:body:content:content:outerObjectsRepeater:0:outer:form");
+ + "accordionPanel:tabs:0:body:content:outerObjectsRepeater:0:outer:form");
formTester.setValue("content:details:form:key:textField", "zBoolean");
formTester.setValue("content:details:form:type:dropDownChoiceField", "3");
- TESTER.clickLink("body:content:tabbedPanel:panel:accordionPanel:"
- + "tabs:0:body:content:content:outerObjectsRepeater:0:outer:dialog:footer:inputs:0:submit");
+ TESTER.clickLink("body:content:tabbedPanel:panel:accordionPanel:tabs:0:body:content:outerObjectsRepeater:0:"
+ + "outer:dialog:footer:inputs:0:submit");
TESTER.assertInfoMessages("Operation executed successfully");
@@ -88,20 +88,21 @@ public class SchemasITCase extends AbstractTypesITCase {
assertNotNull(result);
TESTER.executeAjaxEvent(result.getPageRelativePath(), Constants.ON_CLICK);
- TESTER.clickLink("body:content:tabbedPanel:panel:accordionPanel:"
- + "tabs:0:body:content:content:outerObjectsRepeater:1:outer:"
+ TESTER.clickLink(
+ "body:content:tabbedPanel:panel:accordionPanel:tabs:0:body:content:outerObjectsRepeater:1:outer:"
+ "container:content:togglePanelContainer:container:actions:actions:actionRepeater:0:action:action");
- TESTER.assertComponent("body:content:tabbedPanel:panel:accordionPanel:"
- + "tabs:0:body:content:content:outerObjectsRepeater:0:outer:"
+ TESTER.assertComponent(
+ "body:content:tabbedPanel:"
+ + "panel:accordionPanel:tabs:0:body:content:outerObjectsRepeater:0:outer:"
+ "form:content:kindForm:kind:dropDownChoiceField", DropDownChoice.class);
- FormTester formTester = TESTER.newFormTester("body:content:tabbedPanel:panel:accordionPanel:"
- + "tabs:0:body:content:content:outerObjectsRepeater:0:outer:form");
+ FormTester formTester = TESTER.newFormTester(
+ "body:content:tabbedPanel:panel:accordionPanel:tabs:0:body:content:outerObjectsRepeater:0:outer:form");
formTester.setValue("content:details:form:multivalue:checkboxField", "true");
- TESTER.clickLink("body:content:tabbedPanel:panel:accordionPanel:"
- + "tabs:0:body:content:content:outerObjectsRepeater:0:outer:dialog:footer:inputs:0:submit",
+ TESTER.clickLink("body:content:tabbedPanel:panel:"
+ + "accordionPanel:tabs:0:body:content:outerObjectsRepeater:0:outer:dialog:footer:inputs:0:submit",
true);
TESTER.assertInfoMessages("Operation executed successfully");
@@ -112,20 +113,20 @@ public class SchemasITCase extends AbstractTypesITCase {
browsingToPlainSchemas();
//create new Plain Schema
final String schemaName = "zStringDelete";
- TESTER.clickLink("body:content:tabbedPanel:panel:accordionPanel:"
- + "tabs:0:body:content:content:container:content:add");
+ TESTER.clickLink(
+ "body:content:tabbedPanel:panel:accordionPanel:tabs:0:body:content:container:content:add");
- TESTER.assertComponent("body:content:tabbedPanel:panel:accordionPanel:"
- + "tabs:0:body:content:content:outerObjectsRepeater:0:outer",
+ TESTER.assertComponent(
+ "body:content:tabbedPanel:panel:accordionPanel:tabs:0:body:content:outerObjectsRepeater:0:outer",
Modal.class);
final FormTester formTester = TESTER.newFormTester("body:content:tabbedPanel:panel:"
- + "accordionPanel:tabs:0:body:content:content:outerObjectsRepeater:0:outer:form");
+ + "accordionPanel:tabs:0:body:content:outerObjectsRepeater:0:outer:form");
formTester.setValue("content:details:form:key:textField", schemaName);
formTester.setValue("content:details:form:type:dropDownChoiceField", "0");
- TESTER.clickLink("body:content:tabbedPanel:panel:accordionPanel:"
- + "tabs:0:body:content:content:outerObjectsRepeater:0:outer:dialog:footer:inputs:0:submit");
+ TESTER.clickLink("body:content:tabbedPanel:panel:"
+ + "accordionPanel:tabs:0:body:content:outerObjectsRepeater:0:outer:dialog:footer:inputs:0:submit");
TESTER.assertInfoMessages("Operation executed successfully");;
@@ -144,12 +145,12 @@ public class SchemasITCase extends AbstractTypesITCase {
TESTER.executeAjaxEvent(result.getPageRelativePath(), Constants.ON_CLICK);
TESTER.getRequest().addParameter("confirm", "true");
- TESTER.clickLink("body:content:tabbedPanel:panel:accordionPanel:"
- + "tabs:0:body:content:content:outerObjectsRepeater:1:outer:"
+ TESTER.clickLink(
+ "body:content:tabbedPanel:panel:accordionPanel:tabs:0:body:content:outerObjectsRepeater:1:outer:"
+ "container:content:togglePanelContainer:container:actions:actions:actionRepeater:1:action:action");
- TESTER.executeAjaxEvent(TESTER.getComponentFromLastRenderedPage("body:content:tabbedPanel:panel:accordionPanel:"
- + "tabs:0:body:content:content:outerObjectsRepeater:1:outer:"
+ TESTER.executeAjaxEvent(TESTER.getComponentFromLastRenderedPage(
+ "body:content:tabbedPanel:panel:accordionPanel:tabs:0:body:content:outerObjectsRepeater:1:outer:"
+ "container:content:togglePanelContainer:container:actions:actions:actionRepeater:1:action:action"),
Constants.ON_CLICK);
@@ -162,19 +163,19 @@ public class SchemasITCase extends AbstractTypesITCase {
@Test
public void createVirtualSchema() {
browsingToVirtualSchemas();
- TESTER.clickLink("body:content:tabbedPanel:panel:accordionPanel:"
- + "tabs:2:body:content:content:container:content:add");
+ TESTER.clickLink(
+ "body:content:tabbedPanel:panel:accordionPanel:tabs:2:body:content:container:content:add");
- TESTER.assertComponent("body:content:tabbedPanel:panel:accordionPanel:"
- + "tabs:2:body:content:content:outerObjectsRepeater:0:outer",
+ TESTER.assertComponent(
+ "body:content:tabbedPanel:panel:accordionPanel:tabs:2:body:content:outerObjectsRepeater:0:outer",
Modal.class);
- final FormTester formTester = TESTER.newFormTester("body:content:tabbedPanel:panel:accordionPanel:"
- + "tabs:2:body:content:content:outerObjectsRepeater:0:outer:form");
+ final FormTester formTester = TESTER.newFormTester("body:content:tabbedPanel:panel:"
+ + "accordionPanel:tabs:2:body:content:outerObjectsRepeater:0:outer:form");
formTester.setValue("content:details:form:resource:dropDownChoiceField", "0");
TESTER.executeAjaxEvent("body:content:tabbedPanel:panel:"
- + "accordionPanel:tabs:2:body:content:content:outerObjectsRepeater:0:outer:form:"
+ + "accordionPanel:tabs:2:body:content:outerObjectsRepeater:0:outer:form:"
+ "content:details:form:resource:dropDownChoiceField", Constants.ON_CHANGE);
formTester.setValue("content:details:form:key:textField", "mynewvir");
@@ -182,9 +183,8 @@ public class SchemasITCase extends AbstractTypesITCase {
formTester.setValue("content:details:form:anyType:dropDownChoiceField", "0");
formTester.setValue("content:details:form:extAttrName:textField", "virattr");
- TESTER.executeAjaxEvent("body:content:tabbedPanel:panel:accordionPanel:"
- + "tabs:2:body:content:content:outerObjectsRepeater:0:outer:dialog:footer:inputs:0:submit",
- Constants.ON_CLICK);
+ TESTER.executeAjaxEvent("body:content:tabbedPanel:panel:accordionPanel:tabs:2:body:content:"
+ + "outerObjectsRepeater:0:outer:dialog:footer:inputs:0:submit", Constants.ON_CLICK);
TESTER.assertInfoMessages("Operation executed successfully");
TESTER.cleanupFeedbackMessages();
@@ -194,12 +194,12 @@ public class SchemasITCase extends AbstractTypesITCase {
TESTER.executeAjaxEvent(result.getPageRelativePath(), Constants.ON_CLICK);
TESTER.getRequest().addParameter("confirm", "true");
- TESTER.clickLink("body:content:tabbedPanel:panel:accordionPanel:"
- + "tabs:2:body:content:content:outerObjectsRepeater:1:outer:"
+ TESTER.clickLink(
+ "body:content:tabbedPanel:panel:accordionPanel:tabs:2:body:content:outerObjectsRepeater:1:outer:"
+ "container:content:togglePanelContainer:container:actions:actions:actionRepeater:1:action:action");
- TESTER.executeAjaxEvent(TESTER.getComponentFromLastRenderedPage("body:content:tabbedPanel:panel:accordionPanel:"
- + "tabs:2:body:content:content:outerObjectsRepeater:1:outer:"
+ TESTER.executeAjaxEvent(TESTER.getComponentFromLastRenderedPage(
+ "body:content:tabbedPanel:panel:accordionPanel:tabs:2:body:content:outerObjectsRepeater:1:outer:"
+ "container:content:togglePanelContainer:container:actions:actions:actionRepeater:1:action:action"),
Constants.ON_CLICK);
http://git-wip-us.apache.org/repos/asf/syncope/blob/f4bd870f/fit/core-reference/src/test/java/org/apache/syncope/fit/core/DerSchemaITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/DerSchemaITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/DerSchemaITCase.java
index ab877dc..f1dc795 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/DerSchemaITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/DerSchemaITCase.java
@@ -38,18 +38,14 @@ import org.junit.Test;
public class DerSchemaITCase extends AbstractITCase {
@Test
- public void list() {
- List<DerSchemaTO> derSchemas = schemaService.list(new SchemaQuery.Builder().type(SchemaType.DERIVED).build());
+ public void search() {
+ List<DerSchemaTO> derSchemas = schemaService.search(new SchemaQuery.Builder().type(SchemaType.DERIVED).build());
assertFalse(derSchemas.isEmpty());
for (DerSchemaTO derivedSchemaTO : derSchemas) {
assertNotNull(derivedSchemaTO);
}
- }
- @Test
- public void search() {
- List<DerSchemaTO> derSchemas =
- schemaService.list(new SchemaQuery.Builder().type(SchemaType.DERIVED).keyword("mderivedd*").build());
+ derSchemas = schemaService.search(new SchemaQuery.Builder().type(SchemaType.DERIVED).keyword("mder*").build());
assertFalse(derSchemas.isEmpty());
for (DerSchemaTO derivedSchemaTO : derSchemas) {
assertNotNull(derivedSchemaTO);
http://git-wip-us.apache.org/repos/asf/syncope/blob/f4bd870f/fit/core-reference/src/test/java/org/apache/syncope/fit/core/MultitenancyITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/MultitenancyITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/MultitenancyITCase.java
index 4ad582a..fef141f 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/MultitenancyITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/MultitenancyITCase.java
@@ -101,8 +101,7 @@ public class MultitenancyITCase extends AbstractITCase {
@Test
public void readPlainSchemas() {
- assertEquals(13, adminClient.getService(SchemaService.class).
- list(new SchemaQuery.Builder().type(SchemaType.PLAIN).build()).size());
+ assertEquals(13, adminClient.getService(SchemaService.class).search(new SchemaQuery.Builder().type(SchemaType.PLAIN).build()).size());
}
@Test
http://git-wip-us.apache.org/repos/asf/syncope/blob/f4bd870f/fit/core-reference/src/test/java/org/apache/syncope/fit/core/PlainSchemaITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/PlainSchemaITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/PlainSchemaITCase.java
index 83ad9f5..ad769bc 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/PlainSchemaITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/PlainSchemaITCase.java
@@ -255,18 +255,14 @@ public class PlainSchemaITCase extends AbstractITCase {
}
@Test
- public void list() {
- List<PlainSchemaTO> schemas = schemaService.list(new SchemaQuery.Builder().type(SchemaType.PLAIN).build());
+ public void search() {
+ List<PlainSchemaTO> schemas = schemaService.search(new SchemaQuery.Builder().type(SchemaType.PLAIN).build());
assertFalse(schemas.isEmpty());
for (PlainSchemaTO schemaTO : schemas) {
assertNotNull(schemaTO);
}
- }
- @Test
- public void search() {
- List<PlainSchemaTO> schemas =
- schemaService.list(new SchemaQuery.Builder().type(SchemaType.PLAIN).keyword("fullna*").build());
+ schemas = schemaService.search(new SchemaQuery.Builder().type(SchemaType.PLAIN).keyword("fullna*").build());
assertFalse(schemas.isEmpty());
for (PlainSchemaTO schemaTO : schemas) {
assertNotNull(schemaTO);
@@ -274,8 +270,8 @@ public class PlainSchemaITCase extends AbstractITCase {
}
@Test
- public void listByAnyTypeClass() {
- List<PlainSchemaTO> userSchemas = schemaService.list(
+ public void searchByAnyTypeClass() {
+ List<PlainSchemaTO> userSchemas = schemaService.search(
new SchemaQuery.Builder().type(SchemaType.PLAIN).anyTypeClass("minimal user").build());
assertTrue(IterableUtils.matchesAny(userSchemas, new Predicate<PlainSchemaTO>() {
http://git-wip-us.apache.org/repos/asf/syncope/blob/f4bd870f/fit/core-reference/src/test/java/org/apache/syncope/fit/core/VirSchemaITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/VirSchemaITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/VirSchemaITCase.java
index 71aed10..5ad4b32 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/VirSchemaITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/VirSchemaITCase.java
@@ -42,20 +42,16 @@ import org.junit.Test;
public class VirSchemaITCase extends AbstractITCase {
@Test
- public void list() {
- List<VirSchemaTO> vSchemas = schemaService.list(new SchemaQuery.Builder().type(SchemaType.VIRTUAL).build());
- assertFalse(vSchemas.isEmpty());
- for (VirSchemaTO vSchemaTO : vSchemas) {
+ public void search() {
+ List<VirSchemaTO> schemas = schemaService.search(new SchemaQuery.Builder().type(SchemaType.VIRTUAL).build());
+ assertFalse(schemas.isEmpty());
+ for (VirSchemaTO vSchemaTO : schemas) {
assertNotNull(vSchemaTO);
}
- }
- @Test
- public void search() {
- List<VirSchemaTO> vSchemas =
- schemaService.list(new SchemaQuery.Builder().type(SchemaType.VIRTUAL).keyword("rvirtuald*").build());
- assertFalse(vSchemas.isEmpty());
- for (VirSchemaTO vSchemaTO : vSchemas) {
+ schemas = schemaService.search(new SchemaQuery.Builder().type(SchemaType.VIRTUAL).keyword("rvirtual*").build());
+ assertFalse(schemas.isEmpty());
+ for (VirSchemaTO vSchemaTO : schemas) {
assertNotNull(vSchemaTO);
}
}
@@ -104,7 +100,7 @@ public class VirSchemaITCase extends AbstractITCase {
public void anonymous() {
SchemaService unauthenticated = clientFactory.create().getService(SchemaService.class);
try {
- unauthenticated.list(new SchemaQuery.Builder().type(SchemaType.VIRTUAL).build());
+ unauthenticated.search(new SchemaQuery.Builder().type(SchemaType.VIRTUAL).build());
fail();
} catch (AccessControlException e) {
assertNotNull(e);
@@ -113,7 +109,7 @@ public class VirSchemaITCase extends AbstractITCase {
SchemaService anonymous = clientFactory.create(
new AnonymousAuthenticationHandler(ANONYMOUS_UNAME, ANONYMOUS_KEY)).
getService(SchemaService.class);
- assertFalse(anonymous.list(new SchemaQuery.Builder().type(SchemaType.VIRTUAL).build()).isEmpty());
+ assertFalse(anonymous.search(new SchemaQuery.Builder().type(SchemaType.VIRTUAL).build()).isEmpty());
}
@Test
[2/2] syncope git commit: [SYNCOPE-1225] Some cleanup
Posted by il...@apache.org.
[SYNCOPE-1225] Some cleanup
Project: http://git-wip-us.apache.org/repos/asf/syncope/repo
Commit: http://git-wip-us.apache.org/repos/asf/syncope/commit/e82e43cd
Tree: http://git-wip-us.apache.org/repos/asf/syncope/tree/e82e43cd
Diff: http://git-wip-us.apache.org/repos/asf/syncope/diff/e82e43cd
Branch: refs/heads/master
Commit: e82e43cdd1ecdd7dcb1cca6d2a0e003c736b56cb
Parents: 3e36930
Author: Francesco Chicchiriccò <il...@apache.org>
Authored: Tue Mar 6 15:12:07 2018 +0100
Committer: Francesco Chicchiriccò <il...@apache.org>
Committed: Tue Mar 6 16:03:33 2018 +0100
----------------------------------------------------------------------
.../schema/SchemaSyncopeOperations.java | 8 +-
.../NotificationWizardBuilder.java | 25 ++++-
.../client/console/panels/SchemaTypePanel.java | 59 +++++++----
.../panels/SchemaTypePanelWithSearch.java | 105 -------------------
.../client/console/panels/SchemasPanel.java | 79 +++++++++++++-
.../panels/search/AbstractSearchPanel.java | 3 +-
.../client/console/rest/SchemaRestClient.java | 64 ++++-------
.../console/wizards/any/AbstractAttrs.java | 2 +-
.../syncope/client/console/pages/BasePage.html | 2 +-
.../panels/SchemaTypePanelWithSearch.html | 33 ------
.../client/console/panels/SchemasPanel.html | 11 ++
.../client/enduser/SyncopeEnduserSession.java | 2 +-
.../enduser/resources/SchemaResource.java | 12 +--
.../common/rest/api/beans/SchemaQuery.java | 1 -
.../common/rest/api/service/SchemaService.java | 4 +-
.../apache/syncope/core/logic/SchemaLogic.java | 25 +++--
.../core/persistence/api/dao/SchemaDAO.java | 6 +-
.../persistence/jpa/dao/JPADerSchemaDAO.java | 12 +--
.../persistence/jpa/dao/JPAPlainSchemaDAO.java | 12 +--
.../persistence/jpa/dao/JPAVirSchemaDAO.java | 12 +--
.../persistence/jpa/inner/DerSchemaTest.java | 2 +-
.../persistence/jpa/inner/PlainSchemaTest.java | 2 +-
.../persistence/jpa/inner/VirSchemaTest.java | 2 +-
.../rest/cxf/service/SchemaServiceImpl.java | 2 +-
.../fit/console/AbstractTypesITCase.java | 14 +--
.../syncope/fit/console/SchemasITCase.java | 84 +++++++--------
.../syncope/fit/core/DerSchemaITCase.java | 26 ++---
.../syncope/fit/core/MultitenancyITCase.java | 3 +-
.../syncope/fit/core/PlainSchemaITCase.java | 18 ++--
.../syncope/fit/core/VirSchemaITCase.java | 30 +++---
30 files changed, 299 insertions(+), 361 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/syncope/blob/e82e43cd/client/cli/src/main/java/org/apache/syncope/client/cli/commands/schema/SchemaSyncopeOperations.java
----------------------------------------------------------------------
diff --git a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/schema/SchemaSyncopeOperations.java b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/schema/SchemaSyncopeOperations.java
index 79cb89a..4dd17b1 100644
--- a/client/cli/src/main/java/org/apache/syncope/client/cli/commands/schema/SchemaSyncopeOperations.java
+++ b/client/cli/src/main/java/org/apache/syncope/client/cli/commands/schema/SchemaSyncopeOperations.java
@@ -34,19 +34,19 @@ public class SchemaSyncopeOperations {
}
public <T extends SchemaTO> List<T> list(final String schemaTypeString) {
- return schemaService.list(new SchemaQuery.Builder().type(SchemaType.valueOf(schemaTypeString)).build());
+ return schemaService.search(new SchemaQuery.Builder().type(SchemaType.valueOf(schemaTypeString)).build());
}
public <T extends SchemaTO> List<T> listPlain() {
- return schemaService.list(new SchemaQuery.Builder().type(SchemaType.PLAIN).build());
+ return schemaService.search(new SchemaQuery.Builder().type(SchemaType.PLAIN).build());
}
public <T extends SchemaTO> List<T> listDerived() {
- return schemaService.list(new SchemaQuery.Builder().type(SchemaType.DERIVED).build());
+ return schemaService.search(new SchemaQuery.Builder().type(SchemaType.DERIVED).build());
}
public <T extends SchemaTO> List<T> listVirtual() {
- return schemaService.list(new SchemaQuery.Builder().type(SchemaType.VIRTUAL).build());
+ return schemaService.search(new SchemaQuery.Builder().type(SchemaType.VIRTUAL).build());
}
public void delete(final String schemaTypeString, final String schemaName) {
http://git-wip-us.apache.org/repos/asf/syncope/blob/e82e43cd/client/console/src/main/java/org/apache/syncope/client/console/notifications/NotificationWizardBuilder.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/notifications/NotificationWizardBuilder.java b/client/console/src/main/java/org/apache/syncope/client/console/notifications/NotificationWizardBuilder.java
index 3602b44..e4442a4 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/notifications/NotificationWizardBuilder.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/notifications/NotificationWizardBuilder.java
@@ -43,6 +43,8 @@ import org.apache.syncope.client.console.wicket.markup.html.form.AjaxTextFieldPa
import org.apache.syncope.client.console.wicket.markup.html.form.MultiFieldPanel;
import org.apache.syncope.client.console.wicket.markup.html.form.MultiPanel;
import org.apache.syncope.client.console.wizards.AjaxWizardBuilder;
+import org.apache.syncope.common.lib.SyncopeClientException;
+import org.apache.syncope.common.lib.to.AnyTypeTO;
import org.apache.syncope.common.lib.to.DerSchemaTO;
import org.apache.syncope.common.lib.to.EntityTO;
import org.apache.syncope.common.lib.to.NotificationTO;
@@ -74,6 +76,8 @@ public class NotificationWizardBuilder extends AjaxWizardBuilder<NotificationWra
private final NotificationRestClient restClient = new NotificationRestClient();
+ private final AnyTypeRestClient anyTypeRestClient = new AnyTypeRestClient();
+
private final SchemaRestClient schemaRestClient = new SchemaRestClient();
private final LoggerRestClient loggerRestClient = new LoggerRestClient();
@@ -345,7 +349,7 @@ public class NotificationWizardBuilder extends AjaxWizardBuilder<NotificationWra
AjaxTextFieldPanel recipientAttrName = new AjaxTextFieldPanel(
"recipientAttrName", new ResourceModel("recipientAttrName", "recipientAttrName").getObject(),
new PropertyModel<>(notificationTO, "recipientAttrName"));
- recipientAttrName.setChoices(getSchemaNames());
+ recipientAttrName.setChoices(getSchemas());
recipientAttrName.addRequiredLabel();
recipientAttrName.setTitle(getString("intAttrNameInfo.help")
+ "<div style=\"font-size: 10px;\">"
@@ -381,15 +385,26 @@ public class NotificationWizardBuilder extends AjaxWizardBuilder<NotificationWra
}
}
- private List<String> getSchemaNames() {
+ private List<String> getSchemas() {
+ AnyTypeTO type = null;
+ try {
+ type = anyTypeRestClient.read(AnyTypeKind.USER.name());
+ } catch (SyncopeClientException e) {
+ LOG.error("While reading all any types", e);
+ }
+
+ String[] anyTypeClasses = type == null
+ ? new String[0]
+ : type.getClasses().toArray(new String[] {});
+
List<String> result = new ArrayList<>();
result.add("username");
- result.addAll(schemaRestClient.<PlainSchemaTO>getSchemas(SchemaType.PLAIN, AnyTypeKind.USER.name()).
+ result.addAll(schemaRestClient.<PlainSchemaTO>getSchemas(SchemaType.PLAIN, null, anyTypeClasses).
stream().map(EntityTO::getKey).collect(Collectors.toList()));
- result.addAll(schemaRestClient.<DerSchemaTO>getSchemas(SchemaType.DERIVED, AnyTypeKind.USER.name()).
+ result.addAll(schemaRestClient.<DerSchemaTO>getSchemas(SchemaType.DERIVED, null, anyTypeClasses).
stream().map(EntityTO::getKey).collect(Collectors.toList()));
- result.addAll(schemaRestClient.<VirSchemaTO>getSchemas(SchemaType.VIRTUAL, AnyTypeKind.USER.name()).
+ result.addAll(schemaRestClient.<VirSchemaTO>getSchemas(SchemaType.VIRTUAL, null, anyTypeClasses).
stream().map(EntityTO::getKey).collect(Collectors.toList()));
Collections.sort(result);
http://git-wip-us.apache.org/repos/asf/syncope/blob/e82e43cd/client/console/src/main/java/org/apache/syncope/client/console/panels/SchemaTypePanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/SchemaTypePanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/SchemaTypePanel.java
index b696840..079086d 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/SchemaTypePanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/SchemaTypePanel.java
@@ -18,6 +18,7 @@
*/
package org.apache.syncope.client.console.panels;
+import java.io.Serializable;
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.Arrays;
@@ -128,7 +129,7 @@ public class SchemaTypePanel extends TypesDirectoryPanel<SchemaTO, SchemaProvide
}, true);
initResultTable();
- MetaDataRoleAuthorizationStrategy.authorize(addAjaxLink, RENDER, StandardEntitlement.SCHEMA_LIST);
+ MetaDataRoleAuthorizationStrategy.authorize(addAjaxLink, RENDER, StandardEntitlement.SCHEMA_CREATE);
} catch (InstantiationException | IllegalAccessException e) {
LOG.error("Error create new schema", e);
}
@@ -252,33 +253,25 @@ public class SchemaTypePanel extends TypesDirectoryPanel<SchemaTO, SchemaProvide
@Override
public Iterator<SchemaTO> iterator(final long first, final long count) {
- List<SchemaTO> schemaList = StringUtils.isBlank(keyword)
- ? restClient.getSchemas(this.schemaType)
- : restClient.getSchemas(this.schemaType, keyword, new String[0]);
- Collections.sort(schemaList, comparator);
+ List<SchemaTO> schemas = restClient.getSchemas(this.schemaType, keyword);
+ Collections.sort(schemas, comparator);
if (SchemaType.PLAIN == this.schemaType) {
final List<String> configurations = confRestClient.list().stream().
map(AttrTO::getSchema).collect(Collectors.toList());
- final List<SchemaTO> res = new ArrayList<>();
- schemaList.stream().
+ final List<SchemaTO> res = schemas.stream().
filter(item -> !configurations.contains(item.getKey())).
- forEachOrdered(item -> {
- res.add(item);
- });
-
+ collect(Collectors.toList());
return res.subList((int) first, (int) first + (int) count).iterator();
} else {
- return schemaList.subList((int) first, (int) first + (int) count).iterator();
+ return schemas.subList((int) first, (int) first + (int) count).iterator();
}
}
@Override
public long size() {
- int size = StringUtils.isBlank(keyword)
- ? restClient.getSchemas(this.schemaType).size()
- : restClient.getSchemas(this.schemaType, keyword, new String[0]).size();
+ int size = restClient.getSchemas(this.schemaType, keyword).size();
return size > confRestClient.list().size()
? (SchemaType.PLAIN == this.schemaType
? size - confRestClient.list().size()
@@ -294,17 +287,43 @@ public class SchemaTypePanel extends TypesDirectoryPanel<SchemaTO, SchemaProvide
@Override
public void onEvent(final IEvent<?> event) {
- if (event.getPayload() instanceof SchemaTypePanelWithSearch.SchemaSearchEvent) {
- SchemaTypePanelWithSearch.SchemaSearchEvent payload =
- SchemaTypePanelWithSearch.SchemaSearchEvent.class.cast(event.getPayload());
- final AjaxRequestTarget target = payload.getTarget();
+ if (event.getPayload() instanceof SchemaSearchEvent) {
+ SchemaSearchEvent payload = SchemaSearchEvent.class.cast(event.getPayload());
+ AjaxRequestTarget target = payload.getTarget();
+
keyword = payload.getKeyword();
+ if (!keyword.startsWith("*")) {
+ keyword = "*" + keyword;
+ }
+ if (!keyword.endsWith("*")) {
+ keyword = keyword + "*";
+ }
updateResultTable(target);
- ((BasePage) pageRef.getPage()).getNotificationPanel().refresh(target);
} else {
super.onEvent(event);
}
}
+ public static class SchemaSearchEvent implements Serializable {
+
+ private static final long serialVersionUID = -282052400565266028L;
+
+ private final AjaxRequestTarget target;
+
+ private final String keyword;
+
+ SchemaSearchEvent(final AjaxRequestTarget target, final String keyword) {
+ this.target = target;
+ this.keyword = keyword;
+ }
+
+ public AjaxRequestTarget getTarget() {
+ return target;
+ }
+
+ public String getKeyword() {
+ return keyword;
+ }
+ }
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/e82e43cd/client/console/src/main/java/org/apache/syncope/client/console/panels/SchemaTypePanelWithSearch.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/SchemaTypePanelWithSearch.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/SchemaTypePanelWithSearch.java
deleted file mode 100644
index c822630..0000000
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/SchemaTypePanelWithSearch.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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.
- */
-package org.apache.syncope.client.console.panels;
-
-import java.io.Serializable;
-import org.apache.commons.lang3.StringUtils;
-import org.apache.syncope.client.console.wicket.markup.html.form.AjaxTextFieldPanel;
-import org.apache.syncope.common.lib.types.SchemaType;
-import org.apache.wicket.PageReference;
-import org.apache.wicket.ajax.AjaxRequestTarget;
-import org.apache.wicket.ajax.markup.html.form.AjaxSubmitLink;
-import org.apache.wicket.event.Broadcast;
-import org.apache.wicket.markup.html.WebMarkupContainer;
-import org.apache.wicket.markup.html.form.Form;
-import org.apache.wicket.markup.html.panel.Panel;
-import org.apache.wicket.model.Model;
-
-public class SchemaTypePanelWithSearch extends Panel {
-
- private static final long serialVersionUID = 433565065115855671L;
-
- private final SchemaTypePanel schemaTypePanel;
-
- public SchemaTypePanelWithSearch(final String id,
- final SchemaType schemaType,
- final PageReference pageReference) {
- super(id);
-
- schemaTypePanel = new SchemaTypePanel(id, schemaType, pageReference);
-
- addSearchBox();
- add(schemaTypePanel);
- }
-
- private void addSearchBox() {
- final Model<String> queryFilter = new Model<>(StringUtils.EMPTY);
-
- final WebMarkupContainer searchBoxContainer = new WebMarkupContainer("searchBox");
- final Form<?> form = new Form<>("form");
- final AjaxTextFieldPanel filter = new AjaxTextFieldPanel(
- "filter",
- "filter",
- queryFilter,
- false);
- filter.hideLabel().setOutputMarkupId(true);
- form.add(filter);
-
- form.add(new AjaxSubmitLink("search") {
-
- private static final long serialVersionUID = -1765773642975892072L;
-
- @Override
- protected void onAfterSubmit(final AjaxRequestTarget target, final Form<?> form) {
- super.onAfterSubmit(target, form);
-
- send(SchemaTypePanelWithSearch.this,
- Broadcast.DEPTH,
- new SchemaSearchEvent(target, queryFilter.getObject()));
- }
- });
- searchBoxContainer.add(form);
-
- add(searchBoxContainer);
- }
-
- public static class SchemaSearchEvent implements Serializable {
-
- private static final long serialVersionUID = -282052400565266028L;
-
- private final AjaxRequestTarget target;
-
- private final String keyword;
-
- public SchemaSearchEvent(final AjaxRequestTarget target, final String keyword) {
- this.target = target;
- this.keyword = keyword;
- }
-
- public AjaxRequestTarget getTarget() {
- return target;
- }
-
- public String getKeyword() {
- return keyword;
- }
-
- }
-
-}
http://git-wip-us.apache.org/repos/asf/syncope/blob/e82e43cd/client/console/src/main/java/org/apache/syncope/client/console/panels/SchemasPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/SchemasPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/SchemasPanel.java
index 7ad295b..62cd907 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/SchemasPanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/SchemasPanel.java
@@ -20,11 +20,23 @@ package org.apache.syncope.client.console.panels;
import java.util.ArrayList;
import java.util.List;
+import org.apache.commons.lang3.StringUtils;
import org.apache.syncope.client.console.wicket.markup.html.bootstrap.tabs.Accordion;
+import org.apache.syncope.client.console.wicket.markup.html.form.AjaxTextFieldPanel;
import org.apache.syncope.common.lib.types.SchemaType;
+import org.apache.wicket.AttributeModifier;
+import org.apache.wicket.Component;
import org.apache.wicket.PageReference;
+import org.apache.wicket.ajax.AjaxEventBehavior;
+import org.apache.wicket.ajax.AjaxRequestTarget;
+import org.apache.wicket.ajax.attributes.AjaxCallListener;
+import org.apache.wicket.ajax.attributes.AjaxRequestAttributes;
+import org.apache.wicket.ajax.markup.html.form.AjaxSubmitLink;
+import org.apache.wicket.event.Broadcast;
import org.apache.wicket.extensions.markup.html.tabs.AbstractTab;
import org.apache.wicket.extensions.markup.html.tabs.ITab;
+import org.apache.wicket.markup.html.WebMarkupContainer;
+import org.apache.wicket.markup.html.form.Form;
import org.apache.wicket.markup.html.panel.Panel;
import org.apache.wicket.model.Model;
@@ -32,6 +44,8 @@ public class SchemasPanel extends Panel {
private static final long serialVersionUID = -1140213992451232279L;
+ private static final String SEARCH_SUBMIT_LINK = "searchSubmitLink";
+
private final PageReference pageReference;
public SchemasPanel(final String id, final PageReference pageRef) {
@@ -39,14 +53,70 @@ public class SchemasPanel extends Panel {
this.pageReference = pageRef;
- final Accordion accordion = new Accordion("accordionPanel", buildTabList());
+ final Model<String> keywordModel = new Model<>(StringUtils.EMPTY);
+
+ WebMarkupContainer searchBoxContainer = new WebMarkupContainer("searchBox");
+ add(searchBoxContainer);
+
+ final Form<?> form = new Form<>("form");
+ searchBoxContainer.add(form);
+
+ final AjaxTextFieldPanel searchPanel = new AjaxTextFieldPanel(
+ "filter", "filter", keywordModel, true);
+ form.add(searchPanel.hideLabel().setOutputMarkupId(true));
+
+ final AjaxSubmitLink submitLink = new AjaxSubmitLink("search") {
+
+ private static final long serialVersionUID = -1765773642975892072L;
+
+ @Override
+ protected void onAfterSubmit(final AjaxRequestTarget target, final Form<?> form) {
+ super.onAfterSubmit(target, form);
+
+ send(SchemasPanel.this, Broadcast.DEPTH,
+ new SchemaTypePanel.SchemaSearchEvent(target, keywordModel.getObject()));
+ }
+ };
+ submitLink.setOutputMarkupId(true);
+ submitLink.setMarkupId(SEARCH_SUBMIT_LINK);
+ form.add(submitLink);
+
+ searchPanel.getField().add(AttributeModifier.replace(
+ "onkeydown",
+ Model.of("if(event.keyCode == 13) {event.preventDefault();}")));
+
+ searchPanel.getField().add(new AjaxEventBehavior("onkeydown") {
+
+ private static final long serialVersionUID = -7133385027739964990L;
+
+ @Override
+ protected void onEvent(final AjaxRequestTarget target) {
+ target.appendJavaScript("$('#" + SEARCH_SUBMIT_LINK + "').click();");
+ }
+
+ @Override
+ protected void updateAjaxAttributes(final AjaxRequestAttributes attributes) {
+ super.updateAjaxAttributes(attributes);
+
+ attributes.getAjaxCallListeners().add(new AjaxCallListener() {
+
+ private static final long serialVersionUID = 7160235486520935153L;
+
+ @Override
+ public CharSequence getPrecondition(final Component component) {
+ return "if (Wicket.Event.keyCode(attrs.event) == 13) { return true; } else { return false; }";
+ }
+ });
+ }
+ });
+
+ Accordion accordion = new Accordion("accordionPanel", buildTabList());
accordion.setOutputMarkupId(true);
add(accordion);
}
private List<ITab> buildTabList() {
-
- final List<ITab> tabs = new ArrayList<>();
+ List<ITab> tabs = new ArrayList<>();
for (final SchemaType schemaType : SchemaType.values()) {
tabs.add(new AbstractTab(new Model<>(schemaType.name())) {
@@ -55,10 +125,11 @@ public class SchemasPanel extends Panel {
@Override
public Panel getPanel(final String panelId) {
- return new SchemaTypePanelWithSearch(panelId, schemaType, pageReference);
+ return new SchemaTypePanel(panelId, schemaType, pageReference);
}
});
}
+
return tabs;
}
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/e82e43cd/client/console/src/main/java/org/apache/syncope/client/console/panels/search/AbstractSearchPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/search/AbstractSearchPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/search/AbstractSearchPanel.java
index 933defc..7cdda85 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/search/AbstractSearchPanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/search/AbstractSearchPanel.java
@@ -184,8 +184,7 @@ public abstract class AbstractSearchPanel extends Panel {
@Override
protected Map<String, PlainSchemaTO> load() {
final List<PlainSchemaTO> schemas = schemaRestClient.<PlainSchemaTO>getSchemas(
- SchemaType.PLAIN,
- anyTypeRestClient.read(type).getClasses().toArray(new String[] {}));
+ SchemaType.PLAIN, null, anyTypeRestClient.read(type).getClasses().toArray(new String[] {}));
final Map<String, PlainSchemaTO> res = new HashMap<>();
for (PlainSchemaTO schema : schemas) {
http://git-wip-us.apache.org/repos/asf/syncope/blob/e82e43cd/client/console/src/main/java/org/apache/syncope/client/console/rest/SchemaRestClient.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/rest/SchemaRestClient.java b/client/console/src/main/java/org/apache/syncope/client/console/rest/SchemaRestClient.java
index 34e91fe..11fd812 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/rest/SchemaRestClient.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/rest/SchemaRestClient.java
@@ -22,6 +22,7 @@ import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;
+import org.apache.commons.lang3.StringUtils;
import org.apache.syncope.common.lib.SyncopeClientException;
import org.apache.syncope.common.lib.to.SchemaTO;
import org.apache.syncope.common.lib.to.AnyTypeTO;
@@ -57,62 +58,33 @@ public class SchemaRestClient extends BaseRestClient {
break;
default:
- for (AnyTypeTO anyTypeTO : new AnyTypeRestClient().listAnyTypes()) {
- if (anyTypeTO.getKind() != AnyTypeKind.USER && anyTypeTO.getKind() != AnyTypeKind.GROUP) {
- classes.addAll(anyTypeTO.getClasses());
- }
- }
+ new AnyTypeRestClient().listAnyTypes().stream().filter(
+ anyTypeTO -> (anyTypeTO.getKind() != AnyTypeKind.USER
+ && anyTypeTO.getKind() != AnyTypeKind.GROUP)).
+ forEach((anyTypeTO) -> {
+ classes.addAll(anyTypeTO.getClasses());
+ });
}
- return getSchemas(schemaType, classes.toArray(new String[] {}));
+ return getSchemas(schemaType, null, classes.toArray(new String[] {}));
}
- public <T extends SchemaTO> List<T> getSchemas(final SchemaType schemaType, final String typeName) {
- AnyTypeTO type = null;
+ public <T extends SchemaTO> List<T> getSchemas(
+ final SchemaType schemaType, final String keyword, final String... anyTypeClasses) {
- try {
- type = getService(AnyTypeService.class).read(typeName);
- } catch (SyncopeClientException e) {
- LOG.error("While reading all any types", e);
+ SchemaQuery.Builder builder = new SchemaQuery.Builder().type(schemaType);
+ if (StringUtils.isNotBlank(keyword)) {
+ builder.keyword(keyword);
}
-
- if (type == null) {
- return getSchemas(schemaType);
- } else {
- return getSchemas(schemaType, type.getClasses().toArray(new String[] {}));
+ if (anyTypeClasses != null && anyTypeClasses.length > 0) {
+ builder.anyTypeClasses(anyTypeClasses);
}
- }
- public <T extends SchemaTO> List<T> getSchemas(final SchemaType schemaType, final String... kind) {
- return doGetSchemas(schemaType, null, kind);
- }
-
- public <T extends SchemaTO> List<T> getSchemas(
- final SchemaType schemaType, final String keyword, final String... kind) {
- return doGetSchemas(schemaType, keyword, kind);
- }
-
- private <T extends SchemaTO> List<T> doGetSchemas(
- final SchemaType schemaType, final String keyword, final String... kind) {
List<T> schemas = new ArrayList<>();
-
try {
- SchemaQuery.Builder schemaQuery =
- new SchemaQuery.Builder().type(schemaType);
- if (keyword != null) {
- schemaQuery.keyword(keyword);
- }
-
- if (kind == null || kind.length == 0) {
- schemas.addAll(getService(SchemaService.class).
- <T>list(schemaQuery.build()));
- } else {
- schemas.addAll(getService(SchemaService.class).
- <T>list(schemaQuery.anyTypeClasses(kind).build()));
- }
+ schemas.addAll(getService(SchemaService.class).<T>search(builder.build()));
} catch (SyncopeClientException e) {
- LOG.error("While getting all {} schemas for {}", schemaType, kind, e);
+ LOG.error("While getting all {} schemas for {}", schemaType, anyTypeClasses, e);
}
-
return schemas;
}
@@ -120,7 +92,7 @@ public class SchemaRestClient extends BaseRestClient {
List<String> schemaNames = Collections.emptyList();
try {
- schemaNames = getSchemas(schemaType).stream().map(EntityTO::getKey).collect(Collectors.toList());
+ schemaNames = getSchemas(schemaType, null).stream().map(EntityTO::getKey).collect(Collectors.toList());
} catch (SyncopeClientException e) {
LOG.error("While getting all user schema names", e);
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/e82e43cd/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/AbstractAttrs.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/AbstractAttrs.java b/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/AbstractAttrs.java
index eb7645b..a7446fe 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/AbstractAttrs.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/wizards/any/AbstractAttrs.java
@@ -151,7 +151,7 @@ public abstract class AbstractAttrs<S extends SchemaTO> extends WizardStep imple
if (anyTypeClasses.isEmpty()) {
allSchemas = Collections.emptyList();
} else {
- allSchemas = schemaRestClient.getSchemas(getSchemaType(), anyTypeClasses.toArray(new String[] {}));
+ allSchemas = schemaRestClient.getSchemas(getSchemaType(), null, anyTypeClasses.toArray(new String[] {}));
}
scs.clear();
http://git-wip-us.apache.org/repos/asf/syncope/blob/e82e43cd/client/console/src/main/resources/org/apache/syncope/client/console/pages/BasePage.html
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/pages/BasePage.html b/client/console/src/main/resources/org/apache/syncope/client/console/pages/BasePage.html
index 55baf84..76e4c43 100644
--- a/client/console/src/main/resources/org/apache/syncope/client/console/pages/BasePage.html
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/pages/BasePage.html
@@ -117,7 +117,7 @@ under the License.
<li wicket:id="policiesLI"><a href="#" wicket:id="policies"><i class="fa fa-list"></i><wicket:message key="policies"/></a></li>
<li wicket:id="securityquestionsLI"><a href="#" wicket:id="securityquestions"><i class="fa fa-question"></i><wicket:message key="securityQuestions"/></a></li>
<li wicket:id="typesLI"><a href="#" wicket:id="types"><i class="fa fa-wrench"></i><wicket:message key="types"/></a></li>
- <li wicket:id="workflowLI"><a href="#" wicket:id="workflow"><i class="fa fa-share-alt"></i><wicket:message key="workflow"/></a></li>
+ <li wicket:id="workflowLI"><a href="#" wicket:id="workflow"><i class="fa fa-briefcase"></i><wicket:message key="workflow"/></a></li>
</ul>
</li>
<li wicket:id="extensionsLI" class="treeview">
http://git-wip-us.apache.org/repos/asf/syncope/blob/e82e43cd/client/console/src/main/resources/org/apache/syncope/client/console/panels/SchemaTypePanelWithSearch.html
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/panels/SchemaTypePanelWithSearch.html b/client/console/src/main/resources/org/apache/syncope/client/console/panels/SchemaTypePanelWithSearch.html
deleted file mode 100644
index 6caa8b6..0000000
--- a/client/console/src/main/resources/org/apache/syncope/client/console/panels/SchemaTypePanelWithSearch.html
+++ /dev/null
@@ -1,33 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements. See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership. The ASF licenses this file
-to you 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.
--->
-<html xmlns="http://www.w3.org/1999/xhtml" xmlns:wicket="http://wicket.apache.org">
- <wicket:panel>
- <div wicket:id="searchBox">
- <form wicket:id="form">
- <div class="form-group input-group">
- <span wicket:id="filter">[FILTER]</span>
- <span class="input-group-addon">
- <a href="#" wicket:id="search"><i class="glyphicon glyphicon-search"></i></a>
- </span>
- </div>
- </form>
- </div>
- <div wicket:id="content"></div>
- </wicket:panel>
-</html>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/syncope/blob/e82e43cd/client/console/src/main/resources/org/apache/syncope/client/console/panels/SchemasPanel.html
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/panels/SchemasPanel.html b/client/console/src/main/resources/org/apache/syncope/client/console/panels/SchemasPanel.html
index ce1be06..c1e31f3 100644
--- a/client/console/src/main/resources/org/apache/syncope/client/console/panels/SchemasPanel.html
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/panels/SchemasPanel.html
@@ -18,6 +18,17 @@ under the License.
-->
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:wicket="http://wicket.apache.org">
<wicket:panel>
+ <div wicket:id="searchBox">
+ <form wicket:id="form">
+ <div class="form-group input-group">
+ <span wicket:id="filter">[FILTER]</span>
+ <span class="input-group-addon">
+ <a href="#" wicket:id="search"><i class="glyphicon glyphicon-search"></i></a>
+ </span>
+ </div>
+ </form>
+ </div>
+
<div wicket:id="accordionPanel"></div>
</wicket:panel>
</html>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/syncope/blob/e82e43cd/client/enduser/src/main/java/org/apache/syncope/client/enduser/SyncopeEnduserSession.java
----------------------------------------------------------------------
diff --git a/client/enduser/src/main/java/org/apache/syncope/client/enduser/SyncopeEnduserSession.java b/client/enduser/src/main/java/org/apache/syncope/client/enduser/SyncopeEnduserSession.java
index c7b70cc..0238072 100644
--- a/client/enduser/src/main/java/org/apache/syncope/client/enduser/SyncopeEnduserSession.java
+++ b/client/enduser/src/main/java/org/apache/syncope/client/enduser/SyncopeEnduserSession.java
@@ -83,7 +83,7 @@ public class SyncopeEnduserSession extends WebSession {
platformInfo = anonymousClient.getService(SyncopeService.class).platform();
datePlainSchemas = anonymousClient.getService(SchemaService.class).
- list(new SchemaQuery.Builder().type(SchemaType.PLAIN).build());
+ search(new SchemaQuery.Builder().type(SchemaType.PLAIN).build());
datePlainSchemas.removeAll(datePlainSchemas.stream().
filter(object -> object.getType() != AttrSchemaType.Date).collect(Collectors.toSet()));
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/e82e43cd/client/enduser/src/main/java/org/apache/syncope/client/enduser/resources/SchemaResource.java
----------------------------------------------------------------------
diff --git a/client/enduser/src/main/java/org/apache/syncope/client/enduser/resources/SchemaResource.java b/client/enduser/src/main/java/org/apache/syncope/client/enduser/resources/SchemaResource.java
index f6af472..3559bdb 100644
--- a/client/enduser/src/main/java/org/apache/syncope/client/enduser/resources/SchemaResource.java
+++ b/client/enduser/src/main/java/org/apache/syncope/client/enduser/resources/SchemaResource.java
@@ -94,30 +94,30 @@ public class SchemaResource extends BaseResource {
final List<SchemaTO> plainSchemas = classes.isEmpty()
? Collections.<SchemaTO>emptyList()
: customForm == null || customForm.isEmpty() || customForm.get(SchemaType.PLAIN.name()) == null
- ? schemaService.list(
+ ? schemaService.search(
new SchemaQuery.Builder().type(SchemaType.PLAIN).anyTypeClasses(classes).build())
: customForm.get(SchemaType.PLAIN.name()).isShow()
- ? customizeSchemas(schemaService.list(new SchemaQuery.Builder().type(SchemaType.PLAIN).
+ ? customizeSchemas(schemaService.search(new SchemaQuery.Builder().type(SchemaType.PLAIN).
anyTypeClasses(classes).build()), group, customForm.get(SchemaType.PLAIN.name()).
getAttributes())
: Collections.<SchemaTO>emptyList();
final List<SchemaTO> derSchemas = classes.isEmpty()
? Collections.<SchemaTO>emptyList()
: customForm == null || customForm.isEmpty() || customForm.get(SchemaType.DERIVED.name()) == null
- ? schemaService.list(
+ ? schemaService.search(
new SchemaQuery.Builder().type(SchemaType.DERIVED).anyTypeClasses(classes).build())
: customForm.get(SchemaType.DERIVED.name()).isShow()
- ? customizeSchemas(schemaService.list(new SchemaQuery.Builder().type(SchemaType.DERIVED).
+ ? customizeSchemas(schemaService.search(new SchemaQuery.Builder().type(SchemaType.DERIVED).
anyTypeClasses(classes).build()), group, customForm.get(SchemaType.DERIVED.name()).
getAttributes())
: Collections.<SchemaTO>emptyList();
final List<SchemaTO> virSchemas = classes.isEmpty()
? Collections.<SchemaTO>emptyList()
: customForm == null || customForm.isEmpty() || customForm.get(SchemaType.VIRTUAL.name()) == null
- ? schemaService.list(
+ ? schemaService.search(
new SchemaQuery.Builder().type(SchemaType.VIRTUAL).anyTypeClasses(classes).build())
: customForm.get(SchemaType.VIRTUAL.name()).isShow()
- ? customizeSchemas(schemaService.list(new SchemaQuery.Builder().type(SchemaType.VIRTUAL).
+ ? customizeSchemas(schemaService.search(new SchemaQuery.Builder().type(SchemaType.VIRTUAL).
anyTypeClasses(classes).build()), group, customForm.get(SchemaType.VIRTUAL.name()).
getAttributes())
: Collections.<SchemaTO>emptyList();
http://git-wip-us.apache.org/repos/asf/syncope/blob/e82e43cd/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/beans/SchemaQuery.java
----------------------------------------------------------------------
diff --git a/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/beans/SchemaQuery.java b/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/beans/SchemaQuery.java
index 1184853..2c0805a 100644
--- a/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/beans/SchemaQuery.java
+++ b/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/beans/SchemaQuery.java
@@ -63,7 +63,6 @@ public class SchemaQuery extends AbstractBaseBean {
public Builder keyword(final String keyword) {
instance.setKeyword(keyword);
-
return this;
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/e82e43cd/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/SchemaService.java
----------------------------------------------------------------------
diff --git a/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/SchemaService.java b/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/SchemaService.java
index 0768280..a1f983b 100644
--- a/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/SchemaService.java
+++ b/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/SchemaService.java
@@ -60,12 +60,12 @@ public interface SchemaService extends JAXRSService {
* @param <T> actual SchemaTO
* @param query query conditions
* @return list of schemas with matching type, for the given anyTypeClass if provided,
- * with names containing keyword if provided
+ * with keys containing keyword if provided
*/
@GET
@Path("{type}")
@Produces({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML })
- <T extends SchemaTO> List<T> list(@BeanParam SchemaQuery query);
+ <T extends SchemaTO> List<T> search(@BeanParam SchemaQuery query);
/**
* Returns schema matching the given type and key.
http://git-wip-us.apache.org/repos/asf/syncope/blob/e82e43cd/core/logic/src/main/java/org/apache/syncope/core/logic/SchemaLogic.java
----------------------------------------------------------------------
diff --git a/core/logic/src/main/java/org/apache/syncope/core/logic/SchemaLogic.java b/core/logic/src/main/java/org/apache/syncope/core/logic/SchemaLogic.java
index 8f7dbc3..f1ce6ff 100644
--- a/core/logic/src/main/java/org/apache/syncope/core/logic/SchemaLogic.java
+++ b/core/logic/src/main/java/org/apache/syncope/core/logic/SchemaLogic.java
@@ -145,24 +145,21 @@ public class SchemaLogic extends AbstractTransactionalLogic<SchemaTO> {
}
@PreAuthorize("isAuthenticated()")
- @SuppressWarnings({ "unchecked", "Convert2Lambda" })
- public <T extends SchemaTO> List<T> list(
- final SchemaType schemaType, final List<String> anyTypeClasses) {
+ public <T extends SchemaTO> List<T> list(final SchemaType schemaType, final List<String> anyTypeClasses) {
return doSearch(schemaType, anyTypeClasses, null);
}
@PreAuthorize("isAuthenticated()")
- @SuppressWarnings("unchecked")
public <T extends SchemaTO> List<T> search(
final SchemaType schemaType, final List<String> anyTypeClasses, final String keyword) {
- return doSearch(schemaType, anyTypeClasses,
- keyword != null
- ? StringUtils.replaceChars(keyword, "*", "%")
- : null);
+
+ return doSearch(schemaType, anyTypeClasses, keyword == null ? null : keyword.replace('*', '%'));
}
+ @SuppressWarnings({ "unchecked", "Convert2Lambda" })
private <T extends SchemaTO> List<T> doSearch(
final SchemaType schemaType, final List<String> anyTypeClasses, final String keyword) {
+
List<AnyTypeClass> classes = new ArrayList<>(anyTypeClasses == null ? 0 : anyTypeClasses.size());
if (anyTypeClasses != null) {
anyTypeClasses.remove(AnyTypeKind.USER.name());
@@ -181,7 +178,9 @@ public class SchemaLogic extends AbstractTransactionalLogic<SchemaTO> {
switch (schemaType) {
case VIRTUAL:
result = (classes.isEmpty()
- ? (keyword == null ? virSchemaDAO.findAll() : virSchemaDAO.search(keyword))
+ ? keyword == null
+ ? virSchemaDAO.findAll()
+ : virSchemaDAO.findByKeyword(keyword)
: virSchemaDAO.findByAnyTypeClasses(classes)).
stream().map(new Function<VirSchema, T>() {
@@ -194,7 +193,9 @@ public class SchemaLogic extends AbstractTransactionalLogic<SchemaTO> {
case DERIVED:
result = (classes.isEmpty()
- ? (keyword == null ? derSchemaDAO.findAll() : derSchemaDAO.search(keyword))
+ ? keyword == null
+ ? derSchemaDAO.findAll()
+ : derSchemaDAO.findByKeyword(keyword)
: derSchemaDAO.findByAnyTypeClasses(classes)).
stream().map(new Function<DerSchema, T>() {
@@ -208,7 +209,9 @@ public class SchemaLogic extends AbstractTransactionalLogic<SchemaTO> {
case PLAIN:
default:
result = (classes.isEmpty()
- ? (keyword == null ? plainSchemaDAO.findAll() : plainSchemaDAO.search(keyword))
+ ? keyword == null
+ ? plainSchemaDAO.findAll()
+ : plainSchemaDAO.findByKeyword(keyword)
: plainSchemaDAO.findByAnyTypeClasses(classes)).
stream().map(new Function<PlainSchema, T>() {
http://git-wip-us.apache.org/repos/asf/syncope/blob/e82e43cd/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/SchemaDAO.java
----------------------------------------------------------------------
diff --git a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/SchemaDAO.java b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/SchemaDAO.java
index de2df90..0f8a10d 100644
--- a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/SchemaDAO.java
+++ b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/SchemaDAO.java
@@ -29,10 +29,10 @@ public interface SchemaDAO<S extends Schema> extends DAO<S> {
List<S> findByAnyTypeClasses(Collection<AnyTypeClass> anyTypeClasses);
+ List<S> findByKeyword(String keyword);
+
List<S> findAll();
-
- List<S> search(String keyword);
-
+
S save(S derSchema);
void delete(String key);
http://git-wip-us.apache.org/repos/asf/syncope/blob/e82e43cd/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPADerSchemaDAO.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPADerSchemaDAO.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPADerSchemaDAO.java
index 98e1bea..d0a1ade 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPADerSchemaDAO.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPADerSchemaDAO.java
@@ -56,18 +56,18 @@ public class JPADerSchemaDAO extends AbstractDAO<DerSchema> implements DerSchema
}
@Override
- public List<DerSchema> findAll() {
+ public List<DerSchema> findByKeyword(final String keyword) {
TypedQuery<DerSchema> query = entityManager().createQuery(
- "SELECT e FROM " + JPADerSchema.class.getSimpleName() + " e", DerSchema.class);
+ "SELECT e FROM " + JPADerSchema.class.getSimpleName() + " e"
+ + " WHERE e.id LIKE :keyword", DerSchema.class);
+ query.setParameter("keyword", keyword);
return query.getResultList();
}
@Override
- public List<DerSchema> search(final String keyword) {
+ public List<DerSchema> findAll() {
TypedQuery<DerSchema> query = entityManager().createQuery(
- "SELECT e FROM " + JPADerSchema.class.getSimpleName() + " e"
- + " WHERE e.id LIKE :keyword", DerSchema.class);
- query.setParameter("keyword", keyword);
+ "SELECT e FROM " + JPADerSchema.class.getSimpleName() + " e", DerSchema.class);
return query.getResultList();
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/e82e43cd/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAPlainSchemaDAO.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAPlainSchemaDAO.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAPlainSchemaDAO.java
index 8edc696..b431b1f 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAPlainSchemaDAO.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAPlainSchemaDAO.java
@@ -85,18 +85,18 @@ public class JPAPlainSchemaDAO extends AbstractDAO<PlainSchema> implements Plain
}
@Override
- public List<PlainSchema> findAll() {
+ public List<PlainSchema> findByKeyword(final String keyword) {
TypedQuery<PlainSchema> query = entityManager().createQuery(
- "SELECT e FROM " + JPAPlainSchema.class.getSimpleName() + " e", PlainSchema.class);
+ "SELECT e FROM " + JPAPlainSchema.class.getSimpleName() + " e"
+ + " WHERE e.id LIKE :keyword", PlainSchema.class);
+ query.setParameter("keyword", keyword);
return query.getResultList();
}
@Override
- public List<PlainSchema> search(final String keyword) {
+ public List<PlainSchema> findAll() {
TypedQuery<PlainSchema> query = entityManager().createQuery(
- "SELECT e FROM " + JPAPlainSchema.class.getSimpleName() + " e"
- + " WHERE e.id LIKE :keyword", PlainSchema.class);
- query.setParameter("keyword", keyword);
+ "SELECT e FROM " + JPAPlainSchema.class.getSimpleName() + " e", PlainSchema.class);
return query.getResultList();
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/e82e43cd/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAVirSchemaDAO.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAVirSchemaDAO.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAVirSchemaDAO.java
index b42b40a..8a669d4 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAVirSchemaDAO.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAVirSchemaDAO.java
@@ -108,18 +108,18 @@ public class JPAVirSchemaDAO extends AbstractDAO<VirSchema> implements VirSchema
}
@Override
- public List<VirSchema> findAll() {
+ public List<VirSchema> findByKeyword(final String keyword) {
TypedQuery<VirSchema> query = entityManager().createQuery(
- "SELECT e FROM " + JPAVirSchema.class.getSimpleName() + " e", VirSchema.class);
+ "SELECT e FROM " + JPAVirSchema.class.getSimpleName() + " e"
+ + " WHERE e.id LIKE :keyword", VirSchema.class);
+ query.setParameter("keyword", keyword);
return query.getResultList();
}
@Override
- public List<VirSchema> search(final String keyword) {
+ public List<VirSchema> findAll() {
TypedQuery<VirSchema> query = entityManager().createQuery(
- "SELECT e FROM " + JPAVirSchema.class.getSimpleName() + " e"
- + " WHERE e.id LIKE :keyword", VirSchema.class);
- query.setParameter("keyword", keyword);
+ "SELECT e FROM " + JPAVirSchema.class.getSimpleName() + " e", VirSchema.class);
return query.getResultList();
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/e82e43cd/core/persistence-jpa/src/test/java/org/apache/syncope/core/persistence/jpa/inner/DerSchemaTest.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/test/java/org/apache/syncope/core/persistence/jpa/inner/DerSchemaTest.java b/core/persistence-jpa/src/test/java/org/apache/syncope/core/persistence/jpa/inner/DerSchemaTest.java
index 5c047c5..b060c0a 100644
--- a/core/persistence-jpa/src/test/java/org/apache/syncope/core/persistence/jpa/inner/DerSchemaTest.java
+++ b/core/persistence-jpa/src/test/java/org/apache/syncope/core/persistence/jpa/inner/DerSchemaTest.java
@@ -48,7 +48,7 @@ public class DerSchemaTest extends AbstractTest {
@Test
public void search() {
- List<DerSchema> schemas = derSchemaDAO.search("mderivedd%");
+ List<DerSchema> schemas = derSchemaDAO.findByKeyword("mderivedd%");
assertEquals(1, schemas.size());
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/e82e43cd/core/persistence-jpa/src/test/java/org/apache/syncope/core/persistence/jpa/inner/PlainSchemaTest.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/test/java/org/apache/syncope/core/persistence/jpa/inner/PlainSchemaTest.java b/core/persistence-jpa/src/test/java/org/apache/syncope/core/persistence/jpa/inner/PlainSchemaTest.java
index 77de66f..3f18224 100644
--- a/core/persistence-jpa/src/test/java/org/apache/syncope/core/persistence/jpa/inner/PlainSchemaTest.java
+++ b/core/persistence-jpa/src/test/java/org/apache/syncope/core/persistence/jpa/inner/PlainSchemaTest.java
@@ -57,7 +57,7 @@ public class PlainSchemaTest extends AbstractTest {
@Test
public void search() {
- List<PlainSchema> schemas = plainSchemaDAO.search("fullna%");
+ List<PlainSchema> schemas = plainSchemaDAO.findByKeyword("fullna%");
assertEquals(1, schemas.size());
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/e82e43cd/core/persistence-jpa/src/test/java/org/apache/syncope/core/persistence/jpa/inner/VirSchemaTest.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/test/java/org/apache/syncope/core/persistence/jpa/inner/VirSchemaTest.java b/core/persistence-jpa/src/test/java/org/apache/syncope/core/persistence/jpa/inner/VirSchemaTest.java
index 1996575..b723f24 100644
--- a/core/persistence-jpa/src/test/java/org/apache/syncope/core/persistence/jpa/inner/VirSchemaTest.java
+++ b/core/persistence-jpa/src/test/java/org/apache/syncope/core/persistence/jpa/inner/VirSchemaTest.java
@@ -55,7 +55,7 @@ public class VirSchemaTest extends AbstractTest {
@Test
public void search() {
- List<VirSchema> schemas = virSchemaDAO.search("rvirtuald%");
+ List<VirSchema> schemas = virSchemaDAO.findByKeyword("rvirtuald%");
assertEquals(1, schemas.size());
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/e82e43cd/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/SchemaServiceImpl.java
----------------------------------------------------------------------
diff --git a/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/SchemaServiceImpl.java b/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/SchemaServiceImpl.java
index 10db5b5..ac5f5c6 100644
--- a/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/SchemaServiceImpl.java
+++ b/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/SchemaServiceImpl.java
@@ -52,7 +52,7 @@ public class SchemaServiceImpl extends AbstractServiceImpl implements SchemaServ
}
@Override
- public <T extends SchemaTO> List<T> list(final SchemaQuery query) {
+ public <T extends SchemaTO> List<T> search(final SchemaQuery query) {
return logic.search(query.getType(), query.getAnyTypeClasses(), query.getKeyword());
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/e82e43cd/fit/core-reference/src/test/java/org/apache/syncope/fit/console/AbstractTypesITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/AbstractTypesITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/AbstractTypesITCase.java
index 1edadab..bf8ebff 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/AbstractTypesITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/AbstractTypesITCase.java
@@ -27,10 +27,10 @@ import org.junit.jupiter.api.BeforeEach;
public abstract class AbstractTypesITCase extends AbstractConsoleITCase {
protected static final String PLAIN_DATATABLE_PATH = "body:content:tabbedPanel:panel:"
- + "accordionPanel:tabs:0:body:content:content:container:content:searchContainer:resultTable";
+ + "accordionPanel:tabs:0:body:content:container:content:searchContainer:resultTable";
protected static final String VIRTUAL_DATATABLE_PATH = "body:content:tabbedPanel:panel:"
- + "accordionPanel:tabs:2:body:content:content:container:content:searchContainer:resultTable";
+ + "accordionPanel:tabs:2:body:content:container:content:searchContainer:resultTable";
protected static final String DATATABLE_PATH =
"body:content:tabbedPanel:panel:container:content:searchContainer:resultTable";
@@ -88,19 +88,19 @@ public abstract class AbstractTypesITCase extends AbstractConsoleITCase {
protected void createPlainSchema(final String key) {
browsingToPlainSchemas();
TESTER.clickLink(
- "body:content:tabbedPanel:panel:accordionPanel:tabs:0:body:content:content:container:content:add");
+ "body:content:tabbedPanel:panel:accordionPanel:tabs:0:body:content:container:content:add");
TESTER.assertComponent(
- "body:content:tabbedPanel:panel:accordionPanel:tabs:0:body:content:content:outerObjectsRepeater:0:outer",
+ "body:content:tabbedPanel:panel:accordionPanel:tabs:0:body:content:outerObjectsRepeater:0:outer",
Modal.class);
final FormTester formTester = TESTER.newFormTester("body:content:tabbedPanel:panel:"
- + "accordionPanel:tabs:0:body:content:content:outerObjectsRepeater:0:outer:form");
+ + "accordionPanel:tabs:0:body:content:outerObjectsRepeater:0:outer:form");
formTester.setValue("content:details:form:key:textField", key);
formTester.setValue("content:details:form:type:dropDownChoiceField", "3");
- TESTER.clickLink("body:content:tabbedPanel:panel:accordionPanel:"
- + "tabs:0:body:content:content:outerObjectsRepeater:0:outer:dialog:footer:inputs:0:submit");
+ TESTER.clickLink("body:content:tabbedPanel:panel:"
+ + "accordionPanel:tabs:0:body:content:outerObjectsRepeater:0:outer:dialog:footer:inputs:0:submit");
TESTER.assertInfoMessages("Operation executed successfully");
http://git-wip-us.apache.org/repos/asf/syncope/blob/e82e43cd/fit/core-reference/src/test/java/org/apache/syncope/fit/console/SchemasITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/SchemasITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/SchemasITCase.java
index 695011f..50aaefa 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/SchemasITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/SchemasITCase.java
@@ -45,32 +45,32 @@ public class SchemasITCase extends AbstractTypesITCase {
Constants.ON_CLICK);
TESTER.clickLink(
- "body:content:tabbedPanel:panel:accordionPanel:tabs:0:body:content:content:outerObjectsRepeater:1:outer:"
+ "body:content:tabbedPanel:panel:accordionPanel:tabs:0:body:content:outerObjectsRepeater:1:outer:"
+ "container:content:togglePanelContainer:container:actions:actions:actionRepeater:0:action:action");
TESTER.assertComponent(
"body:content:tabbedPanel:"
- + "panel:accordionPanel:tabs:0:body:content:content:outerObjectsRepeater:0:outer:"
+ + "panel:accordionPanel:tabs:0:body:content:outerObjectsRepeater:0:outer:"
+ "form:content:kindForm:kind:dropDownChoiceField", DropDownChoice.class);
}
@Test
public void createPlainSchema() {
browsingToPlainSchemas();
- TESTER.clickLink("body:content:tabbedPanel:panel:accordionPanel:"
- + "tabs:0:body:content:content:container:content:add");
+ TESTER.clickLink(
+ "body:content:tabbedPanel:panel:accordionPanel:tabs:0:body:content:container:content:add");
- TESTER.assertComponent("body:content:tabbedPanel:panel:accordionPanel:"
- + "tabs:0:body:content:content:outerObjectsRepeater:0:outer",
+ TESTER.assertComponent(
+ "body:content:tabbedPanel:panel:accordionPanel:tabs:0:body:content:outerObjectsRepeater:0:outer",
Modal.class);
final FormTester formTester = TESTER.newFormTester("body:content:tabbedPanel:panel:"
- + "accordionPanel:tabs:0:body:content:content:outerObjectsRepeater:0:outer:form");
+ + "accordionPanel:tabs:0:body:content:outerObjectsRepeater:0:outer:form");
formTester.setValue("content:details:form:key:textField", "zBoolean");
formTester.setValue("content:details:form:type:dropDownChoiceField", "3");
- TESTER.clickLink("body:content:tabbedPanel:panel:accordionPanel:"
- + "tabs:0:body:content:content:outerObjectsRepeater:0:outer:dialog:footer:inputs:0:submit");
+ TESTER.clickLink("body:content:tabbedPanel:panel:accordionPanel:tabs:0:body:content:outerObjectsRepeater:0:"
+ + "outer:dialog:footer:inputs:0:submit");
TESTER.assertInfoMessages("Operation executed successfully");
@@ -88,20 +88,21 @@ public class SchemasITCase extends AbstractTypesITCase {
assertNotNull(result);
TESTER.executeAjaxEvent(result.getPageRelativePath(), Constants.ON_CLICK);
- TESTER.clickLink("body:content:tabbedPanel:panel:accordionPanel:"
- + "tabs:0:body:content:content:outerObjectsRepeater:1:outer:"
+ TESTER.clickLink(
+ "body:content:tabbedPanel:panel:accordionPanel:tabs:0:body:content:outerObjectsRepeater:1:outer:"
+ "container:content:togglePanelContainer:container:actions:actions:actionRepeater:0:action:action");
- TESTER.assertComponent("body:content:tabbedPanel:panel:accordionPanel:"
- + "tabs:0:body:content:content:outerObjectsRepeater:0:outer:"
+ TESTER.assertComponent(
+ "body:content:tabbedPanel:"
+ + "panel:accordionPanel:tabs:0:body:content:outerObjectsRepeater:0:outer:"
+ "form:content:kindForm:kind:dropDownChoiceField", DropDownChoice.class);
- FormTester formTester = TESTER.newFormTester("body:content:tabbedPanel:panel:accordionPanel:"
- + "tabs:0:body:content:content:outerObjectsRepeater:0:outer:form");
+ FormTester formTester = TESTER.newFormTester(
+ "body:content:tabbedPanel:panel:accordionPanel:tabs:0:body:content:outerObjectsRepeater:0:outer:form");
formTester.setValue("content:details:form:multivalue:checkboxField", "true");
- TESTER.clickLink("body:content:tabbedPanel:panel:accordionPanel:"
- + "tabs:0:body:content:content:outerObjectsRepeater:0:outer:dialog:footer:inputs:0:submit",
+ TESTER.clickLink("body:content:tabbedPanel:panel:"
+ + "accordionPanel:tabs:0:body:content:outerObjectsRepeater:0:outer:dialog:footer:inputs:0:submit",
true);
TESTER.assertInfoMessages("Operation executed successfully");
@@ -112,20 +113,20 @@ public class SchemasITCase extends AbstractTypesITCase {
browsingToPlainSchemas();
//create new Plain Schema
final String schemaName = "zStringDelete";
- TESTER.clickLink("body:content:tabbedPanel:panel:accordionPanel:"
- + "tabs:0:body:content:content:container:content:add");
+ TESTER.clickLink(
+ "body:content:tabbedPanel:panel:accordionPanel:tabs:0:body:content:container:content:add");
- TESTER.assertComponent("body:content:tabbedPanel:panel:accordionPanel:"
- + "tabs:0:body:content:content:outerObjectsRepeater:0:outer",
+ TESTER.assertComponent(
+ "body:content:tabbedPanel:panel:accordionPanel:tabs:0:body:content:outerObjectsRepeater:0:outer",
Modal.class);
final FormTester formTester = TESTER.newFormTester("body:content:tabbedPanel:panel:"
- + "accordionPanel:tabs:0:body:content:content:outerObjectsRepeater:0:outer:form");
+ + "accordionPanel:tabs:0:body:content:outerObjectsRepeater:0:outer:form");
formTester.setValue("content:details:form:key:textField", schemaName);
formTester.setValue("content:details:form:type:dropDownChoiceField", "0");
- TESTER.clickLink("body:content:tabbedPanel:panel:accordionPanel:"
- + "tabs:0:body:content:content:outerObjectsRepeater:0:outer:dialog:footer:inputs:0:submit");
+ TESTER.clickLink("body:content:tabbedPanel:panel:"
+ + "accordionPanel:tabs:0:body:content:outerObjectsRepeater:0:outer:dialog:footer:inputs:0:submit");
TESTER.assertInfoMessages("Operation executed successfully");;
@@ -144,12 +145,12 @@ public class SchemasITCase extends AbstractTypesITCase {
TESTER.executeAjaxEvent(result.getPageRelativePath(), Constants.ON_CLICK);
TESTER.getRequest().addParameter("confirm", "true");
- TESTER.clickLink("body:content:tabbedPanel:panel:accordionPanel:"
- + "tabs:0:body:content:content:outerObjectsRepeater:1:outer:"
+ TESTER.clickLink(
+ "body:content:tabbedPanel:panel:accordionPanel:tabs:0:body:content:outerObjectsRepeater:1:outer:"
+ "container:content:togglePanelContainer:container:actions:actions:actionRepeater:1:action:action");
- TESTER.executeAjaxEvent(TESTER.getComponentFromLastRenderedPage("body:content:tabbedPanel:panel:accordionPanel:"
- + "tabs:0:body:content:content:outerObjectsRepeater:1:outer:"
+ TESTER.executeAjaxEvent(TESTER.getComponentFromLastRenderedPage(
+ "body:content:tabbedPanel:panel:accordionPanel:tabs:0:body:content:outerObjectsRepeater:1:outer:"
+ "container:content:togglePanelContainer:container:actions:actions:actionRepeater:1:action:action"),
Constants.ON_CLICK);
@@ -162,19 +163,19 @@ public class SchemasITCase extends AbstractTypesITCase {
@Test
public void createVirtualSchema() {
browsingToVirtualSchemas();
- TESTER.clickLink("body:content:tabbedPanel:panel:accordionPanel:"
- + "tabs:2:body:content:content:container:content:add");
+ TESTER.clickLink(
+ "body:content:tabbedPanel:panel:accordionPanel:tabs:2:body:content:container:content:add");
- TESTER.assertComponent("body:content:tabbedPanel:panel:accordionPanel:"
- + "tabs:2:body:content:content:outerObjectsRepeater:0:outer",
+ TESTER.assertComponent(
+ "body:content:tabbedPanel:panel:accordionPanel:tabs:2:body:content:outerObjectsRepeater:0:outer",
Modal.class);
- final FormTester formTester = TESTER.newFormTester("body:content:tabbedPanel:panel:accordionPanel:"
- + "tabs:2:body:content:content:outerObjectsRepeater:0:outer:form");
+ final FormTester formTester = TESTER.newFormTester("body:content:tabbedPanel:panel:"
+ + "accordionPanel:tabs:2:body:content:outerObjectsRepeater:0:outer:form");
formTester.setValue("content:details:form:resource:dropDownChoiceField", "0");
TESTER.executeAjaxEvent("body:content:tabbedPanel:panel:"
- + "accordionPanel:tabs:2:body:content:content:outerObjectsRepeater:0:outer:form:"
+ + "accordionPanel:tabs:2:body:content:outerObjectsRepeater:0:outer:form:"
+ "content:details:form:resource:dropDownChoiceField", Constants.ON_CHANGE);
formTester.setValue("content:details:form:key:textField", "mynewvir");
@@ -182,9 +183,8 @@ public class SchemasITCase extends AbstractTypesITCase {
formTester.setValue("content:details:form:anyType:dropDownChoiceField", "0");
formTester.setValue("content:details:form:extAttrName:textField", "virattr");
- TESTER.executeAjaxEvent("body:content:tabbedPanel:panel:accordionPanel:"
- + "tabs:2:body:content:content:outerObjectsRepeater:0:outer:dialog:footer:inputs:0:submit",
- Constants.ON_CLICK);
+ TESTER.executeAjaxEvent("body:content:tabbedPanel:panel:accordionPanel:tabs:2:body:content:"
+ + "outerObjectsRepeater:0:outer:dialog:footer:inputs:0:submit", Constants.ON_CLICK);
TESTER.assertInfoMessages("Operation executed successfully");
TESTER.cleanupFeedbackMessages();
@@ -194,12 +194,12 @@ public class SchemasITCase extends AbstractTypesITCase {
TESTER.executeAjaxEvent(result.getPageRelativePath(), Constants.ON_CLICK);
TESTER.getRequest().addParameter("confirm", "true");
- TESTER.clickLink("body:content:tabbedPanel:panel:accordionPanel:"
- + "tabs:2:body:content:content:outerObjectsRepeater:1:outer:"
+ TESTER.clickLink(
+ "body:content:tabbedPanel:panel:accordionPanel:tabs:2:body:content:outerObjectsRepeater:1:outer:"
+ "container:content:togglePanelContainer:container:actions:actions:actionRepeater:1:action:action");
- TESTER.executeAjaxEvent(TESTER.getComponentFromLastRenderedPage("body:content:tabbedPanel:panel:accordionPanel:"
- + "tabs:2:body:content:content:outerObjectsRepeater:1:outer:"
+ TESTER.executeAjaxEvent(TESTER.getComponentFromLastRenderedPage(
+ "body:content:tabbedPanel:panel:accordionPanel:tabs:2:body:content:outerObjectsRepeater:1:outer:"
+ "container:content:togglePanelContainer:container:actions:actions:actionRepeater:1:action:action"),
Constants.ON_CLICK);
http://git-wip-us.apache.org/repos/asf/syncope/blob/e82e43cd/fit/core-reference/src/test/java/org/apache/syncope/fit/core/DerSchemaITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/DerSchemaITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/DerSchemaITCase.java
index daa9024..e75e6ae 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/DerSchemaITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/DerSchemaITCase.java
@@ -38,22 +38,18 @@ import org.junit.jupiter.api.Test;
public class DerSchemaITCase extends AbstractITCase {
@Test
- public void list() {
- List<DerSchemaTO> derSchemas = schemaService.list(new SchemaQuery.Builder().type(SchemaType.DERIVED).build());
- assertFalse(derSchemas.isEmpty());
- for (DerSchemaTO derivedSchemaTO : derSchemas) {
- assertNotNull(derivedSchemaTO);
- }
- }
-
- @Test
public void search() {
- List<DerSchemaTO> derSchemas =
- schemaService.list(new SchemaQuery.Builder().type(SchemaType.DERIVED).keyword("mderivedd*").build());
- assertFalse(derSchemas.isEmpty());
- for (DerSchemaTO derivedSchemaTO : derSchemas) {
- assertNotNull(derivedSchemaTO);
- }
+ List<DerSchemaTO> schemas = schemaService.search(new SchemaQuery.Builder().type(SchemaType.DERIVED).build());
+ assertFalse(schemas.isEmpty());
+ schemas.forEach(schemaTO -> {
+ assertNotNull(schemaTO);
+ });
+
+ schemas = schemaService.search(new SchemaQuery.Builder().type(SchemaType.DERIVED).keyword("mder*").build());
+ assertFalse(schemas.isEmpty());
+ schemas.forEach(schemaTO -> {
+ assertNotNull(schemaTO);
+ });
}
@Test
http://git-wip-us.apache.org/repos/asf/syncope/blob/e82e43cd/fit/core-reference/src/test/java/org/apache/syncope/fit/core/MultitenancyITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/MultitenancyITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/MultitenancyITCase.java
index 7f23c31..9a11031 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/MultitenancyITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/MultitenancyITCase.java
@@ -101,8 +101,7 @@ public class MultitenancyITCase extends AbstractITCase {
@Test
public void readPlainSchemas() {
- assertEquals(13, adminClient.getService(SchemaService.class).
- list(new SchemaQuery.Builder().type(SchemaType.PLAIN).build()).size());
+ assertEquals(13, adminClient.getService(SchemaService.class).search(new SchemaQuery.Builder().type(SchemaType.PLAIN).build()).size());
}
@Test
http://git-wip-us.apache.org/repos/asf/syncope/blob/e82e43cd/fit/core-reference/src/test/java/org/apache/syncope/fit/core/PlainSchemaITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/PlainSchemaITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/PlainSchemaITCase.java
index 48ed9b4..7223191 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/PlainSchemaITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/PlainSchemaITCase.java
@@ -253,27 +253,23 @@ public class PlainSchemaITCase extends AbstractITCase {
}
@Test
- public void list() {
- List<PlainSchemaTO> schemas = schemaService.list(new SchemaQuery.Builder().type(SchemaType.PLAIN).build());
+ public void search() {
+ List<PlainSchemaTO> schemas = schemaService.search(new SchemaQuery.Builder().type(SchemaType.PLAIN).build());
assertFalse(schemas.isEmpty());
schemas.forEach(schemaTO -> {
assertNotNull(schemaTO);
});
- }
- @Test
- public void search() {
- List<PlainSchemaTO> schemas =
- schemaService.list(new SchemaQuery.Builder().type(SchemaType.PLAIN).keyword("fullna*").build());
+ schemas = schemaService.search(new SchemaQuery.Builder().type(SchemaType.PLAIN).keyword("fullna*").build());
assertFalse(schemas.isEmpty());
- for (PlainSchemaTO schemaTO : schemas) {
+ schemas.forEach(schemaTO -> {
assertNotNull(schemaTO);
- }
+ });
}
@Test
- public void listByAnyTypeClass() {
- List<PlainSchemaTO> userSchemas = schemaService.list(
+ public void searchByAnyTypeClass() {
+ List<PlainSchemaTO> userSchemas = schemaService.search(
new SchemaQuery.Builder().type(SchemaType.PLAIN).anyTypeClass("minimal user").build());
assertTrue(userSchemas.stream().anyMatch(object -> "fullname".equals(object.getKey())));
http://git-wip-us.apache.org/repos/asf/syncope/blob/e82e43cd/fit/core-reference/src/test/java/org/apache/syncope/fit/core/VirSchemaITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/VirSchemaITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/VirSchemaITCase.java
index af9d171..e7a58ac 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/VirSchemaITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/VirSchemaITCase.java
@@ -42,22 +42,18 @@ import org.junit.jupiter.api.Test;
public class VirSchemaITCase extends AbstractITCase {
@Test
- public void list() {
- List<VirSchemaTO> vSchemas = schemaService.list(new SchemaQuery.Builder().type(SchemaType.VIRTUAL).build());
- assertFalse(vSchemas.isEmpty());
- for (VirSchemaTO vSchemaTO : vSchemas) {
- assertNotNull(vSchemaTO);
- }
- }
-
- @Test
public void search() {
- List<VirSchemaTO> vSchemas =
- schemaService.list(new SchemaQuery.Builder().type(SchemaType.VIRTUAL).keyword("rvirtuald*").build());
- assertFalse(vSchemas.isEmpty());
- for (VirSchemaTO vSchemaTO : vSchemas) {
- assertNotNull(vSchemaTO);
- }
+ List<VirSchemaTO> schemas = schemaService.search(new SchemaQuery.Builder().type(SchemaType.VIRTUAL).build());
+ assertFalse(schemas.isEmpty());
+ schemas.forEach(schemaTO -> {
+ assertNotNull(schemaTO);
+ });
+
+ schemas = schemaService.search(new SchemaQuery.Builder().type(SchemaType.VIRTUAL).keyword("rvirtual*").build());
+ assertFalse(schemas.isEmpty());
+ schemas.forEach(schemaTO -> {
+ assertNotNull(schemaTO);
+ });
}
@Test
@@ -104,7 +100,7 @@ public class VirSchemaITCase extends AbstractITCase {
public void anonymous() {
SchemaService unauthenticated = clientFactory.create().getService(SchemaService.class);
try {
- unauthenticated.list(new SchemaQuery.Builder().type(SchemaType.VIRTUAL).build());
+ unauthenticated.search(new SchemaQuery.Builder().type(SchemaType.VIRTUAL).build());
fail("This should not happen");
} catch (AccessControlException e) {
assertNotNull(e);
@@ -113,7 +109,7 @@ public class VirSchemaITCase extends AbstractITCase {
SchemaService anonymous = clientFactory.create(
new AnonymousAuthenticationHandler(ANONYMOUS_UNAME, ANONYMOUS_KEY)).
getService(SchemaService.class);
- assertFalse(anonymous.list(new SchemaQuery.Builder().type(SchemaType.VIRTUAL).build()).isEmpty());
+ assertFalse(anonymous.search(new SchemaQuery.Builder().type(SchemaType.VIRTUAL).build()).isEmpty());
}
@Test