/*******************************************************************************
* Copyright (c) 2017 Synopsys, Inc
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Synopsys, Inc - initial implementation and documentation
*******************************************************************************/
package jenkins.plugins.coverity.ws;
import java.net.MalformedURLException;
import java.net.URL;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.GregorianCalendar;
import java.util.List;
import javax.xml.datatype.DatatypeConfigurationException;
import javax.xml.datatype.DatatypeFactory;
import javax.xml.datatype.XMLGregorianCalendar;
import org.apache.commons.lang.NotImplementedException;
import org.apache.commons.lang.StringUtils;
import com.coverity.ws.v9.AttributeDefinitionDataObj;
import com.coverity.ws.v9.AttributeDefinitionIdDataObj;
import com.coverity.ws.v9.AttributeDefinitionSpecDataObj;
import com.coverity.ws.v9.AttributeValueIdDataObj;
import com.coverity.ws.v9.BackupConfigurationDataObj;
import com.coverity.ws.v9.CommitStateDataObj;
import com.coverity.ws.v9.ComponentDataObj;
import com.coverity.ws.v9.ComponentIdDataObj;
import com.coverity.ws.v9.ComponentMapDataObj;
import com.coverity.ws.v9.ComponentMapFilterSpecDataObj;
import com.coverity.ws.v9.ComponentMapIdDataObj;
import com.coverity.ws.v9.ComponentMapSpecDataObj;
import com.coverity.ws.v9.ComponentMetricsDataObj;
import com.coverity.ws.v9.ConfigurationDataObj;
import com.coverity.ws.v9.ConfigurationService;
import com.coverity.ws.v9.CovRemoteServiceException_Exception;
import com.coverity.ws.v9.DefectChangeDataObj;
import com.coverity.ws.v9.DefectDetectionHistoryDataObj;
import com.coverity.ws.v9.DefectInstanceIdDataObj;
import com.coverity.ws.v9.DefectService;
import com.coverity.ws.v9.DefectStateAttributeValueDataObj;
import com.coverity.ws.v9.DefectStateSpecDataObj;
import com.coverity.ws.v9.DeleteSnapshotJobInfoDataObj;
import com.coverity.ws.v9.FeatureUpdateTimeDataObj;
import com.coverity.ws.v9.FileContentsDataObj;
import com.coverity.ws.v9.FileIdDataObj;
import com.coverity.ws.v9.GroupDataObj;
import com.coverity.ws.v9.GroupFilterSpecDataObj;
import com.coverity.ws.v9.GroupIdDataObj;
import com.coverity.ws.v9.GroupSpecDataObj;
import com.coverity.ws.v9.GroupsPageDataObj;
import com.coverity.ws.v9.LdapConfigurationDataObj;
import com.coverity.ws.v9.LdapConfigurationSpecDataObj;
import com.coverity.ws.v9.LicenseDataObj;
import com.coverity.ws.v9.LicenseSpecDataObj;
import com.coverity.ws.v9.LicenseStateDataObj;
import com.coverity.ws.v9.LocalizedValueDataObj;
import com.coverity.ws.v9.LoggingConfigurationDataObj;
import com.coverity.ws.v9.MergedDefectDataObj;
import com.coverity.ws.v9.MergedDefectFilterSpecDataObj;
import com.coverity.ws.v9.MergedDefectIdDataObj;
import com.coverity.ws.v9.MergedDefectsPageDataObj;
import com.coverity.ws.v9.PageSpecDataObj;
import com.coverity.ws.v9.PermissionDataObj;
import com.coverity.ws.v9.ProjectDataObj;
import com.coverity.ws.v9.ProjectFilterSpecDataObj;
import com.coverity.ws.v9.ProjectIdDataObj;
import com.coverity.ws.v9.ProjectMetricsDataObj;
import com.coverity.ws.v9.ProjectScopeDefectFilterSpecDataObj;
import com.coverity.ws.v9.ProjectSpecDataObj;
import com.coverity.ws.v9.ProjectTrendRecordFilterSpecDataObj;
import com.coverity.ws.v9.PropertySpecDataObj;
import com.coverity.ws.v9.RoleDataObj;
import com.coverity.ws.v9.RoleIdDataObj;
import com.coverity.ws.v9.RoleSpecDataObj;
import com.coverity.ws.v9.ServerDomainIdDataObj;
import com.coverity.ws.v9.SignInSettingsDataObj;
import com.coverity.ws.v9.SkeletonizationConfigurationDataObj;
import com.coverity.ws.v9.SnapshotFilterSpecDataObj;
import com.coverity.ws.v9.SnapshotIdDataObj;
import com.coverity.ws.v9.SnapshotInfoDataObj;
import com.coverity.ws.v9.SnapshotPurgeDetailsObj;
import com.coverity.ws.v9.SnapshotScopeDefectFilterSpecDataObj;
import com.coverity.ws.v9.SnapshotScopeSpecDataObj;
import com.coverity.ws.v9.StreamDataObj;
import com.coverity.ws.v9.StreamDefectDataObj;
import com.coverity.ws.v9.StreamDefectFilterSpecDataObj;
import com.coverity.ws.v9.StreamDefectIdDataObj;
import com.coverity.ws.v9.StreamFilterSpecDataObj;
import com.coverity.ws.v9.StreamIdDataObj;
import com.coverity.ws.v9.StreamSpecDataObj;
import com.coverity.ws.v9.TriageHistoryDataObj;
import com.coverity.ws.v9.TriageStoreDataObj;
import com.coverity.ws.v9.TriageStoreFilterSpecDataObj;
import com.coverity.ws.v9.TriageStoreIdDataObj;
import com.coverity.ws.v9.TriageStoreSpecDataObj;
import com.coverity.ws.v9.UserDataObj;
import com.coverity.ws.v9.UserFilterSpecDataObj;
import com.coverity.ws.v9.UserSpecDataObj;
import com.coverity.ws.v9.UsersPageDataObj;
import com.coverity.ws.v9.VersionDataObj;
import jenkins.plugins.coverity.CIMInstance;
public class TestWebServiceFactory extends WebServiceFactory {
@Override
protected DefectService createDefectService(CIMInstance cimInstance) throws MalformedURLException {
return new TestDefectService(
new URL(getURL(cimInstance), DEFECT_SERVICE_V9_WSDL));
}
@Override
protected ConfigurationService createConfigurationService(CIMInstance cimInstance) throws MalformedURLException {
return new TestConfigurationService(
new URL(getURL(cimInstance), CONFIGURATION_SERVICE_V9_WSDL));
}
public static class TestConfigurationService implements ConfigurationService {
private URL url;
private List<SnapshotIdDataObj> snapshotList;
private List<ProjectDataObj> projects;
public TestConfigurationService(URL url) {
this.url = url;
this.projects = new ArrayList<>();
}
public URL getUrl() {
return url;
}
public void setupSnapshotList(List<SnapshotIdDataObj> list) {
this.snapshotList = list;
}
public void setupProjects(String projectNamePrefix, int projectCount, String streamNamePrefix, int streamCount) {
for (int i = 0; i < projectCount; i++) {
final ProjectDataObj projectDataObj = new ProjectDataObj();
ProjectIdDataObj projectIdDataObj = new ProjectIdDataObj();
projectIdDataObj.setName(projectNamePrefix + i);
projectDataObj.setId(projectIdDataObj);
projectDataObj.setProjectKey((long)i);
for (int j = 0; j < streamCount; j++) {
StreamDataObj streamDataObj = new StreamDataObj();
StreamIdDataObj streamIdDataObj = new StreamIdDataObj();
streamIdDataObj.setName(streamNamePrefix + j);
streamDataObj.setId(streamIdDataObj);
projectDataObj.getStreams().add(streamDataObj);
}
projects.add(projectDataObj);
}
}
@Override
public void updateAttribute(AttributeDefinitionIdDataObj attributeDefinitionId, AttributeDefinitionSpecDataObj attributeDefinitionSpec) throws CovRemoteServiceException_Exception {
throw new NotImplementedException();
}
@Override
public void deleteAttribute(AttributeDefinitionIdDataObj attributeDefinitionId) throws CovRemoteServiceException_Exception {
throw new NotImplementedException();
}
@Override
public void createComponentMap(ComponentMapSpecDataObj componentMapSpec) throws CovRemoteServiceException_Exception {
throw new NotImplementedException();
}
@Override
public void updateComponentMap(ComponentMapIdDataObj componentMapId, ComponentMapSpecDataObj componentMapSpec) throws CovRemoteServiceException_Exception {
throw new NotImplementedException();
}
@Override
public void deleteComponentMap(ComponentMapIdDataObj componentMapId) throws CovRemoteServiceException_Exception {
throw new NotImplementedException();
}
@Override
public void updateGroup(GroupIdDataObj groupId, GroupSpecDataObj groupSpec) throws CovRemoteServiceException_Exception {
throw new NotImplementedException();
}
@Override
public void deleteGroup(GroupIdDataObj groupId) throws CovRemoteServiceException_Exception {
throw new NotImplementedException();
}
@Override
public void createProject(ProjectSpecDataObj projectSpec) throws CovRemoteServiceException_Exception {
throw new NotImplementedException();
}
@Override
public void updateProject(ProjectIdDataObj projectId, ProjectSpecDataObj projectSpec) throws CovRemoteServiceException_Exception {
throw new NotImplementedException();
}
@Override
public void deleteProject(ProjectIdDataObj projectId) throws CovRemoteServiceException_Exception {
throw new NotImplementedException();
}
@Override
public void createRole(RoleSpecDataObj roleSpec) throws CovRemoteServiceException_Exception {
throw new NotImplementedException();
}
@Override
public void updateRole(RoleIdDataObj roleId, RoleSpecDataObj roleSpec) throws CovRemoteServiceException_Exception {
throw new NotImplementedException();
}
@Override
public void deleteRole(RoleIdDataObj roleId) throws CovRemoteServiceException_Exception {
throw new NotImplementedException();
}
@Override
public void createStream(StreamSpecDataObj streamSpec) throws CovRemoteServiceException_Exception {
throw new NotImplementedException();
}
@Override
public void updateStream(StreamIdDataObj streamId, StreamSpecDataObj streamSpec) throws CovRemoteServiceException_Exception {
throw new NotImplementedException();
}
@Override
public void deleteStream(StreamIdDataObj streamId, boolean onlyIfEmpty) throws CovRemoteServiceException_Exception {
throw new NotImplementedException();
}
@Override
public void createTriageStore(TriageStoreSpecDataObj triageStoreSpec) throws CovRemoteServiceException_Exception {
throw new NotImplementedException();
}
@Override
public void updateTriageStore(TriageStoreIdDataObj triageStoreId, TriageStoreSpecDataObj triageStoreSpec) throws CovRemoteServiceException_Exception {
throw new NotImplementedException();
}
@Override
public void deleteTriageStore(TriageStoreIdDataObj triageStoreId) throws CovRemoteServiceException_Exception {
throw new NotImplementedException();
}
@Override
public void createUser(UserSpecDataObj userSpec) throws CovRemoteServiceException_Exception {
throw new NotImplementedException();
}
@Override
public void updateUser(String username, UserSpecDataObj userSpec) throws CovRemoteServiceException_Exception {
throw new NotImplementedException();
}
@Override
public void deleteUser(String username) throws CovRemoteServiceException_Exception {
throw new NotImplementedException();
}
@Override
public UserDataObj getUser(String username) throws CovRemoteServiceException_Exception {
throw new NotImplementedException();
}
@Override
public List<StreamDataObj> getStreams(StreamFilterSpecDataObj filterSpec) throws CovRemoteServiceException_Exception {
throw new NotImplementedException();
}
@Override
public void mergeTriageStores(List<TriageStoreIdDataObj> srcTriageStoreIds, TriageStoreIdDataObj triageStoreId, boolean deleteSourceStores, boolean assignStreamsToTargetStore) throws CovRemoteServiceException_Exception {
throw new NotImplementedException();
}
@Override
public List<PermissionDataObj> getAllPermissions() {
throw new NotImplementedException();
}
@Override
public List<LdapConfigurationDataObj> getAllLdapConfigurations() throws CovRemoteServiceException_Exception {
throw new NotImplementedException();
}
@Override
public List<DeleteSnapshotJobInfoDataObj> getDeleteSnapshotJobInfo(List<SnapshotIdDataObj> snapshotId) throws CovRemoteServiceException_Exception {
throw new NotImplementedException();
}
@Override
public List<SnapshotIdDataObj> getSnapshotsForStream(StreamIdDataObj streamId, SnapshotFilterSpecDataObj filterSpec) throws CovRemoteServiceException_Exception {
return snapshotList;
}
@Override
public void deleteLdapConfiguration(ServerDomainIdDataObj serverDomainIdDataObj) throws CovRemoteServiceException_Exception {
throw new NotImplementedException();
}
@Override
public List<FeatureUpdateTimeDataObj> getLastUpdateTimes() {
throw new NotImplementedException();
}
@Override
public void setAcceptingNewCommits(boolean acceptNewCommits) {
throw new NotImplementedException();
}
@Override
public void deleteSnapshot(List<SnapshotIdDataObj> snapshotId) throws CovRemoteServiceException_Exception {
throw new NotImplementedException();
}
@Override
public void executeNotification(String viewname) throws CovRemoteServiceException_Exception {
throw new NotImplementedException();
}
@Override
public StreamDataObj copyStream(ProjectIdDataObj projectId, StreamIdDataObj sourceStreamId) throws CovRemoteServiceException_Exception {
throw new NotImplementedException();
}
@Override
public void createStreamInProject(ProjectIdDataObj projectId, StreamSpecDataObj streamSpec) throws CovRemoteServiceException_Exception {
throw new NotImplementedException();
}
@Override
public void setMessageOfTheDay(String message) {
throw new NotImplementedException();
}
@Override
public String getMessageOfTheDay() {
throw new NotImplementedException();
}
@Override
public List<ProjectDataObj> getProjects(ProjectFilterSpecDataObj filterSpec) throws CovRemoteServiceException_Exception {
if (!StringUtils.isEmpty(filterSpec.getNamePattern()))
{
List<ProjectDataObj> matchingProjects = new ArrayList<>();
for (ProjectDataObj project : projects) {
if (project.getId().getName().equals(filterSpec.getNamePattern()))
matchingProjects.add(project);
}
return matchingProjects;
}
return projects;
}
@Override
public List<ComponentMapDataObj> getComponentMaps(ComponentMapFilterSpecDataObj filterSpec) throws CovRemoteServiceException_Exception {
throw new NotImplementedException();
}
@Override
public List<TriageStoreDataObj> getTriageStores(TriageStoreFilterSpecDataObj filterSpec) throws CovRemoteServiceException_Exception {
throw new NotImplementedException();
}
@Override
public List<LocalizedValueDataObj> getCategoryNames() throws CovRemoteServiceException_Exception {
throw new NotImplementedException();
}
@Override
public List<String> getDefectStatuses() throws CovRemoteServiceException_Exception {
throw new NotImplementedException();
}
@Override
public List<SnapshotInfoDataObj> getSnapshotInformation(List<SnapshotIdDataObj> snapshotIds) throws CovRemoteServiceException_Exception {
throw new NotImplementedException();
}
@Override
public void updateSnapshotInfo(SnapshotIdDataObj snapshotId, SnapshotInfoDataObj snapshotData) throws CovRemoteServiceException_Exception {
throw new NotImplementedException();
}
@Override
public CommitStateDataObj getCommitState() {
throw new NotImplementedException();
}
@Override
public List<ServerDomainIdDataObj> getLdapServerDomains() {
throw new NotImplementedException();
}
@Override
public XMLGregorianCalendar getServerTime() throws CovRemoteServiceException_Exception {
throw new NotImplementedException();
}
@Override
public ConfigurationDataObj getSystemConfig() {
throw new NotImplementedException();
}
@Override
public LicenseStateDataObj getLicenseState() {
throw new NotImplementedException();
}
@Override
public SnapshotPurgeDetailsObj getSnapshotPurgeDetails() throws CovRemoteServiceException_Exception {
throw new NotImplementedException();
}
@Override
public void createLdapConfiguration(LdapConfigurationSpecDataObj ldapConfigurationSpec) throws CovRemoteServiceException_Exception {
throw new NotImplementedException();
}
@Override
public void updateLdapConfiguration(ServerDomainIdDataObj serverDomainIdDataObj, LdapConfigurationSpecDataObj ldapConfigurationSpec) throws CovRemoteServiceException_Exception {
throw new NotImplementedException();
}
@Override
public void setSnapshotPurgeDetails(SnapshotPurgeDetailsObj purgeDetailsSpec) throws CovRemoteServiceException_Exception {
throw new NotImplementedException();
}
@Override
public void setBackupConfiguration(BackupConfigurationDataObj backupConfigurationDataObj) throws CovRemoteServiceException_Exception {
throw new NotImplementedException();
}
@Override
public List<ProjectDataObj> getDeveloperStreamsProjects(ProjectFilterSpecDataObj filterSpec) throws CovRemoteServiceException_Exception {
throw new NotImplementedException();
}
@Override
public SignInSettingsDataObj getSignInConfiguration() throws CovRemoteServiceException_Exception {
throw new NotImplementedException();
}
@Override
public LoggingConfigurationDataObj getLoggingConfiguration() throws CovRemoteServiceException_Exception {
throw new NotImplementedException();
}
@Override
public void setLoggingConfiguration(LoggingConfigurationDataObj loggingConfigurationDataObj) throws CovRemoteServiceException_Exception {
throw new NotImplementedException();
}
@Override
public void setSkeletonizationConfiguration(SkeletonizationConfigurationDataObj skeletonizationConfigurationDataObj) throws CovRemoteServiceException_Exception {
throw new NotImplementedException();
}
@Override
public void importLicense(LicenseSpecDataObj licenseSpecDataObj) throws CovRemoteServiceException_Exception {
throw new NotImplementedException();
}
@Override
public BackupConfigurationDataObj getBackupConfiguration() throws CovRemoteServiceException_Exception {
throw new NotImplementedException();
}
@Override
public SkeletonizationConfigurationDataObj getSkeletonizationConfiguration() throws CovRemoteServiceException_Exception {
throw new NotImplementedException();
}
@Override
public LicenseDataObj getLicenseConfiguration() throws CovRemoteServiceException_Exception {
throw new NotImplementedException();
}
@Override
public String getArchitectureAnalysisConfiguration() throws CovRemoteServiceException_Exception {
throw new NotImplementedException();
}
@Override
public void setArchitectureAnalysisConfiguration(String architectureAnalysisConfiguration) throws CovRemoteServiceException_Exception {
throw new NotImplementedException();
}
@Override
public void updateSignInConfiguration(SignInSettingsDataObj signInSettingsDataObj) throws CovRemoteServiceException_Exception {
throw new NotImplementedException();
}
@Override
public List<String> getCheckerNames() throws CovRemoteServiceException_Exception {
throw new NotImplementedException();
}
@Override
public VersionDataObj getVersion() throws CovRemoteServiceException_Exception {
throw new NotImplementedException();
}
@Override
public void createGroup(GroupSpecDataObj groupSpec) throws CovRemoteServiceException_Exception {
throw new NotImplementedException();
}
@Override
public void createAttribute(AttributeDefinitionSpecDataObj attributeDefinitionSpec) throws CovRemoteServiceException_Exception {
throw new NotImplementedException();
}
@Override
public List<LocalizedValueDataObj> getTypeNames() throws CovRemoteServiceException_Exception {
throw new NotImplementedException();
}
@Override
public AttributeDefinitionDataObj getAttribute(AttributeDefinitionIdDataObj attributeDefinitionId) throws CovRemoteServiceException_Exception {
throw new NotImplementedException();
}
@Override
public ComponentDataObj getComponent(ComponentIdDataObj componentId) throws CovRemoteServiceException_Exception {
throw new NotImplementedException();
}
@Override
public GroupsPageDataObj getGroups(GroupFilterSpecDataObj filterSpec, PageSpecDataObj pageSpec) throws CovRemoteServiceException_Exception {
throw new NotImplementedException();
}
@Override
public UsersPageDataObj getUsers(UserFilterSpecDataObj filterSpec, PageSpecDataObj pageSpec) throws CovRemoteServiceException_Exception {
throw new NotImplementedException();
}
@Override
public RoleDataObj getRole(RoleIdDataObj roleId) throws CovRemoteServiceException_Exception {
throw new NotImplementedException();
}
@Override
public GroupDataObj getGroup(GroupIdDataObj groupId) throws CovRemoteServiceException_Exception {
throw new NotImplementedException();
}
@Override
public List<RoleDataObj> getAllRoles() {
throw new NotImplementedException();
}
@Override
public List<String> notify(List<String> usernames, String subject, String message) throws CovRemoteServiceException_Exception {
throw new NotImplementedException();
}
@Override
public List<AttributeDefinitionDataObj> getAttributes() {
throw new NotImplementedException();
}
}
public static class TestDefectService implements DefectService {
private URL url;
private List<MergedDefectIdDataObj> mergedDefectIds = new ArrayList<>();
private List<MergedDefectDataObj> mergedDefects = new ArrayList<>();
public TestDefectService(URL url) {
this.url = url;
}
public void setupMergedDefects(int defectCount) throws ParseException, DatatypeConfigurationException {
for (long i = 0; i < defectCount; i++) {
MergedDefectIdDataObj idDataObj = new MergedDefectIdDataObj();
idDataObj.setCid(i);
idDataObj.setMergeKey("MK_" + i);
mergedDefectIds.add(idDataObj);
MergedDefectDataObj defectDataObj = new MergedDefectDataObj();
defectDataObj.setCid(i);
defectDataObj.setMergeKey("MK_" + i);
defectDataObj.setCheckerName("TEST_CHECKER");
defectDataObj.setFilePathname("/defect/file/test." + i + ".java");
defectDataObj.setFunctionDisplayName("defect_function_" + i + "()");
// set default attribute values for filtering
defectDataObj.getDefectStateAttributeValues().add(newAttribute("Action", "Undecided"));
defectDataObj.getDefectStateAttributeValues().add(newAttribute("Classification", "Unclassified"));
defectDataObj.getDefectStateAttributeValues().add(newAttribute("Severity", "Unspecified"));
defectDataObj.setDisplayImpact("Low");
defectDataObj.setComponentName("Default.Other");
GregorianCalendar calender = new GregorianCalendar();
calender.setTime(new SimpleDateFormat("yyyy-MM-dd").parse("2017-02-01"));
defectDataObj.setFirstDetected(DatatypeFactory.newInstance().newXMLGregorianCalendar(calender));
mergedDefects.add(defectDataObj);
}
}
private DefectStateAttributeValueDataObj newAttribute(String name, String value){
DefectStateAttributeValueDataObj attributeValueDataObj = new DefectStateAttributeValueDataObj();
AttributeDefinitionIdDataObj attributeDefinitionId = new AttributeDefinitionIdDataObj();
attributeDefinitionId.setName(name);
attributeValueDataObj.setAttributeDefinitionId(attributeDefinitionId);
AttributeValueIdDataObj attributeValueId = new AttributeValueIdDataObj();
attributeValueId.setName(value);
attributeValueDataObj.setAttributeValueId(attributeValueId);
return attributeValueDataObj;
}
public URL getUrl() {
return url;
}
@Override
public void updateDefectInstanceProperties(DefectInstanceIdDataObj defectInstanceId, List<PropertySpecDataObj> properties) throws CovRemoteServiceException_Exception {
throw new NotImplementedException();
}
@Override
public void updateStreamDefects(List<StreamDefectIdDataObj> streamDefectIds, DefectStateSpecDataObj defectStateSpec) throws CovRemoteServiceException_Exception {
throw new NotImplementedException();
}
@Override
public List<TriageHistoryDataObj> getTriageHistory(MergedDefectIdDataObj mergedDefectIdDataObj, List<TriageStoreIdDataObj> triageStoreIds) throws CovRemoteServiceException_Exception {
throw new NotImplementedException();
}
@Override
public List<StreamDefectDataObj> getStreamDefects(List<MergedDefectIdDataObj> mergedDefectIdDataObjs, StreamDefectFilterSpecDataObj filterSpec) throws CovRemoteServiceException_Exception {
throw new NotImplementedException();
}
@Override
public MergedDefectsPageDataObj getMergedDefectsForStreams(List<StreamIdDataObj> streamIds, MergedDefectFilterSpecDataObj filterSpec, PageSpecDataObj pageSpec, SnapshotScopeSpecDataObj snapshotScope) throws CovRemoteServiceException_Exception {
MergedDefectsPageDataObj mergedDefectsPageDataObj = new MergedDefectsPageDataObj();
final int totalRecords = mergedDefects.size();
mergedDefectsPageDataObj.setTotalNumberOfRecords(totalRecords);
int toIndex = pageSpec.getStartIndex() + pageSpec.getPageSize();
if (toIndex > mergedDefects.size())
toIndex = mergedDefects.size();
List<MergedDefectIdDataObj> defectIds = mergedDefectIds.subList(pageSpec.getStartIndex(), toIndex);
mergedDefectsPageDataObj.getMergedDefectIds().addAll(defectIds);
List<MergedDefectDataObj> defects = mergedDefects.subList(pageSpec.getStartIndex(), toIndex);
mergedDefectsPageDataObj.getMergedDefects().addAll(defects);
return mergedDefectsPageDataObj;
}
@Override
public List<DefectChangeDataObj> getMergedDefectHistory(MergedDefectIdDataObj mergedDefectIdDataObj, List<StreamIdDataObj> streamIds) throws CovRemoteServiceException_Exception {
throw new NotImplementedException();
}
@Override
public void updateTriageForCIDsInTriageStore(TriageStoreIdDataObj triageStore, List<MergedDefectIdDataObj> mergedDefectIdDataObjs, DefectStateSpecDataObj defectState) throws CovRemoteServiceException_Exception {
throw new NotImplementedException();
}
@Override
public List<ProjectMetricsDataObj> getTrendRecordsForProject(ProjectIdDataObj projectId, ProjectTrendRecordFilterSpecDataObj filterSpec) throws CovRemoteServiceException_Exception {
throw new NotImplementedException();
}
@Override
public List<ComponentMetricsDataObj> getComponentMetricsForProject(ProjectIdDataObj projectId, List<ComponentIdDataObj> componentIds) throws CovRemoteServiceException_Exception {
throw new NotImplementedException();
}
@Override
public void createMergedDefect(String mergeKey, XMLGregorianCalendar dateOriginated, String externalPreventVersion, String internalPreventVersion, String checkerName, String domainName) throws CovRemoteServiceException_Exception {
throw new NotImplementedException();
}
@Override
public FileContentsDataObj getFileContents(StreamIdDataObj streamId, FileIdDataObj fileId) throws CovRemoteServiceException_Exception {
throw new NotImplementedException();
}
@Override
public MergedDefectsPageDataObj getMergedDefectsForSnapshotScope(ProjectIdDataObj projectId, SnapshotScopeDefectFilterSpecDataObj filterSpec, PageSpecDataObj pageSpec, SnapshotScopeSpecDataObj snapshotScope) throws CovRemoteServiceException_Exception {
throw new NotImplementedException();
}
@Override
public List<DefectDetectionHistoryDataObj> getMergedDefectDetectionHistory(MergedDefectIdDataObj mergedDefectIdDataObj, List<StreamIdDataObj> streamIds) throws CovRemoteServiceException_Exception {
throw new NotImplementedException();
}
@Override
public MergedDefectsPageDataObj getMergedDefectsForProjectScope(ProjectIdDataObj projectId, ProjectScopeDefectFilterSpecDataObj filterSpec, PageSpecDataObj pageSpec) throws CovRemoteServiceException_Exception {
throw new NotImplementedException();
}
}
}