📄 textmessageserializer.java
字号:
private void writeReplyLine(StringWriter writer,
ReadPointListReturnType rpList) {
List valueList = rpList.getReturnValue().getList().getValue();
writeStringListLine(writer, valueList);
}
private void writeReplyLine(StringWriter writer,
EventTypeListReturnValue evList) {
List valueList = evList.getReturnValue().getList().getValue();
writeStringListLine(writer, valueList);
}
private void writeReplyLine(StringWriter writer,
TriggerTypeListReturnType trgList) {
List valueList = trgList.getReturnValue().getList().getValue(); //?? stimmt dat nun?
writeStringListLine(writer, valueList);
}
private void writeReplyLine(StringWriter writer,
FieldNameListReturnType fnList) {
List valueList = fnList.getReturnValue().getList().getValue();
writeStringListLine(writer, valueList);
}
/**
* Serialize a ReadReport used in a reply.
*
* @param writer
* The output writer
* @param report
* The ReadReport
*/
private void writeReplyLine(StringWriter writer, ReadReportType report) {
List srcReportList = report.getSourceReport();
Iterator srcReportIt = srcReportList.iterator();
while (srcReportIt.hasNext()) {
SourceReport srcReport = (SourceReport) srcReportIt.next();
String sourceName = null;
if (srcReport.getSourceInfo() != null) {
SourceInfoType sourceInfo = srcReport.getSourceInfo();
sourceName = sourceInfo.getSourceName();
}
List tagList = srcReport.getTag();
Iterator tagListIt = tagList.iterator();
// Add all tags
while (tagListIt.hasNext()) {
/*
* a Vector of Strings with all attributes that have to be
* reported
*/
Vector reportAttributes = new Vector();
// --- Add the source name ---
if (sourceName != null) {
reportAttributes.add(sourceName);
}
// --- Add the tag properties ---
TagType tag = (TagType) tagListIt.next();
if (tag.getTagID() != null) {
byte[] tagID = tag.getTagID();
StringBuffer tagIDString = new StringBuffer();
for (int i = 0; i < tagID.length; i++) {
String hexString = Integer.toHexString(new Byte(tagID[i]).intValue()).toString().toUpperCase();
if (hexString.length() == 1) {
tagIDString.append("0");
}
tagIDString.append(hexString);
}
reportAttributes.add(tagIDString.toString());
}
if (tag.getTagIDAsPureURI() != null) {
reportAttributes.add(tag.getTagIDAsPureURI());
}
if (tag.getTagIDAsTagURI() != null) {
reportAttributes.add(tag.getTagIDAsTagURI());
}
if (tag.getTagType() != null) {
reportAttributes.add(tag.getTagType());
}
// --- Add the tag events ---
if (tag.getTagEvent() != null) {
Iterator tagEventIt = tag.getTagEvent().iterator();
while (tagEventIt.hasNext()) {
TagEventType tagEvent = (TagEventType) tagEventIt
.next();
if (tagEvent.getEventType() != null) {
reportAttributes.add(tagEvent.getEventType());
}
if (tagEvent.getTime() != null
&& tagEvent.getTime().getEventTimeTick() != null) {
reportAttributes.add(tagEvent.getTime()
.getEventTimeTick());
} else if (tagEvent.getTime() != null
&& tagEvent.getTime().getEventTimeUTC() != null) {
reportAttributes.add(toISO8601(xmlGregorianCalendarToCalendar(tagEvent.getTime()
.getEventTimeUTC())));
}
// TODO: Should we really report the event triggers???
// if (tagEvent.getEventTriggers() != null &&
// tagEvent.getEventTriggers().getTrigger() != null) {
// //add all the trigger names
// EventTriggersType eventTrigger =
// tagEvent.getEventTriggers();
// Iterator eventTriggerIt =
// eventTrigger.getTrigger().iterator();
// while(eventTriggerIt.hasNext()) {
// String triggerName = (String)eventTriggerIt.next();
// reportAttributes.add(triggerName);
// }
// }
}
}
// --- Add the tag fields ---
if (tag.getTagFields() != null) {
Iterator tagFieldIt = tag.getTagFields().iterator();
while (tagFieldIt.hasNext()) {
TagFieldValueParamType tfvp = (TagFieldValueParamType) tagFieldIt
.next();
// TODO: How to serialize the tagfield
// name-value-pairs??
if (tfvp.getTagFieldName() != null) {
reportAttributes.add(tfvp.getTagFieldName());
}
if (tfvp.getTagFieldValue() != null) {
reportAttributes.add(new String(tfvp
.getTagFieldValue()));
}
}
}
// --- Serialize the tag line ---
writeTagLine(writer, reportAttributes);
}
}
}
/**
* Serialize a ReadReport used in a notification.
*
* @param writer
* The output writer
* @param report
* The ReadReport
*/
private void writeReplyLine(StringWriter writer,
org.fosstrak.reader.rprm.core.msg.notification.ReadReportType report) {
List srcReportList = report.getSourceReport();
Iterator srcReportIt = srcReportList.iterator();
while (srcReportIt.hasNext()) {
org.fosstrak.reader.rprm.core.msg.notification.ReadReportType.SourceReport srcReport = (org.fosstrak.reader.rprm.core.msg.notification.ReadReportType.SourceReport) srcReportIt
.next();
String sourceName = null;
if (srcReport.getSourceInfo() != null) {
org.fosstrak.reader.rprm.core.msg.notification.SourceInfoType sourceInfo = srcReport
.getSourceInfo();
sourceName = sourceInfo.getSourceName();
}
List tagList = srcReport.getTag();
Iterator tagListIt = tagList.iterator();
// Add all tags
while (tagListIt.hasNext()) {
/*
* a Vector of Strings with all attributes that have to be
* reported
*/
Vector reportAttributes = new Vector();
// --- Add the source name ---
if (sourceName != null) {
reportAttributes.add(sourceName);
}
// --- Add the tag properties ---
org.fosstrak.reader.rprm.core.msg.notification.TagType tag = (org.fosstrak.reader.rprm.core.msg.notification.TagType) tagListIt
.next();
if (tag.getTagID() != null) {
reportAttributes.add(new String(tag.getTagID()));
}
if (tag.getTagIDAsPureURI() != null) {
reportAttributes.add(tag.getTagIDAsPureURI());
}
if (tag.getTagIDAsTagURI() != null) {
reportAttributes.add(tag.getTagIDAsTagURI());
}
if (tag.getTagType() != null) {
reportAttributes.add(tag.getTagType());
}
// --- Add the tag events ---
if (tag.getTagEvent() != null) {
Iterator tagEventIt = tag.getTagEvent().iterator();
while (tagEventIt.hasNext()) {
org.fosstrak.reader.rprm.core.msg.notification.TagEventType tagEvent = (org.fosstrak.reader.rprm.core.msg.notification.TagEventType) tagEventIt
.next();
if (tagEvent.getEventType() != null) {
reportAttributes.add(tagEvent.getEventType());
}
if (tagEvent.getTime() != null
&& tagEvent.getTime().getEventTimeTick() != null) {
reportAttributes.add(tagEvent.getTime()
.getEventTimeTick());
} else if (tagEvent.getTime() != null
&& tagEvent.getTime().getEventTimeUTC() != null) {
reportAttributes.add(toISO8601(xmlGregorianCalendarToCalendar(tagEvent.getTime().getEventTimeUTC())));
}
// TODO: Should we really report the event triggers???
// if (tagEvent.getEventTriggers() != null &&
// tagEvent.getEventTriggers().getTrigger() != null) {
// //add all the trigger names
// org.fosstrak.reader.msg.notification.EventTriggersType
// eventTrigger = tagEvent.getEventTriggers();
// Iterator eventTriggerIt =
// eventTrigger.getTrigger().iterator();
// while(eventTriggerIt.hasNext()) {
// String triggerName = (String)eventTriggerIt.next();
// reportAttributes.add(triggerName);
// }
// }
}
}
// --- Add the tag fields ---
if (tag.getTagFields() != null) {
Iterator tagFieldIt = tag.getTagFields().iterator();
while (tagFieldIt.hasNext()) {
org.fosstrak.reader.rprm.core.msg.notification.TagFieldValueParamType tfvp = (org.fosstrak.reader.rprm.core.msg.notification.TagFieldValueParamType) tagFieldIt
.next();
// TODO: How to serialize the tagfield
// name-value-pairs??
if (tfvp.getTagFieldName() != null) {
reportAttributes.add(tfvp.getTagFieldName());
}
if (tfvp.getTagFieldValue() != null) {
reportAttributes.add(new String(tfvp
.getTagFieldValue()));
}
}
}
// --- Serialize the tag line ---
writeTagLine(writer, reportAttributes);
}
}
}
/**
* Writes a tag line of a read report to the output writer. The attributes
* are delimited by ","
*
* @param writer
* The output writer
* @param reportAttributes
* A Vector of String with the attributes.
*/
private void writeTagLine(StringWriter writer, Vector reportAttributes) {
StringBuffer sBuf = new StringBuffer();
Iterator attributesIt = reportAttributes.iterator();
while (attributesIt.hasNext()) {
sBuf.append((String) attributesIt.next());
if (attributesIt.hasNext()) {
sBuf.append(COMMA);
}
}
writeReplyLine(writer, sBuf.toString());
}
/**
* Serialize all non-void ReaderDevice commands.
*
* @param reply
* @return
*/
private String serializeReaderDevice(ReaderDeviceReply reply) {
StringWriter writer = new StringWriter();
if (reply.getGetEPC() != null) {
EpcReturnType epcType = reply.getGetEPC();
writeReplyLine(writer, epcType.getReturnValue().getValue());
} else if (reply.getGetManufacturer() != null) {
writeReplyLine(writer, reply.getGetManufacturer());
} else if (reply.getGetModel() != null) {
writeReplyLine(writer, reply.getGetModel());
} else if (reply.getGetHandle() != null) {
writeReplyLine(writer, reply.getGetHandle());
} else if (reply.getGetName() != null) {
writeReplyLine(writer, reply.getGetName());
} else if (reply.getGetRole() != null) {
writeReplyLine(writer, reply.getGetRole());
} else if (reply.getGetTimeTicks() != null) {
writeReplyLine(writer, reply.getGetTimeTicks());
} else if (reply.getGetTimeUTC() != null) {
writeReplyLine(writer, reply.getGetTimeUTC());
} else if (reply.getGetManufacturerDescription() != null) {
writeReplyLine(writer, reply.getGetManufacturerDescription());
} else if (reply.getGetCurrentSource() != null) {
SourceReturnType src = reply.getGetCurrentSource();
writeReplyLine(writer, src.getReturnValue());
} else if (reply.getGetCurrentDataSelector() != null) {
DataSelectorReturnType ds = reply.getGetCurrentDataSelector();
writeReplyLine(writer, ds.getReturnValue());
} else if (reply.getGetSource() != null) {
SourceReturnType src = reply.getGetSource();
writeReplyLine(writer, src.getReturnValue());
} else if (reply.getGetAllSources() != null) {
writeReplyLine(writer, reply.getGetAllSources());
} else if (reply.getGetDataSelector() != null) {
DataSelectorReturnType ds = reply.getGetDataSelector();
writeReplyLine(writer, ds.getReturnValue());
} else if (reply.getGetAllDataSelectors() != null) {
writeReplyLine(writer, reply.getGetAllDataSelectors());
} else if (reply.getGetNotificationChannel() != null) {
NotificationChannelReturnType nc = reply
.getGetNotificationChannel();
writeReplyLine(writer, nc.getReturnValue());
} else if (reply.getGetAllNotificationChannels() != null) {
writeReplyLine(writer, reply.getGetAllNotificationChannels());
} else if (reply.getGetTrigger() != null) {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -