@Override public void deleteArtifact( MetadataRepository metadataRepository, String repositoryId, String namespace, String project, String version, String id ) { String name = RepositoryProblemFacet.createName( namespace, project, version, id ); try { metadataRepository.removeMetadataFacet( repositoryId, RepositoryProblemFacet.FACET_ID, name ); } catch ( MetadataRepositoryException e ) { log.warn( "Unable to remove metadata facet as part of delete event: {}", e.getMessage(), e ); } }
@Test public void testRemoveFacetWhenUnknown() throws Exception { // testing no exception repository.removeMetadataFacet( TEST_REPO_ID, UNKNOWN, TEST_NAME ); }
@Override public void addArtifact( RepositorySession session, String repoId, String namespace, String projectId, ProjectVersionMetadata metadata ) { // Remove problems associated with this version on successful addition // TODO: this removes all problems - do we need something that just remove the problems we know are corrected? String name = RepositoryProblemFacet.createName( namespace, projectId, metadata.getId(), null ); try { MetadataRepository metadataRepository = session.getRepository(); metadataRepository.removeMetadataFacet( repoId, RepositoryProblemFacet.FACET_ID, name ); session.markDirty(); } catch ( MetadataRepositoryException e ) { log.warn( "Unable to remove repository problem facets for the version being corrected in the repository: {}", e.getMessage(), e ); } }
@Test public void testRemoveFacetWhenEmpty() throws Exception { List<String> facets = repository.getMetadataFacets( TEST_REPO_ID, TEST_FACET_ID ); assertThat( facets ).isNotNull().isEmpty(); assertThat( repository.getMetadataFacet( TEST_REPO_ID, TEST_FACET_ID, TEST_NAME ) ).isNull(); repository.removeMetadataFacet( TEST_REPO_ID, TEST_FACET_ID, TEST_NAME ); facets = repository.getMetadataFacets( TEST_REPO_ID, TEST_FACET_ID ); assertThat( facets ).isNotNull().isEmpty(); assertThat( repository.getMetadataFacet( TEST_REPO_ID, TEST_FACET_ID, TEST_NAME ) ).isNull(); }
@Test public void testRemoveFacet() throws Exception { TestMetadataFacet metadataFacet = new TestMetadataFacet( TEST_VALUE ); repository.addMetadataFacet( TEST_REPO_ID, metadataFacet ); assertEquals( metadataFacet, repository.getMetadataFacet( TEST_REPO_ID, TEST_FACET_ID, TEST_NAME ) ); List<String> facets = repository.getMetadataFacets( TEST_REPO_ID, TEST_FACET_ID ); assertFalse( facets.isEmpty() ); repository.removeMetadataFacet( TEST_REPO_ID, TEST_FACET_ID, TEST_NAME ); assertNull( repository.getMetadataFacet( TEST_REPO_ID, TEST_FACET_ID, TEST_NAME ) ); facets = repository.getMetadataFacets( TEST_REPO_ID, TEST_FACET_ID ); assertTrue( facets.isEmpty() ); }