/**
 * 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 com.github.tatsuyafw.camel.component.fluentd;

import org.apache.camel.Exchange;
import org.apache.camel.impl.DefaultProducer;
import org.fluentd.logger.FluentLogger;

import java.util.Map;

// [WIP]
public class FluentdProducer extends DefaultProducer {
    private final FluentLogger logger;


    public FluentdProducer(FluentdEndpoint endpoint, FluentLogger logger) {
        super(endpoint);
        this.logger = logger;
    }

    @Override
    public void process(Exchange exchange) throws Exception {
        @SuppressWarnings("unchecked")
        Map<String, Object> body = exchange.getIn().getBody(Map.class);
        logger.log("wip_tag", body);
    }
}

@@ -1060,16 +1060,17 @@
 ducer %7B%0A
+%0A
     priv
@@ -1100,17 +1100,70 @@
 logger;%0A
+    private final FluentdConfiguration configuration;
 %0A
-
 %0A    pub
@@ -1256,16 +1256,74 @@
 point);%0A
+        this.configuration = endpoint.getConfiguration();%0A
         
@@ -1537,16 +1537,93 @@
 .class);
+%0A%0A        // TODO: check body%0A%0A        String concatTag = extractConcatTag();
 %0A       
@@ -1638,17 +1638,17 @@
 log(
-%22wip_t
+concatT
 ag
-%22
 , bo
@@ -1657,11 +1657,225 @@
 );%0A    %7D
+%0A%0A    private String extractConcatTag() %7B%0A        String tagPrefix = configuration.getTagPrefix();%0A        String tag = configuration.getTag();%0A%0A        // TODO: deal with tagPrefix and tag%0A        return %22%22;%0A    %7D
 %0A%7D%0A

Implement the FluentdProducer