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}