001package com.identityworksllc.iiq.common.connector; 002 003import connector.common.statisticscollector.StatisticsCollector; 004import openconnector.ConnectorServices; 005import sailpoint.connector.AuthenticationFailedException; 006import sailpoint.connector.Connector; 007import sailpoint.connector.ConnectorException; 008import sailpoint.connector.ExpiredPasswordException; 009import sailpoint.connector.InsufficientPermissionException; 010import sailpoint.connector.ObjectNotFoundException; 011import sailpoint.object.Application; 012import sailpoint.object.AttributeDefinition; 013import sailpoint.object.Filter; 014import sailpoint.object.Partition; 015import sailpoint.object.ProvisioningPlan; 016import sailpoint.object.ProvisioningResult; 017import sailpoint.object.ResourceObject; 018import sailpoint.object.Schema; 019import sailpoint.tools.CloseableIterator; 020import sailpoint.tools.GeneralException; 021 022import java.util.Iterator; 023import java.util.List; 024import java.util.Map; 025 026/** 027 * A connector implementation that only throws {@link UnsupportedOperationException} for all operations 028 */ 029public class UnsupportedConnector implements Connector { 030 @Override 031 public ResourceObject authenticate(String s, String s1) throws ConnectorException, ObjectNotFoundException, AuthenticationFailedException, ExpiredPasswordException { 032 throw new UnsupportedOperationException("Connector operations are not available in this situation"); 033 } 034 035 @Override 036 public ResourceObject authenticate(String s, Map<String, Object> map) throws ConnectorException, ObjectNotFoundException, AuthenticationFailedException, ExpiredPasswordException { 037 throw new UnsupportedOperationException("Connector operations are not available in this situation"); 038 } 039 040 @Override 041 public ProvisioningResult checkStatus(String s) throws ConnectorException, GeneralException { 042 throw new UnsupportedOperationException("Connector operations are not available in this situation"); 043 } 044 045 @Override 046 public void destroy(Map<String, Object> map) throws ConnectorException { 047 throw new UnsupportedOperationException("Connector operations are not available in this situation"); 048 } 049 050 @Override 051 public Map<String, Object> discoverApplicationAttributes(Map<String, Object> map) throws ConnectorException { 052 throw new UnsupportedOperationException("Connector operations are not available in this situation"); 053 } 054 055 @Override 056 public Schema discoverSchema(String s, Map<String, Object> map) throws ConnectorException { 057 throw new UnsupportedOperationException("Connector operations are not available in this situation"); 058 } 059 060 @Override 061 public Map doHealthCheck(Map<String, Object> map) throws ConnectorException { 062 throw new UnsupportedOperationException("Connector operations are not available in this situation"); 063 } 064 065 @Override 066 public Application getApplication() { 067 throw new UnsupportedOperationException("Connector operations are not available in this situation"); 068 } 069 070 @Override 071 public Iterator<Map<String, Object>> getChangeLogExtract(Map<String, Object> map) throws ConnectorException { 072 throw new UnsupportedOperationException("Connector operations are not available in this situation"); 073 } 074 075 @Override 076 public ConnectorServices getConnectorServices() { 077 throw new UnsupportedOperationException("Connector operations are not available in this situation"); 078 } 079 080 @Override 081 public String getConnectorType() { 082 throw new UnsupportedOperationException("Connector operations are not available in this situation"); 083 } 084 085 @Override 086 public List<AttributeDefinition> getDefaultAttributes() { 087 throw new UnsupportedOperationException("Connector operations are not available in this situation"); 088 } 089 090 @Override 091 public List<Schema> getDefaultSchemas() { 092 throw new UnsupportedOperationException("Connector operations are not available in this situation"); 093 } 094 095 @Override 096 public Map<String, Object> getDependencyData() throws ConnectorException { 097 throw new UnsupportedOperationException("Connector operations are not available in this situation"); 098 } 099 100 @Override 101 public List<Map<String, Object>> getExtractPartitions(Map<String, Object> map, String s) throws ConnectorException, InsufficientPermissionException { 102 throw new UnsupportedOperationException("Connector operations are not available in this situation"); 103 } 104 105 @Override 106 public String getInstance() { 107 throw new UnsupportedOperationException("Connector operations are not available in this situation"); 108 } 109 110 @Override 111 public List<Partition> getIteratorPartitions(String s, int i, Filter filter, Map<String, Object> map) throws ConnectorException { 112 throw new UnsupportedOperationException("Connector operations are not available in this situation"); 113 } 114 115 @Override 116 public Application getLocalApplication() { 117 throw new UnsupportedOperationException("Connector operations are not available in this situation"); 118 } 119 120 @Override 121 public ResourceObject getObject(String s, String s1, Map<String, Object> map) throws ConnectorException { 122 throw new UnsupportedOperationException("Connector operations are not available in this situation"); 123 } 124 125 @Override 126 public Application getProxiedApplication(String s, Map<String, Object> map) throws ConnectorException { 127 throw new UnsupportedOperationException("Connector operations are not available in this situation"); 128 } 129 130 @Override 131 public Iterator<Map<String, Object>> getSecurityExtract(Map<String, Object> map) throws ConnectorException { 132 throw new UnsupportedOperationException("Connector operations are not available in this situation"); 133 } 134 135 @Override 136 public StatisticsCollector getStatisticsCollector() { 137 throw new UnsupportedOperationException("Connector operations are not available in this situation"); 138 } 139 140 @Override 141 public List<Application.Feature> getSupportedFeatures() { 142 throw new UnsupportedOperationException("Connector operations are not available in this situation"); 143 } 144 145 @Override 146 public String getSystemIdentity() { 147 throw new UnsupportedOperationException("Connector operations are not available in this situation"); 148 } 149 150 @Override 151 public Application getTargetApplication() { 152 throw new UnsupportedOperationException("Connector operations are not available in this situation"); 153 } 154 155 @Override 156 public String getTargetInstance() { 157 throw new UnsupportedOperationException("Connector operations are not available in this situation"); 158 } 159 160 @Override 161 public Iterator<Map<String, Object>> getUtilizationExtract(Map<String, Object> map) throws ConnectorException { 162 throw new UnsupportedOperationException("Connector operations are not available in this situation"); 163 } 164 165 @Override 166 public CloseableIterator<ResourceObject> iterateObjects(String s, Filter filter, Map<String, Object> map) throws ConnectorException { 167 throw new UnsupportedOperationException("Connector operations are not available in this situation"); 168 } 169 170 @Override 171 public CloseableIterator<ResourceObject> iterateObjects(Partition partition) throws ConnectorException { 172 throw new UnsupportedOperationException("Connector operations are not available in this situation"); 173 } 174 175 @Override 176 public ProvisioningResult provision(ProvisioningPlan provisioningPlan) throws ConnectorException, GeneralException { 177 throw new UnsupportedOperationException("Connector operations are not available in this situation"); 178 } 179 180 @Override 181 public void setApplication(Application application) { 182 throw new UnsupportedOperationException("Connector operations are not available in this situation"); 183 } 184 185 @Override 186 public void setConnectorServices(ConnectorServices connectorServices) { 187 throw new UnsupportedOperationException("Connector operations are not available in this situation"); 188 } 189 190 @Override 191 public void setInstance(String s) { 192 throw new UnsupportedOperationException("Connector operations are not available in this situation"); 193 } 194 195 @Override 196 public void setStatisticsCollector(StatisticsCollector statisticsCollector) { 197 throw new UnsupportedOperationException("Connector operations are not available in this situation"); 198 } 199 200 @Override 201 public void setSystemIdentity(String s) { 202 throw new UnsupportedOperationException("Connector operations are not available in this situation"); 203 } 204 205 @Override 206 public void setTargetApplication(Application application) { 207 throw new UnsupportedOperationException("Connector operations are not available in this situation"); 208 } 209 210 @Override 211 public void setTargetInstance(String s) { 212 throw new UnsupportedOperationException("Connector operations are not available in this situation"); 213 } 214 215 @Override 216 public boolean supportsPartitionedDeltaAggregation() { 217 throw new UnsupportedOperationException("Connector operations are not available in this situation"); 218 } 219 220 @Override 221 public void testConfiguration() throws ConnectorException { 222 throw new UnsupportedOperationException("Connector operations are not available in this situation"); 223 } 224 225 @Override 226 public void updateApplicationConfig() throws GeneralException { 227 throw new UnsupportedOperationException("Connector operations are not available in this situation"); 228 } 229}