// Path: eventstore-client/src/main/java/de/qyotta/eventstore/model/EventResponse.java
// @Getter
// @Setter
// @Builder(toBuilder = true)
// @ToString
// @EqualsAndHashCode
// @NoArgsConstructor(access = AccessLevel.PUBLIC)
// @AllArgsConstructor(access = AccessLevel.PUBLIC)
// public class EventResponse {
//    private String title;
//    private String id;
//    private String updated;
//    private Author author;
//    private String summary;
// 
//    private Event content;
// }


import java.lang.reflect.Type;
import java.util.Map;
import org.axonframework.domain.DomainEventMessage;
import org.axonframework.domain.GenericDomainEventMessage;
import org.axonframework.domain.MetaData;
import org.joda.time.DateTime;
import org.joda.time.DateTimeZone;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import de.qyotta.eventstore.model.EventResponse;
import lombok.experimental.UtilityClass;
package de.qyotta.axonframework.eventstore.utils;





@UtilityClass
@SuppressWarnings("nls")
public final class EsEventStoreUtils {
   private static final Type METADATA_TYPE = new TypeToken<Map<String, ?>>() {
      //
   }.getType();

   public static final String getStreamName(final String type, final Object identifier, final String prefix) {
      return prefix + "-" + type.toLowerCase() + "-" + identifier.toString();
   }

   @SuppressWarnings({ "rawtypes", "unchecked" })
// Path: eventstore-client/src/main/java/de/qyotta/eventstore/model/EventResponse.java
// @Getter
// @Setter
// @Builder(toBuilder = true)
// @ToString
// @EqualsAndHashCode
// @NoArgsConstructor(access = AccessLevel.PUBLIC)
// @AllArgsConstructor(access = AccessLevel.PUBLIC)
// public class EventResponse {
//    private String title;
//    private String id;
//    private String updated;
//    private Author author;
//    private String summary;
// 
//    private Event content;
// }


// Path: axon-eventstore/lib/src/main/java/de/qyotta/axonframework/eventstore/utils/EsEventStoreUtils.java
import java.lang.reflect.Type;
import java.util.Map;
import org.axonframework.domain.DomainEventMessage;
import org.axonframework.domain.GenericDomainEventMessage;
import org.axonframework.domain.MetaData;
import org.joda.time.DateTime;
import org.joda.time.DateTimeZone;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import de.qyotta.eventstore.model.EventResponse;
import lombok.experimental.UtilityClass;

package de.qyotta.axonframework.eventstore.utils;





@UtilityClass
@SuppressWarnings("nls")
public final class EsEventStoreUtils {
   private static final Type METADATA_TYPE = new TypeToken<Map<String, ?>>() {
      //
   }.getType();

   public static final String getStreamName(final String type, final Object identifier, final String prefix) {
      return prefix + "-" + type.toLowerCase() + "-" + identifier.toString();
   }

   @SuppressWarnings({ "rawtypes", "unchecked" })
   public static DomainEventMessage domainEventMessageOf(final EventResponse eventResponse) {