/* * 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.test; import java.io.InputStream; import java.util.Collection; import java.util.List; import java.util.Map; import java.util.Set; import org.jetbrains.annotations.NotNull; import org.rhq.common.drift.Headers; import org.rhq.core.clientapi.agent.PluginContainerException; import org.rhq.core.clientapi.agent.bundle.BundleAgentService; import org.rhq.core.clientapi.agent.bundle.BundlePurgeRequest; import org.rhq.core.clientapi.agent.bundle.BundlePurgeResponse; import org.rhq.core.clientapi.agent.bundle.BundleScheduleRequest; import org.rhq.core.clientapi.agent.bundle.BundleScheduleResponse; import org.rhq.core.clientapi.agent.configuration.ConfigurationAgentService; import org.rhq.core.clientapi.agent.configuration.ConfigurationUpdateRequest; import org.rhq.core.clientapi.agent.content.ContentAgentService; import org.rhq.core.clientapi.agent.discovery.DiscoveryAgentService; import org.rhq.core.clientapi.agent.discovery.InvalidPluginConfigurationClientException; import org.rhq.core.clientapi.agent.drift.DriftAgentService; import org.rhq.core.clientapi.agent.inventory.CreateResourceRequest; import org.rhq.core.clientapi.agent.inventory.CreateResourceResponse; import org.rhq.core.clientapi.agent.inventory.DeleteResourceRequest; import org.rhq.core.clientapi.agent.inventory.DeleteResourceResponse; import org.rhq.core.clientapi.agent.inventory.ResourceFactoryAgentService; import org.rhq.core.clientapi.agent.measurement.MeasurementAgentService; import org.rhq.core.clientapi.agent.operation.CancelResults; import org.rhq.core.clientapi.agent.operation.OperationAgentService; import org.rhq.core.clientapi.agent.support.SupportAgentService; import org.rhq.core.clientapi.server.configuration.ConfigurationUpdateResponse; import org.rhq.core.clientapi.server.content.ContentDiscoveryReport; import org.rhq.core.clientapi.server.content.DeletePackagesRequest; import org.rhq.core.clientapi.server.content.DeployPackagesRequest; import org.rhq.core.clientapi.server.content.RetrievePackageBitsRequest; import org.rhq.core.clientapi.server.discovery.InventoryReport; import org.rhq.core.domain.configuration.Configuration; import org.rhq.core.domain.content.transfer.DeployPackageStep; import org.rhq.core.domain.content.transfer.ResourcePackageDetails; import org.rhq.core.domain.discovery.AvailabilityReport; import org.rhq.core.domain.discovery.MergeResourceResponse; import org.rhq.core.domain.discovery.PlatformSyncInfo; import org.rhq.core.domain.discovery.ResourceSyncInfo; import org.rhq.core.domain.drift.DriftDefinition; import org.rhq.core.domain.drift.DriftFile; import org.rhq.core.domain.drift.DriftSnapshot; import org.rhq.core.domain.measurement.MeasurementData; import org.rhq.core.domain.measurement.MeasurementScheduleRequest; import org.rhq.core.domain.measurement.ResourceMeasurementScheduleRequest; import org.rhq.core.domain.resource.Agent; import org.rhq.core.domain.resource.Resource; import org.rhq.core.domain.resource.ResourceType; import org.rhq.enterprise.server.agentclient.AgentClient; public class TestAgentClient implements AgentClient, BundleAgentService, DriftAgentService, ContentAgentService, ResourceFactoryAgentService, ConfigurationAgentService, DiscoveryAgentService, MeasurementAgentService, OperationAgentService, SupportAgentService { private final Agent agent; private final TestServerCommunicationsService commService; public TestAgentClient(Agent agent, TestServerCommunicationsService commService) { this.agent = agent; this.commService = commService; } @Override public Agent getAgent() { return this.agent; } @Override public BundleAgentService getBundleAgentService() { return (commService.bundleService != null) ? commService.bundleService : this; } @Override public BundleAgentService getBundleAgentService(Long timeout) { return getBundleAgentService(); } @Override public ContentAgentService getContentAgentService() { return (commService.contentService != null) ? commService.contentService : this; } @Override public ContentAgentService getContentAgentService(Long timeout) { return getContentAgentService(); } @Override public ResourceFactoryAgentService getResourceFactoryAgentService() { return (commService.resourceFactoryService != null) ? commService.resourceFactoryService : this; } @Override public ResourceFactoryAgentService getResourceFactoryAgentService(Long timeout) { return getResourceFactoryAgentService(); } @Override public ConfigurationAgentService getConfigurationAgentService() { return (commService.configurationService != null) ? commService.configurationService : this; } @Override public ConfigurationAgentService getConfigurationAgentService(Long timeout) { return getConfigurationAgentService(); } @Override public DiscoveryAgentService getDiscoveryAgentService() { return (commService.discoveryService != null) ? commService.discoveryService : this; } @Override public DiscoveryAgentService getDiscoveryAgentService(Long timeout) { return getDiscoveryAgentService(); } @Override public MeasurementAgentService getMeasurementAgentService() { return (commService.measurementService != null) ? commService.measurementService : this; } @Override public MeasurementAgentService getMeasurementAgentService(Long timeout) { return getMeasurementAgentService(); } @Override public OperationAgentService getOperationAgentService() { return (commService.operationService != null) ? commService.operationService : this; } @Override public OperationAgentService getOperationAgentService(Long timeout) { return getOperationAgentService(); } @Override public SupportAgentService getSupportAgentService() { return (commService.supportService != null) ? commService.supportService : this; } @Override public SupportAgentService getSupportAgentService(Long timeout) { return getSupportAgentService(); } @Override public DriftAgentService getDriftAgentService() { return (commService.driftService != null) ? commService.driftService : this; } @Override public DriftAgentService getDriftAgentService(Long timeout) { return getDriftAgentService(); } @Override public void startSending() { return; // no-op } @Override public void stopSending() { return; // no-op } @Override public boolean ping(long timeoutMillis) { return true; } @Override public void updatePlugins() { //no-op } @Override public boolean pingService(long timeoutMillis) { return true; } // provide no-ops for all agent services @Override public Set<MeasurementData> getRealTimeMeasurementValue(int resourceId, Set<MeasurementScheduleRequest> requests) { return null; } @Override public void scheduleCollection(Set<ResourceMeasurementScheduleRequest> resourceSchedules) { } @Override public void unscheduleCollection(Set<Integer> resourceIds) { } @Override public void updateCollection(Set<ResourceMeasurementScheduleRequest> resourceSchedules) { } @Override public Map<String, Object> getMeasurementScheduleInfoForResource(int resourceId) { return null; } @Override public ConfigurationUpdateResponse executeUpdateResourceConfigurationImmediately(ConfigurationUpdateRequest request) throws PluginContainerException { return null; } @Override public Configuration loadResourceConfiguration(int resourceId) throws PluginContainerException { return null; } @Override public Configuration merge(Configuration configuration, int resourceId, boolean fromStructured) throws PluginContainerException { return null; } @Override public void updateResourceConfiguration(ConfigurationUpdateRequest request) { } @Override public CancelResults cancelOperation(String jobId) { return null; } @Override public void invokeOperation(String jobId, int resourceId, String operationName, Configuration parameters) throws PluginContainerException { } @Override public void deletePackages(DeletePackagesRequest request) { } @Override public void deployPackages(DeployPackagesRequest request) { } @Override public ContentDiscoveryReport executeResourcePackageDiscoveryImmediately(int resourceId, String packageTypeName) throws PluginContainerException { return null; } @Override public Set<ResourcePackageDetails> getLastDiscoveredResourcePackages(int resourceId) { return null; } @Override public void retrievePackageBits(RetrievePackageBitsRequest request) { } @Override public List<DeployPackageStep> translateInstallationSteps(int resourceId, ResourcePackageDetails packageDetails) throws PluginContainerException { return null; } @Override public void disableServiceScans(int serverResourceId) { } @Override public void enableServiceScans(int serverResourceId, Configuration config) { } @Override public AvailabilityReport executeAvailabilityScanImmediately(boolean changedOnlyReport) { return null; } @NotNull @Override public InventoryReport executeServerScanImmediately() throws PluginContainerException { return null; } @NotNull @Override public InventoryReport executeServiceScanImmediately() throws PluginContainerException { return null; } @Override public boolean executeServiceScanDeferred() { return true; } @Override public void executeServiceScanDeferred(int resourceId) { } @Override public AvailabilityReport getCurrentAvailability(Resource resource, boolean changesOnly) { return null; } @Override public Resource getPlatform() { return null; } @Override public MergeResourceResponse manuallyAddResource(ResourceType resourceType, int parentResourceId, Configuration pluginConfiguration, int creatorSubjectId) throws InvalidPluginConfigurationClientException, PluginContainerException { return null; } @Override public void uninventoryResource(int resourceId) { } @Override public void updatePluginConfiguration(int resourceId, Configuration newPluginConfiguration) throws InvalidPluginConfigurationClientException, PluginContainerException { } @Override public void createResource(CreateResourceRequest request) throws PluginContainerException { } @Override public void deleteResource(DeleteResourceRequest request) throws PluginContainerException { } @Override public CreateResourceResponse executeCreateResourceImmediately(CreateResourceRequest request) throws PluginContainerException { return null; } @Override public DeleteResourceResponse executeDeleteResourceImmediately(DeleteResourceRequest request) throws PluginContainerException { return null; } @Override public InputStream getSnapshotReport(int resourceId, String name, String description) throws Exception { return null; } @Override public Configuration validate(Configuration configuration, int resourceId, boolean isStructured) throws PluginContainerException { return null; } @Override public BundleScheduleResponse schedule(BundleScheduleRequest request) { return new BundleScheduleResponse(); } @Override public BundlePurgeResponse purge(BundlePurgeRequest request) { return new BundlePurgeResponse(); } @Override public boolean requestDriftFiles(int resourceId, Headers headers, List<? extends DriftFile> driftFiles) { return false; } @Override public void scheduleDriftDetection(int resourceId, DriftDefinition driftDefinition) { } @Override public void detectDrift(int resourceId, DriftDefinition driftDefinition) { } @Override public void unscheduleDriftDetection(int resourceId, DriftDefinition driftDefinition) { } @Override public void updateDriftDetection(int resourceId, DriftDefinition driftDefinition) { } @Override public void updateDriftDetection(int resourceId, DriftDefinition driftDef, DriftSnapshot driftSnapshot) { } @Override public void ackChangeSet(int resourceId, String driftDefName) { } @Override public void ackChangeSetContent(int resourceId, String driftDefName, String token) { } @Override public void pinSnapshot(int resourceId, String configName, DriftSnapshot snapshot) { } @Override public void requestFullAvailabilityReport() { return; } @Override public void synchronizePlatform(PlatformSyncInfo syncInfo) { } @Override public void synchronizeServer(int resourceId, Collection<ResourceSyncInfo> toplevelServerSyncInfo) { } }