/** * Sends the specified state of a user session to Application Insights using {@link #trackEvent(String name)} as this method will be deprecated. * @param sessionState {@link com.microsoft.applicationinsights.telemetry.SessionState} * value indicating the state of a user session. * @deprecated This method will be deprecated in version 2.0.0 of the Java SDK. */ @Deprecated public void trackSessionState(SessionState sessionState) { this.trackEvent("Track Session State: " + sessionState.toString()); }
protected void serializeContent(JsonTelemetryDataSerializer writer) throws IOException { Preconditions.checkNotNull(writer, "writer must be a non-null value"); writer.write("ver", ver); writer.write("state", state.toString(), 1000); } }
private static void verifyEnvelope(SessionStateData sessionStateData, SessionState expectedState) throws IOException { Envelope envelope = new Envelope(); envelope.setName((new SessionStateTelemetry()).getEnvelopName()); Data<SessionStateData> tmp = new Data<SessionStateData>(); tmp.setBaseData(sessionStateData); tmp.setBaseType((new SessionStateTelemetry()).getBaseTypeName()); envelope.setData(tmp); StringWriter writer = new StringWriter(); JsonTelemetryDataSerializer jsonWriter = new JsonTelemetryDataSerializer(writer); envelope.serialize(jsonWriter); jsonWriter.close(); String asJson = writer.toString(); String expectedDataAsString = String.format("\"data\":{\"baseType\":\"SessionStateData\",\"baseData\":{\"ver\":2,\"state\":\"%s\"}}", expectedState.toString()); int index = asJson.indexOf(expectedDataAsString); assertTrue(index != -1); index = asJson.indexOf("\"name\":\"SessionState\""); assertTrue(index != -1); } }