diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPAJobStatus.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPAJobStatus.java index 5cda0127f92..dd1ac84622f 100644 --- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPAJobStatus.java +++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPAJobStatus.java @@ -20,6 +20,7 @@ import javax.persistence.Entity; import javax.persistence.Table; +import org.apache.commons.lang3.StringUtils; import org.apache.syncope.core.persistence.api.entity.JobStatus; @Entity @@ -30,6 +31,8 @@ public class JPAJobStatus extends AbstractProvidedKeyEntity implements JobStatus public static final String TABLE = "JobStatus"; + private static final int STATUS_MAX_LENGTH = 255; + private String jobStatus; @Override @@ -39,6 +42,6 @@ public String getStatus() { @Override public void setStatus(final String status) { - jobStatus = status; + jobStatus = StringUtils.abbreviate(status, STATUS_MAX_LENGTH); } } diff --git a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/InboundMatcher.java b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/InboundMatcher.java index ffbe18d5c68..f73649b02e1 100644 --- a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/InboundMatcher.java +++ b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/InboundMatcher.java @@ -151,24 +151,28 @@ public Optional match( List found = new ArrayList<>(); - Name nameAttr = new Name(nameValue); - connector.search( - new ObjectClass(provision.get().getObjectClass()), - provision.get().isIgnoreCaseMatch() - ? FilterBuilder.equalsIgnoreCase(nameAttr) - : FilterBuilder.equalTo(nameAttr), - new SearchResultsHandler() { - - @Override - public void handleResult(final SearchResult result) { - // nothing to do - } + try { + Name nameAttr = new Name(nameValue); + connector.search( + new ObjectClass(provision.get().getObjectClass()), + provision.get().isIgnoreCaseMatch() + ? FilterBuilder.equalsIgnoreCase(nameAttr) + : FilterBuilder.equalTo(nameAttr), + new SearchResultsHandler() { + + @Override + public void handleResult(final SearchResult result) { + // nothing to do + } - @Override - public boolean handle(final ConnectorObject connectorObject) { - return found.add(connectorObject); - } - }, MappingUtils.buildOperationOptions(mapItems)); + @Override + public boolean handle(final ConnectorObject connectorObject) { + return found.add(connectorObject); + } + }, MappingUtils.buildOperationOptions(mapItems)); + } catch (Throwable t) { + LOG.warn("While searching for {} ...", nameValue, t); + } Optional result = Optional.empty();