Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions client/src/main/java/io/split/client/dtos/Event.java
Original file line number Diff line number Diff line change
@@ -1,18 +1,32 @@
package io.split.client.dtos;

import com.google.common.base.Objects;
import com.google.gson.annotations.SerializedName;

import java.util.Map;

public class Event {

/* package private */ static final String FIELD_EVENT_TYPE_ID = "eventTypeId";
/* package private */ static final String FIELD_TRAFFIC_TYPE_NAME = "trafficTypeName";
/* package private */ static final String FIELD_KEY = "key";
/* package private */ static final String FIELD_VALUE = "value";
/* package private */ static final String FIELD_PROPERTIES = "properties";
/* package private */ static final String FIELD_TIMESTAMP = "timestamp";

public static int MAX_PROPERTIES_LENGTH_BYTES = 32 * 1024;

@SerializedName(FIELD_EVENT_TYPE_ID)
public String eventTypeId;
@SerializedName(FIELD_TRAFFIC_TYPE_NAME)
public String trafficTypeName;
@SerializedName(FIELD_KEY)
public String key;
@SerializedName(FIELD_VALUE)
public double value;
@SerializedName(FIELD_PROPERTIES)
public Map<String, Object> properties;
@SerializedName(FIELD_TIMESTAMP)
public long timestamp;

@Override
Expand Down
42 changes: 42 additions & 0 deletions client/src/main/java/io/split/client/dtos/Metadata.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
package io.split.client.dtos;

import com.google.gson.annotations.SerializedName;
import io.split.client.interceptors.SdkMetadataInterceptorFilter;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.net.InetAddress;

public class Metadata {

/* package private */ static final String FIELD_HOSTNAME = "n";
/* package private */ static final String FIELD_IP = "i";
/* package private */ static final String FIELD_SDK_VERSION = "s";

private static final Logger _log = LoggerFactory.getLogger(Metadata.class);

@SerializedName(FIELD_HOSTNAME)
private final String _hostname;
@SerializedName(FIELD_IP)
private final String _ip;
@SerializedName(FIELD_SDK_VERSION)
private final String _sdkVersion;

public Metadata(boolean ipAddressEnabled, String sdkVersion) {
String hostName = null;
String ip = null;

if (ipAddressEnabled) {
try {
InetAddress localHost = InetAddress.getLocalHost();
hostName = localHost.getHostName();
ip = localHost.getHostAddress();
} catch (Exception e) {
_log.error("Could not resolve InetAddress", e);
}
}
_sdkVersion = sdkVersion;
_hostname = hostName;
_ip = ip;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
package io.split.client.dtos.pluggable;

import com.google.gson.annotations.SerializedName;
import io.split.client.dtos.Metadata;
import io.split.telemetry.domain.Config;

public class ConfigPluggable extends Config {

/* package private */ static final String FIELD_METADATA = "m";

@SerializedName(FIELD_METADATA)
private final Metadata _metadata;

public ConfigPluggable(Metadata metadata) {
super();
_metadata = metadata;
}

public Metadata getMetadata() {
return _metadata;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
package io.split.client.dtos.pluggable;

import com.google.gson.annotations.SerializedName;
import io.split.client.dtos.Event;
import io.split.client.dtos.Metadata;

public class EventsPluggable extends Event {

/* package private */ static final String FIELD_METADATA = "m";
@SerializedName(FIELD_METADATA)
private final Metadata _metadata;

public EventsPluggable(Metadata metadata) {
super();
_metadata = metadata;
}

public Metadata getMetadata() {
return _metadata;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
package io.split.client.dtos.pluggable;

import com.google.gson.annotations.SerializedName;
import io.split.client.dtos.KeyImpression;
import io.split.client.dtos.Metadata;
import io.split.client.dtos.TestImpressions;

import java.util.List;

public class ImpressionsPluggable extends TestImpressions {

/* package private */ static final String FIELD_METADATA = "m";

@SerializedName(FIELD_METADATA)
private final Metadata _metadata;

public ImpressionsPluggable(Metadata metadata, String testName, List<KeyImpression> keyImpressions) {
super(testName, keyImpressions);
_metadata = metadata;
}

public Metadata getMetadata() {
return _metadata;
}
}