/** * Initializes a new instance of the LogRecord class using a LogRecordStreamReader to populate. * * @param reader * the LogRecordStreamReader to use to populate the LogRecord. * @throws IOException * @throws ParseException * @throws URISyntaxException */ protected LogRecord(LogRecordStreamReader reader) throws IOException, ParseException, URISyntaxException { LAST_MODIFIED_TIME_FORMAT.setTimeZone(TimeZone.getTimeZone("GMT")); REQUEST_START_TIME_FORMAT.setTimeZone(TimeZone.getTimeZone("GMT")); Utility.assertNotNull("reader", reader); this.versionNumber = reader.readString(); Utility.assertNotNullOrEmpty("versionNumber", this.versionNumber); if (this.versionNumber.equals("1.0")) { this.populateVersion1Log(reader); } else { throw new IllegalArgumentException(String.format(SR.LOG_VERSION_UNSUPPORTED, this.versionNumber)); } }
public static void assertLogItemsEqual(LogRecord expected, LogRecord actual) { assertEquals(expected.getVersionNumber(), actual.getVersionNumber()); assertEquals(expected.getRequestStartTime(), actual.getRequestStartTime()); assertEquals(expected.getOperationType(), actual.getOperationType()); assertEquals(expected.getRequestStatus(), actual.getRequestStatus()); assertEquals(expected.getHttpStatusCode(), actual.getHttpStatusCode()); assertEquals(expected.getEndToEndLatencyInMS(), actual.getEndToEndLatencyInMS()); assertEquals(expected.getServerLatencyInMS(), actual.getServerLatencyInMS()); assertEquals(expected.getAuthenticationType(), actual.getAuthenticationType()); assertEquals(expected.getRequesterAccountName(), actual.getRequesterAccountName()); assertEquals(expected.getOwnerAccountName(), actual.getOwnerAccountName()); assertEquals(expected.getServiceType(), actual.getServiceType()); assertEquals(expected.getRequestUrl(), actual.getRequestUrl()); assertEquals(expected.getRequestedObjectKey(), actual.getRequestedObjectKey()); assertEquals(expected.getRequestIdHeader(), actual.getRequestIdHeader()); assertEquals(expected.getOperationCount(), actual.getOperationCount()); assertEquals(expected.getRequesterIPAddress(), actual.getRequesterIPAddress()); assertEquals(expected.getRequestVersionHeader(), actual.getRequestVersionHeader()); assertEquals(expected.getRequestHeaderSize(), actual.getRequestHeaderSize()); assertEquals(expected.getRequestPacketSize(), actual.getRequestPacketSize()); assertEquals(expected.getResponseHeaderSize(), actual.getResponseHeaderSize()); assertEquals(expected.getResponsePacketSize(), actual.getResponsePacketSize()); assertEquals(expected.getRequestContentLength(), actual.getRequestContentLength()); assertEquals(expected.getRequestMD5(), actual.getRequestMD5()); assertEquals(expected.getServerMD5(), actual.getServerMD5()); assertEquals(expected.getETagIdentifier(), actual.getETagIdentifier()); assertEquals(expected.getLastModifiedTime(), actual.getLastModifiedTime()); assertEquals(expected.getConditionsUsed(), actual.getConditionsUsed()); assertEquals(expected.getUserAgentHeader(), actual.getUserAgentHeader());
LogRecord expectedItemOne = new LogRecord(); expectedItemOne.setVersionNumber("1.0"); expectedItemOne.setRequestStartTime(LogRecord.REQUEST_START_TIME_FORMAT.parse("2011-08-09T18:52:40.9241789Z")); expectedItemOne.setOperationType("GetBlob"); expectedItemOne.setRequestStatus("AnonymousSuccess"); expectedItemOne.setHttpStatusCode("200"); expectedItemOne.setEndToEndLatencyInMS(18); expectedItemOne.setServerLatencyInMS(10); expectedItemOne.setAuthenticationType("anonymous"); expectedItemOne.setRequesterAccountName(null); expectedItemOne.setOwnerAccountName("myaccount"); expectedItemOne.setServiceType("blob"); expectedItemOne.setRequestUrl(new URI( "https://myaccount.blob.core.windows.net/thumb&nails/lake.jpg?timeout=30000")); expectedItemOne.setRequestedObjectKey("/myaccount/thumbnails/lake.jpg"); expectedItemOne.setRequestIdHeader(UUID.fromString("a84aa705-8a85-48c5-b064-b43bd22979c3")); expectedItemOne.setOperationCount(0); expectedItemOne.setRequesterIPAddress("123.100.2.10"); expectedItemOne.setRequestVersionHeader("2009-09-19"); expectedItemOne.setRequestHeaderSize(252L); expectedItemOne.setRequestPacketSize(0L); expectedItemOne.setResponseHeaderSize(265L); expectedItemOne.setResponsePacketSize(100L); expectedItemOne.setRequestContentLength(0L); expectedItemOne.setRequestMD5(null); expectedItemOne.setServerMD5(null); expectedItemOne.setETagIdentifier("0x8CE1B6EA95033D5"); expectedItemOne.setLastModifiedTime(LogRecord.LAST_MODIFIED_TIME_FORMAT .parse("Tuesday, 09-Aug-11 18:52:40 GMT"));
this.pendingLogRecord = new LogRecord(this.reader); this.isLogRecordPending = true; return true;
this.pendingLogRecord = new LogRecord(this.reader); this.isLogRecordPending = true; return true;
/** * Initializes a new instance of the LogRecord class using a LogRecordStreamReader to populate. * * @param reader * the LogRecordStreamReader to use to populate the LogRecord. * @throws IOException * @throws ParseException * @throws URISyntaxException */ protected LogRecord(LogRecordStreamReader reader) throws IOException, ParseException, URISyntaxException { LAST_MODIFIED_TIME_FORMAT.setTimeZone(TimeZone.getTimeZone("GMT")); REQUEST_START_TIME_FORMAT.setTimeZone(TimeZone.getTimeZone("GMT")); Utility.assertNotNull("reader", reader); this.versionNumber = reader.readString(); Utility.assertNotNullOrEmpty("versionNumber", this.versionNumber); if (this.versionNumber.equals("1.0")) { this.populateVersion1Log(reader); } else { throw new IllegalArgumentException(String.format(SR.LOG_VERSION_UNSUPPORTED, this.versionNumber)); } }