@Override @TransactionAttribute(TransactionAttributeType.REQUIRES_NEW) public ContentServiceRequest createRetrieveBitsRequest(int resourceId, String username, int installedPackageId) { Resource resource = entityManager.find(Resource.class, resourceId); ContentServiceRequest persistedRequest = new ContentServiceRequest(resource, username, ContentRequestType.GET_BITS); persistedRequest.setStatus(ContentRequestStatus.IN_PROGRESS); long timestamp = System.currentTimeMillis(); // Load the InstalledPackage to get its package version for the relationship InstalledPackage ip = entityManager.find(InstalledPackage.class, installedPackageId); PackageVersion packageVersion = ip.getPackageVersion(); // Create the history entity InstalledPackageHistory history = new InstalledPackageHistory(); history.setContentServiceRequest(persistedRequest); history.setPackageVersion(packageVersion); history.setResource(resource); history.setStatus(InstalledPackageHistoryStatus.BEING_RETRIEVED); history.setTimestamp(timestamp); persistedRequest.addInstalledPackageHistory(history); entityManager.persist(persistedRequest); return persistedRequest; }
Resource resource = entityManager.find(Resource.class, resourceId); ContentServiceRequest persistedRequest = new ContentServiceRequest(resource, username, ContentRequestType.DEPLOY); persistedRequest.setStatus(ContentRequestStatus.IN_PROGRESS);
@Override @TransactionAttribute(TransactionAttributeType.REQUIRES_NEW) public ContentServiceRequest createRemoveRequest(int resourceId, String username, int[] installedPackageIds, String requestNotes) { Resource resource = entityManager.find(Resource.class, resourceId); ContentServiceRequest persistedRequest = new ContentServiceRequest(resource, username, ContentRequestType.DELETE); persistedRequest.setStatus(ContentRequestStatus.IN_PROGRESS); persistedRequest.setNotes(requestNotes); long timestamp = System.currentTimeMillis(); for (int installedPackageId : installedPackageIds) { // Load the InstalledPackage to get its package version for the relationship InstalledPackage ip = entityManager.find(InstalledPackage.class, installedPackageId); PackageVersion packageVersion = ip.getPackageVersion(); // Create the history entity InstalledPackageHistory history = new InstalledPackageHistory(); history.setContentServiceRequest(persistedRequest); history.setPackageVersion(packageVersion); history.setResource(resource); history.setStatus(InstalledPackageHistoryStatus.BEING_DELETED); history.setTimestamp(timestamp); persistedRequest.addInstalledPackageHistory(history); } entityManager.persist(persistedRequest); return persistedRequest; }