Repository: syncope Updated Branches: refs/heads/2_0_X 4e6f6d0e4 -> 5b9cb93da refs/heads/master a02779a2c -> 62d3a901c
http://git-wip-us.apache.org/repos/asf/syncope/blob/5be24a03/ext/saml2sp/client-console/src/main/java/org/apache/syncope/client/console/wizards/SAML2IdPWizardBuilder.java ---------------------------------------------------------------------- diff --git a/ext/saml2sp/client-console/src/main/java/org/apache/syncope/client/console/wizards/SAML2IdPWizardBuilder.java b/ext/saml2sp/client-console/src/main/java/org/apache/syncope/client/console/wizards/SAML2IdPWizardBuilder.java index 0fc7b22..5cafb9b 100644 --- a/ext/saml2sp/client-console/src/main/java/org/apache/syncope/client/console/wizards/SAML2IdPWizardBuilder.java +++ b/ext/saml2sp/client-console/src/main/java/org/apache/syncope/client/console/wizards/SAML2IdPWizardBuilder.java @@ -22,8 +22,6 @@ import java.io.Serializable; import java.util.ArrayList; import java.util.Arrays; import java.util.List; -import org.apache.commons.collections4.IterableUtils; -import org.apache.commons.collections4.Predicate; import org.apache.commons.lang3.StringUtils; import org.apache.syncope.client.console.panels.SAML2IdPsDirectoryPanel; import org.apache.syncope.client.console.rest.SAML2IdPsRestClient; @@ -103,25 +101,25 @@ public class SAML2IdPWizardBuilder extends AjaxWizardBuilder<SAML2IdPTO> { List<Component> fields = new ArrayList<>(); FieldPanel<String> name = new AjaxTextFieldPanel( - "field", "name", new PropertyModel<String>(idpTO, "name"), false); + "field", "name", new PropertyModel<>(idpTO, "name"), false); name.setRequired(true); fields.add(name); AjaxCheckBoxPanel createUnmatching = new AjaxCheckBoxPanel( - "field", "createUnmatching", new PropertyModel<Boolean>(idpTO, "createUnmatching"), false); + "field", "createUnmatching", new PropertyModel<>(idpTO, "createUnmatching"), false); fields.add(createUnmatching); AjaxCheckBoxPanel updateMatching = new AjaxCheckBoxPanel( - "field", "updateMatching", new PropertyModel<Boolean>(idpTO, "updateMatching"), false); + "field", "updateMatching", new PropertyModel<>(idpTO, "updateMatching"), false); fields.add(updateMatching); AjaxCheckBoxPanel useDeflateEncoding = new AjaxCheckBoxPanel( - "field", "useDeflateEncoding", new PropertyModel<Boolean>(idpTO, "useDeflateEncoding"), false); + "field", "useDeflateEncoding", new PropertyModel<>(idpTO, "useDeflateEncoding"), false); fields.add(useDeflateEncoding); AjaxDropDownChoicePanel<SAML2BindingType> bindingType = new AjaxDropDownChoicePanel<>("field", "bindingType", - new PropertyModel<SAML2BindingType>(idpTO, "bindingType"), false); + new PropertyModel<>(idpTO, "bindingType"), false); bindingType.setChoices(Arrays.asList(SAML2BindingType.values())); fields.add(bindingType); @@ -162,13 +160,7 @@ public class SAML2IdPWizardBuilder extends AjaxWizardBuilder<SAML2IdPTO> { @Override protected Serializable onApplyInternal(final SAML2IdPTO modelObject) { - long connObjectKeyCount = IterableUtils.countMatches(modelObject.getItems(), new Predicate<ItemTO>() { - - @Override - public boolean evaluate(final ItemTO item) { - return item.isConnObjectKey(); - } - }); + long connObjectKeyCount = modelObject.getItems().stream().filter(ItemTO::isConnObjectKey).count(); if (connObjectKeyCount != 1) { throw new IllegalArgumentException( new StringResourceModel("connObjectKeyValidation", directoryPanel).getString()); http://git-wip-us.apache.org/repos/asf/syncope/blob/5be24a03/ext/saml2sp/logic/src/main/java/org/apache/syncope/core/logic/saml2/SAML2IdPCache.java ---------------------------------------------------------------------- diff --git a/ext/saml2sp/logic/src/main/java/org/apache/syncope/core/logic/saml2/SAML2IdPCache.java b/ext/saml2sp/logic/src/main/java/org/apache/syncope/core/logic/saml2/SAML2IdPCache.java index e56b4f8..9333923 100644 --- a/ext/saml2sp/logic/src/main/java/org/apache/syncope/core/logic/saml2/SAML2IdPCache.java +++ b/ext/saml2sp/logic/src/main/java/org/apache/syncope/core/logic/saml2/SAML2IdPCache.java @@ -46,8 +46,7 @@ import org.w3c.dom.Element; @Component public class SAML2IdPCache { - private final Map<String, SAML2IdPEntity> cache = - Collections.synchronizedMap(new HashMap<String, SAML2IdPEntity>()); + private final Map<String, SAML2IdPEntity> cache = Collections.synchronizedMap(new HashMap<>()); @Autowired private SAML2SPLoader loader; http://git-wip-us.apache.org/repos/asf/syncope/blob/5be24a03/fit/build-tools/src/main/java/org/apache/syncope/fit/buildtools/ServiceTimeoutServlet.java ---------------------------------------------------------------------- diff --git a/fit/build-tools/src/main/java/org/apache/syncope/fit/buildtools/ServiceTimeoutServlet.java b/fit/build-tools/src/main/java/org/apache/syncope/fit/buildtools/ServiceTimeoutServlet.java index dcfe72e..65261f2 100644 --- a/fit/build-tools/src/main/java/org/apache/syncope/fit/buildtools/ServiceTimeoutServlet.java +++ b/fit/build-tools/src/main/java/org/apache/syncope/fit/buildtools/ServiceTimeoutServlet.java @@ -53,11 +53,8 @@ public class ServiceTimeoutServlet extends HttpServlet { // ignore } - final PrintWriter out = response.getWriter(); - try { + try (PrintWriter out = response.getWriter()) { out.println("OK"); - } finally { - out.close(); } } http://git-wip-us.apache.org/repos/asf/syncope/blob/5be24a03/fit/build-tools/src/main/java/org/apache/syncope/fit/buildtools/cxf/ProvisioningImpl.java ---------------------------------------------------------------------- diff --git a/fit/build-tools/src/main/java/org/apache/syncope/fit/buildtools/cxf/ProvisioningImpl.java b/fit/build-tools/src/main/java/org/apache/syncope/fit/buildtools/cxf/ProvisioningImpl.java index 6eefe5c..0a4f996 100644 --- a/fit/build-tools/src/main/java/org/apache/syncope/fit/buildtools/cxf/ProvisioningImpl.java +++ b/fit/build-tools/src/main/java/org/apache/syncope/fit/buildtools/cxf/ProvisioningImpl.java @@ -64,16 +64,14 @@ public class ProvisioningImpl implements Provisioning { try { conn = DataSourceUtils.getConnection(dataSource); - PreparedStatement statement = - conn.prepareStatement("DELETE FROM user WHERE userId=?"); - statement.setString(1, accountid); - - String query = "DELETE FROM user WHERE userId='" + accountid + "';"; - LOG.debug("Execute query: " + query); + try (PreparedStatement statement = conn.prepareStatement("DELETE FROM user WHERE userId=?")) { + statement.setString(1, accountid); - statement.executeUpdate(); + String query = "DELETE FROM user WHERE userId='" + accountid + "';"; + LOG.debug("Execute query: " + query); - statement.close(); + statement.executeUpdate(); + } return accountid; } catch (SQLException e) { @@ -108,9 +106,9 @@ public class ProvisioningImpl implements Provisioning { List<WSAttribute> schema = schema(); Set<String> schemaNames = new HashSet<>(); - for (WSAttribute attr : schema) { + schema.forEach(attr -> { schemaNames.add(attr.getName()); - } + }); schemaNames.add("__NAME__"); schemaNames.add("__PASSWORD__"); @@ -159,14 +157,14 @@ public class ProvisioningImpl implements Provisioning { } if (set.length() > 0) { - PreparedStatement statement = - conn.prepareStatement("UPDATE user SET " + set.toString() + " WHERE userId=?"); - statement.setString(1, accountid); - String query = "UPDATE user SET " + set.toString() + " WHERE userId='" + accountid + "';"; - LOG.debug("Execute query: " + query); + try (PreparedStatement statement = + conn.prepareStatement("UPDATE user SET " + set.toString() + " WHERE userId=?")) { + statement.setString(1, accountid); + String query = "UPDATE user SET " + set.toString() + " WHERE userId='" + accountid + "';"; + LOG.debug("Execute query: " + query); - statement.executeUpdate(); - statement.close(); + statement.executeUpdate(); + } } return accountid; @@ -200,36 +198,32 @@ public class ProvisioningImpl implements Provisioning { } conn = DataSourceUtils.getConnection(dataSource); - Statement statement = conn.createStatement(); - - ResultSet rs = statement.executeQuery(queryString); - - ResultSetMetaData metaData = rs.getMetaData(); - LOG.debug("Metadata: {}", metaData); - - while (rs.next()) { - WSUser user = new WSUser(); + try (Statement statement = conn.createStatement(); ResultSet rs = statement.executeQuery(queryString)) { + ResultSetMetaData metaData = rs.getMetaData(); + LOG.debug("Metadata: {}", metaData); + + while (rs.next()) { + WSUser user = new WSUser(); + + for (int i = 0; i < metaData.getColumnCount(); i++) { + WSAttributeValue attr = new WSAttributeValue(); + attr.setName(metaData.getColumnLabel(i + 1)); + if (StringUtil.isNotBlank(rs.getString(i + 1))) { + attr.addValue(rs.getString(i + 1)); + } + if ("userId".equalsIgnoreCase(metaData.getColumnName(i + 1))) { + attr.setKey(true); + user.setAccountid(rs.getString(i + 1)); + } - for (int i = 0; i < metaData.getColumnCount(); i++) { - WSAttributeValue attr = new WSAttributeValue(); - attr.setName(metaData.getColumnLabel(i + 1)); - if (StringUtil.isNotBlank(rs.getString(i + 1))) { - attr.addValue(rs.getString(i + 1)); - } - if ("userId".equalsIgnoreCase(metaData.getColumnName(i + 1))) { - attr.setKey(true); - user.setAccountid(rs.getString(i + 1)); + user.addAttribute(attr); } - user.addAttribute(attr); + results.add(user); } - results.add(user); + LOG.debug("Retrieved users: {}", results); } - - LOG.debug("Retrieved users: {}", results); - rs.close(); - statement.close(); } catch (SQLException e) { LOG.error("Search operation failed", e); } finally { @@ -245,9 +239,9 @@ public class ProvisioningImpl implements Provisioning { final List<WSAttribute> schema = schema(); final Set<String> schemaNames = new HashSet<>(); - for (WSAttribute attr : schema) { + schema.forEach(attr -> { schemaNames.add(attr.getName()); - } + }); schemaNames.add("__NAME__"); schemaNames.add("__PASSWORD__"); @@ -255,65 +249,60 @@ public class ProvisioningImpl implements Provisioning { String query = null; try { conn = DataSourceUtils.getConnection(dataSource); - final Statement statement = conn.createStatement(); - - final StringBuilder keys = new StringBuilder(); - final StringBuilder values = new StringBuilder(); - - String accountid = null; - String value; - for (WSAttributeValue attr : data) { - if (schemaNames.contains(attr.getName())) { - LOG.debug("Bind attribute: {}", attr); - - if (attr.getValues() == null || attr.getValues().isEmpty()) { - value = null; - } else if (attr.getValues().size() == 1) { - value = attr.getValues().get(0).toString(); - } else { - value = attr.getValues().toString(); - } + String accountid; + try (Statement statement = conn.createStatement()) { + final StringBuilder keys = new StringBuilder(); + final StringBuilder values = new StringBuilder(); + accountid = null; + String value; + for (WSAttributeValue attr : data) { + if (schemaNames.contains(attr.getName())) { + LOG.debug("Bind attribute: {}", attr); + + if (attr.getValues() == null || attr.getValues().isEmpty()) { + value = null; + } else if (attr.getValues().size() == 1) { + value = attr.getValues().get(0).toString(); + } else { + value = attr.getValues().toString(); + } - if (keys.length() > 0) { - keys.append(","); - } + if (keys.length() > 0) { + keys.append(","); + } - if (null == attr.getName()) { - keys.append(attr.getName()); - } else { - switch (attr.getName()) { - case "__NAME__": - keys.append("userId"); - break; - case "__PASSWORD__": - keys.append("password"); - break; - default: - keys.append(attr.getName()); - break; + if (null == attr.getName()) { + keys.append(attr.getName()); + } else { + switch (attr.getName()) { + case "__NAME__": + keys.append("userId"); + break; + case "__PASSWORD__": + keys.append("password"); + break; + default: + keys.append(attr.getName()); + break; + } } - } - if (values.length() > 0) { - values.append(","); - } + if (values.length() > 0) { + values.append(","); + } - values.append(value == null ? null : "'" + value + "'"); + values.append(value == null ? null : "'" + value + "'"); - if (attr.isKey() && !attr.getValues().isEmpty()) { - accountid = attr.getValues().get(0).toString(); + if (attr.isKey() && !attr.getValues().isEmpty()) { + accountid = attr.getValues().get(0).toString(); + } } } + query = "INSERT INTO user (" + keys.toString() + ") VALUES (" + values.toString() + ")"; + LOG.debug("Execute query: " + query); + statement.executeUpdate(query); } - query = "INSERT INTO user (" + keys.toString() + ") VALUES (" + values.toString() + ")"; - - LOG.debug("Execute query: " + query); - - statement.executeUpdate(query); - - statement.close(); - return accountid; } catch (SQLException e) { LOG.error("Creation failed:\n" + query, e); @@ -352,7 +341,7 @@ public class ProvisioningImpl implements Provisioning { try { conn = DataSourceUtils.getConnection(dataSource); PreparedStatement statement = - conn.prepareStatement("SELECT userId FROM user WHERE userId=?"); + conn.prepareStatement("SELECT userId FROM user WHERE userId=?"); statement.setString(1, username); final String query = "SELECT userId FROM user WHERE userId='" + username + "';"; http://git-wip-us.apache.org/repos/asf/syncope/blob/5be24a03/fit/core-reference/src/main/java/org/apache/syncope/fit/core/reference/ITImplementationLookup.java ---------------------------------------------------------------------- diff --git a/fit/core-reference/src/main/java/org/apache/syncope/fit/core/reference/ITImplementationLookup.java b/fit/core-reference/src/main/java/org/apache/syncope/fit/core/reference/ITImplementationLookup.java index 32b3357..6e8e170 100644 --- a/fit/core-reference/src/main/java/org/apache/syncope/fit/core/reference/ITImplementationLookup.java +++ b/fit/core-reference/src/main/java/org/apache/syncope/fit/core/reference/ITImplementationLookup.java @@ -205,20 +205,16 @@ public class ITImplementationLookup implements ImplementationLookup { // in case the Elasticsearch extension is enabled, reinit a clean index for all available domains if (AopUtils.getTargetClass(anySearchDAO).getName().contains("Elasticsearch")) { for (Map.Entry<String, DataSource> entry : domainsHolder.getDomains().entrySet()) { - AuthContextUtils.execWithAuthContext(entry.getKey(), new AuthContextUtils.Executable<Void>() { + AuthContextUtils.execWithAuthContext(entry.getKey(), () -> { + SchedTaskTO task = new SchedTaskTO(); + task.setJobDelegateClassName( + "org.apache.syncope.core.provisioning.java.job.ElasticsearchReindex"); + task.setName("Elasticsearch Reindex"); + task = taskLogic.createSchedTask(task); - @Override - public Void exec() { - SchedTaskTO task = new SchedTaskTO(); - task.setJobDelegateClassName( - "org.apache.syncope.core.provisioning.java.job.ElasticsearchReindex"); - task.setName("Elasticsearch Reindex"); - task = taskLogic.createSchedTask(task); + taskLogic.execute(task.getKey(), null, false); - taskLogic.execute(task.getKey(), null, false); - - return null; - } + return null; }); } } http://git-wip-us.apache.org/repos/asf/syncope/blob/5be24a03/fit/core-reference/src/test/java/org/apache/syncope/fit/console/AbstractConsoleITCase.java ---------------------------------------------------------------------- diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/AbstractConsoleITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/AbstractConsoleITCase.java index fcb6173..5ba0f70 100644 --- a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/AbstractConsoleITCase.java +++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/AbstractConsoleITCase.java @@ -26,13 +26,11 @@ import org.apache.syncope.common.rest.api.service.SyncopeService; import org.apache.wicket.Component; import org.apache.wicket.MarkupContainer; import org.apache.wicket.behavior.AbstractAjaxBehavior; -import org.apache.wicket.behavior.Behavior; import org.apache.wicket.core.util.lang.PropertyResolver; import org.apache.wicket.markup.html.list.ListItem; import org.apache.wicket.util.tester.FormTester; import org.apache.wicket.util.tester.WicketTester; import org.apache.wicket.util.visit.IVisit; -import org.apache.wicket.util.visit.IVisitor; import org.junit.BeforeClass; import org.junit.FixMethodOrder; import org.junit.runners.MethodSorters; @@ -82,18 +80,14 @@ public abstract class AbstractConsoleITCase { Component component = TESTER.getComponentFromLastRenderedPage(searchPath); return (component instanceof MarkupContainer ? MarkupContainer.class.cast(component) : component.getPage()). - visitChildren(ListItem.class, new IVisitor<ListItem<?>, Component>() { - - @Override - public void component(final ListItem<?> object, final IVisit<Component> visit) { - try { - Method getter = PropertyResolver.getPropertyGetter(property, object.getModelObject()); - if (getter != null && getter.invoke(object.getModelObject()).equals(key)) { - visit.stop(object); - } - } catch (Exception e) { - LOG.error("Error invoke method", e); + visitChildren(ListItem.class, (final ListItem<?> object, final IVisit<Component> visit) -> { + try { + Method getter = PropertyResolver.getPropertyGetter(property, object.getModelObject()); + if (getter != null && getter.invoke(object.getModelObject()).equals(key)) { + visit.stop(object); } + } catch (Exception e) { + LOG.error("Error invoke method", e); } }); } @@ -101,22 +95,18 @@ public abstract class AbstractConsoleITCase { protected Component findComponentById(final String searchPath, final String id) { Component component = TESTER.getComponentFromLastRenderedPage(searchPath); return (component instanceof MarkupContainer ? MarkupContainer.class.cast(component) : component.getPage()). - visitChildren(Component.class, new IVisitor<Component, Component>() { - - @Override - public void component(final Component object, final IVisit<Component> visit) { - if (object.getId().equals(id)) { - visit.stop(object); - } + visitChildren(Component.class, (final Component object, final IVisit<Component> visit) -> { + if (object.getId().equals(id)) { + visit.stop(object); } }); } protected void closeCallBack(final Component modal) { - for (Behavior behavior : modal.getBehaviors()) { - if (behavior instanceof AbstractAjaxBehavior) { - TESTER.executeBehavior((AbstractAjaxBehavior) behavior); - } - } + modal.getBehaviors().stream(). + filter(behavior -> (behavior instanceof AbstractAjaxBehavior)). + forEachOrdered(behavior -> { + TESTER.executeBehavior((AbstractAjaxBehavior) behavior); + }); } } http://git-wip-us.apache.org/repos/asf/syncope/blob/5be24a03/fit/core-reference/src/test/java/org/apache/syncope/fit/console/LogsITCase.java ---------------------------------------------------------------------- diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/LogsITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/LogsITCase.java index e076c8c..904afab 100644 --- a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/LogsITCase.java +++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/LogsITCase.java @@ -30,7 +30,6 @@ import org.apache.wicket.markup.html.WebMarkupContainer; import org.apache.wicket.markup.html.form.DropDownChoice; import org.apache.wicket.markup.html.list.ListItem; import org.apache.wicket.util.visit.IVisit; -import org.apache.wicket.util.visit.IVisitor; import org.junit.Before; import org.junit.Test; @@ -98,18 +97,14 @@ public class LogsITCase extends AbstractConsoleITCase { Component component = TESTER.getComponentFromLastRenderedPage(searchPath); Component result = component.getPage(). - visitChildren(ListItem.class, new IVisitor<ListItem<LoggerTO>, Component>() { - - @Override - public void component(final ListItem<LoggerTO> object, final IVisit<Component> visit) { - try { - if (object.getModelObject() instanceof LoggerTO && PropertyResolver.getPropertyGetter( - property, object.getModelObject()).invoke(object.getModelObject()).equals(key)) { - visit.stop(object); - } - } catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException ex) { - LOG.error("Error invoke method", ex); + visitChildren(ListItem.class, (final ListItem<LoggerTO> object, final IVisit<Component> visit) -> { + try { + if (object.getModelObject() instanceof LoggerTO && PropertyResolver.getPropertyGetter( + property, object.getModelObject()).invoke(object.getModelObject()).equals(key)) { + visit.stop(object); } + } catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException ex) { + LOG.error("Error invoke method", ex); } }); return result; http://git-wip-us.apache.org/repos/asf/syncope/blob/5be24a03/installer/src/main/java/org/apache/syncope/installer/utilities/HttpUtils.java ---------------------------------------------------------------------- diff --git a/installer/src/main/java/org/apache/syncope/installer/utilities/HttpUtils.java b/installer/src/main/java/org/apache/syncope/installer/utilities/HttpUtils.java index 3c121ca..dfc17d9 100644 --- a/installer/src/main/java/org/apache/syncope/installer/utilities/HttpUtils.java +++ b/installer/src/main/java/org/apache/syncope/installer/utilities/HttpUtils.java @@ -141,13 +141,12 @@ public class HttpUtils { try { final HttpPost httPost = httpPost(url, new StringEntity(stringEntity)); httPost.addHeader("Content-Type", ContentType.APPLICATION_JSON.getMimeType()); - final CloseableHttpResponse response = httpClient.execute( - targetHost, httPost, setAuth(targetHost, new DigestScheme())); - status = response.getStatusLine().getStatusCode(); - handler.logOutput("Http status: " + status, true); - InstallLog.getInstance().info("Http status: " + status); - - response.close(); + try (CloseableHttpResponse response = + httpClient.execute(targetHost, httPost, setAuth(targetHost, new DigestScheme()))) { + status = response.getStatusLine().getStatusCode(); + handler.logOutput("Http status: " + status, true); + InstallLog.getInstance().info("Http status: " + status); + } } catch (final IOException ioe) { final String messageError = "Error calling " + url + ": " + ioe.getMessage(); handler.emitError(messageError, messageError);