package com.processpuzzle.sharedfixtures.domaintier; import org.mockito.MockitoAnnotations; import org.mockito.Mock; import com.processpuzzle.address.domain.CountryRepository; import com.processpuzzle.address.domain.SettlementRepository; import com.processpuzzle.address.domain.ZipCodeRepository; import com.processpuzzle.application.configuration.domain.ApplicationContextFactory; import com.processpuzzle.application.configuration.domain.ConfigurationSetUpException; import com.processpuzzle.application.configuration.domain.InternalizationContext; import com.processpuzzle.application.configuration.domain.ProcessPuzzleContext; import com.processpuzzle.application.domain.Application; import com.processpuzzle.application.security.domain.UserRepository; import com.processpuzzle.artifact.domain.ArtifactSubClassRepository; import com.processpuzzle.artifact.domain.DefaultArtifactRepository; import com.processpuzzle.artifact_type.domain.ArtifactTypeRepository; import com.processpuzzle.artifact_type_group.domain.ArtifactTypeGroupRepository; import com.processpuzzle.party.domain.PartyRepository; import com.processpuzzle.party.partyrelationshiptype.domain.PartyRelationshipTypeRepository; import com.processpuzzle.party.partyrelationshiptype.domain.PartyRoleTypeRepository; import com.processpuzzle.resource.resourcetype.domain.ResourceTypeRepository; import com.processpuzzle.workflow.activity.domain.WorkflowRepository; import com.processpuzzle.workflow.protocol.domain.ProtocolRepository; public class DomainTier_ConfigurationFixture { protected static ProcessPuzzleContext config = null; protected static WorkflowRepository actionRepository; protected static DefaultArtifactRepository artifactRepository; protected static ArtifactSubClassRepository artifactSubClassRepository; protected static ArtifactTypeRepository artifactTypeRepository; protected static ArtifactTypeGroupRepository artifactTypeGroupRepository; protected static CountryRepository countryRepository; protected static InternalizationContext internalizationRepository = null; protected static PartyRelationshipTypeRepository partyRelationshipTypeRepository; protected static PartyRepository partyRepository; protected static PartyRoleTypeRepository partyRoleTypeRepository; protected static ProtocolRepository protocolRepository; protected static ResourceTypeRepository resourceTypeRepository; protected static SettlementRepository settlementRepository; protected static UserRepository userRepository = null; protected static ZipCodeRepository zipCodeRepository; protected static DomainTier_ConfigurationFixture fixtureInstance = null; @Mock private Application application; public static DomainTier_ConfigurationFixture getInstance() { if( fixtureInstance == null ){ return new DomainTier_ConfigurationFixture(); } return fixtureInstance; } public void setUp() { MockitoAnnotations.initMocks( DomainTier_ConfigurationFixture.class ); config = ApplicationContextFactory.create( application, DomainTierTestConfiguration.APPLICATION_CONFIGURATION_DESCRIPTOR_PATH ); try{ config.setUp( Application.Action.start ); getDomainTierRepositories(); }catch( ConfigurationSetUpException e ){ e.printStackTrace(); } } public void tearDown() { config.tearDown( Application.Action.stop ); config = null; internalizationRepository = null; userRepository = null; fixtureInstance = null; } public static WorkflowRepository getActionRepository() { return actionRepository; } public static DefaultArtifactRepository getArtifactRepository() { return artifactRepository; } public static ArtifactSubClassRepository getArtifactSubClassRepository() { return artifactSubClassRepository; } public static ArtifactTypeGroupRepository getArtifactTypeGroupRepository() { return artifactTypeGroupRepository; } public static ArtifactTypeRepository getArtifactTypeRepository() { return artifactTypeRepository; } public static ProcessPuzzleContext getConfig() { return config; } public static CountryRepository getCountryRepository() { return countryRepository; } public static InternalizationContext getInternalizationRepository() { return internalizationRepository; } public static PartyRelationshipTypeRepository getPartyRelationshipTypeRepository() { return partyRelationshipTypeRepository; } public static PartyRepository getPartyRepository() { return partyRepository; } public static PartyRoleTypeRepository getPartyRoleTypeRepository() { return partyRoleTypeRepository; } public static ProtocolRepository getProtocolRepository() { return protocolRepository; } public static ResourceTypeRepository getResourceTypeRepository() { return resourceTypeRepository; } public static SettlementRepository getSettlementRepository() { return settlementRepository; } public static UserRepository getUserRepository() { return userRepository; } public static ZipCodeRepository getZipCodeRepository() { return zipCodeRepository; } protected void getDomainTierRepositories() { internalizationRepository = config.getInternalizationContext(); userRepository = (UserRepository) config.getRepository( UserRepository.class ); } }