@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; }
@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); } }
public void addContentServiceRequest(ContentServiceRequest request) { if (contentServiceRequests == null) { contentServiceRequests = new ArrayList<ContentServiceRequest>(1); } request.setResource(this); this.contentServiceRequests.add(request); }
@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 = persistedRequest.getResource(); ResourceType resourceType = resource.getResourceType(); dependencyPackage.setTimestamp(installationDate); persistedRequest.addInstalledPackageHistory(dependencyPackage);
long duration = request.getDuration(); request.setErrorMessage("Request with duration " + duration + " exceeded the timeout threshold of " + REQUEST_TIMEOUT); request.setStatus(ContentRequestStatus.TIMED_OUT); Resource resource = request.getResource(); Set<InstalledPackageHistory> requestPackages = request.getInstalledPackageHistory(); for (InstalledPackageHistory history : requestPackages) { InstalledPackageHistoryStatus packageStatus = history.getStatus();
Resource resource = entityManager.find(Resource.class, resourceId); ContentServiceRequest persistedRequest = new ContentServiceRequest(resource, username, ContentRequestType.DEPLOY); persistedRequest.setStatus(ContentRequestStatus.IN_PROGRESS); persistedRequest.setNotes(notes); history.setTimestamp(timestamp); persistedRequest.addInstalledPackageHistory(history);
ContentServiceRequest persistedRequest = (ContentServiceRequest) query.getSingleResult(); Resource resource = persistedRequest.getResource(); int resourceTypeId = resource.getResourceType().getId(); persistedRequest.setErrorMessage(response.getOverallRequestErrorMessage()); persistedRequest.setStatus(translateRequestResultStatus(response.getOverallRequestResult())); Set<InstalledPackageHistory> requestInProgressEntries = persistedRequest.getInstalledPackageHistory(); persistedRequest.addInstalledPackageHistory(history); persistedRequest.addInstalledPackageHistory(history);
query.setParameter("id", response.getRequestId()); ContentServiceRequest persistedRequest = (ContentServiceRequest) query.getSingleResult(); Resource resource = persistedRequest.getResource(); int resourceTypeId = persistedRequest.getResource().getResourceType().getId(); persistedRequest.setErrorMessage(response.getOverallRequestErrorMessage()); persistedRequest.setStatus(translateRequestResultStatus(response.getOverallRequestResult())); Set<InstalledPackageHistory> requestInProgressEntries = persistedRequest.getInstalledPackageHistory(); persistedRequest.addInstalledPackageHistory(history); persistedRequest.addInstalledPackageHistory(history);
return; Resource resource = persistedRequest.getResource(); InstalledPackageHistory initialRequestHistory = persistedRequest.getInstalledPackageHistory().iterator().next(); PackageVersion packageVersion = initialRequestHistory.getPackageVersion(); persistedRequest.setErrorMessage(response.getErrorMessage()); persistedRequest.setStatus(response.getStatus());