/*************************************************************************** * Copyright (c) 2014 VMware, Inc. All Rights Reserved. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. ***************************************************************************/ package com.vmware.bdd.plugin.clouderamgr.service.cm; import com.cloudera.api.DataView; import com.cloudera.api.model.ApiCdhUpgradeArgs; import com.cloudera.api.model.ApiCluster; import com.cloudera.api.model.ApiClusterList; import com.cloudera.api.model.ApiCommand; import com.cloudera.api.model.ApiCommandList; import com.cloudera.api.model.ApiHostRef; import com.cloudera.api.model.ApiHostRefList; import com.cloudera.api.model.ApiRestartClusterArgs; import com.cloudera.api.model.ApiRollingRestartClusterArgs; import com.cloudera.api.model.ApiServiceTypeList; import com.cloudera.api.v3.HostTemplatesResource; import com.cloudera.api.v5.ParcelsResourceV5; import com.cloudera.api.v6.ClustersResourceV6; import com.cloudera.api.v6.ServicesResourceV6; import javax.ws.rs.DefaultValue; /** * Author: Xiaoding Bian * Date: 7/5/14 * Time: 11:52 PM */ public class FakeClustersResource implements ClustersResourceV6{ public ApiClusterList clusters; public ParcelsResourceV5 parcelsResource; public ServicesResourceV6 servicesResource; public FakeRootResource rootResource; public FakeClustersResource(FakeRootResource root) { clusters = new ApiClusterList(); parcelsResource = new FakeParcelsResource(); servicesResource = new FakeServicesResource(); rootResource = root; } @Override public ApiClusterList createClusters(ApiClusterList apiClusters) { System.out.println("calling " + this.getClass().getInterfaces()[0].getName() + "#" + Thread.currentThread().getStackTrace()[1].getMethodName()); for (ApiCluster cluster : apiClusters) { clusters.add(cluster); } return clusters; } @Override public ApiCluster deleteCluster(String s) { return null; } @Override public ApiClusterList readClusters(@DefaultValue("summary") DataView dataView) { return clusters; } @Override public ApiCluster readCluster(String s) { return null; } @Override public ServicesResourceV6 getServicesResource(String s) { return servicesResource; } @Override public ApiCommandList listActiveCommands(String s, @DefaultValue("summary") DataView dataView) { return null; } @Override public ApiCommand upgradeServicesCommand(String s) { return null; } @Override //For start cluster command to avoid NPE in poller command.getId() public ApiCommand startCommand(String s) { return new FakeApiCommand(); } @Override public ApiCommand stopCommand(String s) { return null; } @Override public ApiCommand restartCommand(String s) { return null; } @Override public ApiCommand rollingRestart(String s, ApiRollingRestartClusterArgs apiRollingRestartClusterArgs) { return null; } @Override public ApiCommand refresh(String s) { return null; } @Override public ApiCommand poolsRefresh(String s) { return null; } @Override public ApiCommand restartCommand(String s, ApiRestartClusterArgs apiRestartClusterArgs) { return null; } @Override public ApiServiceTypeList listServiceTypes(String s) { return null; } @Override public ApiCluster updateCluster(String s, ApiCluster apiCluster) { return null; } @Override public ApiCommand enterMaintenanceMode(String s) { return null; } @Override public ApiCommand exitMaintenanceMode(String s) { return null; } @Override public ApiCommand deployClientConfig(String s) { System.out.println("calling " + this.getClass().getInterfaces()[0].getName() + "#" + Thread.currentThread().getStackTrace()[1].getMethodName()); ApiCommand command = new ApiCommand(); command.setName("deployClientConfig"); command.setId(1L); return command; } @Override public void autoAssignRoles(String s) { } @Override public void autoConfigure(String s) { } @Override public ApiCommand upgradeCdhCommand(String s, ApiCdhUpgradeArgs apiCdhUpgradeArgs) { return null; } @Override public ParcelsResourceV5 getParcelsResource(String s) { return parcelsResource; } @Override public HostTemplatesResource getHostTemplatesResource(String s) { return null; } @Override public ApiHostRefList listHosts(String s) { rootResource.getHostsResource().readHosts(DataView.SUMMARY); return new ApiHostRefList(); } @Override public ApiHostRefList addHosts(String s, ApiHostRefList apiHostRefs) { return null; } @Override public ApiHostRef removeHost(String s, String s2) { return null; } @Override public ApiHostRefList removeAllHosts(String s) { return null; } }