// Path: myeslib-core/src/main/java/org/myeslib/core/Command.java
// public interface Command extends Serializable {
// 	
//     UUID getCommandId();
// 	Long getTargetVersion();
// 	
// }
// 
// Path: myeslib-util/src/main/java/org/myeslib/util/gson/CommandFromStringFunction.java
// public class CommandFromStringFunction implements Function<String, Command>{
//     private final Gson gson;
//     @Inject
//     public CommandFromStringFunction(Gson gson){
//         this.gson = gson;
//     }
//     @Override
//     public Command apply(String asJson) {
//         return gson.fromJson(asJson, Command.class);
//     }
// }


import lombok.RequiredArgsConstructor;
import org.apache.camel.Exchange;
import org.apache.camel.Processor;
import org.apache.camel.builder.RouteBuilder;
import org.myeslib.core.Command;
import org.myeslib.util.gson.CommandFromStringFunction;
import com.google.inject.Inject;
package org.myeslib.example.hazelcast.routes;




@RequiredArgsConstructor(onConstructor=@__(@Inject))
public class ReceiveCommandsAsJsonRoute extends RouteBuilder {

    final String sourceUri;
    final String targetUri;
// Path: myeslib-core/src/main/java/org/myeslib/core/Command.java
// public interface Command extends Serializable {
// 	
//     UUID getCommandId();
// 	Long getTargetVersion();
// 	
// }
// 
// Path: myeslib-util/src/main/java/org/myeslib/util/gson/CommandFromStringFunction.java
// public class CommandFromStringFunction implements Function<String, Command>{
//     private final Gson gson;
//     @Inject
//     public CommandFromStringFunction(Gson gson){
//         this.gson = gson;
//     }
//     @Override
//     public Command apply(String asJson) {
//         return gson.fromJson(asJson, Command.class);
//     }
// }


// Path: inventory-hazelcast/src/main/java/org/myeslib/example/hazelcast/routes/ReceiveCommandsAsJsonRoute.java
import lombok.RequiredArgsConstructor;
import org.apache.camel.Exchange;
import org.apache.camel.Processor;
import org.apache.camel.builder.RouteBuilder;
import org.myeslib.core.Command;
import org.myeslib.util.gson.CommandFromStringFunction;
import com.google.inject.Inject;

package org.myeslib.example.hazelcast.routes;




@RequiredArgsConstructor(onConstructor=@__(@Inject))
public class ReceiveCommandsAsJsonRoute extends RouteBuilder {

    final String sourceUri;
    final String targetUri;
    final CommandFromStringFunction commandFromStringFunction;