[SYNCOPE-1043] Console behavior fixed
Project: http://git-wip-us.apache.org/repos/asf/syncope/repo Commit: http://git-wip-us.apache.org/repos/asf/syncope/commit/3ce8d1bd Tree: http://git-wip-us.apache.org/repos/asf/syncope/tree/3ce8d1bd Diff: http://git-wip-us.apache.org/repos/asf/syncope/diff/3ce8d1bd Branch: refs/heads/2_0_X Commit: 3ce8d1bde31aded225a05153ca793dfb14dae9df Parents: ffe91ae Author: Francesco Chicchiriccò <ilgro...@apache.org> Authored: Fri Mar 10 13:41:13 2017 +0100 Committer: Francesco Chicchiriccò <ilgro...@apache.org> Committed: Fri Mar 10 13:41:13 2017 +0100 ---------------------------------------------------------------------- .../SyncopeConsoleRequestCycleListener.java | 50 +++++++++-------- .../client/console/SyncopeConsoleSession.java | 50 ++++++++++------- .../syncope/client/console/pages/BasePage.java | 4 +- .../syncope/client/console/pages/ErrorPage.java | 42 -------------- .../syncope/client/console/pages/Login.java | 13 ++++- .../console/pages/MustChangePassword.java | 11 ++-- .../syncope/client/console/pages/Realms.java | 2 +- .../panels/AnyTypeClassDetailsPanel.java | 41 ++++++-------- .../console/panels/AnyTypeClassesPanel.java | 17 +++--- .../client/console/panels/AnyTypesPanel.java | 17 +++--- .../console/panels/DashboardOverviewPanel.java | 13 +++-- .../panels/ParametersCreateWizardPanel.java | 17 +++--- .../console/panels/ParametersDetailsPanel.java | 13 ++--- .../panels/ParametersEditModalPanel.java | 7 ++- .../client/console/panels/ParametersPanel.java | 26 ++++----- .../console/panels/RelationshipTypesPanel.java | 21 ++++--- .../client/console/panels/SchemaTypePanel.java | 32 +++++------ .../panels/SecurityQuestionsModalPanel.java | 13 +++-- .../console/panels/SecurityQuestionsPanel.java | 12 ++-- .../console/panels/TypesDirectoryPanel.java | 7 ++- .../panels/search/SearchClausePanel.java | 6 +- .../console/rest/AnyTypeClassRestClient.java | 12 ++++ .../client/console/rest/AnyTypeRestClient.java | 4 ++ .../client/console/rest/ConfRestClient.java | 55 +++++++++++++++++++ .../console/rest/ConfigurationRestClient.java | 55 ------------------- .../console/rest/NotificationRestClient.java | 5 ++ .../rest/RelationshipTypeRestClient.java | 58 ++++++++++++++++++++ .../client/console/rest/ReportRestClient.java | 5 ++ .../client/console/rest/ResourceRestClient.java | 8 +++ .../client/console/rest/SchemaRestClient.java | 13 +++++ .../client/console/rest/SyncopeRestClient.java | 37 +++++++++++++ .../client/console/rest/TaskRestClient.java | 5 ++ .../client/console/rest/UserSelfRestClient.java | 31 +++++++++++ .../client/console/widgets/JobActionPanel.java | 28 +++++----- .../console/wizards/any/Relationships.java | 7 ++- .../resources/ResourceProvisionPanel.java | 11 ++-- .../syncope/client/console/pages/ErrorPage.html | 37 ------------- .../syncope/client/console/pages/Login.html | 1 + .../console/rest/CamelRoutesRestClient.java | 14 +++-- .../console/widgets/CamelMetricsWidget.java | 9 +-- 40 files changed, 464 insertions(+), 345 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/syncope/blob/3ce8d1bd/client/console/src/main/java/org/apache/syncope/client/console/SyncopeConsoleRequestCycleListener.java ---------------------------------------------------------------------- diff --git a/client/console/src/main/java/org/apache/syncope/client/console/SyncopeConsoleRequestCycleListener.java b/client/console/src/main/java/org/apache/syncope/client/console/SyncopeConsoleRequestCycleListener.java index ddccf39..d9723a8 100644 --- a/client/console/src/main/java/org/apache/syncope/client/console/SyncopeConsoleRequestCycleListener.java +++ b/client/console/src/main/java/org/apache/syncope/client/console/SyncopeConsoleRequestCycleListener.java @@ -21,14 +21,13 @@ package org.apache.syncope.client.console; import java.security.AccessControlException; import javax.ws.rs.BadRequestException; import javax.xml.ws.WebServiceException; -import org.apache.syncope.client.console.pages.ErrorPage; +import org.apache.syncope.client.console.pages.Login; import org.apache.syncope.common.lib.SyncopeClientException; import org.apache.wicket.Page; import org.apache.wicket.authorization.UnauthorizedInstantiationException; import org.apache.wicket.core.request.handler.PageProvider; import org.apache.wicket.core.request.handler.RenderPageRequestHandler; import org.apache.wicket.markup.html.pages.ExceptionErrorPage; -import org.apache.wicket.model.StringResourceModel; import org.apache.wicket.protocol.http.PageExpiredException; import org.apache.wicket.request.IRequestHandler; import org.apache.wicket.request.cycle.AbstractRequestCycleListener; @@ -41,38 +40,45 @@ public class SyncopeConsoleRequestCycleListener extends AbstractRequestCycleList private static final Logger LOG = LoggerFactory.getLogger(SyncopeConsoleRequestCycleListener.class); + private boolean instanceOf(final Exception e, final Class<? extends Exception> clazz) { + return clazz.isAssignableFrom(e.getClass()) + || (e.getCause() != null && clazz.isAssignableFrom(e.getCause().getClass())) + || (e.getCause() != null && e.getCause().getCause() != null + && clazz.isAssignableFrom(e.getCause().getCause().getClass())); + } + @Override public IRequestHandler onException(final RequestCycle cycle, final Exception e) { LOG.error("Exception found", e); PageParameters errorParameters = new PageParameters(); - errorParameters.add("errorTitle", new StringResourceModel("alert").getString()); - - final Page errorPage; - if (e instanceof UnauthorizedInstantiationException) { - errorParameters.add("errorMessage", - new StringResourceModel("unauthorizedInstantiationException").getString()); - - errorPage = new ErrorPage(errorParameters); - } else if (e.getCause() instanceof AccessControlException) { - errorParameters.add("errorMessage", new StringResourceModel("accessControlException").getString()); - errorPage = new ErrorPage(errorParameters); - } else if (e instanceof PageExpiredException || !(SyncopeConsoleSession.get()).isSignedIn()) { - errorParameters.add("errorMessage", new StringResourceModel("pageExpiredException").getString()); + Page errorPage; + if (instanceOf(e, UnauthorizedInstantiationException.class)) { + errorParameters.add("errorMessage", "unauthorizedInstantiationException"); + errorPage = new Login(errorParameters); + } else if (instanceOf(e, AccessControlException.class)) { + errorParameters.add("errorMessage", "accessControlException"); + errorPage = new Login(errorParameters); + } else if (instanceOf(e, PageExpiredException.class) || !SyncopeConsoleSession.get().isSignedIn()) { + errorParameters.add("errorMessage", "pageExpiredException"); + errorPage = new Login(errorParameters); + } else if (instanceOf(e, BadRequestException.class) + || instanceOf(e, WebServiceException.class) + || instanceOf(e, SyncopeClientException.class)) { - errorPage = new ErrorPage(errorParameters); - } else if (e.getCause() instanceof BadRequestException || e.getCause() instanceof WebServiceException - || e.getCause() instanceof SyncopeClientException) { - - errorParameters.add("errorMessage", new StringResourceModel("restClientException").getString()); - - errorPage = new ErrorPage(errorParameters); + errorParameters.add("errorMessage", "restClientException"); + errorPage = new Login(errorParameters); } else { // redirect to default Wicket error page errorPage = new ExceptionErrorPage(e, null); } + if (errorPage instanceof Login) { + SyncopeConsoleSession.get().cleanup(); + SyncopeConsoleSession.get().invalidateNow(); + } + return new RenderPageRequestHandler(new PageProvider(errorPage)); } } http://git-wip-us.apache.org/repos/asf/syncope/blob/3ce8d1bd/client/console/src/main/java/org/apache/syncope/client/console/SyncopeConsoleSession.java ---------------------------------------------------------------------- diff --git a/client/console/src/main/java/org/apache/syncope/client/console/SyncopeConsoleSession.java b/client/console/src/main/java/org/apache/syncope/client/console/SyncopeConsoleSession.java index 10cc9b9..4aae7e5 100644 --- a/client/console/src/main/java/org/apache/syncope/client/console/SyncopeConsoleSession.java +++ b/client/console/src/main/java/org/apache/syncope/client/console/SyncopeConsoleSession.java @@ -117,24 +117,6 @@ public class SyncopeConsoleSession extends AuthenticatedWebSession { executorService.execute(command); } - @Override - public void invalidate() { - if (getJWT() != null) { - client.logout(); - } - executorService.shutdown(); - super.invalidate(); - } - - @Override - public void invalidateNow() { - if (getJWT() != null) { - client.logout(); - } - executorService.shutdownNow(); - super.invalidateNow(); - } - public PlatformInfo getPlatformInfo() { return platformInfo; } @@ -156,7 +138,7 @@ public class SyncopeConsoleSession extends AuthenticatedWebSession { } public String getJWT() { - return client.getJWT(); + return client == null ? null : client.getJWT(); } @Override @@ -179,6 +161,36 @@ public class SyncopeConsoleSession extends AuthenticatedWebSession { return authenticated; } + public void cleanup() { + client = null; + auth = null; + selfTO = null; + } + + @Override + public void invalidate() { + if (getJWT() != null) { + if (client != null) { + client.logout(); + } + cleanup(); + } + executorService.shutdown(); + super.invalidate(); + } + + @Override + public void invalidateNow() { + if (getJWT() != null) { + if (client != null) { + client.logout(); + } + cleanup(); + } + executorService.shutdownNow(); + super.invalidateNow(); + } + public UserTO getSelfTO() { return selfTO; } http://git-wip-us.apache.org/repos/asf/syncope/blob/3ce8d1bd/client/console/src/main/java/org/apache/syncope/client/console/pages/BasePage.java ---------------------------------------------------------------------- diff --git a/client/console/src/main/java/org/apache/syncope/client/console/pages/BasePage.java b/client/console/src/main/java/org/apache/syncope/client/console/pages/BasePage.java index 7241f61..0eaa5fc 100644 --- a/client/console/src/main/java/org/apache/syncope/client/console/pages/BasePage.java +++ b/client/console/src/main/java/org/apache/syncope/client/console/pages/BasePage.java @@ -29,7 +29,7 @@ import org.apache.syncope.client.console.commons.HttpResourceStream; import org.apache.syncope.client.console.init.ClassPathScanImplementationLookup; import org.apache.syncope.client.console.init.ConsoleInitializer; import org.apache.syncope.client.console.panels.NotificationPanel; -import org.apache.syncope.client.console.rest.ConfigurationRestClient; +import org.apache.syncope.client.console.rest.ConfRestClient; import org.apache.syncope.client.console.topology.Topology; import org.apache.syncope.client.console.wicket.markup.head.MetaHeaderItem; import org.apache.syncope.client.console.wicket.markup.html.bootstrap.dialog.BaseModal; @@ -115,7 +115,7 @@ public class BasePage extends WebPage implements IAjaxIndicatorAware { @Override public void onClick() { try { - HttpResourceStream stream = new HttpResourceStream(new ConfigurationRestClient().dbExport()); + HttpResourceStream stream = new HttpResourceStream(new ConfRestClient().dbExport()); ResourceStreamRequestHandler rsrh = new ResourceStreamRequestHandler(stream); rsrh.setFileName(stream.getFilename() == null http://git-wip-us.apache.org/repos/asf/syncope/blob/3ce8d1bd/client/console/src/main/java/org/apache/syncope/client/console/pages/ErrorPage.java ---------------------------------------------------------------------- diff --git a/client/console/src/main/java/org/apache/syncope/client/console/pages/ErrorPage.java b/client/console/src/main/java/org/apache/syncope/client/console/pages/ErrorPage.java deleted file mode 100644 index 80163af..0000000 --- a/client/console/src/main/java/org/apache/syncope/client/console/pages/ErrorPage.java +++ /dev/null @@ -1,42 +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.pages; - -import org.apache.wicket.Page; -import org.apache.wicket.markup.html.basic.Label; -import org.apache.wicket.markup.html.link.BookmarkablePageLink; -import org.apache.wicket.model.Model; -import org.apache.wicket.request.mapper.parameter.PageParameters; - -/** - * Error WebPage. - */ -public class ErrorPage extends BasePage { - - private static final long serialVersionUID = -390761262038796657L; - - public ErrorPage(final PageParameters parameters) { - super(parameters); - - body.add(new Label("errorTitle", new Model<>(parameters.get("errorTitle").toString()))); - body.add(new Label("errorMessage", new Model<>(parameters.get("errorMessage").toString()))); - - body.add(new BookmarkablePageLink<Page>("home", getApplication().getHomePage())); - } -} http://git-wip-us.apache.org/repos/asf/syncope/blob/3ce8d1bd/client/console/src/main/java/org/apache/syncope/client/console/pages/Login.java ---------------------------------------------------------------------- diff --git a/client/console/src/main/java/org/apache/syncope/client/console/pages/Login.java b/client/console/src/main/java/org/apache/syncope/client/console/pages/Login.java index 9767258..8f24e05 100644 --- a/client/console/src/main/java/org/apache/syncope/client/console/pages/Login.java +++ b/client/console/src/main/java/org/apache/syncope/client/console/pages/Login.java @@ -31,6 +31,7 @@ import org.apache.wicket.ajax.markup.html.form.AjaxButton; import org.apache.wicket.authentication.IAuthenticationStrategy; import org.apache.wicket.authroles.authentication.AuthenticatedWebSession; import org.apache.wicket.markup.html.WebPage; +import org.apache.wicket.markup.html.basic.Label; import org.apache.wicket.markup.html.form.ChoiceRenderer; import org.apache.wicket.markup.html.form.DropDownChoice; import org.apache.wicket.markup.html.form.Form; @@ -39,6 +40,7 @@ import org.apache.wicket.markup.html.form.StatelessForm; import org.apache.wicket.markup.html.form.TextField; import org.apache.wicket.model.IModel; import org.apache.wicket.model.Model; +import org.apache.wicket.model.StringResourceModel; import org.apache.wicket.request.mapper.parameter.PageParameters; public class Login extends WebPage { @@ -64,6 +66,15 @@ public class Login extends WebPage { notificationPanel = new NotificationPanel(Constants.FEEDBACK); add(notificationPanel); + Label exceptionMessage = new Label("exceptionMessage"); + exceptionMessage.setOutputMarkupPlaceholderTag(true); + exceptionMessage.setVisible(false); + if (!parameters.get("errorMessage").isNull()) { + exceptionMessage.setVisible(true); + exceptionMessage.setDefaultModel(new StringResourceModel(parameters.get("errorMessage").toString())); + } + add(exceptionMessage); + form = new StatelessForm<>("login"); usernameField = new TextField<>("username", new Model<String>()); @@ -101,7 +112,7 @@ public class Login extends WebPage { continueToOriginalDestination(); setResponsePage(getApplication().getHomePage()); } else { - SyncopeConsoleSession.get().error(getString("login-error")); + SyncopeConsoleSession.get().error(getString("login-error")); notificationPanel.refresh(target); } strategy.remove(); http://git-wip-us.apache.org/repos/asf/syncope/blob/3ce8d1bd/client/console/src/main/java/org/apache/syncope/client/console/pages/MustChangePassword.java ---------------------------------------------------------------------- diff --git a/client/console/src/main/java/org/apache/syncope/client/console/pages/MustChangePassword.java b/client/console/src/main/java/org/apache/syncope/client/console/pages/MustChangePassword.java index 19e0110..b8d2dd1 100644 --- a/client/console/src/main/java/org/apache/syncope/client/console/pages/MustChangePassword.java +++ b/client/console/src/main/java/org/apache/syncope/client/console/pages/MustChangePassword.java @@ -22,8 +22,8 @@ import org.apache.commons.lang3.StringUtils; import org.apache.syncope.client.console.SyncopeConsoleSession; import org.apache.syncope.client.console.commons.Constants; import org.apache.syncope.client.console.panels.NotificationPanel; +import org.apache.syncope.client.console.rest.UserSelfRestClient; import org.apache.syncope.client.console.wicket.markup.html.form.AjaxPasswordFieldPanel; -import org.apache.syncope.common.rest.api.service.UserSelfService; import org.apache.wicket.ajax.AjaxRequestTarget; import org.apache.wicket.ajax.markup.html.form.AjaxButton; import org.apache.wicket.markup.html.WebPage; @@ -51,6 +51,8 @@ public class MustChangePassword extends WebPage { private final AjaxPasswordFieldPanel confirmPasswordField; + private final UserSelfRestClient restClient = new UserSelfRestClient(); + public MustChangePassword(final PageParameters parameters) { super(parameters); @@ -88,8 +90,7 @@ public class MustChangePassword extends WebPage { @Override protected void onSubmit(final AjaxRequestTarget target, final Form<?> form) { try { - SyncopeConsoleSession.get().getService(UserSelfService.class). - changePassword(passwordField.getModelObject()); + restClient.changePassword(passwordField.getModelObject()); SyncopeConsoleSession.get().invalidate(); @@ -97,8 +98,8 @@ public class MustChangePassword extends WebPage { } catch (Exception e) { LOG.error("While changing password for {}", SyncopeConsoleSession.get().getSelfTO().getUsername(), e); - SyncopeConsoleSession.get().error(StringUtils.isBlank(e.getMessage()) ? e.getClass().getName() : e. - getMessage()); + SyncopeConsoleSession.get().error(StringUtils.isBlank(e.getMessage()) + ? e.getClass().getName() : e.getMessage()); notificationPanel.refresh(target); } } http://git-wip-us.apache.org/repos/asf/syncope/blob/3ce8d1bd/client/console/src/main/java/org/apache/syncope/client/console/pages/Realms.java ---------------------------------------------------------------------- diff --git a/client/console/src/main/java/org/apache/syncope/client/console/pages/Realms.java b/client/console/src/main/java/org/apache/syncope/client/console/pages/Realms.java index 7106ac8..d9558a8 100644 --- a/client/console/src/main/java/org/apache/syncope/client/console/pages/Realms.java +++ b/client/console/src/main/java/org/apache/syncope/client/console/pages/Realms.java @@ -154,7 +154,7 @@ public class Realms extends BasePage { WizardModalPanel<?> modalPanel = newItemEvent.getModalPanel(); if (event.getPayload() instanceof AjaxWizard.NewItemActionEvent && modalPanel != null) { - final IModel<Serializable> model = new CompoundPropertyModel<>(modalPanel.getItem()); + final IModel<Serializable> model = new CompoundPropertyModel<Serializable>(modalPanel.getItem()); templateModal.setFormModel(model); templateModal.header(newItemEvent.getResourceModel()); newItemEvent.getTarget().add(templateModal.setContent(modalPanel)); http://git-wip-us.apache.org/repos/asf/syncope/blob/3ce8d1bd/client/console/src/main/java/org/apache/syncope/client/console/panels/AnyTypeClassDetailsPanel.java ---------------------------------------------------------------------- diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/AnyTypeClassDetailsPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/AnyTypeClassDetailsPanel.java index 95cacd9..7d0867a 100644 --- a/client/console/src/main/java/org/apache/syncope/client/console/panels/AnyTypeClassDetailsPanel.java +++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/AnyTypeClassDetailsPanel.java @@ -23,14 +23,13 @@ import java.util.Arrays; import java.util.List; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.Transformer; -import org.apache.syncope.client.console.SyncopeConsoleSession; +import org.apache.syncope.client.console.rest.AnyTypeClassRestClient; +import org.apache.syncope.client.console.rest.ConfRestClient; import org.apache.syncope.client.console.rest.SchemaRestClient; import org.apache.syncope.client.console.wicket.markup.html.form.AjaxPalettePanel; import org.apache.syncope.client.console.wicket.markup.html.form.AjaxTextFieldPanel; import org.apache.syncope.common.lib.to.AnyTypeClassTO; import org.apache.syncope.common.lib.to.AttrTO; -import org.apache.syncope.common.rest.api.service.AnyTypeClassService; -import org.apache.syncope.common.rest.api.service.ConfigurationService; import org.apache.wicket.markup.html.WebMarkupContainer; import org.apache.wicket.markup.html.form.Form; import org.apache.wicket.markup.html.panel.Panel; @@ -77,38 +76,32 @@ public class AnyTypeClassDetailsPanel extends Panel { container.setOutputMarkupId(true); antTypeClassForm.add(container); - final AjaxPalettePanel<String> plainSchema = - new AjaxPalettePanel.Builder<String>() - .setAllowOrder(true) - .setAllowMoveAll(true) - .build("plainSchemas", + AjaxPalettePanel<String> plainSchema = new AjaxPalettePanel.Builder<String>(). + setAllowOrder(true). + setAllowMoveAll(true). + build("plainSchemas", new PropertyModel<List<String>>(this.anyTypeClassTO, "plainSchemas"), new ListModel<>(availablePlainSchemas)); - plainSchema.hideLabel(); plainSchema.setOutputMarkupId(true); container.add(plainSchema); - final AjaxPalettePanel<String> derSchema = - new AjaxPalettePanel.Builder<String>() - .setAllowOrder(true) - .setAllowMoveAll(true) - .build("derSchemas", + AjaxPalettePanel<String> derSchema = new AjaxPalettePanel.Builder<String>(). + setAllowOrder(true). + setAllowMoveAll(true). + build("derSchemas", new PropertyModel<List<String>>(this.anyTypeClassTO, "derSchemas"), new ListModel<>(availableDerSchemas)); derSchema.hideLabel(); - derSchema.setOutputMarkupId(true); container.add(derSchema); - final AjaxPalettePanel<String> virSchema = - new AjaxPalettePanel.Builder<String>() - .setAllowOrder(true) - .setAllowMoveAll(true) - .build("virSchemas", + AjaxPalettePanel<String> virSchema = new AjaxPalettePanel.Builder<String>(). + setAllowOrder(true). + setAllowMoveAll(true). + build("virSchemas", new PropertyModel<List<String>>(this.anyTypeClassTO, "virSchemas"), new ListModel<>(availableVirSchemas)); - virSchema.hideLabel(); virSchema.setOutputMarkupId(true); container.add(virSchema); @@ -117,9 +110,7 @@ public class AnyTypeClassDetailsPanel extends Panel { private void buildAvailableSchemas(final String key) { List<String> configurationSchemas = new ArrayList<>(); - CollectionUtils.collect(SyncopeConsoleSession.get(). - getService(ConfigurationService.class).list(), - new Transformer<AttrTO, String>() { + CollectionUtils.collect(new ConfRestClient().list(), new Transformer<AttrTO, String>() { @Override public String transform(final AttrTO attrTO) { @@ -127,7 +118,7 @@ public class AnyTypeClassDetailsPanel extends Panel { } }, configurationSchemas); - for (AnyTypeClassTO item : SyncopeConsoleSession.get().getService(AnyTypeClassService.class).list()) { + for (AnyTypeClassTO item : new AnyTypeClassRestClient().list()) { if (key == null || !item.getKey().equals(key)) { availablePlainSchemas.removeAll(item.getPlainSchemas()); availableDerSchemas.removeAll(item.getDerSchemas()); http://git-wip-us.apache.org/repos/asf/syncope/blob/3ce8d1bd/client/console/src/main/java/org/apache/syncope/client/console/panels/AnyTypeClassesPanel.java ---------------------------------------------------------------------- diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/AnyTypeClassesPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/AnyTypeClassesPanel.java index c63deaa..09edf19 100644 --- a/client/console/src/main/java/org/apache/syncope/client/console/panels/AnyTypeClassesPanel.java +++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/AnyTypeClassesPanel.java @@ -32,6 +32,7 @@ import org.apache.syncope.client.console.commons.Constants; import org.apache.syncope.client.console.commons.DirectoryDataProvider; import org.apache.syncope.client.console.commons.SortableDataProviderComparator; import org.apache.syncope.client.console.pages.BasePage; +import org.apache.syncope.client.console.rest.AnyTypeClassRestClient; import org.apache.syncope.client.console.wicket.extensions.markup.html.repeater.data.table.ActionColumn; import org.apache.syncope.client.console.wicket.extensions.markup.html.repeater.data.table.BooleanPropertyColumn; import org.apache.syncope.client.console.wicket.markup.html.form.ActionLink; @@ -40,7 +41,6 @@ import org.apache.syncope.client.console.wizards.AbstractModalPanelBuilder; import org.apache.syncope.client.console.wizards.AjaxWizard; import org.apache.syncope.common.lib.to.AnyTypeClassTO; import org.apache.syncope.common.lib.types.StandardEntitlement; -import org.apache.syncope.common.rest.api.service.AnyTypeClassService; import org.apache.wicket.PageReference; import org.apache.wicket.ajax.AjaxRequestTarget; import org.apache.wicket.authroles.authorization.strategies.role.metadata.MetaDataRoleAuthorizationStrategy; @@ -52,12 +52,14 @@ import org.apache.wicket.model.CompoundPropertyModel; import org.apache.wicket.model.IModel; import org.apache.wicket.model.ResourceModel; -public class AnyTypeClassesPanel extends TypesDirectoryPanel<AnyTypeClassTO, AnyTypeClassesPanel.AnyTypeClassProvider> { +public class AnyTypeClassesPanel extends TypesDirectoryPanel< + AnyTypeClassTO, AnyTypeClassesPanel.AnyTypeClassProvider, AnyTypeClassRestClient> { private static final long serialVersionUID = -2356760296223908382L; public AnyTypeClassesPanel(final String id, final PageReference pageRef) { super(id, pageRef); + this.restClient = new AnyTypeClassRestClient(); disableCheckBoxes(); this.addNewItemPanelBuilder(new AbstractModalPanelBuilder<AnyTypeClassTO>(new AnyTypeClassTO(), pageRef) { @@ -76,9 +78,9 @@ public class AnyTypeClassesPanel extends TypesDirectoryPanel<AnyTypeClassTO, Any public void onSubmit(final AjaxRequestTarget target, final Form<?> form) { try { if (getOriginalItem() == null || StringUtils.isBlank(getOriginalItem().getKey())) { - SyncopeConsoleSession.get().getService(AnyTypeClassService.class).create(modelObject); + restClient.create(modelObject); } else { - SyncopeConsoleSession.get().getService(AnyTypeClassService.class).update(modelObject); + restClient.update(modelObject); } SyncopeConsoleSession.get().info(getString(Constants.OPERATION_SUCCEEDED)); AnyTypeClassesPanel.this.updateResultTable(target); @@ -177,8 +179,7 @@ public class AnyTypeClassesPanel extends TypesDirectoryPanel<AnyTypeClassTO, Any @Override public void onClick(final AjaxRequestTarget target, final AnyTypeClassTO ignore) { try { - SyncopeConsoleSession.get(). - getService(AnyTypeClassService.class).delete(model.getObject().getKey()); + restClient.delete(model.getObject().getKey()); SyncopeConsoleSession.get().info(getString(Constants.OPERATION_SUCCEEDED)); target.add(container); } catch (Exception e) { @@ -228,14 +229,14 @@ public class AnyTypeClassesPanel extends TypesDirectoryPanel<AnyTypeClassTO, Any @Override public Iterator<AnyTypeClassTO> iterator(final long first, final long count) { - final List<AnyTypeClassTO> list = SyncopeConsoleSession.get().getService(AnyTypeClassService.class).list(); + final List<AnyTypeClassTO> list = restClient.list(); Collections.sort(list, comparator); return list.subList((int) first, (int) first + (int) count).iterator(); } @Override public long size() { - return SyncopeConsoleSession.get().getService(AnyTypeClassService.class).list().size(); + return restClient.list().size(); } @Override http://git-wip-us.apache.org/repos/asf/syncope/blob/3ce8d1bd/client/console/src/main/java/org/apache/syncope/client/console/panels/AnyTypesPanel.java ---------------------------------------------------------------------- diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/AnyTypesPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/AnyTypesPanel.java index fa7ecdd..b354055 100644 --- a/client/console/src/main/java/org/apache/syncope/client/console/panels/AnyTypesPanel.java +++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/AnyTypesPanel.java @@ -42,7 +42,6 @@ import org.apache.syncope.client.console.wizards.AbstractModalPanelBuilder; import org.apache.syncope.client.console.wizards.AjaxWizard; import org.apache.syncope.common.lib.to.AnyTypeTO; import org.apache.syncope.common.lib.types.StandardEntitlement; -import org.apache.syncope.common.rest.api.service.AnyTypeService; import org.apache.wicket.PageReference; import org.apache.wicket.ajax.AjaxRequestTarget; import org.apache.wicket.authroles.authorization.strategies.role.metadata.MetaDataRoleAuthorizationStrategy; @@ -54,14 +53,13 @@ import org.apache.wicket.model.CompoundPropertyModel; import org.apache.wicket.model.IModel; import org.apache.wicket.model.ResourceModel; -public class AnyTypesPanel extends TypesDirectoryPanel<AnyTypeTO, AnyTypeProvider> { +public class AnyTypesPanel extends TypesDirectoryPanel<AnyTypeTO, AnyTypeProvider, AnyTypeRestClient> { private static final long serialVersionUID = 3905038169553185171L; - private final AnyTypeRestClient anyTypeRestClient = new AnyTypeRestClient(); - public AnyTypesPanel(final String id, final PageReference pageRef) { super(id, pageRef); + this.restClient = new AnyTypeRestClient(); disableCheckBoxes(); this.addNewItemPanelBuilder(new AbstractModalPanelBuilder<AnyTypeTO>(new AnyTypeTO(), pageRef) { @@ -79,10 +77,10 @@ public class AnyTypesPanel extends TypesDirectoryPanel<AnyTypeTO, AnyTypeProvide public void onSubmit(final AjaxRequestTarget target, final Form<?> form) { try { if (getOriginalItem() == null || StringUtils.isBlank(getOriginalItem().getKey())) { - anyTypeRestClient.create(modelObject); + restClient.create(modelObject); SyncopeConsoleSession.get().refreshAuth(); } else { - anyTypeRestClient.update(modelObject); + restClient.update(modelObject); } SyncopeConsoleSession.get().info(getString(Constants.OPERATION_SUCCEEDED)); AnyTypesPanel.this.updateResultTable(target); @@ -180,8 +178,7 @@ public class AnyTypesPanel extends TypesDirectoryPanel<AnyTypeTO, AnyTypeProvide @Override public void onClick(final AjaxRequestTarget target, final AnyTypeTO ignore) { try { - SyncopeConsoleSession.get(). - getService(AnyTypeService.class).delete(model.getObject().getKey()); + restClient.delete(model.getObject().getKey()); SyncopeConsoleSession.get().refreshAuth(); SyncopeConsoleSession.get().info(getString(Constants.OPERATION_SUCCEEDED)); @@ -233,14 +230,14 @@ public class AnyTypesPanel extends TypesDirectoryPanel<AnyTypeTO, AnyTypeProvide @Override public Iterator<AnyTypeTO> iterator(final long first, final long count) { - final List<AnyTypeTO> list = anyTypeRestClient.list(); + final List<AnyTypeTO> list = restClient.list(); Collections.sort(list, comparator); return list.subList((int) first, (int) first + (int) count).iterator(); } @Override public long size() { - return anyTypeRestClient.list().size(); + return restClient.list().size(); } @Override http://git-wip-us.apache.org/repos/asf/syncope/blob/3ce8d1bd/client/console/src/main/java/org/apache/syncope/client/console/panels/DashboardOverviewPanel.java ---------------------------------------------------------------------- diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/DashboardOverviewPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/DashboardOverviewPanel.java index 98508ef..db017d8 100644 --- a/client/console/src/main/java/org/apache/syncope/client/console/panels/DashboardOverviewPanel.java +++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/DashboardOverviewPanel.java @@ -19,7 +19,7 @@ package org.apache.syncope.client.console.panels; import org.apache.commons.lang3.tuple.Triple; -import org.apache.syncope.client.console.SyncopeConsoleSession; +import org.apache.syncope.client.console.rest.SyncopeRestClient; import org.apache.syncope.client.console.wicket.ajax.IndicatorAjaxTimerBehavior; import org.apache.syncope.client.console.widgets.AnyByRealmWidget; import org.apache.syncope.client.console.widgets.CompletenessWidget; @@ -27,7 +27,6 @@ import org.apache.syncope.client.console.widgets.LoadWidget; import org.apache.syncope.client.console.widgets.NumberWidget; import org.apache.syncope.client.console.widgets.UsersByStatusWidget; import org.apache.syncope.common.lib.info.NumbersInfo; -import org.apache.syncope.common.rest.api.service.SyncopeService; import org.apache.wicket.ajax.AjaxRequestTarget; import org.apache.wicket.markup.html.WebMarkupContainer; import org.apache.wicket.markup.html.panel.Panel; @@ -53,10 +52,12 @@ public class DashboardOverviewPanel extends Panel { private final LoadWidget load; + private final SyncopeRestClient restClient = new SyncopeRestClient(); + public DashboardOverviewPanel(final String id) { super(id); - NumbersInfo numbers = SyncopeConsoleSession.get().getService(SyncopeService.class).numbers(); + NumbersInfo numbers = restClient.numbers(); WebMarkupContainer container = new WebMarkupContainer("container"); container.setOutputMarkupId(true); @@ -95,7 +96,7 @@ public class DashboardOverviewPanel extends Panel { numbers.getAny2ByRealm()); container.add(anyByRealm); - load = new LoadWidget("load", SyncopeConsoleSession.get().getService(SyncopeService.class).system()); + load = new LoadWidget("load", restClient.system()); container.add(load); container.add(new IndicatorAjaxTimerBehavior(Duration.seconds(60)) { @@ -104,7 +105,7 @@ public class DashboardOverviewPanel extends Panel { @Override protected void onTimer(final AjaxRequestTarget target) { - NumbersInfo numbers = SyncopeConsoleSession.get().getService(SyncopeService.class).numbers(); + NumbersInfo numbers = restClient.numbers(); if (totalUsers.refresh(numbers.getTotalUsers())) { target.add(totalUsers); @@ -141,7 +142,7 @@ public class DashboardOverviewPanel extends Panel { target.add(anyByRealm); } - load.refresh(SyncopeConsoleSession.get().getService(SyncopeService.class).system()); + load.refresh(restClient.system()); target.add(load); } }); http://git-wip-us.apache.org/repos/asf/syncope/blob/3ce8d1bd/client/console/src/main/java/org/apache/syncope/client/console/panels/ParametersCreateWizardPanel.java ---------------------------------------------------------------------- diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/ParametersCreateWizardPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/ParametersCreateWizardPanel.java index b3a2c93..39ad8ae 100644 --- a/client/console/src/main/java/org/apache/syncope/client/console/panels/ParametersCreateWizardPanel.java +++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/ParametersCreateWizardPanel.java @@ -19,13 +19,12 @@ package org.apache.syncope.client.console.panels; import java.io.Serializable; -import org.apache.syncope.client.console.SyncopeConsoleSession; +import org.apache.syncope.client.console.rest.ConfRestClient; +import org.apache.syncope.client.console.rest.SchemaRestClient; import org.apache.syncope.client.console.wizards.AjaxWizardBuilder; import org.apache.syncope.common.lib.to.AttrTO; import org.apache.syncope.common.lib.to.PlainSchemaTO; import org.apache.syncope.common.lib.types.SchemaType; -import org.apache.syncope.common.rest.api.service.ConfigurationService; -import org.apache.syncope.common.rest.api.service.SchemaService; import org.apache.wicket.PageReference; import org.apache.wicket.extensions.wizard.WizardModel; @@ -33,6 +32,10 @@ public class ParametersCreateWizardPanel extends AjaxWizardBuilder<ParametersCre private static final long serialVersionUID = -2868592590785581481L; + private final ConfRestClient confRestClient = new ConfRestClient(); + + private final SchemaRestClient schemaRestClient = new SchemaRestClient(); + public ParametersCreateWizardPanel(final ParametersForm defaultItem, final PageReference pageRef) { super(defaultItem, pageRef); @@ -55,14 +58,12 @@ public class ParametersCreateWizardPanel extends AjaxWizardBuilder<ParametersCre final PlainSchemaTO plainSchemaTO = modelObject.getPlainSchemaTO(); plainSchemaTO.setKey(modelObject.getAttrTO().getSchema()); - SyncopeConsoleSession.get().getService(SchemaService.class). - create(SchemaType.PLAIN, plainSchemaTO); + schemaRestClient.create(SchemaType.PLAIN, plainSchemaTO); try { - SyncopeConsoleSession.get().getService(ConfigurationService.class).set(modelObject.getAttrTO()); + confRestClient.set(modelObject.getAttrTO()); } catch (Exception e) { LOG.error("While setting {}, removing {}", modelObject.getAttrTO(), plainSchemaTO, e); - SyncopeConsoleSession.get().getService(SchemaService.class). - delete(SchemaType.PLAIN, plainSchemaTO.getKey()); + schemaRestClient.deletePlainSchema(plainSchemaTO.getKey()); throw e; } http://git-wip-us.apache.org/repos/asf/syncope/blob/3ce8d1bd/client/console/src/main/java/org/apache/syncope/client/console/panels/ParametersDetailsPanel.java ---------------------------------------------------------------------- diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/ParametersDetailsPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/ParametersDetailsPanel.java index 60747e9..0affc22 100644 --- a/client/console/src/main/java/org/apache/syncope/client/console/panels/ParametersDetailsPanel.java +++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/ParametersDetailsPanel.java @@ -21,8 +21,8 @@ package org.apache.syncope.client.console.panels; import java.util.Arrays; import java.util.Date; import java.util.List; -import org.apache.syncope.client.console.SyncopeConsoleSession; import org.apache.syncope.client.console.commons.SchemaUtils; +import org.apache.syncope.client.console.rest.SchemaRestClient; import org.apache.syncope.client.console.wicket.markup.html.form.AjaxDropDownChoicePanel; import org.apache.syncope.client.console.wicket.markup.html.form.AjaxSpinnerFieldPanel; import org.apache.syncope.client.console.wicket.markup.html.form.AjaxTextFieldPanel; @@ -34,7 +34,6 @@ import org.apache.syncope.common.lib.SyncopeConstants; import org.apache.syncope.common.lib.to.AttrTO; import org.apache.syncope.common.lib.to.PlainSchemaTO; import org.apache.syncope.common.lib.types.SchemaType; -import org.apache.syncope.common.rest.api.service.SchemaService; import org.apache.wicket.markup.html.WebMarkupContainer; import org.apache.wicket.markup.html.form.Form; import org.apache.wicket.markup.html.form.IChoiceRenderer; @@ -48,6 +47,8 @@ public class ParametersDetailsPanel extends Panel { private static final long serialVersionUID = 7708288006191496557L; + private final SchemaRestClient schemaRestClient = new SchemaRestClient(); + public ParametersDetailsPanel(final String id, final AttrTO attrTO) { super(id); @@ -73,11 +74,9 @@ public class ParametersDetailsPanel extends Panel { @SuppressWarnings({ "rawtypes", "unchecked" }) private Panel getFieldPanel(final String id, final AttrTO attrTO) { - final String valueHeaderName = getString("values"); - final PlainSchemaTO schemaTO = SyncopeConsoleSession.get().getService(SchemaService.class). - read(SchemaType.PLAIN, attrTO.getSchema()); + final PlainSchemaTO schemaTO = schemaRestClient.read(SchemaType.PLAIN, attrTO.getSchema()); final FieldPanel panel; switch (schemaTO.getType()) { @@ -93,7 +92,7 @@ public class ParametersDetailsPanel extends Panel { } break; case Boolean: - panel = new AjaxDropDownChoicePanel<>(id, valueHeaderName, new Model<String>(), false); + panel = new AjaxDropDownChoicePanel<>(id, valueHeaderName, new Model<>(), false); ((AjaxDropDownChoicePanel<String>) panel).setChoices(Arrays.asList("true", "false")); if (!attrTO.getValues().isEmpty()) { @@ -121,7 +120,7 @@ public class ParametersDetailsPanel extends Panel { ((AjaxDropDownChoicePanel<String>) panel).setNullValid(false); break; case Enum: - panel = new AjaxDropDownChoicePanel<>(id, valueHeaderName, new Model<String>(), false); + panel = new AjaxDropDownChoicePanel<>(id, valueHeaderName, new Model<>(), false); ((AjaxDropDownChoicePanel<String>) panel).setChoices(SchemaUtils.getEnumeratedValues(schemaTO)); if (!attrTO.getValues().isEmpty()) { http://git-wip-us.apache.org/repos/asf/syncope/blob/3ce8d1bd/client/console/src/main/java/org/apache/syncope/client/console/panels/ParametersEditModalPanel.java ---------------------------------------------------------------------- diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/ParametersEditModalPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/ParametersEditModalPanel.java index a791229..85a04b4 100644 --- a/client/console/src/main/java/org/apache/syncope/client/console/panels/ParametersEditModalPanel.java +++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/ParametersEditModalPanel.java @@ -22,9 +22,9 @@ import org.apache.commons.lang3.StringUtils; import org.apache.syncope.client.console.SyncopeConsoleSession; import org.apache.syncope.client.console.commons.Constants; import org.apache.syncope.client.console.pages.BasePage; +import org.apache.syncope.client.console.rest.ConfRestClient; import org.apache.syncope.client.console.wicket.markup.html.bootstrap.dialog.BaseModal; import org.apache.syncope.common.lib.to.AttrTO; -import org.apache.syncope.common.rest.api.service.ConfigurationService; import org.apache.wicket.PageReference; import org.apache.wicket.ajax.AjaxRequestTarget; import org.apache.wicket.markup.html.form.Form; @@ -37,10 +37,13 @@ public class ParametersEditModalPanel extends AbstractModalPanel<AttrTO> { private final BaseModal<AttrTO> parametersModal; + private final ConfRestClient confRestClient = new ConfRestClient(); + public ParametersEditModalPanel( final BaseModal<AttrTO> modal, final AttrTO attrTO, final PageReference pageRef) { + super(modal, pageRef); this.attrTO = attrTO; this.parametersModal = modal; @@ -55,7 +58,7 @@ public class ParametersEditModalPanel extends AbstractModalPanel<AttrTO> { @Override public void onSubmit(final AjaxRequestTarget target, final Form<?> form) { try { - SyncopeConsoleSession.get().getService(ConfigurationService.class).set(attrTO); + confRestClient.set(attrTO); parametersModal.close(target); SyncopeConsoleSession.get().info(getString(Constants.OPERATION_SUCCEEDED)); } catch (Exception e) { http://git-wip-us.apache.org/repos/asf/syncope/blob/3ce8d1bd/client/console/src/main/java/org/apache/syncope/client/console/panels/ParametersPanel.java ---------------------------------------------------------------------- diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/ParametersPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/ParametersPanel.java index 29de93c..edfa732 100644 --- a/client/console/src/main/java/org/apache/syncope/client/console/panels/ParametersPanel.java +++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/ParametersPanel.java @@ -31,7 +31,8 @@ import org.apache.syncope.client.console.commons.DirectoryDataProvider; import org.apache.syncope.client.console.commons.SortableDataProviderComparator; import org.apache.syncope.client.console.pages.BasePage; import org.apache.syncope.client.console.panels.ParametersPanel.ParametersProvider; -import org.apache.syncope.client.console.rest.BaseRestClient; +import org.apache.syncope.client.console.rest.ConfRestClient; +import org.apache.syncope.client.console.rest.SchemaRestClient; import org.apache.syncope.client.console.wicket.extensions.markup.html.repeater.data.table.ActionColumn; import org.apache.syncope.client.console.wicket.markup.html.bootstrap.dialog.BaseModal; import org.apache.syncope.client.console.wicket.markup.html.form.ActionLink; @@ -40,10 +41,7 @@ import org.apache.syncope.client.console.wizards.AbstractModalPanelBuilder; import org.apache.syncope.client.console.wizards.AjaxWizard; import org.apache.syncope.client.console.wizards.WizardMgtPanel; import org.apache.syncope.common.lib.to.AttrTO; -import org.apache.syncope.common.lib.types.SchemaType; import org.apache.syncope.common.lib.types.StandardEntitlement; -import org.apache.syncope.common.rest.api.service.ConfigurationService; -import org.apache.syncope.common.rest.api.service.SchemaService; import org.apache.wicket.PageReference; import org.apache.wicket.ajax.AjaxRequestTarget; import org.apache.wicket.authroles.authorization.strategies.role.metadata.MetaDataRoleAuthorizationStrategy; @@ -56,11 +54,12 @@ import org.apache.wicket.model.IModel; import org.apache.wicket.model.ResourceModel; import org.apache.wicket.model.StringResourceModel; -public class ParametersPanel extends DirectoryPanel< - AttrTO, AttrTO, ParametersProvider, BaseRestClient> { +public class ParametersPanel extends DirectoryPanel<AttrTO, AttrTO, ParametersProvider, ConfRestClient> { private static final long serialVersionUID = 2765863608539154422L; + private final SchemaRestClient schemaRestClient = new SchemaRestClient(); + private final BaseModal<AttrTO> modalDetails = new BaseModal<AttrTO>("modalDetails") { private static final long serialVersionUID = 389935548143327858L; @@ -73,7 +72,7 @@ public class ParametersPanel extends DirectoryPanel< }; public ParametersPanel(final String id, final PageReference pageRef) { - super(id, new Builder<AttrTO, AttrTO, BaseRestClient>(null, pageRef) { + super(id, new Builder<AttrTO, AttrTO, ConfRestClient>(new ConfRestClient(), pageRef) { private static final long serialVersionUID = 8769126634538601689L; @@ -111,8 +110,7 @@ public class ParametersPanel extends DirectoryPanel< MetaDataRoleAuthorizationStrategy.authorize(addAjaxLink, RENDER, StandardEntitlement.CONFIGURATION_SET); } - public ParametersPanel( - final String id, final Builder<AttrTO, AttrTO, BaseRestClient> builder) { + public ParametersPanel(final String id, final Builder<AttrTO, AttrTO, ConfRestClient> builder) { super(id, builder); } @@ -166,10 +164,8 @@ public class ParametersPanel extends DirectoryPanel< @Override public void onClick(final AjaxRequestTarget target, final AttrTO ignore) { try { - SyncopeConsoleSession.get().getService(ConfigurationService.class). - delete(model.getObject().getSchema()); - SyncopeConsoleSession.get().getService(SchemaService.class). - delete(SchemaType.PLAIN, model.getObject().getSchema()); + restClient.delete(model.getObject().getSchema()); + schemaRestClient.deletePlainSchema(model.getObject().getSchema()); SyncopeConsoleSession.get().info(getString(Constants.OPERATION_SUCCEEDED)); target.add(container); } catch (Exception e) { @@ -220,14 +216,14 @@ public class ParametersPanel extends DirectoryPanel< @Override public Iterator<AttrTO> iterator(final long first, final long count) { - final List<AttrTO> list = SyncopeConsoleSession.get().getService(ConfigurationService.class).list(); + final List<AttrTO> list = restClient.list(); Collections.sort(list, comparator); return list.subList((int) first, (int) first + (int) count).iterator(); } @Override public long size() { - return SyncopeConsoleSession.get().getService(ConfigurationService.class).list().size(); + return restClient.list().size(); } @Override http://git-wip-us.apache.org/repos/asf/syncope/blob/3ce8d1bd/client/console/src/main/java/org/apache/syncope/client/console/panels/RelationshipTypesPanel.java ---------------------------------------------------------------------- diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/RelationshipTypesPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/RelationshipTypesPanel.java index a4f3085..7b5976b 100644 --- a/client/console/src/main/java/org/apache/syncope/client/console/panels/RelationshipTypesPanel.java +++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/RelationshipTypesPanel.java @@ -33,6 +33,7 @@ import org.apache.syncope.client.console.commons.DirectoryDataProvider; import org.apache.syncope.client.console.commons.SortableDataProviderComparator; import org.apache.syncope.client.console.pages.BasePage; import org.apache.syncope.client.console.panels.RelationshipTypesPanel.RelationshipTypeProvider; +import org.apache.syncope.client.console.rest.RelationshipTypeRestClient; import org.apache.syncope.client.console.wicket.extensions.markup.html.repeater.data.table.ActionColumn; import org.apache.syncope.client.console.wicket.extensions.markup.html.repeater.data.table.BooleanPropertyColumn; import org.apache.syncope.client.console.wicket.markup.html.form.ActionLink; @@ -41,7 +42,6 @@ import org.apache.syncope.client.console.wizards.AbstractModalPanelBuilder; import org.apache.syncope.client.console.wizards.AjaxWizard; import org.apache.syncope.common.lib.to.RelationshipTypeTO; import org.apache.syncope.common.lib.types.StandardEntitlement; -import org.apache.syncope.common.rest.api.service.RelationshipTypeService; import org.apache.wicket.PageReference; import org.apache.wicket.ajax.AjaxRequestTarget; import org.apache.wicket.authroles.authorization.strategies.role.metadata.MetaDataRoleAuthorizationStrategy; @@ -53,12 +53,14 @@ import org.apache.wicket.model.CompoundPropertyModel; import org.apache.wicket.model.IModel; import org.apache.wicket.model.ResourceModel; -public class RelationshipTypesPanel extends TypesDirectoryPanel<RelationshipTypeTO, RelationshipTypeProvider> { +public class RelationshipTypesPanel extends TypesDirectoryPanel< + RelationshipTypeTO, RelationshipTypeProvider, RelationshipTypeRestClient> { private static final long serialVersionUID = -3731778000138547357L; public RelationshipTypesPanel(final String id, final PageReference pageRef) { super(id, pageRef); + this.restClient = new RelationshipTypeRestClient(); disableCheckBoxes(); this.addNewItemPanelBuilder( @@ -69,6 +71,7 @@ public class RelationshipTypesPanel extends TypesDirectoryPanel<RelationshipType @Override public WizardModalPanel<RelationshipTypeTO> build( final String id, final int index, final AjaxWizard.Mode mode) { + final RelationshipTypeTO modelObject = newModelObject(); return new RelationshipTypeModalPanel(modal, modelObject, pageRef) { @@ -78,11 +81,9 @@ public class RelationshipTypesPanel extends TypesDirectoryPanel<RelationshipType public void onSubmit(final AjaxRequestTarget target, final Form<?> form) { try { if (getOriginalItem() == null || StringUtils.isBlank(getOriginalItem().getKey())) { - SyncopeConsoleSession.get(). - getService(RelationshipTypeService.class).create(modelObject); + restClient.create(modelObject); } else { - SyncopeConsoleSession.get(). - getService(RelationshipTypeService.class).update(modelObject); + restClient.update(modelObject); } SyncopeConsoleSession.get().info(getString(Constants.OPERATION_SUCCEEDED)); RelationshipTypesPanel.this.updateResultTable(target); @@ -181,8 +182,7 @@ public class RelationshipTypesPanel extends TypesDirectoryPanel<RelationshipType @Override public void onClick(final AjaxRequestTarget target, final RelationshipTypeTO ignore) { try { - SyncopeConsoleSession.get().getService( - RelationshipTypeService.class).delete(model.getObject().getKey()); + restClient.delete(model.getObject().getKey()); SyncopeConsoleSession.get().info(getString(Constants.OPERATION_SUCCEEDED)); target.add(container); } catch (Exception e) { @@ -232,15 +232,14 @@ public class RelationshipTypesPanel extends TypesDirectoryPanel<RelationshipType @Override public Iterator<RelationshipTypeTO> iterator(final long first, final long count) { - final List<RelationshipTypeTO> list = SyncopeConsoleSession.get().getService(RelationshipTypeService.class). - list(); + final List<RelationshipTypeTO> list = restClient.list(); Collections.sort(list, comparator); return list.subList((int) first, (int) first + (int) count).iterator(); } @Override public long size() { - return SyncopeConsoleSession.get().getService(RelationshipTypeService.class).list().size(); + return restClient.list().size(); } @Override http://git-wip-us.apache.org/repos/asf/syncope/blob/3ce8d1bd/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 6f3f7dd..70ed5d6 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 @@ -36,6 +36,7 @@ import org.apache.syncope.client.console.commons.DirectoryDataProvider; import org.apache.syncope.client.console.commons.SortableDataProviderComparator; import org.apache.syncope.client.console.pages.BasePage; import org.apache.syncope.client.console.panels.SchemaTypePanel.SchemaProvider; +import org.apache.syncope.client.console.rest.ConfRestClient; import org.apache.syncope.client.console.rest.SchemaRestClient; import org.apache.syncope.client.console.wicket.extensions.markup.html.repeater.data.table.ActionColumn; import org.apache.syncope.client.console.wicket.extensions.markup.html.repeater.data.table.BooleanPropertyColumn; @@ -47,8 +48,6 @@ import org.apache.syncope.common.lib.to.AbstractSchemaTO; import org.apache.syncope.common.lib.to.AttrTO; import org.apache.syncope.common.lib.types.SchemaType; import org.apache.syncope.common.lib.types.StandardEntitlement; -import org.apache.syncope.common.rest.api.service.ConfigurationService; -import org.apache.syncope.common.rest.api.service.SchemaService; import org.apache.wicket.PageReference; import org.apache.wicket.ajax.AjaxRequestTarget; import org.apache.wicket.authroles.authorization.strategies.role.metadata.MetaDataRoleAuthorizationStrategy; @@ -62,7 +61,7 @@ import org.apache.wicket.model.IModel; import org.apache.wicket.model.ResourceModel; import org.springframework.util.ReflectionUtils; -public class SchemaTypePanel extends TypesDirectoryPanel<AbstractSchemaTO, SchemaProvider> { +public class SchemaTypePanel extends TypesDirectoryPanel<AbstractSchemaTO, SchemaProvider, SchemaRestClient> { private static final long serialVersionUID = 3905038169553185171L; @@ -80,12 +79,11 @@ public class SchemaTypePanel extends TypesDirectoryPanel<AbstractSchemaTO, Schem } }; - private final SchemaRestClient schemaRestClient = new SchemaRestClient(); - private final SchemaType schemaType; public SchemaTypePanel(final String id, final SchemaType schemaType, final PageReference pageRef) { super(id, pageRef); + this.restClient = new SchemaRestClient(); disableCheckBoxes(); this.schemaType = schemaType; @@ -109,11 +107,9 @@ public class SchemaTypePanel extends TypesDirectoryPanel<AbstractSchemaTO, Schem public void onSubmit(final AjaxRequestTarget target, final Form<?> form) { try { if (getOriginalItem() == null || StringUtils.isBlank(getOriginalItem().getKey())) { - SyncopeConsoleSession.get().getService( - SchemaService.class).create(schemaType, modelObject); + restClient.create(schemaType, modelObject); } else { - SyncopeConsoleSession.get().getService( - SchemaService.class).update(schemaType, modelObject); + restClient.update(schemaType, modelObject); } SchemaTypePanel.this.updateResultTable(target); @@ -212,15 +208,15 @@ public class SchemaTypePanel extends TypesDirectoryPanel<AbstractSchemaTO, Schem try { switch (schemaType) { case DERIVED: - schemaRestClient.deleteDerSchema(model.getObject().getKey()); + restClient.deleteDerSchema(model.getObject().getKey()); break; case VIRTUAL: - schemaRestClient.deleteVirSchema(model.getObject().getKey()); + restClient.deleteVirSchema(model.getObject().getKey()); break; default: - schemaRestClient.deletePlainSchema(model.getObject().getKey()); + restClient.deletePlainSchema(model.getObject().getKey()); break; } @@ -268,6 +264,8 @@ public class SchemaTypePanel extends TypesDirectoryPanel<AbstractSchemaTO, Schem private final SchemaType schemaType; + private final ConfRestClient confRestClient = new ConfRestClient(); + private SchemaProvider(final int paginatorRows, final SchemaType schemaType) { super(paginatorRows); @@ -278,15 +276,13 @@ public class SchemaTypePanel extends TypesDirectoryPanel<AbstractSchemaTO, Schem @Override public Iterator<AbstractSchemaTO> iterator(final long first, final long count) { - final List<AbstractSchemaTO> list = schemaRestClient.getSchemas(this.schemaType); + final List<AbstractSchemaTO> list = restClient.getSchemas(this.schemaType); Collections.sort(list, comparator); if (SchemaType.PLAIN == this.schemaType) { final List<String> configurations = new ArrayList<>(); - CollectionUtils.collect( - SyncopeConsoleSession.get().getService(ConfigurationService.class).list(), - new Transformer<AttrTO, String>() { + CollectionUtils.collect(confRestClient.list(), new Transformer<AttrTO, String>() { @Override public String transform(final AttrTO attrTO) { @@ -308,9 +304,9 @@ public class SchemaTypePanel extends TypesDirectoryPanel<AbstractSchemaTO, Schem @Override public long size() { - int size = schemaRestClient.getSchemas(this.schemaType).size(); + int size = restClient.getSchemas(this.schemaType).size(); return SchemaType.PLAIN == this.schemaType - ? size - SyncopeConsoleSession.get().getService(ConfigurationService.class).list().size() + ? size - confRestClient.list().size() : size; } http://git-wip-us.apache.org/repos/asf/syncope/blob/3ce8d1bd/client/console/src/main/java/org/apache/syncope/client/console/panels/SecurityQuestionsModalPanel.java ---------------------------------------------------------------------- diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/SecurityQuestionsModalPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/SecurityQuestionsModalPanel.java index 6fc7abc..a639035 100644 --- a/client/console/src/main/java/org/apache/syncope/client/console/panels/SecurityQuestionsModalPanel.java +++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/SecurityQuestionsModalPanel.java @@ -22,9 +22,9 @@ import org.apache.commons.lang3.StringUtils; import org.apache.syncope.client.console.SyncopeConsoleSession; import org.apache.syncope.client.console.commons.Constants; import org.apache.syncope.client.console.pages.BasePage; +import org.apache.syncope.client.console.rest.SecurityQuestionRestClient; import org.apache.syncope.client.console.wicket.markup.html.bootstrap.dialog.BaseModal; import org.apache.syncope.common.lib.to.SecurityQuestionTO; -import org.apache.syncope.common.rest.api.service.SecurityQuestionService; import org.apache.wicket.PageReference; import org.apache.wicket.ajax.AjaxRequestTarget; import org.apache.wicket.markup.html.form.Form; @@ -35,10 +35,13 @@ public class SecurityQuestionsModalPanel extends AbstractModalPanel<SecurityQues private final SecurityQuestionTO securityQuestionTO; + private final SecurityQuestionRestClient restClient = new SecurityQuestionRestClient(); + public SecurityQuestionsModalPanel( final BaseModal<SecurityQuestionTO> modal, final SecurityQuestionTO securityQuestionTO, final PageReference pageRef) { + super(modal, pageRef); this.securityQuestionTO = securityQuestionTO; add(new SecurityQuestionDetailsPanel("securityQuestionDetailsPanel", getItem())); @@ -53,17 +56,17 @@ public class SecurityQuestionsModalPanel extends AbstractModalPanel<SecurityQues public void onSubmit(final AjaxRequestTarget target, final Form<?> form) { try { if (securityQuestionTO.getKey() == null) { - SyncopeConsoleSession.get().getService(SecurityQuestionService.class).create(securityQuestionTO); + restClient.create(securityQuestionTO); } else { - SyncopeConsoleSession.get().getService(SecurityQuestionService.class).update(securityQuestionTO); + restClient.update(securityQuestionTO); } SyncopeConsoleSession.get().info(getString(Constants.OPERATION_SUCCEEDED)); modal.close(target); } catch (Exception e) { LOG.error("While creating or updating {}", securityQuestionTO, e); - SyncopeConsoleSession.get().error(StringUtils.isBlank(e.getMessage()) ? e.getClass().getName() : e. - getMessage()); + SyncopeConsoleSession.get().error(StringUtils.isBlank(e.getMessage()) + ? e.getClass().getName() : e.getMessage()); } ((BasePage) pageRef.getPage()).getNotificationPanel().refresh(target); } http://git-wip-us.apache.org/repos/asf/syncope/blob/3ce8d1bd/client/console/src/main/java/org/apache/syncope/client/console/panels/SecurityQuestionsPanel.java ---------------------------------------------------------------------- diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/SecurityQuestionsPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/SecurityQuestionsPanel.java index d4c9af7..312c409 100644 --- a/client/console/src/main/java/org/apache/syncope/client/console/panels/SecurityQuestionsPanel.java +++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/SecurityQuestionsPanel.java @@ -41,7 +41,6 @@ import org.apache.syncope.client.console.wizards.AjaxWizard; import org.apache.syncope.client.console.wizards.WizardMgtPanel; import org.apache.syncope.common.lib.to.SecurityQuestionTO; import org.apache.syncope.common.lib.types.StandardEntitlement; -import org.apache.syncope.common.rest.api.service.SecurityQuestionService; import org.apache.wicket.PageReference; import org.apache.wicket.ajax.AjaxRequestTarget; import org.apache.wicket.authroles.authorization.strategies.role.metadata.MetaDataRoleAuthorizationStrategy; @@ -60,7 +59,8 @@ public class SecurityQuestionsPanel extends DirectoryPanel< private static final long serialVersionUID = 3323019773236588850L; public SecurityQuestionsPanel(final String id, final PageReference pageRef) { - super(id, new Builder<SecurityQuestionTO, SecurityQuestionTO, SecurityQuestionRestClient>(null, pageRef) { + super(id, new Builder<SecurityQuestionTO, SecurityQuestionTO, SecurityQuestionRestClient>( + new SecurityQuestionRestClient(), pageRef) { private static final long serialVersionUID = 8769126634538601689L; @@ -160,8 +160,7 @@ public class SecurityQuestionsPanel extends DirectoryPanel< @Override public void onClick(final AjaxRequestTarget target, final SecurityQuestionTO ignore) { try { - SyncopeConsoleSession.get().getService( - SecurityQuestionService.class).delete(model.getObject().getKey()); + restClient.delete(model.getObject().getKey()); SyncopeConsoleSession.get().info(getString(Constants.OPERATION_SUCCEEDED)); target.add(container); } catch (Exception e) { @@ -211,15 +210,14 @@ public class SecurityQuestionsPanel extends DirectoryPanel< @Override public Iterator<SecurityQuestionTO> iterator(final long first, final long count) { - final List<SecurityQuestionTO> list = SyncopeConsoleSession.get().getService(SecurityQuestionService.class). - list(); + final List<SecurityQuestionTO> list = restClient.list(); Collections.sort(list, comparator); return list.subList((int) first, (int) first + (int) count).iterator(); } @Override public long size() { - return SyncopeConsoleSession.get().getService(SecurityQuestionService.class).list().size(); + return restClient.list().size(); } @Override http://git-wip-us.apache.org/repos/asf/syncope/blob/3ce8d1bd/client/console/src/main/java/org/apache/syncope/client/console/panels/TypesDirectoryPanel.java ---------------------------------------------------------------------- diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/TypesDirectoryPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/TypesDirectoryPanel.java index 4e1d53a..119af0a 100644 --- a/client/console/src/main/java/org/apache/syncope/client/console/panels/TypesDirectoryPanel.java +++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/TypesDirectoryPanel.java @@ -20,12 +20,13 @@ package org.apache.syncope.client.console.panels; import de.agilecoders.wicket.core.markup.html.bootstrap.dialog.Modal; import org.apache.syncope.client.console.commons.DirectoryDataProvider; -import org.apache.syncope.client.console.rest.BaseRestClient; +import org.apache.syncope.client.console.rest.RestClient; import org.apache.syncope.common.lib.AbstractBaseBean; import org.apache.wicket.PageReference; -public abstract class TypesDirectoryPanel<T extends AbstractBaseBean, DP extends DirectoryDataProvider<T>> - extends DirectoryPanel<T, T, DP, BaseRestClient> { +public abstract class TypesDirectoryPanel< + T extends AbstractBaseBean, DP extends DirectoryDataProvider<T>, E extends RestClient> + extends DirectoryPanel<T, T, DP, E> { private static final long serialVersionUID = 7890071604330629259L; http://git-wip-us.apache.org/repos/asf/syncope/blob/3ce8d1bd/client/console/src/main/java/org/apache/syncope/client/console/panels/search/SearchClausePanel.java ---------------------------------------------------------------------- diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/search/SearchClausePanel.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/search/SearchClausePanel.java index b94a284..47567b2 100644 --- a/client/console/src/main/java/org/apache/syncope/client/console/panels/search/SearchClausePanel.java +++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/search/SearchClausePanel.java @@ -30,18 +30,17 @@ import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.Transformer; import org.apache.commons.collections4.functors.StringValueTransformer; import org.apache.commons.lang3.StringUtils; -import org.apache.syncope.client.console.SyncopeConsoleSession; import org.apache.syncope.client.console.commons.Constants; import org.apache.syncope.client.console.panels.search.SearchClause.Comparator; import org.apache.syncope.client.console.panels.search.SearchClause.Operator; import org.apache.syncope.client.console.panels.search.SearchClause.Type; +import org.apache.syncope.client.console.rest.RelationshipTypeRestClient; import org.apache.syncope.client.console.wicket.ajax.form.IndicatorAjaxEventBehavior; import org.apache.syncope.client.console.wicket.ajax.form.IndicatorAjaxFormComponentUpdatingBehavior; import org.apache.syncope.client.console.wicket.markup.html.form.AjaxDropDownChoicePanel; import org.apache.syncope.client.console.wicket.markup.html.form.AjaxTextFieldPanel; import org.apache.syncope.client.console.wicket.markup.html.form.FieldPanel; import org.apache.syncope.common.lib.to.RelationshipTypeTO; -import org.apache.syncope.common.rest.api.service.RelationshipTypeService; import org.apache.wicket.AttributeModifier; import org.apache.wicket.Component; import org.apache.wicket.MarkupContainer; @@ -219,8 +218,7 @@ public class SearchClausePanel extends FieldPanel<SearchClause> { case RELATIONSHIP: final List<String> relations = CollectionUtils.collect( - SyncopeConsoleSession.get().getService(RelationshipTypeService.class).list(), - new Transformer<RelationshipTypeTO, String>() { + new RelationshipTypeRestClient().list(), new Transformer<RelationshipTypeTO, String>() { @Override public String transform(final RelationshipTypeTO input) { http://git-wip-us.apache.org/repos/asf/syncope/blob/3ce8d1bd/client/console/src/main/java/org/apache/syncope/client/console/rest/AnyTypeClassRestClient.java ---------------------------------------------------------------------- diff --git a/client/console/src/main/java/org/apache/syncope/client/console/rest/AnyTypeClassRestClient.java b/client/console/src/main/java/org/apache/syncope/client/console/rest/AnyTypeClassRestClient.java index 26b8601..1fe66ca 100644 --- a/client/console/src/main/java/org/apache/syncope/client/console/rest/AnyTypeClassRestClient.java +++ b/client/console/src/main/java/org/apache/syncope/client/console/rest/AnyTypeClassRestClient.java @@ -30,6 +30,18 @@ public class AnyTypeClassRestClient extends BaseRestClient { private static final long serialVersionUID = -2211371717449597247L; + public void create(final AnyTypeClassTO anyTypeClass) { + getService(AnyTypeClassService.class).create(anyTypeClass); + } + + public void update(final AnyTypeClassTO anyTypeClass) { + getService(AnyTypeClassService.class).update(anyTypeClass); + } + + public void delete(final String key) { + getService(AnyTypeClassService.class).delete(key); + } + public AnyTypeClassTO read(final String key) { return getService(AnyTypeClassService.class).read(key); } http://git-wip-us.apache.org/repos/asf/syncope/blob/3ce8d1bd/client/console/src/main/java/org/apache/syncope/client/console/rest/AnyTypeRestClient.java ---------------------------------------------------------------------- diff --git a/client/console/src/main/java/org/apache/syncope/client/console/rest/AnyTypeRestClient.java b/client/console/src/main/java/org/apache/syncope/client/console/rest/AnyTypeRestClient.java index 80b6104..39db455 100644 --- a/client/console/src/main/java/org/apache/syncope/client/console/rest/AnyTypeRestClient.java +++ b/client/console/src/main/java/org/apache/syncope/client/console/rest/AnyTypeRestClient.java @@ -61,4 +61,8 @@ public class AnyTypeRestClient extends BaseRestClient { public void update(final AnyTypeTO anyTypeTO) { getService(AnyTypeService.class).update(anyTypeTO); } + + public void delete(final String key) { + getService(AnyTypeService.class).delete(key); + } } http://git-wip-us.apache.org/repos/asf/syncope/blob/3ce8d1bd/client/console/src/main/java/org/apache/syncope/client/console/rest/ConfRestClient.java ---------------------------------------------------------------------- diff --git a/client/console/src/main/java/org/apache/syncope/client/console/rest/ConfRestClient.java b/client/console/src/main/java/org/apache/syncope/client/console/rest/ConfRestClient.java new file mode 100644 index 0000000..5992380 --- /dev/null +++ b/client/console/src/main/java/org/apache/syncope/client/console/rest/ConfRestClient.java @@ -0,0 +1,55 @@ +/* + * 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.rest; + +import java.util.List; +import javax.ws.rs.core.Response; +import org.apache.syncope.common.lib.SyncopeClientException; +import org.apache.syncope.common.lib.to.AttrTO; +import org.apache.syncope.common.rest.api.service.ConfigurationService; + +public class ConfRestClient extends BaseRestClient { + + private static final long serialVersionUID = 7692363064029538722L; + + public List<AttrTO> list() { + return getService(ConfigurationService.class).list(); + } + + public AttrTO get(final String key) { + try { + return getService(ConfigurationService.class).get(key); + } catch (SyncopeClientException e) { + LOG.error("While reading a configuration schema", e); + } + return null; + } + + public void set(final AttrTO attrTO) { + getService(ConfigurationService.class).set(attrTO); + } + + public void delete(final String key) { + getService(ConfigurationService.class).delete(key); + } + + public Response dbExport() { + return getService(ConfigurationService.class).export(); + } +} http://git-wip-us.apache.org/repos/asf/syncope/blob/3ce8d1bd/client/console/src/main/java/org/apache/syncope/client/console/rest/ConfigurationRestClient.java ---------------------------------------------------------------------- diff --git a/client/console/src/main/java/org/apache/syncope/client/console/rest/ConfigurationRestClient.java b/client/console/src/main/java/org/apache/syncope/client/console/rest/ConfigurationRestClient.java deleted file mode 100644 index d07827c..0000000 --- a/client/console/src/main/java/org/apache/syncope/client/console/rest/ConfigurationRestClient.java +++ /dev/null @@ -1,55 +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.rest; - -import java.util.List; -import javax.ws.rs.core.Response; -import org.apache.syncope.common.lib.SyncopeClientException; -import org.apache.syncope.common.lib.to.AttrTO; -import org.apache.syncope.common.rest.api.service.ConfigurationService; - -public class ConfigurationRestClient extends BaseRestClient { - - private static final long serialVersionUID = 7692363064029538722L; - - public List<AttrTO> list() { - return getService(ConfigurationService.class).list(); - } - - public AttrTO get(final String key) { - try { - return getService(ConfigurationService.class).get(key); - } catch (SyncopeClientException e) { - LOG.error("While reading a configuration schema", e); - } - return null; - } - - public void set(final AttrTO attrTO) { - getService(ConfigurationService.class).set(attrTO); - } - - public void delete(final String key) { - getService(ConfigurationService.class).delete(key); - } - - public Response dbExport() { - return getService(ConfigurationService.class).export(); - } -} http://git-wip-us.apache.org/repos/asf/syncope/blob/3ce8d1bd/client/console/src/main/java/org/apache/syncope/client/console/rest/NotificationRestClient.java ---------------------------------------------------------------------- diff --git a/client/console/src/main/java/org/apache/syncope/client/console/rest/NotificationRestClient.java b/client/console/src/main/java/org/apache/syncope/client/console/rest/NotificationRestClient.java index dfb8495..fd99f32 100644 --- a/client/console/src/main/java/org/apache/syncope/client/console/rest/NotificationRestClient.java +++ b/client/console/src/main/java/org/apache/syncope/client/console/rest/NotificationRestClient.java @@ -26,6 +26,7 @@ import org.apache.syncope.common.lib.SyncopeConstants; import org.apache.syncope.common.lib.to.JobTO; import org.apache.syncope.common.lib.to.MailTemplateTO; import org.apache.syncope.common.lib.to.NotificationTO; +import org.apache.syncope.common.lib.types.JobAction; import org.apache.syncope.common.lib.types.MailTemplateFormat; import org.apache.syncope.common.rest.api.service.MailTemplateService; import org.apache.syncope.common.rest.api.service.NotificationService; @@ -43,6 +44,10 @@ public class NotificationRestClient extends BaseRestClient return getService(NotificationService.class).getJob(); } + public void actionJob(final JobAction jobAction) { + getService(NotificationService.class).actionJob(jobAction); + } + public NotificationTO read(final String key) { return getService(NotificationService.class).read(key); } http://git-wip-us.apache.org/repos/asf/syncope/blob/3ce8d1bd/client/console/src/main/java/org/apache/syncope/client/console/rest/RelationshipTypeRestClient.java ---------------------------------------------------------------------- diff --git a/client/console/src/main/java/org/apache/syncope/client/console/rest/RelationshipTypeRestClient.java b/client/console/src/main/java/org/apache/syncope/client/console/rest/RelationshipTypeRestClient.java new file mode 100644 index 0000000..f79d04d --- /dev/null +++ b/client/console/src/main/java/org/apache/syncope/client/console/rest/RelationshipTypeRestClient.java @@ -0,0 +1,58 @@ +/* + * 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.rest; + +import java.util.Collections; +import java.util.List; +import org.apache.syncope.common.lib.SyncopeClientException; +import org.apache.syncope.common.lib.to.RelationshipTypeTO; +import org.apache.syncope.common.rest.api.service.RelationshipTypeService; + +public class RelationshipTypeRestClient extends BaseRestClient { + + private static final long serialVersionUID = -5400007385180229980L; + + public void create(final RelationshipTypeTO relationshipType) { + getService(RelationshipTypeService.class).create(relationshipType); + } + + public void update(final RelationshipTypeTO relationshipType) { + getService(RelationshipTypeService.class).update(relationshipType); + } + + public void delete(final String key) { + getService(RelationshipTypeService.class).delete(key); + } + + public RelationshipTypeTO read(final String key) { + return getService(RelationshipTypeService.class).read(key); + } + + public List<RelationshipTypeTO> list() { + List<RelationshipTypeTO> types = Collections.emptyList(); + + try { + types = getService(RelationshipTypeService.class).list(); + } catch (SyncopeClientException e) { + LOG.error("While reading all any type classes", e); + } + + return types; + } +}