/*
* Copyright (c) 2014, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You 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.event.sink.config;
import org.apache.axiom.om.OMElement;
import org.wso2.carbon.event.sink.EventSink;
import org.wso2.carbon.event.sink.EventSinkConstants;
import org.wso2.carbon.event.sink.EventSinkException;
/**
* Creates the Event Sink with given configuration XML.
*/
public class EventSinkConfigBuilder {
/**
* Creates the Event Sink with given configuration XML.
*
* @param eventSinkConfigElement OMElement to be converted EventSink Object
* @param name Event Sink name to be set
* @return Created EventSink Object
* @throws EventSinkException
*/
public EventSink createEventSinkConfig(OMElement eventSinkConfigElement, String name) throws EventSinkException {
EventSink eventSink = new EventSink();
eventSink.setName(name);
OMElement receiverUrl = eventSinkConfigElement.getFirstChildWithName(EventSinkConstants.RECEIVER_URL_Q);
if (receiverUrl == null) {
throw new EventSinkException(EventSinkConstants.RECEIVER_URL_Q.getLocalPart() + " element missing");
}
eventSink.setReceiverUrlSet(receiverUrl.getText());
OMElement authenticatorUrl =
eventSinkConfigElement.getFirstChildWithName(EventSinkConstants.AUTHENTICATOR_URL_Q);
if (authenticatorUrl == null) {
throw new EventSinkException(EventSinkConstants.AUTHENTICATOR_URL_Q.getLocalPart() + " element missing");
}
eventSink.setAuthenticationUrlSet(authenticatorUrl.getText());
OMElement username = eventSinkConfigElement.getFirstChildWithName(EventSinkConstants.USERNAME_Q);
if (username == null) {
throw new EventSinkException(EventSinkConstants.USERNAME_Q.getLocalPart() + " element missing");
}
eventSink.setUsername(username.getText());
OMElement password = eventSinkConfigElement.getFirstChildWithName(EventSinkConstants.PASSWORD_Q);
if (password == null) {
throw new EventSinkException(EventSinkConstants.PASSWORD_Q.getLocalPart() + " element missing");
}
eventSink.setPassword(password.getText());
return eventSink;
}
}