package com.processpuzzle.sharedfixtures.domaintier; import com.processpuzzle.persistence.domain.DefaultUnitOfWork; import com.processpuzzle.application.configuration.domain.ProcessPuzzleContext; import com.processpuzzle.artifact.domain.ArtifactFolderRepository; import com.processpuzzle.artifact_type.domain.ArtifactType; import com.processpuzzle.artifact_type.domain.ArtifactTypeFactory; import com.processpuzzle.artifact_type.domain.ArtifactTypeRepository; import com.processpuzzle.artifact_type.domain.SystemArtifactTypes; import com.processpuzzle.user_session.domain.UserRequestManager; public class ArtifactFixture { private ProcessPuzzleContext applicationContext; private ArtifactTypeRepository artifacTypeRepository; private ArtifactFolderRepository artifactFolderRepository; private ArtifactType folderType; private static ArtifactTypeFactory artifactTypeFactory; public void setUp() { applicationContext = UserRequestManager.getInstance().getApplicationContext(); artifactTypeFactory = applicationContext.getEntityFactory( ArtifactTypeFactory.class ); folderType = artifactTypeFactory.create( SystemArtifactTypes.ARTIFACT_FOLDER.getName(), "SystemAdministration" ); artifacTypeRepository = applicationContext.getRepository( ArtifactTypeRepository.class ); DefaultUnitOfWork work = new DefaultUnitOfWork( true ); artifacTypeRepository.add( work, folderType ); work.finish(); artifactFolderRepository = applicationContext.getRepository( ArtifactFolderRepository.class ); } public void tearDown() { DefaultUnitOfWork work = new DefaultUnitOfWork( true ); artifacTypeRepository.delete( work, folderType ); work.finish(); } public ArtifactFolderRepository getArtifactFolderRepository() { return artifactFolderRepository; } public ProcessPuzzleContext getContext() { return applicationContext; } }