Hi guys, just curious: which checkstyle settings are you using in the Syncope codebase?
TIA, -Simo http://people.apache.org/~simonetripodi/ http://simonetripodi.livejournal.com/ http://twitter.com/simonetripodi http://www.99soft.org/ On Wed, Feb 29, 2012 at 11:02 AM, <[email protected]> wrote: > Author: fmartelli > Date: Wed Feb 29 10:02:57 2012 > New Revision: 1295049 > > URL: http://svn.apache.org/viewvc?rev=1295049&view=rev > Log: > managed attribute limitation during external sync and search > > Modified: > > incubator/syncope/trunk/console/src/main/java/org/syncope/console/pages/ResourceModalPage.java > > incubator/syncope/trunk/core/src/main/java/org/syncope/core/propagation/ConnectorFacadeProxy.java > > incubator/syncope/trunk/core/src/main/java/org/syncope/core/propagation/PropagationManager.java > > incubator/syncope/trunk/core/src/main/java/org/syncope/core/rest/controller/ResourceController.java > > incubator/syncope/trunk/core/src/main/java/org/syncope/core/scheduling/SyncJob.java > > incubator/syncope/trunk/parent/src/site/resources/images/apache-syncope-logo.svg > > Modified: > incubator/syncope/trunk/console/src/main/java/org/syncope/console/pages/ResourceModalPage.java > URL: > http://svn.apache.org/viewvc/incubator/syncope/trunk/console/src/main/java/org/syncope/console/pages/ResourceModalPage.java?rev=1295049&r1=1295048&r2=1295049&view=diff > ============================================================================== > --- > incubator/syncope/trunk/console/src/main/java/org/syncope/console/pages/ResourceModalPage.java > (original) > +++ > incubator/syncope/trunk/console/src/main/java/org/syncope/console/pages/ResourceModalPage.java > Wed Feb 29 10:02:57 2012 > @@ -30,7 +30,6 @@ import org.apache.wicket.model.ResourceM > import org.apache.wicket.spring.injection.annot.SpringBean; > import org.syncope.client.to.ResourceTO; > import org.syncope.client.to.SchemaMappingTO; > -import org.syncope.client.validation.SyncopeClientCompositeErrorException; > import org.syncope.console.pages.panels.ResourceConnConfPanel; > import org.syncope.console.pages.panels.ResourceDetailsPanel; > import org.syncope.console.pages.panels.ResourceMappingPanel; > @@ -119,7 +118,7 @@ public class ResourceModalPage extends B > ((Resources) pageref.getPage()).setModalResult(true); > window.close(target); > > - } catch (SyncopeClientCompositeErrorException e) { > + } catch (Exception e) { > LOG.error("Failuer managing resource {}", resourceTO); > error(new ResourceModel("error", "error").getObject() > + ":" + e.getMessage()); > > Modified: > incubator/syncope/trunk/core/src/main/java/org/syncope/core/propagation/ConnectorFacadeProxy.java > URL: > http://svn.apache.org/viewvc/incubator/syncope/trunk/core/src/main/java/org/syncope/core/propagation/ConnectorFacadeProxy.java?rev=1295049&r1=1295048&r2=1295049&view=diff > ============================================================================== > --- > incubator/syncope/trunk/core/src/main/java/org/syncope/core/propagation/ConnectorFacadeProxy.java > (original) > +++ > incubator/syncope/trunk/core/src/main/java/org/syncope/core/propagation/ConnectorFacadeProxy.java > Wed Feb 29 10:02:57 2012 > @@ -20,6 +20,7 @@ package org.syncope.core.propagation; > > import java.io.File; > import java.net.URI; > +import java.util.Arrays; > import java.util.Collection; > import java.util.HashSet; > import java.util.List; > @@ -40,6 +41,7 @@ import org.identityconnectors.framework. > import org.identityconnectors.framework.common.objects.ObjectClass; > import org.identityconnectors.framework.common.objects.ObjectClassInfo; > import org.identityconnectors.framework.common.objects.OperationOptions; > +import > org.identityconnectors.framework.common.objects.OperationOptionsBuilder; > import org.identityconnectors.framework.common.objects.OperationalAttributes; > import org.identityconnectors.framework.common.objects.ResultsHandler; > import org.identityconnectors.framework.common.objects.Schema; > @@ -51,7 +53,10 @@ import org.identityconnectors.framework. > import org.slf4j.Logger; > import org.slf4j.LoggerFactory; > import org.springframework.util.ClassUtils; > +import org.springframework.util.StringUtils; > import org.syncope.core.persistence.beans.ConnInstance; > +import org.syncope.core.persistence.beans.ExternalResource; > +import org.syncope.core.persistence.beans.SchemaMapping; > import org.syncope.core.persistence.dao.MissingConfKeyException; > import org.syncope.core.util.ConnBundleManager; > import org.syncope.types.ConnConfProperty; > @@ -368,11 +373,14 @@ public class ConnectorFacadeProxy { > * @param token to be passed to the underlying connector > * @param handler to be used to handle deltas. > */ > - public void sync(final SyncToken token, final SyncResultsHandler > handler) { > + public void sync( > + final SyncToken token, > + final SyncResultsHandler handler, > + final OperationOptions options) { > > if (activeConnInstance.getCapabilities().contains( > ConnectorCapability.SYNC)) { > - connector.sync(ObjectClass.ACCOUNT, token, handler, null); > + connector.sync(ObjectClass.ACCOUNT, token, handler, options); > } else { > LOG.info("Sync was attempted, although the " > + "connector only has these capabilities: {}. No action.", > @@ -638,4 +646,33 @@ public class ConnectorFacadeProxy { > public ConnInstance getActiveConnInstance() { > return activeConnInstance; > } > + > + public OperationOptions getOperationOptions( > + final ExternalResource resource) { > + > + // ------------------------------------- > + // Ask just for mapped attributes > + // ------------------------------------- > + final OperationOptionsBuilder oob = new OperationOptionsBuilder(); > + > + final Set<String> attributesToGet = new HashSet<String>( > + Arrays.asList(new String[]{ > + Name.NAME, > + Uid.NAME, > + OperationalAttributes.ENABLE_NAME > + })); > + > + for (SchemaMapping mapping : resource.getMappings()) { > + if (StringUtils.hasText(mapping.getExtAttrName())) { > + attributesToGet.add(mapping.getExtAttrName()); > + } > + } > + > + attributesToGet.add(OperationalAttributes.ENABLE_NAME); > + > + oob.setAttributesToGet(attributesToGet); > + // ------------------------------------- > + > + return oob.build(); > + } > } > > Modified: > incubator/syncope/trunk/core/src/main/java/org/syncope/core/propagation/PropagationManager.java > URL: > http://svn.apache.org/viewvc/incubator/syncope/trunk/core/src/main/java/org/syncope/core/propagation/PropagationManager.java?rev=1295049&r1=1295048&r2=1295049&view=diff > ============================================================================== > --- > incubator/syncope/trunk/core/src/main/java/org/syncope/core/propagation/PropagationManager.java > (original) > +++ > incubator/syncope/trunk/core/src/main/java/org/syncope/core/propagation/PropagationManager.java > Wed Feb 29 10:02:57 2012 > @@ -1144,6 +1144,7 @@ public class PropagationManager { > final PropagationTask task, > final boolean latest) { > try { > + > return connector.getObject( > task.getPropagationMode(), > task.getPropagationOperation(), > @@ -1151,7 +1152,8 @@ public class PropagationManager { > new Uid(latest || task.getOldAccountId() == null > ? task.getAccountId() > : task.getOldAccountId()), > - null); > + connector.getOperationOptions(task.getResource())); > + > } catch (RuntimeException ignore) { > LOG.debug("Resolving username", ignore); > return null; > > Modified: > incubator/syncope/trunk/core/src/main/java/org/syncope/core/rest/controller/ResourceController.java > URL: > http://svn.apache.org/viewvc/incubator/syncope/trunk/core/src/main/java/org/syncope/core/rest/controller/ResourceController.java?rev=1295049&r1=1295048&r2=1295049&view=diff > ============================================================================== > --- > incubator/syncope/trunk/core/src/main/java/org/syncope/core/rest/controller/ResourceController.java > (original) > +++ > incubator/syncope/trunk/core/src/main/java/org/syncope/core/rest/controller/ResourceController.java > Wed Feb 29 10:02:57 2012 > @@ -283,7 +283,10 @@ public class ResourceController extends > final ConnectorFacadeProxy connector = > connLoader.getConnector(resource); > > final ConnectorObject connectorObject = > - connector.getObject(ObjectClass.ACCOUNT, new Uid(objectId), > null); > + connector.getObject( > + ObjectClass.ACCOUNT, > + new Uid(objectId), > + connector.getOperationOptions(resource)); > > if (connectorObject == null) { > throw new NotFoundException( > > Modified: > incubator/syncope/trunk/core/src/main/java/org/syncope/core/scheduling/SyncJob.java > URL: > http://svn.apache.org/viewvc/incubator/syncope/trunk/core/src/main/java/org/syncope/core/scheduling/SyncJob.java?rev=1295049&r1=1295048&r2=1295049&view=diff > ============================================================================== > --- > incubator/syncope/trunk/core/src/main/java/org/syncope/core/scheduling/SyncJob.java > (original) > +++ > incubator/syncope/trunk/core/src/main/java/org/syncope/core/scheduling/SyncJob.java > Wed Feb 29 10:02:57 2012 > @@ -1016,7 +1016,7 @@ public class SyncJob extends AbstractTas > } > } > }, > - null); > + > connector.getOperationOptions(syncTask.getResource())); > } else { > connector.sync( > syncTask.getResource().getSyncToken(), > @@ -1037,7 +1037,8 @@ public class SyncJob extends AbstractTas > return false; > } > } > - }); > + }, > + > connector.getOperationOptions(syncTask.getResource())); > } > > if (!dryRun && !syncTask.isFullReconciliation()) { > > Modified: > incubator/syncope/trunk/parent/src/site/resources/images/apache-syncope-logo.svg > URL: > http://svn.apache.org/viewvc/incubator/syncope/trunk/parent/src/site/resources/images/apache-syncope-logo.svg?rev=1295049&r1=1295048&r2=1295049&view=diff > ============================================================================== > --- > incubator/syncope/trunk/parent/src/site/resources/images/apache-syncope-logo.svg > (original) > +++ > incubator/syncope/trunk/parent/src/site/resources/images/apache-syncope-logo.svg > Wed Feb 29 10:02:57 2012 > @@ -1,4 +1,25 @@ > + > <?xml version="1.0" encoding="UTF-8" standalone="no"?> > +<!-- > +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. > + > +--> > + > <!-- Created with Inkscape (http://www.inkscape.org/) --> > > <svg > @@ -814,4 +835,4 @@ znAJwnyu3wAAAABJRU5ErkJggg== > width="356" > height="130" > transform="scale(1,-1)" > - id="image3087" /></g></g></g></svg> > \ No newline at end of file > + id="image3087" /></g></g></g></svg> > >
