dependencyPackage.setTimestamp(installationDate); persistedRequest.addInstalledPackageHistory(dependencyPackage);
@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; }
history.setTimestamp(timestamp); persistedRequest.addInstalledPackageHistory(history);
@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; }
persistedRequest.addInstalledPackageHistory(history); persistedRequest.addInstalledPackageHistory(history);
@Override @TransactionAttribute(TransactionAttributeType.REQUIRES_NEW) public void failRequest(int requestId, Throwable error) { Query query = entityManager.createNamedQuery(ContentServiceRequest.QUERY_FIND_BY_ID); query.setParameter("id", requestId); ContentServiceRequest persistedRequest = (ContentServiceRequest) query.getSingleResult(); Resource resource = persistedRequest.getResource(); persistedRequest.setErrorMessage(ThrowableUtil.getStackAsString(error)); persistedRequest.setStatus(ContentRequestStatus.FAILURE); // This should only be called as the result of an exception during the user initiated action. As such, // every package history entity represents an in progress state. Add a new entry for each in the failed state. long timestamp = System.currentTimeMillis(); for (InstalledPackageHistory history : persistedRequest.getInstalledPackageHistory()) { InstalledPackageHistory failedEntry = new InstalledPackageHistory(); failedEntry.setContentServiceRequest(persistedRequest); failedEntry.setDeploymentConfigurationValues(history.getDeploymentConfigurationValues()); failedEntry.setErrorMessage(ThrowableUtil.getStackAsString(error)); failedEntry.setPackageVersion(history.getPackageVersion()); failedEntry.setResource(resource); failedEntry.setStatus(InstalledPackageHistoryStatus.FAILED); failedEntry.setTimestamp(timestamp); persistedRequest.addInstalledPackageHistory(failedEntry); } }
persistedRequest.addInstalledPackageHistory(history); persistedRequest.addInstalledPackageHistory(history);