/* * Copyright 2012-2013 Alfresco Software Limited. * * Licensed under the GNU Affero General Public License, Version 3.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.gnu.org/licenses/agpl-3.0.html * * If you do not wish to be bound to the terms of the AGPL v3.0, * A commercial license may be obtained by contacting the author. * * 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. * * This file is part of an unsupported extension to Alfresco. * */ package org.alfresco.extension.countersign.service; import java.util.List; import org.alfresco.service.ServiceRegistry; import org.alfresco.service.cmr.repository.ChildAssociationRef; import org.alfresco.service.cmr.repository.NodeRef; import org.alfresco.service.namespace.QName; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; public class CounterSignServiceImpl implements CounterSignService { private ServiceRegistry serviceRegistry; private static Log logger = LogFactory.getLog(CounterSignServiceImpl.class); /** * Gets the named signature artifact for the named user, delegates to * getSignatureArtifact(NodeRef, QName). Just a convenience method */ public NodeRef getSignatureArtifact(String person, QName assoc) { NodeRef personNode = serviceRegistry.getPersonService().getPerson(person); return getSignatureArtifact(personNode, assoc); } /** * Gets the named signature artifact for the provided user. Used for * retrieving keystores, public keys and signature images. * * @param person * @param assoc * @return */ public NodeRef getSignatureArtifact(NodeRef person, QName assoc) { NodeRef node = null; List<ChildAssociationRef> nodes = serviceRegistry.getNodeService() .getChildAssocs( person, assoc, null, Integer.MAX_VALUE, false); if(nodes != null && nodes.size() > 0) { node = nodes.get(0).getChildRef(); } return node; } public void setServiceRegistry(ServiceRegistry serviceRegistry) { this.serviceRegistry = serviceRegistry; } }