本文整理了Java中com.hurence.logisland.record.Record.getField
方法的一些代码示例,展示了Record.getField
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Record.getField
方法的具体详情如下:
包路径:com.hurence.logisland.record.Record
类名称:Record
方法名:getField
暂无
代码示例来源:origin: com.hurence.logisland/logisland-common-processors-plugin
@Override
public void buildId(Record record) {
StringBuilder stb = new StringBuilder();
for (String fieldName : fieldsForHash) {
stb.append(record.getField(fieldName).asString());
}
digest.update(stb.toString().getBytes(charset));
byte[] digested = digest.digest();
final String hashString = new String(digested, charset);
final String recordType = record.getField(FieldDictionary.RECORD_TYPE).asString();
final String recordTime = record.getField(FieldDictionary.RECORD_TIME).asString();
final String newId = String.format("%s-%s-%s", recordType, recordTime, hashString);
record.setId(newId);
}
};
代码示例来源:origin: com.hurence.logisland/logisland-common-processors-plugin
/**
* Retrieve the record field value
* @param fieldName The name of the string field
* @return The value of the field or null if the field is not present in the record
*/
private String getStringField(Record record, String fieldName)
{
Field field = record.getField(fieldName);
if (field != null)
{
return field.asString();
}
else
{
return null;
}
}
代码示例来源:origin: com.hurence.logisland/logisland-common-processors-plugin
@Override
public void buildId(Record record) {
StringBuilder stb = new StringBuilder();
for (String fieldName : fieldsForHash) {
if (record.hasField(fieldName))
stb.append(record.getField(fieldName).asString());
}
digest.update(stb.toString().getBytes(charset));
byte[] digested = digest.digest();
StringBuffer hexString = new StringBuffer();
for (int i = 0; i < digested.length; i++) {
hexString.append(Integer.toHexString(0xFF & digested[i]));
}
record.setId(hexString.toString());
}
};
代码示例来源:origin: com.hurence.logisland/logisland-common-processors-plugin
private void extractAndParsePropertiesField(Record outputRecord, String propertiesField) {
Field field = outputRecord.getField(propertiesField);
if (field != null) {
String str = field.getRawValue().toString();
Matcher matcher = PROPERTIES_SPLITTER_PATTERN.matcher(str);
while (matcher.find()) {
if (matcher.groupCount() == 2) {
String key = matcher.group(1);
String value = matcher.group(2).trim();
// logger.debug(String.format("field %s = %s", key, value));
outputRecord.setField(key, FieldType.STRING, value);
}
}
outputRecord.removeField("properties");
}
}
代码示例来源:origin: com.hurence.logisland/logisland-sampling-plugin
public Double getRecordValue(Record record){
if (record.hasField(valueFieldName)) {
return record.getField(valueFieldName).asDouble();
}else{
return null;
}
}
代码示例来源:origin: com.hurence.logisland/logisland-cache_key_value-service-api
@Override
public void bulkPut(String collectionName, Record record) throws DatastoreClientServiceException {
set(record.getField(rowKey).asString(), record);
}
代码示例来源:origin: com.hurence.logisland/logisland-cache_key_value-service-api
@Override
public Record get(String collectionName, Record record) throws DatastoreClientServiceException {
if (record.hasField(rowKey)) {
return get(record.getField(rowKey).asString());
} else {
logger.error("field " + rowKey + " not found in record " + record.toString());
return null;
}
}
代码示例来源:origin: com.hurence.logisland/logisland-sampling-plugin
public Long getRecordTime(Record record){
if (record.hasField(timeFieldName)) {
return record.getField(timeFieldName).asLong();
}else{
return null;
}
}
代码示例来源:origin: com.hurence.logisland/logisland-cache_key_value-service-api
@Override
public void put(String collectionName, Record record, boolean asynchronous) throws DatastoreClientServiceException {
set(record.getField(rowKey).asString(), record);
}
代码示例来源:origin: com.hurence.logisland/logisland-common-processors-plugin
@Override
public Collection<Record> process(ProcessContext context, Collection<Record> records) {
String fieldToFilterOn = context.getPropertyValue(FILTERING_FIELD).asString();
Collection<Record> outputRecords = records.stream().filter(record -> !record.hasField(fieldToFilterOn)).collect(Collectors.toList());
try {
outputRecords.addAll(
records.stream()
.filter(distinctByKey(record -> record.getField(fieldToFilterOn)))
.collect(Collectors.toList()));
} catch (Exception ex) {
logger.warn("issue while trying to remove field list {} : {}",
context.getPropertyValue(FILTERING_FIELD).asString(),
ex.toString());
}
return outputRecords;
}
代码示例来源:origin: com.hurence.logisland/logisland-common-processors-plugin
@Override
public Collection<Record> process(ProcessContext context, Collection<Record> records) {
String fieldName = context.getPropertyValue(FIELD_NAME).asString();
String fieldValue = context.getPropertyValue(FIELD_VALUE).asString();
return records.stream()
.filter(record -> record.hasField(fieldName) && record.getField(fieldName).asString().equals(fieldValue))
.collect(Collectors.toList());
}
代码示例来源:origin: com.hurence.logisland/logisland-common-processors-plugin
private void extractValueFields(String[] valueFields, Record outputRecord, Matcher valueMatcher, ProcessContext context) {
String conflictPolicy = context.getPropertyValue(CONFLICT_RESOLUTION_POLICY).asString();
for (int i = 0; i < Math.min(valueMatcher.groupCount() + 1, valueFields.length); i++) {
String content = valueMatcher.group(i + 1);
String fieldName = valueFields[i];
if (content != null) {
if (outputRecord.hasField(fieldName) &&
(outputRecord.getField(fieldName).asString() != null) &&
(! outputRecord.getField(fieldName).asString().isEmpty())) {
if (conflictPolicy.equals(OVERWRITE_EXISTING.getValue())) {
outputRecord.setStringField(fieldName, content.replaceAll("\"", ""));
}
}
else {
outputRecord.setStringField(fieldName, content.replaceAll("\"", ""));
}
}
}
}
代码示例来源:origin: com.hurence.logisland/logisland-common-processors-plugin
private void overwriteObsoleteFieldValue(Record record, String fieldName, String newValue) {
final Field fieldToUpdate = record.getField(fieldName);
record.removeField(fieldName);
record.setField(fieldName, fieldToUpdate.getType(), newValue);
}
代码示例来源:origin: com.hurence.logisland/logisland-web-analytics-plugin
String first_visited_page_field = context.getPropertyValue(FIRST_VISITED_PAGE_FIELD).asString();
if (record.hasField(first_visited_page_field)){
String first_page = record.getField(first_visited_page_field).asString();
URL first_page_url = null;
try {
代码示例来源:origin: com.hurence.logisland/logisland-common-processors-plugin
@Override
public Collection<Record> process(ProcessContext context, Collection<Record> records) {
List<Record> outputRecords = (List<Record>) super.process(context, records);
String propertiesField = context.getPropertyValue(PROPERTIES_FIELD).asString();
for (Record outputRecord : outputRecords) {
Field field = outputRecord.getField(propertiesField);
if (field != null) {
String str = field.getRawValue().toString();
Matcher matcher = PROPERTIES_SPLITTER_PATTERN.matcher(str);
while (matcher.find()) {
if (matcher.groupCount() == 2) {
String key = matcher.group(1);
String value = matcher.group(2);
// logger.debug(String.format("field %s = %s", key, value));
outputRecord.setField(key, FieldType.STRING, value);
}
}
outputRecord.removeField("properties");
}
}
return outputRecords;
}
代码示例来源:origin: com.hurence.logisland/logisland-sampling-plugin
/**
* retrun the same record as input by keeping only time and value fields.
*
* @param record
* @return
*/
public Record getTimeValueRecord(Record record){
Record tvRecord = new StandardRecord(record.getType());
Double value = getRecordValue(record);
if(value != null)
tvRecord.setField(valueFieldName, record.getField(valueFieldName).getType(), value);
Long time = getRecordTime(record);
if(time != null)
tvRecord.setField(timeFieldName, record.getField(timeFieldName).getType(), time);
return tvRecord;
}
}
代码示例来源:origin: com.hurence.logisland/logisland-common-processors-plugin
private void overwriteObsoleteFieldName(Record record, String normalizedFieldName, String obsoleteFieldName) {
// remove old badly named field
if (record.hasField(obsoleteFieldName)) {
final Field fieldToRename = record.getField(obsoleteFieldName);
record.removeField(obsoleteFieldName);
record.setField(normalizedFieldName, fieldToRename.getType(), fieldToRename.getRawValue());
}
}
代码示例来源:origin: com.hurence.logisland/logisland-common-processors-plugin
private void extractValueFields(String valueField, Record outputRecord, String[] values, ProcessContext context) {
String conflictPolicy = context.getPropertyValue(CONFLICT_RESOLUTION_POLICY).asString();
String fieldName = valueField;
if (outputRecord.hasField(fieldName) &&
(outputRecord.getField(fieldName).asString() != null) &&
(! outputRecord.getField(fieldName).asString().isEmpty())) {
if (conflictPolicy.equals(OVERWRITE_EXISTING.getValue())) {
//outputRecord.setStringField(fieldName, content.replaceAll("\"", ""));
outputRecord.setField(fieldName, FieldType.ARRAY, values);
if (this.isEnabledSplitCounter){
outputRecord.setField(fieldName+this.splitCounterSuffix, FieldType.INT, values.length);
}
}
}
else {
outputRecord.setField(fieldName, FieldType.ARRAY, values);
//outputRecord.setStringField(fieldName, content.replaceAll("\"", ""));
if (this.isEnabledSplitCounter){
outputRecord.setField(fieldName+this.splitCounterSuffix, FieldType.INT, values.length);
}
}
}
代码示例来源:origin: com.hurence.logisland/logisland-cache_key_value-service-api
@Override
public List<MultiGetResponseRecord> multiGet(List<MultiGetQueryRecord> multiGetQueryRecords) throws DatastoreClientServiceException {
List<MultiGetResponseRecord> results = new ArrayList<>();
for (MultiGetQueryRecord mgqr : multiGetQueryRecords) {
String collectionName = mgqr.getIndexName();
String typeName = mgqr.getTypeName();
for (String id : mgqr.getDocumentIds()) {
Record record = get(collectionName, new StandardRecord().setStringField(rowKey, id));
Map<String, String> retrievedFields = new HashMap<>();
if (record != null) {
if (mgqr.getFieldsToInclude()[0].equals("*")) {
for (Field field : record.getAllFieldsSorted()) {
if (!field.getName().equals(FieldDictionary.RECORD_TIME) &&
!field.getName().equals(FieldDictionary.RECORD_TYPE) &&
!field.getName().equals(FieldDictionary.RECORD_ID))
retrievedFields.put(field.getName(), field.asString());
}
} else {
for (String prop : mgqr.getFieldsToInclude()) {
retrievedFields.put(prop, record.getField(prop).asString());
}
}
} else {
logger.debug("unable to retrieve record (id=" + id + ") from collection " + collectionName);
}
results.add(new MultiGetResponseRecord(collectionName, typeName, id, retrievedFields));
}
}
return results;
}
代码示例来源:origin: com.hurence.logisland/logisland-common-processors-plugin
@Override
public void buildId(Record record) {
final Object[] valuesForFormat = new Object[fieldsForFormat.length];
for (int i = 0; i < valuesForFormat.length; i++) {
if (!record.hasField(fieldsForFormat[i])) {
List<String> fieldsName = Lists.newArrayList(fieldsForFormat);
record.addError(ProcessError.CONFIG_SETTING_ERROR.getName(),
String.format("could not build id with format : '%s' \nfields: '%s' \n because " +
"field: '%s' does not exist", format, fieldsName, fieldsForFormat[i]));
return;
}
valuesForFormat[i] = record.getField(fieldsForFormat[i]).getRawValue();
}
try {
record.setId(String.format(local, format, valuesForFormat));
} catch (IllegalFormatException e) {
// If a format string contains an illegal syntax, a format specifier that is incompatible with the given arguments,
// insufficient arguments given the format string, or other illegal conditions.
// For specification of all possible formatting errors, see the Details section of the formatter class specification.
record.addError(ProcessError.STRING_FORMAT_ERROR.getName(), e.getMessage());
} catch (NullPointerException e) {//should not happen
record.addError(ProcessError.CONFIG_SETTING_ERROR.getName(), e.getMessage());
}
}
};
内容来源于网络,如有侵权,请联系作者删除!