public void removePackageType(PackageType packageType) { packageTypes.remove(packageType); packageType.setResourceType(null); if (packageTypes.isEmpty()) { packageTypes = null; } }
public void addPackageType(PackageType packageType) { if (packageTypes == null) { packageTypes = new HashSet<PackageType>(1); } packageType.setResourceType(this); packageTypes.add(packageType); }
private void initContent() { ContentManagerRemote contentManager = remoteClient.getContentManager(); List<PackageType> types = null; try { types = contentManager.findPackageTypes( remoteClient.getSubject(), resource.getResourceType().getName(), resource.getResourceType().getPlugin()); for (PackageType packageType : types) { contentTypes.put(packageType.getName(), new ContentType(packageType)); } } catch (ResourceTypeNotFoundException e) { LOG.error( "Could not find resource type while creating content mappings of the resource proxy for resource with id " + resourceId, e); } }
public Set<ResourcePackageDetails> discoverDeployedPackages(PackageType type) { Set<ResourcePackageDetails> results = new HashSet<ResourcePackageDetails>(); if (PACKAGE_TYPE.equals(type.getName())) { String jbossHomeDir = resourceContext .getParentResourceComponent() .getResourceContext() .getPluginConfiguration() .getSimpleValue(ApplicationServerPluginConfigurationProperties.HOME_DIR, null); File binDirectory = new File(jbossHomeDir, "bin"); File scriptFile = new File(binDirectory, resourceContext.getResourceKey()); String sha256 = PACKAGE_VERSION; try { sha256 = new MessageDigestGenerator(MessageDigestGenerator.SHA_256).calcDigestString(scriptFile); } catch (IOException e) { log.warn( "Failed to compute the SHA256 digest of the script: " + scriptFile.getAbsolutePath(), e); } PackageDetailsKey key = new PackageDetailsKey( scriptFile.getName(), this.getVersion(sha256), PACKAGE_TYPE, PACKAGE_ARCHITECTURE); ResourcePackageDetails details = new ResourcePackageDetails(key); details.setDisplayName(scriptFile.getName()); details.setFileName(scriptFile.getAbsolutePath()); details.setFileSize(scriptFile.length()); details.setLocation(scriptFile.getAbsolutePath()); details.setFileCreatedDate(scriptFile.lastModified()); details.setInstallationTimestamp(System.currentTimeMillis()); details.setSHA256(sha256); results.add(details); } return results; }
@AfterMethod public void tearDownAfterMethod() throws Exception { try { TransactionManager tx = getTransactionManager(); tx.begin(); EntityManager entityManager = getEntityManager(); Query query; ContentSourceManagerLocal contentSourceManagerLocal = LookupUtil.getContentSourceManager(); RepoManagerLocal repoManager = LookupUtil.getRepoManagerLocal(); DistributionManagerLocal distroManager = LookupUtil.getDistributionManagerLocal(); SubjectManagerLocal subjectManager = LookupUtil.getSubjectManager(); Subject overlord = subjectManager.getOverlord(); // Delete all distributions distroManager.deleteDistributionMappingsForRepo(overlord, repoToSync.getId()); for (String distroLabel : TestContentProvider.DISTRIBUTIONS.keySet()) { Distribution distro = distroManager.getDistributionByLabel(distroLabel); if (distro != null) { // Delete the files query = entityManager.createNamedQuery(DistributionFile.DELETE_BY_DIST_ID); query.setParameter("distId", distro.getId()); query.executeUpdate(); // Delete the actual distro distroManager.deleteDistributionByDistId(overlord, distro.getId()); } } // Delete all package version <-> content source mappings for (ContentSource source : repoContentSources) { contentSourceManagerLocal.deleteContentSource(overlord, source.getId()); } repoContentSources.clear(); // Delete the repo repoManager.deleteRepo(overlord, repoToSync.getId()); // Delete any packages that were created for (ContentProviderPackageDetails details : TestContentProvider.PACKAGES.values()) { String packageName = details.getContentProviderPackageDetailsKey().getName(); query = entityManager.createNamedQuery(Package.QUERY_FIND_BY_NAME_PKG_TYPE_ID); query.setParameter("name", packageName); query.setParameter("packageTypeId", packageType.getId()); Package p = (Package) query.getSingleResult(); entityManager.remove(p); } // Delete the package type packageType = entityManager.find(PackageType.class, packageType.getId()); entityManager.remove(packageType); resourceType = entityManager.find(ResourceType.class, resourceType.getId()); entityManager.remove(resourceType); // Delete the content source type contentSourceType = entityManager.find(ContentSourceType.class, contentSourceType.getId()); entityManager.remove(contentSourceType); tx.commit(); // Cleanup providers between tests contentProvider1.reset(); contentProvider2.reset(); } finally { // Plugin service teardown unprepareServerPluginService(); unprepareScheduler(); } }