/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/content/ContentUIManagerLocal.java
https://github.com/ccrouch/rhq · Java · 268 lines · 56 code · 29 blank · 183 comment · 0 complexity · 36b1234bc39e46f1fa9f48f11af884e9 MD5 · raw file
- /*
- * RHQ Management Platform
- * Copyright (C) 2005-2008 Red Hat, Inc.
- * All rights reserved.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation version 2 of the License.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
- package org.rhq.enterprise.server.content;
- import java.util.List;
- import javax.ejb.Local;
- import org.rhq.core.domain.auth.Subject;
- import org.rhq.core.domain.common.composite.IntegerOptionItem;
- import org.rhq.core.domain.content.ContentRequestStatus;
- import org.rhq.core.domain.content.ContentServiceRequest;
- import org.rhq.core.domain.content.InstalledPackage;
- import org.rhq.core.domain.content.InstalledPackageHistory;
- import org.rhq.core.domain.content.PackageInstallationStep;
- import org.rhq.core.domain.content.PackageType;
- import org.rhq.core.domain.content.PackageVersion;
- import org.rhq.core.domain.content.composite.AdvisoryDetailsComposite;
- import org.rhq.core.domain.content.composite.LoadedPackageBitsComposite;
- import org.rhq.core.domain.content.composite.PackageListItemComposite;
- import org.rhq.core.domain.content.composite.PackageVersionComposite;
- import org.rhq.core.domain.criteria.InstalledPackageHistoryCriteria;
- import org.rhq.core.domain.util.PageControl;
- import org.rhq.core.domain.util.PageList;
- /**
- * EJB interface for operations that support the UI for the content subsystem.
- *
- * @author Jason Dobies
- */
- @Local
- public interface ContentUIManagerLocal {
- /**
- * This will return a composite object that tells you if the actual content (the "bits") for a particular package
- * version is loaded into inventory or not, and, if the content is loaded, whether or not that content is stored in
- * the database.
- *
- * @param packageVersionId the {@link org.rhq.core.domain.content.PackageVersion} identifier
- * @return indicates if the package version content is loaded and available
- * @see org.rhq.core.domain.content.composite.LoadedPackageBitsComposite
- */
- LoadedPackageBitsComposite getLoadedPackageBitsComposite(int packageVersionId);
- /**
- * Loads the installed package identified by the ID from the database.
- *
- * @param id identifies the installed package
- * @return installed package if one exists; <code>null</code> otherwise
- */
- InstalledPackage getInstalledPackage(int id);
- List<IntegerOptionItem> getInstalledPackageTypes(Subject user, int resourceId);
- /**
- * Loads the package type identified by the ID from the database.
- *
- * @param id package type to load
- * @return package type if one exists for the ID; <code>null</code> otherwise
- */
- PackageType getPackageType(int id);
- /**
- * @return all package types
- */
- List<PackageType> getPackageTypes();
-
- /**
- * Returns all package types that are available to the specified resource type.
- *
- * @param resourceTypeId identifies the resource type
- * @return set of package types
- */
- List<PackageType> getPackageTypes(int resourceTypeId);
- /**
- * Returns all package types that are available to the specified resource type in a page control.
- *
- * @param resourceTypeId identifies the resource type
- * @param pageControl paging control
- * @return pagable list of package types
- */
- PageList<PackageType> getPackageTypes(int resourceTypeId, PageControl pageControl);
- /**
- * Returns a list of all content requests made against the specified resource that match the specified status.
- *
- * @param user the user who is requesting the retrieval
- * @param resourceId identifies the resource whose requests to retrieve
- * @param status request status being matched
- * @param pageControl pagination controller
- * @return list of artifact requests for the specified resource
- */
- PageList<ContentServiceRequest> getContentRequestsWithStatus(Subject user, int resourceId,
- ContentRequestStatus status, PageControl pageControl);
- /**
- * Returns a list of all content requests made against the specified resource that do not match the specified
- * status.
- *
- * @param user the user who is requesting the retrieval
- * @param resourceId identifies the resource whose requests to retrieve
- * @param status request status to not match
- * @param pageControl pagination controller
- * @return list of content requests for the specified resource
- */
- PageList<ContentServiceRequest> getContentRequestsWithNotStatus(Subject user, int resourceId,
- ContentRequestStatus status, PageControl pageControl);
- /**
- * Returns a list of all installed packages on the specified resource.
- *
- * @param user the user who is requesting the retrieval
- * @param resourceId identifies the resource whose requests to retrieve
- * @param search string to search against filtering by name or description
- * @param pageControl pagination controller
- * @return pagable list of packages installed on the resource
- */
- PageList<PackageListItemComposite> getInstalledPackages(Subject user, int resourceId, Integer packageTypeFilterId,
- String packageVersionFilter, String search, PageControl pageControl);
- PageList<InstalledPackageHistory> getInstalledPackageHistory(Subject subject, int resourceId, int generalPackageId,
- PageControl pc);
- PageList<PackageVersionComposite> getPackageVersionCompositesByFilter(Subject user, int resourceId, String filter,
- PageControl pc);
- PageList<PackageVersionComposite> getUpdatePackageVersionCompositesByFilter(Subject user, int resourceId,
- String filter, PageControl pc);
- /**
- * Used to retrieve information about a package version to display to a user.
- *
- * @param user user who wants to see the information
- * @param packageVersionId identifies what package version to return info on
- *
- * @return the information on the package version
- */
- PackageVersionComposite loadPackageVersionComposite(Subject user, int packageVersionId);
- /**
- * Used to retrieve information about a package version to display to a user. This call will also load the
- * extra properties configuration object on the package version.
- *
- * @param user user who wants to see the information
- * @param packageVersionId identifies what package version to return info on
- *
- * @return the information on the package version
- */
- PackageVersionComposite loadPackageVersionCompositeWithExtraProperties(Subject user, int packageVersionId);
- /**
- * Used to retrieve information about multiple packages to display to the user.
- *
- * @param user user who wants to see the information
- * @param packageVersionIds identifies what package versions to return info on
- *
- * @return package version information for each package identified
- */
- List<PackageVersionComposite> getPackageVersionComposites(Subject user, int[] packageVersionIds);
- /**
- * Used to retrieve information about multiple packages to display to the user.
- *
- * @param user user who wants to see the information
- * @param packageVersionIds identifies what package versions to return info on
- * @param pageControl pagination controller
- *
- * @return package version information for each package identified
- */
- PageList<PackageVersionComposite> getPackageVersionComposites(Subject user, int[] packageVersionIds,
- PageControl pageControl);
- /**
- * Retrieves a package version by its ID. One and only one package version must exist for the ID; an error
- * will be thrown if exactly one package version is not found.
- *
- * @param packageVersionId identifies the package version
- * @return package version entity
- */
- PackageVersion getPackageVersion(int packageVersionId);
- /**
- * Retrieves a content request by its ID. One and only one content request must exist for the ID; an error
- * will be thrown if exactly one content request is not found.
- *
- * @param requestId identifies the request
- * @return content request entity
- */
- ContentServiceRequest getContentServiceRequest(int requestId);
- /**
- * Returns a list of installed package history entries that were created as a result of executing the indicated
- * request.
- *
- * @param contentServiceRequestId identifies the request that caused the history entries
- * @param pc pagination controller
- * @return list of history entries
- */
- PageList<InstalledPackageHistory> getInstalledPackageHistory(int contentServiceRequestId, PageControl pc);
- /**
- * Retrieves a specific history entry by its ID. One and only one history entry must exist for the ID; an error
- * will be thrown if exactly one history entry is not found.
- *
- * @param historyId identifies the history entry
- * @return history entry
- */
- InstalledPackageHistory getInstalledPackageHistory(int historyId);
- /**
- * Retrieves the individual steps executed during the specified package installation history.
- *
- * @param installedPackageHistoryId identifies the history entry
- * @return list of steps; empty list if there were no steps reported
- */
- List<PackageInstallationStep> getPackageInstallationSteps(int installedPackageHistoryId);
- /**
- * Retrieves a specific step entry by its ID.
- *
- * @param stepId identifies the step to retrieve
- * @return step entry
- */
- PackageInstallationStep getPackageInstallationStep(int stepId);
- /**
- * Returns a pagable list of all package events that have taken place on the given resource.
- *
- * @param resourceId must refer to a valid resource in the database
- * @param pc pagination controller
- * @return pagable list of package change items; will not be <code>null</code>
- */
- PageList<InstalledPackageHistory> getInstalledPackageHistoryForResource(int resourceId, PageControl pc);
- /**
- * Returns a pagable list of all package events that have taken place on the given resource.
- *
- * @param resourceId must refer to a valid resource in the database
- * @param pc pagination controller
- * @return pagable list of package change items; will not be <code>null</code>
- */
- PageList<InstalledPackageHistory> findInstalledPackageHistoryByCriteria(Subject subject,
- InstalledPackageHistoryCriteria criteria);
- /**
- * Retrieves Advisory Details by its ID. One and only one must exist for the ID;
- * @param user user who wants to see the information
- * @param id identifier for advisory
- * @return AdvisoryDetailsComposite entity
- */
- AdvisoryDetailsComposite loadAdvisoryDetailsComposite(Subject user, Integer id);
- }