package com.nesscomputing.testing.tweaked;

import java.lang.reflect.Array;

import com.google.inject.AbstractModule;
import com.google.inject.Key;
import com.google.inject.Module;
import com.google.inject.name.Names;

import com.nesscomputing.logging.Log;

public class UnnamedHttpClientModule extends AbstractModule
{
    private static final Log LOG = Log.findLog();
    private static final String TEST_NAME = "__test";

    @SuppressWarnings({"rawtypes", "unchecked"})
    @Override
    protected void configure()
    {
        try {
            Class<?> groupClass = Class.forName("com.nesscomputing.httpclient.HttpClientObserverGroup");
            Object[] observerGroups = (Object[]) Array.newInstance(groupClass, 1);
            Class<?> groupsType = observerGroups.getClass();

            observerGroups[0] = groupClass.getField("PLATFORM_INTERNAL").get(null);

            install ((Module) Class.forName("com.nesscomputing.httpclient.guice.HttpClientModule").getConstructor(String.class, groupsType).newInstance(TEST_NAME, observerGroups));

            Class httpClientClass = Class.forName("com.nesscomputing.httpclient.HttpClient");
            bind (httpClientClass).to(Key.get(httpClientClass, Names.named(TEST_NAME)));
        } catch (Exception e) {
            LOG.infoDebug(e, "Could not create httpclient module");
        }
    }
}

@@ -1,8 +1,613 @@
+/**%0A * Copyright (C) 2012 Ness Computing, Inc.%0A *%0A * Licensed under the Apache License, Version 2.0 (the %22License%22);%0A * you may not use this file except in compliance with the License.%0A * You may obtain a copy of the License at%0A *%0A * http://www.apache.org/licenses/LICENSE-2.0%0A *%0A * Unless required by applicable law or agreed to in writing, software%0A * distributed under the License is distributed on an %22AS IS%22 BASIS,%0A * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.%0A * See the License for the specific language governing permissions and%0A * limitations under the License.%0A */%0A
 package 

Add license header.