org.rakam.collection.Event.<init>()方法的使用及代码示例

x33g5p2x  于2022-01-19 转载在 其他  
字(21.1k)|赞(0)|评价(0)|浏览(93)

本文整理了Java中org.rakam.collection.Event.<init>()方法的一些代码示例,展示了Event.<init>()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Event.<init>()方法的具体详情如下:
包路径:org.rakam.collection.Event
类名称:Event
方法名:<init>

Event.<init>介绍

暂无

代码示例

代码示例来源:origin: rakam-io/rakam

public String process(String project, Supplier<User> user, SendEventAction sendEventAction) {
  new Event(project, sendEventAction.collection, null, null, null);
  return null;
}

代码示例来源:origin: rakam-io/rakam

public void mergeInternal(String project, Object user, Object anonymousId, Instant createdAt, Instant mergedAt) {
  FieldType config = configManager.getConfig(project, USER_TYPE.name(), FieldType.class);
  GenericData.Record properties = new GenericData.Record(ANONYMOUS_USER_MAPPING_SCHEMA.get(config));
  properties.put(0, anonymousId.toString());
  try {
    if (config == FieldType.STRING) {
      properties.put(1, user.toString());
    } else if (config == FieldType.LONG) {
      properties.put(1, Long.parseLong(user.toString()));
    } else if (config == FieldType.INTEGER) {
      properties.put(1, Integer.parseInt(user.toString()));
    } else {
      throw new IllegalStateException();
    }
  } catch (NumberFormatException e) {
    throw new RakamException("User type doesn't match", HttpResponseStatus.BAD_REQUEST);
  }
  properties.put(2, createdAt.toEpochMilli());
  properties.put(3, mergedAt.toEpochMilli());
  eventStore.store(new Event(project, ANONYMOUS_ID_MAPPING, null, ANONYMOUS_USER_MAPPING.get(config), properties));
}

代码示例来源:origin: rakam-io/rakam

public void merge(String project, Object user, Object anonymousId, Instant createdAt, Instant mergedAt) {
    if (!config.getEnableUserMapping()) {
      throw new RakamException(NOT_IMPLEMENTED);
    }
    GenericData.Record properties = new GenericData.Record(ANONYMOUS_USER_MAPPING_SCHEMA);
    properties.put(0, anonymousId);
    properties.put(1, user);
    properties.put(2, createdAt.toEpochMilli());
    properties.put(3, mergedAt.toEpochMilli());

    eventStore.store(new Event(project, ANONYMOUS_ID_MAPPING, null, null, properties));
  }
}

代码示例来源:origin: rakam-io/rakam

public EventList deserialize(String project, String collection, SliceInput slice) throws IOException {
    String json = slice.readSlice(slice.readInt()).toStringUtf8();
    Schema schema = new Schema.Parser().parse(json);
    int records = slice.readInt();

    BinaryDecoder binaryDecoder = DecoderFactory.get().directBinaryDecoder(slice, null);

    List<SchemaField> fields = metastore.getCollection(project, collection);
    Schema avroSchema = AvroUtil.convertAvroSchema(fields);

    GenericDatumReader<GenericRecord> reader = new GenericDatumReader(schema, avroSchema);

    List<Event> list = new ArrayList<>(records);
    for (int i = 0; i < records; i++) {
      GenericRecord record = reader.read(null, binaryDecoder);
      list.add(new Event(project, collection, null, fields, record));
    }

    return new EventList(Event.EventContext.empty(), project, list);
  }
}

代码示例来源:origin: rakam-io/rakam

public Event createEvent(String collection, Map<String, Object> properties) {
  List<SchemaField> cache = fieldCache.get(collection);
  List<SchemaField> fields;
  List<SchemaField> generatedSchema = generateSchema(properties);
  if (cache == null || !generatedSchema.stream().allMatch(f -> cache.contains(f))) {
    fields = metastore.getOrCreateCollectionFields(project, collection, ImmutableSet.copyOf(generatedSchema));
    fieldCache.put(collection, fields);
  } else {
    fields = cache;
  }
  try {
    GenericData.Record record = new GenericData.Record(AvroUtil.convertAvroSchema(fields));
    properties.forEach((key, value) -> record.put(key, cast(value,
        record.getSchema().getField(key).schema().getTypes().get(1).getType())));
    return new Event(project, collection, Event.EventContext.empty(), fields, record);
  } catch (Exception e) {
    throw Throwables.propagate(e);
  }
}

代码示例来源:origin: rakam-io/rakam

@Test()
public void testReferrerNotExists() throws Exception {
  ReferrerEventMapper mapper = new ReferrerEventMapper();
  FieldDependencyBuilder builder = new FieldDependencyBuilder();
  mapper.addFieldDependency(builder);
  builder.build();
  List<SchemaField> fields = builder.build().dependentFields.get("_referrer");
  ImmutableList<Schema.Field> build = ImmutableList.<Schema.Field>builder()
      .addAll(fields.stream()
          .map(AvroUtil::generateAvroField).collect(Collectors.toList()))
      .add(new Schema.Field("_referrer", Schema.create(NULL), null, null))
      .build();
  GenericData.Record properties = new GenericData.Record(Schema.createRecord(build));
  properties.put("_referrer", true);
  Event event = new Event("testproject", "testcollection", null, null, properties);
  List<Cookie> resp = mapper.map(event, EventMapper.RequestParams.EMPTY_PARAMS, InetAddress.getLocalHost(), null);
  assertNull(resp);
  for (SchemaField field : fields) {
    assertNull(event.getAttribute(field.getName()));
  }
}

代码示例来源:origin: rakam-io/rakam

@Test()
public void testUnknownReferrer() throws Exception {
  ReferrerEventMapper mapper = new ReferrerEventMapper();
  FieldDependencyBuilder builder = new FieldDependencyBuilder();
  mapper.addFieldDependency(builder);
  builder.build();
  List<SchemaField> fields = builder.build().dependentFields.get("_referrer");
  ImmutableList<Schema.Field> build = ImmutableList.<Schema.Field>builder()
      .addAll(fields.stream()
          .map(AvroUtil::generateAvroField).collect(Collectors.toList()))
      .add(new Schema.Field("_referrer", Schema.create(NULL), null, null))
      .build();
  GenericData.Record properties = new GenericData.Record(Schema.createRecord(build));
  properties.put("_referrer", "http://test.com");
  Event event = new Event("testproject", "testcollection", null, null, properties);
  List<Cookie> resp = mapper.map(event, EventMapper.RequestParams.EMPTY_PARAMS, InetAddress.getLocalHost(), null);
  assertNull(resp);
  assertNull(event.getAttribute("_referrer_source"));
  assertNull(event.getAttribute("_referrer_term"));
  assertEquals("unknown", event.getAttribute("_referrer_medium"));
  assertEquals("test.com", event.getAttribute("_referrer_domain"));
  assertEquals("", event.getAttribute("_referrer_path"));
}

代码示例来源:origin: rakam-io/rakam

@Test
public void testNotTrackFlagIpEventMapper()
    throws Exception {
  MaxmindGeoIPEventMapper mapper = new MaxmindGeoIPEventMapper(new MaxmindGeoIPModuleConfig()
      .setConnectionTypeDatabaseUrl(new URL("https://github.com/maxmind/MaxMind-DB/raw/master/test-data/GeoIP2-Connection-Type-Test.mmdb"))
      .setIspDatabaseUrl(new URL("https://github.com/maxmind/MaxMind-DB/raw/master/test-data/GeoIP2-ISP-Test.mmdb")));
  FieldDependencyBuilder builder = new FieldDependencyBuilder();
  mapper.addFieldDependency(builder);
  List<SchemaField> ip = builder.build().dependentFields.get("_ip");
  ImmutableList<Schema.Field> build = ImmutableList.<Schema.Field>builder()
      .addAll(ip.stream().map(AvroUtil::generateAvroField).collect(Collectors.toList()))
      .add(new Schema.Field("_ip", Schema.create(NULL), null, null))
      .build();
  Record properties = new Record(Schema.createRecord(build));
  properties.put("_ip", false);
  Event event = new Event("testproject", "testcollection", null, null, properties);
  List<Cookie> resp = mapper.map(event, EventMapper.RequestParams.EMPTY_PARAMS, InetAddress.getByName("8.8.8.8"), null);
  assertTrue(resp == null);
  for (SchemaField schemaField : ip) {
    assertNull(event.getAttribute(schemaField.getName()));
  }
}

代码示例来源:origin: rakam-io/rakam

@Test(dataProvider = "chrome-user-agent")
public void testUserAgentMapper(Map<String, Object> props, EventMapper.RequestParams headers) throws Exception {
  UserAgentEventMapper mapper = new UserAgentEventMapper(new WebsiteMapperConfig());
  FieldDependencyBuilder builder = new FieldDependencyBuilder();
  mapper.addFieldDependency(builder);
  builder.build();
  ImmutableList<Schema.Field> build = ImmutableList.<Schema.Field>builder()
      .addAll(builder.build().dependentFields.get("_user_agent").stream()
          .map(AvroUtil::generateAvroField).collect(Collectors.toList()))
      .add(new Schema.Field("_user_agent", Schema.create(NULL), null, null))
      .build();
  GenericData.Record properties = new GenericData.Record(Schema.createRecord(build));
  props.forEach(properties::put);
  Event event = new Event("testproject", "testcollection", null, null, properties);
  List<Cookie> resp = mapper.map(event, headers, InetAddress.getLocalHost(), null);
  assertEquals("Chrome", event.getAttribute("_user_agent_family"));
  assertEquals("Mac OS X", event.getAttribute("_os"));
  assertEquals("10", event.getAttribute("_os_version"));
  assertEquals("Other", event.getAttribute("_device_family"));
  assertNull(resp);
  GenericData.get().validate(properties.getSchema(), properties);
}

代码示例来源:origin: rakam-io/rakam

@Test()
public void testUserAgentNotExists() throws Exception {
  UserAgentEventMapper mapper = new UserAgentEventMapper(new WebsiteMapperConfig());
  FieldDependencyBuilder builder = new FieldDependencyBuilder();
  mapper.addFieldDependency(builder);
  builder.build();
  List<SchemaField> fields = builder.build().dependentFields.get("_user_agent");
  ImmutableList<Schema.Field> build = ImmutableList.<Schema.Field>builder()
      .addAll(fields.stream()
          .map(AvroUtil::generateAvroField).collect(Collectors.toList()))
      .add(new Schema.Field("_user_agent", Schema.create(NULL), null, null))
      .build();
  GenericData.Record properties = new GenericData.Record(Schema.createRecord(build));
  properties.put("_user_agent", true);
  Event event = new Event("testproject", "testcollection", null, null, properties);
  List<Cookie> resp = mapper.map(event, EventMapper.RequestParams.EMPTY_PARAMS, InetAddress.getLocalHost(), null);
  assertNull(resp);
  for (SchemaField field : fields) {
    assertNull(event.getAttribute(field.getName()));
  }
}

代码示例来源:origin: rakam-io/rakam

@Test
public void testNotFoundIpEventMapper()
    throws Exception {
  MaxmindGeoIPEventMapper mapper = new MaxmindGeoIPEventMapper(new MaxmindGeoIPModuleConfig()
      .setConnectionTypeDatabaseUrl(new URL("https://github.com/maxmind/MaxMind-DB/raw/master/test-data/GeoIP2-Connection-Type-Test.mmdb"))
      .setIspDatabaseUrl(new URL("https://github.com/maxmind/MaxMind-DB/raw/master/test-data/GeoIP2-ISP-Test.mmdb")));
  FieldDependencyBuilder builder = new FieldDependencyBuilder();
  mapper.addFieldDependency(builder);
  List<SchemaField> ip = builder.build().dependentFields.get("_ip");
  ImmutableList<Schema.Field> build = ImmutableList.<Schema.Field>builder()
      .addAll(ip.stream().map(AvroUtil::generateAvroField).collect(Collectors.toList()))
      .add(new Schema.Field("_ip", Schema.create(NULL), null, null))
      .build();
  Record properties = new Record(Schema.createRecord(build));
  properties.put("_ip", "127.0.0.1");
  Event event = new Event("testproject", "testcollection", null, null, properties);
  List<Cookie> resp = mapper.map(event, EventMapper.RequestParams.EMPTY_PARAMS, InetAddress.getLocalHost(), null);
  assertTrue(resp == null);
  for (SchemaField schemaField : ip) {
    if (!schemaField.getName().equals("__ip")) {
      assertNull(event.getAttribute(schemaField.getName()));
    }
  }
}

代码示例来源:origin: rakam-io/rakam

@Test(dataProvider = "google-referrer")
public void testReferrer(Map<String, Object> props, EventMapper.RequestParams headers) throws Exception {
  ReferrerEventMapper mapper = new ReferrerEventMapper();
  FieldDependencyBuilder builder = new FieldDependencyBuilder();
  mapper.addFieldDependency(builder);
  builder.build();
  ImmutableList<Schema.Field> build = ImmutableList.<Schema.Field>builder()
      .addAll(builder.build().dependentFields.get("_referrer").stream()
          .map(AvroUtil::generateAvroField).collect(Collectors.toList()))
      .add(new Schema.Field("_referrer", Schema.create(NULL), null, null))
      .build();
  GenericData.Record properties = new GenericData.Record(Schema.createRecord(build));
  props.forEach(properties::put);
  Event event = new Event("testproject", "testcollection", null, null, properties);
  List<Cookie> resp = mapper.map(event, headers, InetAddress.getLocalHost(), null);
  assertEquals("Google", event.getAttribute("_referrer_source"));
  assertEquals("test", event.getAttribute("_referrer_term"));
  assertEquals("search", event.getAttribute("_referrer_medium"));
  assertEquals("google.com", event.getAttribute("_referrer_domain"));
  assertEquals("/?q=test", event.getAttribute("_referrer_path"));
  assertNull(resp);
  GenericData.get().validate(properties.getSchema(), properties);
}

代码示例来源:origin: rakam-io/rakam

@Test()
public void testDisableReferrer() throws Exception {
  ReferrerEventMapper mapper = new ReferrerEventMapper();
  FieldDependencyBuilder builder = new FieldDependencyBuilder();
  mapper.addFieldDependency(builder);
  builder.build();
  List<SchemaField> fields = builder.build().dependentFields.get("_referrer");
  ImmutableList<Schema.Field> build = ImmutableList.<Schema.Field>builder()
      .addAll(fields.stream()
          .map(AvroUtil::generateAvroField).collect(Collectors.toList()))
      .add(new Schema.Field("_referrer", Schema.create(NULL), null, null))
      .build();
  GenericData.Record properties = new GenericData.Record(Schema.createRecord(build));
  properties.put("_referrer", false);
  Event event = new Event("testproject", "testcollection", null, null, properties);
  List<Cookie> resp = mapper.map(event, () -> {
    return new DefaultHttpHeaders().set("Referrer", "https://google.com/?q=test");
  }, InetAddress.getLocalHost(), null);
  assertNull(resp);
  for (SchemaField field : fields) {
    assertNull(event.getAttribute(field.getName()));
  }
}

代码示例来源:origin: rakam-io/rakam

@Test()
public void testUnknownUserAgent() throws Exception {
  UserAgentEventMapper mapper = new UserAgentEventMapper(new WebsiteMapperConfig());
  FieldDependencyBuilder builder = new FieldDependencyBuilder();
  mapper.addFieldDependency(builder);
  builder.build();
  List<SchemaField> fields = builder.build().dependentFields.get("_user_agent");
  ImmutableList<Schema.Field> build = ImmutableList.<Schema.Field>builder()
      .addAll(fields.stream()
          .map(AvroUtil::generateAvroField).collect(Collectors.toList()))
      .add(new Schema.Field("_user_agent", Schema.create(NULL), null, null))
      .build();
  GenericData.Record properties = new GenericData.Record(Schema.createRecord(build));
  properties.put("_user_agent", "unknown user agent");
  Event event = new Event("testproject", "testcollection", null, null, properties);
  List<Cookie> resp = mapper.map(event, EventMapper.RequestParams.EMPTY_PARAMS, InetAddress.getLocalHost(), null);
  assertNull(resp);
  assertEquals("Other", event.getAttribute("_user_agent_family"));
  assertNull(event.getAttribute("_user_agent_version"));
  assertEquals("Other", event.getAttribute("_os"));
  assertNull(event.getAttribute("_os_version"));
  assertEquals("Other", event.getAttribute("_device_family"));
}

代码示例来源:origin: rakam-io/rakam

@Test()
  public void testDisableUserAgent() throws Exception {
    UserAgentEventMapper mapper = new UserAgentEventMapper(new WebsiteMapperConfig());
    FieldDependencyBuilder builder = new FieldDependencyBuilder();
    mapper.addFieldDependency(builder);

    builder.build();

    List<SchemaField> fields = builder.build().dependentFields.get("_user_agent");
    ImmutableList<Schema.Field> build = ImmutableList.<Schema.Field>builder()
        .addAll(fields.stream()
            .map(AvroUtil::generateAvroField).collect(Collectors.toList()))
        .add(new Schema.Field("_user_agent", Schema.create(NULL), null, null))
        .build();

    GenericData.Record properties = new GenericData.Record(Schema.createRecord(build));
    properties.put("_user_agent", false);

    Event event = new Event("testproject", "testcollection", null, null, properties);

    List<Cookie> resp = mapper.map(event, () -> new DefaultHttpHeaders().set("User-Agent", USER_AGENT),
        InetAddress.getLocalHost(), null);

    assertNull(resp);
    for (SchemaField field : fields) {
      assertNull(event.getAttribute(field.getName()));
    }
  }
}

代码示例来源:origin: rakam-io/rakam

@Test()
public void testInternalReferrer() throws Exception {
  ReferrerEventMapper mapper = new ReferrerEventMapper();
  FieldDependencyBuilder builder = new FieldDependencyBuilder();
  mapper.addFieldDependency(builder);
  builder.build();
  List<SchemaField> fields = builder.build().dependentFields.get("_referrer");
  ImmutableList<Schema.Field> build = ImmutableList.<Schema.Field>builder()
      .addAll(fields.stream()
          .map(AvroUtil::generateAvroField).collect(Collectors.toList()))
      .add(new Schema.Field("_referrer", Schema.create(NULL), null, null),
          new Schema.Field("_host", Schema.create(NULL), null, null))
      .build();
  GenericData.Record properties = new GenericData.Record(Schema.createRecord(build));
  properties.put("_referrer", "https://test.com/");
  properties.put("_host", "test.com");
  Event event = new Event("testproject", "testcollection", null, null, properties);
  List<Cookie> resp = mapper.map(event, EventMapper.RequestParams.EMPTY_PARAMS, InetAddress.getLocalHost(), null);
  assertNull(resp);
  assertNull(event.getAttribute("_referrer_source"));
  assertNull(event.getAttribute("_referrer_term"));
  assertEquals("internal", event.getAttribute("_referrer_medium"));
  GenericData.get().validate(properties.getSchema(), properties);
}

代码示例来源:origin: rakam-io/rakam

@Test(dataProvider = "google-ips")
public void testEventMapper(Map<String, Object> props, InetAddress address)
    throws Exception {
  MaxmindGeoIPEventMapper mapper = new MaxmindGeoIPEventMapper(new MaxmindGeoIPModuleConfig());
  FieldDependencyBuilder builder = new FieldDependencyBuilder();
  mapper.addFieldDependency(builder);
  ImmutableList<Schema.Field> build = ImmutableList.<Schema.Field>builder()
      .addAll(builder.build().dependentFields.get("_ip").stream()
          .map(AvroUtil::generateAvroField).collect(Collectors.toList()))
      .add(new Schema.Field("_ip", Schema.create(NULL), null, null))
      .build();
  Record properties = new Record(Schema.createRecord(build));
  props.forEach(properties::put);
  Event event = new Event("testproject", "testcollection", null, null, properties);
  List<Cookie> resp = mapper.map(event, EventMapper.RequestParams.EMPTY_PARAMS, address, null);
  assertTrue(resp == null);
  assertTrue(event.properties().getSchema().getField("_country_code") != null);
  assertTrue(event.properties().getSchema().getField("_city") != null);
  assertTrue(event.properties().getSchema().getField("_timezone") != null);
  assertTrue(event.getAttribute("_latitude") instanceof Double);
  assertTrue(event.properties().getSchema().getField("_region") != null);
  assertTrue(event.getAttribute("_longitude") instanceof Double);
  GenericData.get().validate(properties.getSchema(), properties);
}

代码示例来源:origin: rakam-io/rakam

@Test(dataProvider = "google-ips")
public void testIspEventMapper(Map<String, Object> props, InetAddress address)
    throws Exception {
  MaxmindGeoIPEventMapper mapper = new MaxmindGeoIPEventMapper(new MaxmindGeoIPModuleConfig()
      .setAttributes("")
      .setIspDatabaseUrl(new URL("https://github.com/maxmind/MaxMind-DB/raw/master/test-data/GeoIP2-ISP-Test.mmdb")));
  FieldDependencyBuilder builder = new FieldDependencyBuilder();
  mapper.addFieldDependency(builder);
  Record properties = new Record(Schema.createRecord(ImmutableList.of(
      new Schema.Field("_ip", Schema.create(NULL), null, null),
      new Schema.Field("__ip", Schema.create(STRING), null, null),
      new Schema.Field("_isp", Schema.create(STRING), null, null))));
  props.forEach(properties::put);
  Event event = new Event("testproject", "testcollection", null, null, properties);
  List<Cookie> resp = mapper.map(event, EventMapper.RequestParams.EMPTY_PARAMS, address, null);
  assertTrue(resp == null);
  assertEquals(event.getAttribute("_isp"), "Level 3 Communications");
  GenericData.get().validate(properties.getSchema(), properties);
}

代码示例来源:origin: rakam-io/rakam

@Test(dataProvider = "google-ips")
public void testConnectionTypeEventMapper(Map<String, Object> props, InetAddress address)
    throws Exception {
  MaxmindGeoIPEventMapper mapper = new MaxmindGeoIPEventMapper(new MaxmindGeoIPModuleConfig()
      .setAttributes("")
      .setConnectionTypeDatabaseUrl(new URL("https://github.com/maxmind/MaxMind-DB/raw/master/test-data/GeoIP2-Connection-Type-Test.mmdb")));
  FieldDependencyBuilder builder = new FieldDependencyBuilder();
  mapper.addFieldDependency(builder);
  Record properties = new Record(Schema.createRecord(ImmutableList.of(
      new Schema.Field("_ip", Schema.create(NULL), null, null),
      new Schema.Field("__ip", Schema.create(STRING), null, null),
      new Schema.Field("_connection_type", Schema.create(STRING), null, null))));
  props.forEach(properties::put);
  Event event = new Event("testproject", "testcollection", null, null, properties);
  List<Cookie> resp = mapper.map(event, EventMapper.RequestParams.EMPTY_PARAMS, address, null);
  assertTrue(resp == null);
  // TODO: find a reliable ip that can be mapped.
  assertNull(event.getAttribute("connection_type"));
  GenericData.get().validate(properties.getSchema(), properties);
}

代码示例来源:origin: rakam-io/rakam

new Event("project", "collection", null, ImmutableList.copyOf(collection), record1),
    new Event("project", "collection", null, ImmutableList.copyOf(collection), record2)));
assertEquals(actual, eventList);

相关文章