Changeset 5543


Ignore:
Timestamp:
08/08/14 12:02:07 (10 years ago)
Author:
Twan Goosen
Message:

Made VC validator stateless, factory no longer needed.
Preparing for #607

Location:
VirtualCollectionRegistry/trunk/VirtualCollectionRegistry/src/main
Files:
1 deleted
3 edited

Legend:

Unmodified
Added
Removed
  • VirtualCollectionRegistry/trunk/VirtualCollectionRegistry/src/main/java/eu/clarin/cmdi/virtualcollectionregistry/VirtualCollectionRegistry.java

    r5507 r5543  
    1010import eu.clarin.cmdi.virtualcollectionregistry.query.ParsedQuery;
    1111import eu.clarin.cmdi.virtualcollectionregistry.service.VirtualCollectionValidator;
    12 import eu.clarin.cmdi.virtualcollectionregistry.service.VirtualCollectionValidatorFactory;
    1312import java.security.Principal;
    1413import java.util.Date;
     
    3534import org.springframework.beans.factory.InitializingBean;
    3635import org.springframework.beans.factory.annotation.Autowired;
     36import org.springframework.beans.factory.annotation.Qualifier;
    3737import org.springframework.stereotype.Service;
    3838
     
    4747    private OAIProvider oaiProvider;
    4848    @Autowired
    49     private VirtualCollectionValidatorFactory validatorFactory;
     49    @Qualifier("creation")
     50    private VirtualCollectionValidator validator;
    5051    @Autowired
    5152    private AdminUsersService adminUsersService;
     
    112113        logger.debug("creating virtual collection");
    113114
    114         VirtualCollectionValidator validator = validatorFactory.createValidator();
    115115        validator.validate(vc);
    116116        try {
     
    153153        logger.debug("updating virtual collection (id={})", id);
    154154
    155         VirtualCollectionValidator validator = validatorFactory.createValidator();
    156155        validator.validate(vc);
    157156
  • VirtualCollectionRegistry/trunk/VirtualCollectionRegistry/src/main/java/eu/clarin/cmdi/virtualcollectionregistry/service/impl/VirtualCollectionValidatorImpl.java

    r5542 r5543  
    22
    33import eu.clarin.cmdi.virtualcollectionregistry.service.VirtualCollectionValidator;
    4 import eu.clarin.cmdi.virtualcollectionregistry.VirtualCollectionRegistryException;
    54import eu.clarin.cmdi.virtualcollectionregistry.VirtualCollectionRegistryUsageException;
    65import eu.clarin.cmdi.virtualcollectionregistry.model.Creator;
     
    1312import java.util.List;
    1413import java.util.Set;
    15 import static org.springframework.beans.factory.config.ConfigurableBeanFactory.SCOPE_PROTOTYPE;
    16 import org.springframework.beans.factory.config.ServiceLocatorFactoryBean;
    17 import org.springframework.context.annotation.Scope;
     14import org.springframework.beans.factory.annotation.Qualifier;
    1815import org.springframework.stereotype.Service;
    1916
    2017/**
    21  * A virtual collection validator. Scoped prototype, because it carries state.
    22  * Use a factory (e.g. dynamically generated using
    23  * {@link ServiceLocatorFactoryBean}) to get new instances within a singleton.
     18 * A virtual collection validator. Reusable and thread safe.
    2419 *
    2520 * @author twagoo
    2621 */
    2722@Service
    28 @Scope(value = SCOPE_PROTOTYPE)
     23@Qualifier("creation")
    2924public class VirtualCollectionValidatorImpl implements VirtualCollectionValidator {
    30 
    31     private final Set<Creator> uniqueCreators = new HashSet<Creator>(16);
    32     private final Set<String> uniqueResourceRefs = new HashSet<String>(512);
    3325
    3426    @Override
     
    3931        }
    4032
    41         // reset internal state
    42         reset();
     33        final Set<Creator> uniqueCreators = new HashSet<Creator>(16);
     34        final Set<String> uniqueResourceRefs = new HashSet<String>(512);
    4335
    4436        // proceed to validate ...
     
    136128    }
    137129
    138     private void reset() {
    139         uniqueCreators.clear();
    140         uniqueResourceRefs.clear();
    141     }
    142 
    143130} // class VirtualCollectionValidator
  • VirtualCollectionRegistry/trunk/VirtualCollectionRegistry/src/main/webapp/WEB-INF/applicationContext.xml

    r5416 r5543  
    2424        <!--<property name="location" value="classpath:vcr-defaults.properties"/>-->
    2525    </bean>
    26 
    27     <!--
    28     Will generate a factory for virtual collection validator, based on the
    29     prototype bean for the VirtualCollectionValidator implementation
    30     see http://docs.spring.io/spring/docs/4.0.5.RELEASE/javadoc-api/org/springframework/beans/factory/config/ServiceLocatorFactoryBean.html
    31     -->
    32     <bean id="validatorFactory"
    33           class="org.springframework.beans.factory.config.ServiceLocatorFactoryBean">
    34         <property name="serviceLocatorInterface" value="eu.clarin.cmdi.virtualcollectionregistry.service.VirtualCollectionValidatorFactory"/>
    35     </bean>
    3626               
    3727</beans>
Note: See TracChangeset for help on using the changeset viewer.