blob: c78c82725a7f4cb51c4196f126fa170de3872201 [file] [log] [blame]
// Copyright 2012 Google 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.google.enterprise.adaptor.sharepoint;
import com.google.enterprise.adaptor.AdaptorContext;
import com.google.enterprise.adaptor.AuthnAuthority;
import com.google.enterprise.adaptor.AuthzAuthority;
import com.google.enterprise.adaptor.Config;
import com.google.enterprise.adaptor.DocId;
import com.google.enterprise.adaptor.DocIdEncoder;
import com.google.enterprise.adaptor.DocIdPusher;
import com.google.enterprise.adaptor.ExceptionHandler;
import com.google.enterprise.adaptor.PollingIncrementalLister;
import com.google.enterprise.adaptor.SensitiveValueDecoder;
import com.google.enterprise.adaptor.Session;
import com.google.enterprise.adaptor.StatusSource;
import com.sun.net.httpserver.HttpContext;
import com.sun.net.httpserver.HttpExchange;
import com.sun.net.httpserver.HttpHandler;
import java.net.URI;
import java.net.URISyntaxException;
/**
* Mock AdaptorContext.
*/
class MockAdaptorContext implements AdaptorContext {
private final DocIdEncoder docIdEncoder = new DocIdEncoder() {
@Override
public URI encodeDocId(DocId docId) {
URI base = URI.create("http://localhost/");
URI resource;
try {
resource = new URI(null, null, "/" + docId.getUniqueId(), null);
} catch (URISyntaxException ex) {
throw new AssertionError();
}
return base.resolve(resource);
}
};
private final Config config;
private final DocIdPusher pusher;
private final SensitiveValueDecoder sensitiveValueDecoder
= new SensitiveValueDecoder() {
@Override
public String decodeValue(String nonReadable) {
return nonReadable;
}
};
private PollingIncrementalLister pollingIncrementalLister;
public MockAdaptorContext(Config config, DocIdPusher pusher) {
if (config == null) {
throw new NullPointerException();
}
this.config = config;
this.pusher = pusher;
}
@Override
public void addStatusSource(StatusSource source) {
throw new UnsupportedOperationException();
}
@Override
public Config getConfig() {
return config;
}
@Override
public DocIdEncoder getDocIdEncoder() {
return docIdEncoder;
}
@Override
public DocIdPusher getDocIdPusher() {
if (pusher == null) {
throw new UnsupportedOperationException();
} else {
return pusher;
}
}
@Override
public ExceptionHandler getGetDocIdsFullErrorHandler() {
throw new UnsupportedOperationException();
}
@Override
public SensitiveValueDecoder getSensitiveValueDecoder() {
return sensitiveValueDecoder;
}
@Override
public void setGetDocIdsFullErrorHandler(ExceptionHandler handler) {
throw new UnsupportedOperationException();
}
@Override
public Session getUserSession(HttpExchange ex, boolean create) {
throw new UnsupportedOperationException();
}
@Override
public HttpContext createHttpContext(String path, HttpHandler handler) {
throw new UnsupportedOperationException();
}
@Override
public ExceptionHandler getGetDocIdsIncrementalErrorHandler() {
throw new UnsupportedOperationException();
}
@Override
public void setGetDocIdsIncrementalErrorHandler(ExceptionHandler h) {
throw new UnsupportedOperationException();
}
@Override
public synchronized void setPollingIncrementalLister(
PollingIncrementalLister lister) {
this.pollingIncrementalLister = lister;
}
public synchronized PollingIncrementalLister getPollingIncrementalLister() {
return pollingIncrementalLister;
}
@Override
public void setAuthzAuthority(AuthzAuthority authzAuthority) {
throw new UnsupportedOperationException();
}
@Override
public void setAuthnAuthority(AuthnAuthority authnAuthority) {
throw new UnsupportedOperationException();
}
}