Skip to content

Commit

Permalink
review: removed getSource() and all "source" related stuff from Ditto…
Browse files Browse the repository at this point in the history
…Headers

Signed-off-by: Thomas Jaeckle <thomas.jaeckle@bosch-si.com>
  • Loading branch information
thjaeckle committed Nov 22, 2019
1 parent c4a0628 commit a957e6d
Show file tree
Hide file tree
Showing 19 changed files with 21 additions and 95 deletions.
6 changes: 5 additions & 1 deletion model/base/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,11 @@
<exclude>org.eclipse.ditto.model.base.entity.Entity#NAMESPACE_REGEX</exclude>
<exclude>org.eclipse.ditto.model.base.entity.Entity#ID_REGEX</exclude>
<exclude>org.eclipse.ditto.model.base.entity.Entity#ENTITY_NAME_REGEX</exclude>
<exclude>org.eclipse.ditto.model.base.headers.DittoHeaders</exclude>
<exclude>org.eclipse.ditto.model.base.headers.DittoHeaders#getSource()</exclude>
<exclude>org.eclipse.ditto.model.base.headers.DittoHeadersBuilder#source(java.lang.CharSequence)</exclude>
<exclude>org.eclipse.ditto.model.base.headers.DittoHeaderDefinition#SOURCE</exclude>
<exclude>org.eclipse.ditto.model.base.headers.AbstractDittoHeaders#getSource()</exclude>
<exclude>org.eclipse.ditto.model.base.headers.AbstractDittoHeadersBuilder#source(java.lang.CharSequence)</exclude>
</excludes>
</parameter>
</configuration>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -75,11 +75,6 @@ public Optional<String> getContentType() {
return getStringForDefinition(DittoHeaderDefinition.CONTENT_TYPE);
}

@Override
public Optional<String> getSource() {
return getStringForDefinition(DittoHeaderDefinition.SOURCE);
}

@Override
public Optional<JsonSchemaVersion> getSchemaVersion() {
return getStringForDefinition(DittoHeaderDefinition.SCHEMA_VERSION)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -124,12 +124,6 @@ protected void putCharSequence(final HeaderDefinition definition, @Nullable fina
}
}

@Override
public S source(@Nullable final CharSequence source) {
putCharSequence(DittoHeaderDefinition.SOURCE, source);
return myself;
}

@Override
public S schemaVersion(@Nullable final JsonSchemaVersion schemaVersion) {
if (null != schemaVersion) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,14 +53,6 @@ public enum DittoHeaderDefinition implements HeaderDefinition {
*/
SCHEMA_VERSION("version", int.class, true, true),

/**
* Header definition for source value.
* <p>
* Key: {@code "source"}, Java type: String.
* </p>
*/
SOURCE("source", String.class, true, true),

/**
* Header definition for response required value.
* <p>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -138,13 +138,6 @@ static Set<String> readSubjectsFromString(final String readSubjectsString) {
*/
Optional<String> getContentType();

/**
* Returns the source which caused the command, e.g. a "clientId".
*
* @return the source which caused the command.
*/
Optional<String> getSource();

/**
* Returns the json schema version.
*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,15 +43,6 @@ public interface DittoHeadersBuilder<B extends DittoHeadersBuilder, R extends Di
*/
B correlationId(@Nullable CharSequence correlationId);

/**
* Sets the specified String as source of the command.
*
* @param source the source of the command to be set.
* @return this builder for Method Chaining.
* @throws IllegalArgumentException if {@code source} is empty.
*/
B source(@Nullable CharSequence source);

/**
* Sets the json schema version value.
*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -74,14 +74,6 @@ private <T> DittoHeadersAssert assertIsEmpty(final Optional<T> actual, final Str
return myself;
}

public DittoHeadersAssert hasSource(final CharSequence expectedSource) {
return assertContains(actual.getSource(), String.valueOf(expectedSource), "source");
}

public DittoHeadersAssert hasNoSource() {
return assertIsEmpty(actual.getSource(), "source");
}

public DittoHeadersAssert hasSchemaVersion(final JsonSchemaVersion expectedSchemaVersion) {
return assertContains(actual.getSchemaVersion(), expectedSchemaVersion, "schema version");
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,6 @@ public final class DefaultDittoHeadersBuilderTest {
private static final List<String> AUTHORIZATION_SUBJECTS = Arrays.asList("Foo", "Bar");
private static final String CORRELATION_ID = "correlationId";
private static final JsonSchemaVersion JSON_SCHEMA_VERSION = JsonSchemaVersion.V_1;
private static final String SOURCE = "source";
private static final String CHANNEL = "twin";
private static final Collection<String> READ_SUBJECTS = Arrays.asList("read", "subjects");

Expand All @@ -60,7 +59,6 @@ public void emptyReturnsEmptyDittoHeaders() {

DittoBaseAssertions.assertThat(dittoHeaders)
.hasNoCorrelationId()
.hasNoSource()
.hasNoSchemaVersion()
.hasNoAuthorizationSubjects()
.hasNoReadSubjects();
Expand Down Expand Up @@ -112,22 +110,19 @@ public void tryToSetNullAuthSubjectsMulti2() {
@Test
public void buildReturnsExpected() {
final DittoHeaders dittoHeaders = underTest.correlationId(CORRELATION_ID)
.source(SOURCE)
.readSubjects(READ_SUBJECTS)
.schemaVersion(JSON_SCHEMA_VERSION)
.build();

DittoBaseAssertions.assertThat(dittoHeaders)
.hasCorrelationId(CORRELATION_ID)
.hasSource(SOURCE)
.hasSchemaVersion(JSON_SCHEMA_VERSION)
.hasReadSubject("read", "subjects");
}

@Test
public void constructBuilderFromHeadersWorksExpected() {
final DittoHeaders dittoHeaders = underTest.correlationId(CORRELATION_ID)
.source(SOURCE)
.readSubjects(READ_SUBJECTS)
.schemaVersion(JSON_SCHEMA_VERSION)
.build();
Expand Down Expand Up @@ -164,16 +159,6 @@ public void jsonRepresentationOfDittoHeadersWithSchemaVersionOnlyIsExpected() {
JsonFactory.newValue(JSON_SCHEMA_VERSION.toInt()));
}

@Test
public void jsonRepresentationOfDittoHeadersWithSourceOnlyIsExpected() {
final DittoHeaders dittoHeaders = underTest.source(SOURCE).build();
final JsonObject jsonObject = dittoHeaders.toJson();

assertThat(jsonObject)
.hasSize(1)
.contains(JsonFactory.newKey(DittoHeaderDefinition.SOURCE.getKey()), SOURCE);
}

@Test
public void jsonRepresentationOfDittoHeadersWithChannelOnlyIsExpected() {
final DittoHeaders dittoHeaders = underTest.channel(CHANNEL).build();
Expand Down Expand Up @@ -265,15 +250,15 @@ public void tryToCreateInstanceWithJsonObjectContainingInvalidHeader() {

@Test
public void removeValueWorksAsExpected() {
final String sourceKey = DittoHeaderDefinition.SOURCE.getKey();
final String rsKey = DittoHeaderDefinition.READ_SUBJECTS.getKey();

final DittoHeaders dittoHeaders = underTest.source(SOURCE)
final DittoHeaders dittoHeaders = underTest.readSubjects(READ_SUBJECTS)
.dryRun(true)
.correlationId(CORRELATION_ID)
.removeHeader(sourceKey)
.removeHeader(rsKey)
.build();

assertThat(dittoHeaders).hasSize(2).doesNotContainKeys(sourceKey);
assertThat(dittoHeaders).hasSize(2).doesNotContainKeys(rsKey);
}

@Test
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,6 @@ public final class ImmutableDittoHeadersTest {
private static final JsonSchemaVersion KNOWN_SCHEMA_VERSION = JsonSchemaVersion.V_2;
private static final String KNOWN_READ_SUBJECT_WITHOUT_ISSUER = "knownReadSubject";
private static final String KNOWN_READ_SUBJECT = KNOWN_READ_SUBJECT_WITHOUT_ISSUER;
private static final String KNOWN_SOURCE = "knownSource";
private static final String KNOWN_CHANNEL = "live";
private static final boolean KNOWN_RESPONSE_REQUIRED = true;
private static final EntityTagMatchers KNOWN_IF_MATCH =
Expand Down Expand Up @@ -91,7 +90,6 @@ public void settingAllKnownHeadersWorksAsExpected() {
.responseRequired(KNOWN_RESPONSE_REQUIRED)
.dryRun(false)
.schemaVersion(KNOWN_SCHEMA_VERSION)
.source(KNOWN_SOURCE)
.eTag(KNOWN_ETAG)
.ifMatch(KNOWN_IF_MATCH)
.ifNoneMatch(KNOWN_IF_NONE_MATCH)
Expand Down Expand Up @@ -140,13 +138,6 @@ public void getCorrelationIdReturnsExpected() {
assertThat(underTest.getCorrelationId()).contains(KNOWN_CORRELATION_ID);
}

@Test
public void getSourceReturnsExpected() {
final DittoHeaders underTest = DittoHeaders.newBuilder().source(KNOWN_SOURCE).build();

assertThat(underTest.getSource()).contains(KNOWN_SOURCE);
}

@Test
public void getSchemaVersionReturnsExpected() {
final DittoHeaders underTest = DittoHeaders.newBuilder().schemaVersion(KNOWN_SCHEMA_VERSION).build();
Expand Down Expand Up @@ -214,7 +205,6 @@ public void toJsonReturnsExpected() {
.set(DittoHeaderDefinition.AUTHORIZATION_SUBJECTS.getKey(), toJsonArray(AUTH_SUBJECTS))
.set(DittoHeaderDefinition.CORRELATION_ID.getKey(), KNOWN_CORRELATION_ID)
.set(DittoHeaderDefinition.SCHEMA_VERSION.getKey(), KNOWN_SCHEMA_VERSION.toInt())
.set(DittoHeaderDefinition.SOURCE.getKey(), KNOWN_SOURCE)
.set(DittoHeaderDefinition.CHANNEL.getKey(), KNOWN_CHANNEL)
.set(DittoHeaderDefinition.RESPONSE_REQUIRED.getKey(), KNOWN_RESPONSE_REQUIRED)
.set(DittoHeaderDefinition.DRY_RUN.getKey(), false)
Expand Down Expand Up @@ -374,7 +364,6 @@ private static Map<String, String> createMapContainingAllKnownHeaders() {
result.put(DittoHeaderDefinition.AUTHORIZATION_SUBJECTS.getKey(), toJsonArray(AUTH_SUBJECTS).toString());
result.put(DittoHeaderDefinition.CORRELATION_ID.getKey(), KNOWN_CORRELATION_ID);
result.put(DittoHeaderDefinition.SCHEMA_VERSION.getKey(), KNOWN_SCHEMA_VERSION.toString());
result.put(DittoHeaderDefinition.SOURCE.getKey(), KNOWN_SOURCE);
result.put(DittoHeaderDefinition.CHANNEL.getKey(), KNOWN_CHANNEL);
result.put(DittoHeaderDefinition.RESPONSE_REQUIRED.getKey(), String.valueOf(KNOWN_RESPONSE_REQUIRED));
result.put(DittoHeaderDefinition.DRY_RUN.getKey(), String.valueOf(false));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,6 @@ public final class ImmutableMessageHeadersTest {
private static final JsonSchemaVersion KNOWN_SCHEMA_VERSION = JsonSchemaVersion.V_2;
private static final String KNOWN_READ_SUBJECT_WITHOUT_ISSUER = "knownReadSubject";
private static final String KNOWN_READ_SUBJECT = KNOWN_READ_SUBJECT_WITHOUT_ISSUER;
private static final String KNOWN_SOURCE = "knownSource";
private static final String KNOWN_CHANNEL = "twin";
private static final boolean KNOWN_RESPONSE_REQUIRED = true;
private static final Collection<String> KNOWN_READ_SUBJECTS = Collections.singletonList(KNOWN_READ_SUBJECT);
Expand Down Expand Up @@ -83,7 +82,6 @@ public void settingAllKnownHeadersWorksAsExpected() {
.authorizationSubjects(AUTH_SUBJECTS)
.correlationId(KNOWN_CORRELATION_ID)
.schemaVersion(KNOWN_SCHEMA_VERSION)
.source(KNOWN_SOURCE)
.channel(KNOWN_CHANNEL)
.responseRequired(KNOWN_RESPONSE_REQUIRED)
.dryRun(false)
Expand Down Expand Up @@ -262,7 +260,6 @@ private static Map<String, String> createMapContainingAllKnownHeaders() {
result.put(DittoHeaderDefinition.AUTHORIZATION_SUBJECTS.getKey(), toJsonArray(AUTH_SUBJECTS).toString());
result.put(DittoHeaderDefinition.CORRELATION_ID.getKey(), "knownCorrelationId");
result.put(DittoHeaderDefinition.SCHEMA_VERSION.getKey(), KNOWN_SCHEMA_VERSION.toString());
result.put(DittoHeaderDefinition.SOURCE.getKey(), KNOWN_SOURCE);
result.put(DittoHeaderDefinition.CHANNEL.getKey(), KNOWN_CHANNEL);
result.put(DittoHeaderDefinition.RESPONSE_REQUIRED.getKey(), String.valueOf(KNOWN_RESPONSE_REQUIRED));
result.put(DittoHeaderDefinition.DRY_RUN.getKey(), String.valueOf(false));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
import org.eclipse.ditto.model.base.auth.AuthorizationSubject;

/**
* Placeholder implementation that replaces {@code header:*} from a headers map of {@code Map<String, String>}.
* Placeholder implementation that replaces {@code request} related things based on an {@link AuthorizationContext}.
*/
@Immutable
final class ImmutableRequestPlaceholder implements Placeholder<AuthorizationContext> {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -912,9 +912,7 @@ private FSM.State<BaseClientState, BaseClientData> retrieveConnectionMetrics(

ConnectionLogUtil.enhanceLogWithCorrelationIdAndConnectionId(log, command, command.getConnectionEntityId());
log.debug("Received RetrieveConnectionMetrics message, gathering metrics.");
final DittoHeaders dittoHeaders = command.getDittoHeaders().toBuilder()
.source(getInstanceIdentifier())
.build();
final DittoHeaders dittoHeaders = command.getDittoHeaders();

final SourceMetrics sourceMetrics = connectionCounterRegistry.aggregateSourceMetrics(connectionId());
final TargetMetrics targetMetrics = connectionCounterRegistry.aggregateTargetMetrics(connectionId());
Expand Down Expand Up @@ -977,7 +975,6 @@ private FSM.State<BaseClientState, BaseClientData> retrieveConnectionLogs(final
ConnectionLogUtil.enhanceLogWithCorrelationIdAndConnectionId(log, command, command.getConnectionEntityId());
log.debug("Received RetrieveConnectionLogs message, gathering metrics.");
final DittoHeaders dittoHeaders = command.getDittoHeaders().toBuilder()
.source(getInstanceIdentifier())
.build();

final ConnectionLoggerRegistry.ConnectionLogs connectionLogs =
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2017 Contributors to the Eclipse Foundation
* Copyright (c) 2019 Contributors to the Eclipse Foundation
*
* See the NOTICE file(s) distributed with this work for additional
* information regarding copyright ownership.
Expand Down Expand Up @@ -37,6 +37,10 @@
*/
public final class Resolvers {

private Resolvers() {
throw new AssertionError();
}

/**
* Placeholder resolver creators for incoming and outgoing messages.
*/
Expand Down Expand Up @@ -68,7 +72,7 @@ public static Placeholder[] getPlaceholders() {
* @return the expression resolver.
*/
public static ExpressionResolver forOutbound(final OutboundSignal.Mapped mappedOutboundSignal) {
final Signal signal = mappedOutboundSignal.getSource();
final Signal<?> signal = mappedOutboundSignal.getSource();
final ExternalMessage externalMessage = mappedOutboundSignal.getExternalMessage();
final Adaptable adaptable = mappedOutboundSignal.getAdaptable();
return PlaceholderFactory.newExpressionResolver(
Expand All @@ -89,7 +93,7 @@ public static ExpressionResolver forOutbound(final OutboundSignal.Mapped mappedO
* @param authorizationContext the authorization context of the inbound message, or null if it cannot be determined.
* @return the expression resolver.
*/
public static ExpressionResolver forInbound(final ExternalMessage externalMessage, final Signal signal,
public static ExpressionResolver forInbound(final ExternalMessage externalMessage, final Signal<?> signal,
@Nullable final TopicPath topicPath, @Nullable final AuthorizationContext authorizationContext) {
return PlaceholderFactory.newExpressionResolver(
RESOLVER_CREATORS.stream()
Expand All @@ -108,8 +112,8 @@ public static ExpressionResolver forInbound(final ExternalMessage externalMessag
private interface ResolverDataExtractor<T> {

@Nullable
T extract(final Map<String, String> inputHeaders, final Signal signal, @Nullable final TopicPath topicPath,
@Nullable final AuthorizationContext authorizationContext);
T extract(Map<String, String> inputHeaders, Signal signal, @Nullable TopicPath topicPath,
@Nullable AuthorizationContext authorizationContext);
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -256,7 +256,7 @@ public void testReplacementOfPlaceholders() {
assertThat(modifyAttribute.getDittoHeaders().getAuthorizationContext()).isEqualTo(expectedAuthContext);

// mapped by source <- {{ request:subjectId }}
assertThat(modifyAttribute.getDittoHeaders().getSource())
assertThat(modifyAttribute.getDittoHeaders().get("source"))
.contains("integration:" + correlationId + ":hub-application/json");
});
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,6 @@

import org.eclipse.ditto.json.JsonRuntimeException;
import org.eclipse.ditto.model.base.auth.AuthorizationContext;
import org.eclipse.ditto.model.base.auth.AuthorizationSubject;
import org.eclipse.ditto.model.base.exceptions.DittoJsonException;
import org.eclipse.ditto.model.base.exceptions.DittoRuntimeException;
import org.eclipse.ditto.model.base.headers.DittoHeaders;
Expand Down Expand Up @@ -413,8 +412,6 @@ private CompletionStage<DittoHeaders> buildDittoHeaders(final AuthorizationConte
.schemaVersion(jsonSchemaVersion)
.correlationId(correlationId);

authorizationContext.getFirstAuthorizationSubject().map(AuthorizationSubject::getId).ifPresent(builder::source);

// if the "live" query param was set - no matter what the value was - use live channel
if (liveParam != null) {
builder.channel(TopicPath.Channel.LIVE.getName());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,6 @@ protected static DittoHeaders createDittoHeaders(final JsonSchemaVersion schemaV

return DittoHeaders.newBuilder()
.correlationId(null)
.source(null)
.responseRequired(false)
.schemaVersion(schemaVersion)
.authorizationSubjects(authSubjectsStr)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1248,7 +1248,6 @@ public void responsesDuringInitializationAreSentWithDittoHeaders() {
final DittoHeaders dittoHeaders = DittoHeaders.newBuilder()
.authorizationSubjects("authSubject")
.correlationId("correlationId")
.source("source")
.schemaVersion(JsonSchemaVersion.LATEST)
.build();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,6 @@ public final class JsonifiableSerializerTest {
private static final DittoHeaders DITTO_HEADERS = DittoHeaders.newBuilder()
.authorizationSubjects("authSubject")
.correlationId("correlationId")
.source("source")
.schemaVersion(JsonSchemaVersion.LATEST)
.build();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,6 @@ public final class ShardRegionExtractorTest {
private static final DittoHeaders DITTO_HEADERS = DittoHeaders.newBuilder()
.authorizationSubjects("authSubject")
.correlationId("correlationId")
.source("source")
.schemaVersion(JsonSchemaVersion.LATEST)
.build();

Expand Down

0 comments on commit a957e6d

Please sign in to comment.