/* * Copyright 2005,2006 WSO2, Inc. http://www.wso2.org * * 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 org.wso2.carbon.relay.module; import org.wso2.carbon.relay.MessageBuilder; import org.apache.axis2.AxisFault; import org.apache.axis2.transport.MessageFormatter; import org.apache.axis2.builder.Builder; import java.util.List; import java.util.ArrayList; import java.util.Map; import java.util.HashMap; public class RelayConfiguration { private List<String> services = new ArrayList<String>(); private Map<String, String> builders = new HashMap<String, String>(); private Map<String, String> formatters = new HashMap<String, String>(); private boolean includeHiddenServices = true; private MessageBuilder messageBuilder = new MessageBuilder(); public List<String> getServices() { return services; } public boolean isIncludeHiddenServices() { return includeHiddenServices; } public void setIncludeHiddenServices(boolean includeHiddenServices) { this.includeHiddenServices = includeHiddenServices; } public void addService(String service) { services.add(service); } public Map<String, String> getBuilders() { return builders; } public void addBuilder(String contentType, String className) { builders.put(contentType, className); } public void addFormatter(String contentType, String className) { formatters.put(contentType, className); } public Map<String, String> getFormatters() { return formatters; } public MessageBuilder getMessageBuilder() { return messageBuilder; } public void setMessageBuilder(MessageBuilder messageBuilder) { this.messageBuilder = messageBuilder; } public void init() throws AxisFault { for (String key : builders.keySet()) { Builder builder = MessageBuilder.createBuilder(builders.get(key)); messageBuilder.addBuilder(key, builder); if (formatters.containsKey(key)) { MessageFormatter formatter = MessageBuilder.createFormatter(formatters.get(key)); messageBuilder.addFormatter(key, formatter); } } } }