private static void cleanTestData() { String metaClassName1 = "SystemLimitationOnDocTest"; String metaClassName2 = "EmbeddedTest4Index"; String metaClassName3 = "InnerTest"; String metaClassName4 = "QueryWithSortOnTest"; String metaClassName5 = "Resource"; String metaClassName6 = "Base"; Map<String, Object> currentConfig = config.getCurrentConfiguration(); Map<String, Object> newConfig = new HashMap<String, Object>(currentConfig); // change config for temp newConfig.put(CMSDBConfig.SYS_ALLOW_METADATA_DELETE, true); config.updateConfig(newConfig); try { raptorMetaService.deleteMetaClass(metaClassName1, metaContext); raptorMetaService.deleteMetaClass(metaClassName2, metaContext); raptorMetaService.deleteMetaClass(metaClassName3, metaContext); raptorMetaService.deleteMetaClass(metaClassName4, metaContext); raptorMetaService.deleteMetaClass(metaClassName5, metaContext); raptorMetaService.deleteMetaClass(metaClassName6, metaContext); } catch (Exception e) { Assert.fail(); } newConfig.put(CMSDBConfig.SYS_ALLOW_METADATA_DELETE, false); config.updateConfig(newConfig); }
@Test(expected = MetaClassNotExistsException.class) public void testDeleteMetaClasses01NotExistingMeta() { repo.getMetadataService().deleteMetaClass("any-meta-class", null); }
@Test(expected = MetaDataException.class) public void testDeleteMetaClasses02StillRerferencing() { IMetadataService metaService = repositoryService.getRepository("stratus-ci").getMetadataService(); MetadataContext metaContext = new MetadataContext(); metaService.deleteMetaClass("Base", metaContext); }
public void deleteMetadata(CMSPriority p, String repoName, String metaclassName, MetadataContext context) { logger.info("cms deleteMetadata: {}, {}, {}", new Object[] { repoName, metaclassName, context.getSourceIp() }); checkServerState(p, true); String id = requestId.getNext(); context.setRequestId(id); long current = System.currentTimeMillis(); context.setStartProcessingTime(current); context.setDbConfig(dbConfig); Object value = getDBConfig().get(CMSDBConfig.SYS_ALLOW_METADATA_DELETE); if (value instanceof Boolean && (Boolean) value) { IMetadataService metaService = repositoryService.getRepository(repoName).getMetadataService(); MetaClass meta = metaService.getMetaClass(metaclassName); metaService.deleteMetaClass(metaclassName, context); EntityContext ec = new EntityContext(); ec.setSourceIp(context.getSourceIp()); ec.setDbConfig(context.getDbConfig()); ec.setRegistration(getDalImplementation(context.getAdditionalParameter().get( HistoryServiceImpl.DAL_PARAMETER))); branchService.deleteMetadata(repoName, meta, ec); long total = System.currentTimeMillis() - current; context.setTotalTimeCost(total); context.addDbTimeCost(context.getDbTimeCost()); } else { throw new NotSupportOperationException("Delete metadata not enabled!"); } }
metaService.deleteMetaClass(resourceContainerName, metaContext);
context.setSubject("cmsdb-core"); metaService.deleteMetaClass(HistoryMetaClass.NAME, context); HistoryMetaClass.createHistoryMetaClass(repo);
Assert.assertTrue(mr02.isMandatory()); metaService.deleteMetaClass("g3", new MetadataContext()); metaService.deleteMetaClass("g1", new MetadataContext()); metaService.deleteMetaClass("g2", new MetadataContext());
metaService.deleteMetaClass("g1", new MetadataContext());
Assert.assertTrue(mr02.isMandatory()); metaService.deleteMetaClass("g1", new MetadataContext());