/** * Construct an instance with given {@code bytes} representing the serialized form of a {@link MetaData} * instance. * * @param data data representing the serialized form of a {@link MetaData} instance. * @param dataType The type of data */ public SerializedMetaData(T data, Class<T> dataType) { delegate = new SimpleSerializedObject<>(data, dataType, METADATA_CLASS_NAME, null); }
@Override public T getData() { return delegate.getData(); }
@Override public SerializedType getType() { return delegate.getType(); }
@Override public Class<T> getContentType() { return delegate.getContentType(); }
@Override public Class<T> getContentType() { return delegate.getContentType(); }
@Override public SerializedObject<byte[]> readSerializedSaga(ResultSet resultSet) throws SQLException { return new SimpleSerializedObject<>(resultSet.getBytes(1), byte[].class, resultSet.getString(2), resultSet.getString(3)); }
@Override public <S> Entry<S> loadSaga(Class<S> sagaType, String sagaIdentifier) { EntityManager entityManager = entityManagerProvider.getEntityManager(); final Class<? extends SimpleSerializedObject<?>> serializedObjectType = serializedObjectType(); List<? extends SimpleSerializedObject<?>> serializedSagaList = entityManager.createNamedQuery(LOAD_SAGA_NAMED_QUERY, serializedObjectType) .setParameter("sagaId", sagaIdentifier) .setMaxResults(1) .getResultList(); if (serializedSagaList == null || serializedSagaList.isEmpty()) { return null; } final SimpleSerializedObject<?> serializedSaga = serializedSagaList.get(0); S loadedSaga = serializer.deserialize(serializedSaga); Set<AssociationValue> associationValues = loadAssociationValues(entityManager, sagaType, sagaIdentifier); if (logger.isDebugEnabled()) { logger.debug("Loaded saga id [{}] of type [{}]", sagaIdentifier, serializedSaga.getType().getName()); } return new EntryImpl<>(associationValues, loadedSaga); }
@Override public T getData() { return delegate.getData(); }
@Override public Class<T> getContentType() { return delegate.getContentType(); }
private RemoteExceptionDescription deserializeException(Serializer serializer) { return serializer.deserialize(new SimpleSerializedObject<>(serializedException, byte[].class, exceptionType, exceptionRevision)); }
@Override public SerializedType getType() { return delegate.getType(); }
@Override public T getData() { return delegate.getData(); }
private Map<String, ?> deserializeMetaData(JobDataMap jobDataMap) { SimpleSerializedObject<byte[]> serializedDeadlineMetaData = new SimpleSerializedObject<>( (byte[]) jobDataMap.get(MESSAGE_METADATA), byte[].class, MetaData.class.getName(), null ); return serializer.deserialize(serializedDeadlineMetaData); }
@Override public SerializedType getType() { return delegate.getType(); }
public static DomainEventData<?> createDomainEventEntry(final ConsumerRecord<String, byte[]> record, final Serializer serializer) { final GenericTrackedDomainEventEntry<byte[]> entry = toEntry(record, serializer); final byte[] payload = ((SimpleSerializedObject<byte[]>) entry.getPayload()).getData(); final byte[] metaData = ((SerializedMetaData<byte[]>) entry.getMetaData()).getData(); return new GenericDomainEventEntry<>(entry.getType(), entry.getAggregateIdentifier(), entry.getSequenceNumber(), entry.getEventIdentifier(), entry.getTimestamp(), entry.getPayload().getType().getName(), entry.getPayload().getType().getRevision(), payload, metaData); }
/** * Returns the serialized token. * * @return the serialized token stored in this entry */ public SerializedObject<T> getSerializedToken() { if (token == null) { return null; } return new SimpleSerializedObject<>(token, (Class<T>) token.getClass(), getTokenType()); }
@Override public <S> Entry<S> loadSaga(Class<S> sagaType, String sagaIdentifier) { EntityManager entityManager = entityManagerProvider.getEntityManager(); final Class<? extends SimpleSerializedObject<?>> serializedObjectType = serializedObjectType(); List<? extends SimpleSerializedObject<?>> serializedSagaList = entityManager.createNamedQuery(LOAD_SAGA_NAMED_QUERY, serializedObjectType) .setParameter("sagaId", sagaIdentifier) .setMaxResults(1) .getResultList(); if (serializedSagaList == null || serializedSagaList.isEmpty()) { return null; } final SimpleSerializedObject<?> serializedSaga = serializedSagaList.get(0); S loadedSaga = serializer.deserialize(serializedSaga); Set<AssociationValue> associationValues = loadAssociationValues(entityManager, sagaType, sagaIdentifier); if (logger.isDebugEnabled()) { logger.debug("Loaded saga id [{}] of type [{}]", sagaIdentifier, serializedSaga.getType().getName()); } return new EntryImpl<>(associationValues, loadedSaga); }
private static Object deserializeDeadlinePayload(Serializer serializer, JobDataMap jobDataMap) { SimpleSerializedObject<byte[]> serializedDeadlinePayload = new SimpleSerializedObject<>( (byte[]) jobDataMap.get(SERIALIZED_MESSAGE_PAYLOAD), byte[].class, (String) jobDataMap.get(MESSAGE_TYPE), (String) jobDataMap.get(MESSAGE_REVISION) ); return serializer.deserialize(serializedDeadlinePayload); }
@Override public <S> Entry<S> loadSaga(Class<S> sagaType, String sagaIdentifier) { EntityManager entityManager = entityManagerProvider.getEntityManager(); final Class<? extends SimpleSerializedObject<?>> serializedObjectType = serializedObjectType(); List<? extends SimpleSerializedObject<?>> serializedSagaList = entityManager.createNamedQuery(LOAD_SAGA_NAMED_QUERY, serializedObjectType) .setParameter("sagaId", sagaIdentifier) .setMaxResults(1) .getResultList(); if (serializedSagaList == null || serializedSagaList.isEmpty()) { return null; } final SimpleSerializedObject<?> serializedSaga = serializedSagaList.get(0); S loadedSaga = serializer.deserialize(serializedSaga); Set<AssociationValue> associationValues = loadAssociationValues(entityManager, sagaType, sagaIdentifier); if (logger.isDebugEnabled()) { logger.debug("Loaded saga id [{}] of type [{}]", sagaIdentifier, serializedSaga.getType().getName()); } return new EntryImpl<>(associationValues, loadedSaga); }
private static Map<String, ?> deserializeDeadlineMetaData(Serializer serializer, JobDataMap jobDataMap) { SimpleSerializedObject<byte[]> serializedDeadlineMetaData = new SimpleSerializedObject<>( (byte[]) jobDataMap.get(MESSAGE_METADATA), byte[].class, MetaData.class.getName(), null ); return serializer.deserialize(serializedDeadlineMetaData); }