<%@page session="true" %> <%@page import="com.ikatun.reimaginings.artlogic.Conversation" %> <%@page import="com.ikatun.reimaginings.artlogic.ConversationLinks" %> <%@page import="com.ikatun.reimaginings.artlogic.History" %> <%@page import="com.ikatun.reimaginings.artlogic.Html" %> <%@page import="com.ikatun.reimaginings.artlogic.Keyword" %> <%@page import="com.ikatun.reimaginings.artlogic.Line" %> <%@page import="com.ikatun.reimaginings.artlogic.Ranking" %> <%@page import="com.ikatun.reimaginings.artlogic.Speaker" %> <%@page import="java.net.URLEncoder" %> <%@page import="java.text.DateFormat" %> <%@page import="java.text.SimpleDateFormat" %> <%@page import="java.util.Calendar" %> <%@page import="java.util.Date" %> <%@page import="java.util.Iterator" %> <%@page import="java.util.List" %> <% String id = request.getParameter("conversationId"); String f = request.getParameter("f") == null ? "" : request.getParameter("f"); if (id == null || id.length() < 1) { response.sendError(HttpServletResponse.SC_NOT_FOUND, "Missing parameter `conversationId'."); return; } boolean submit = request.getParameter("is_submit") != null; Conversation conversation = null; try { conversation = Conversation.get(Integer.parseInt(id)); } catch (Exception e) { e.printStackTrace(); } if (conversation == null) { response.sendError(HttpServletResponse.SC_NOT_FOUND, "No conversation wtih ID `" + id + "'."); return; } DateFormat format = DateFormat.getDateInstance(DateFormat.FULL); Speaker speaker1 = conversation.speaker1; Speaker speaker2 = conversation.speaker2; List lines = conversation.lines; List keywords = conversation.keywords; ConversationLinks links = new ConversationLinks(conversation); links.init(); History history = (History) session.getAttribute(History.class.getName()); if (history == null) { history = History.createNew(); session.setAttribute(History.class.getName(), history); } Date today = Calendar.getInstance().getTime(); if (!submit) { //don't update history on the submit history.update(conversation); } else { //submit comments to rankings table int ranking1 = request.getParameter("ranking1") == null ? -1 : Integer.parseInt(request.getParameter("ranking1")); int ranking2 = request.getParameter("ranking2") == null ? -1 : Integer.parseInt(request.getParameter("ranking2")); int ranking3 = request.getParameter("ranking3") == null ? -1 : Integer.parseInt(request.getParameter("ranking3")); String comments = request.getParameter("comments"); String posted_by = request.getRemoteHost(); Ranking ranking = Ranking.createNewRanking( conversation.getId(), posted_by, new java.sql.Date(today.getTime()), ranking1, ranking2, ranking3, comments, Ranking.NODAL_MODEL ); ranking.save(); } List rankings = Ranking.getRankings(conversation.getId(), Ranking.NODAL_MODEL); %> reimaginings
The NODAL MODEL (Nom), like the Reenactment Model, provides finer-grained, color-coded insight into the raw conversational data and individual lines of language provided by human subjects. The Reimaginings Prism Engine - RPE 2004 rX - uses the Nom to create a rich web of meaningful associations between Newtonian spectrum data and Instant Messaging data from different conversations. Hyperlinking meta-data to form nodal rhizomes is one of the core computational functions of RPE 2004 rX. Filling out the HUMAN SURVEY DATA COLLECTION below will provide vital human input and oversight of the generative algoritms of the Reimaginings Prism Engine - RPE 2004 rX.

To hear individual lines performed please turn your speakers on and your volume up before clicking them.

*REENACTMENT MODEL*

*NODAL MODEL*
<% if (lines == null || lines.isEmpty()) { %> There is no Nodal Spectrum available for this conversation. <%} else { for (Iterator iter = lines.iterator(); iter.hasNext();) { Line line = (Line)iter.next(); String text = line.text; while(text.indexOf('/') != -1) { text = text.substring(0, text.indexOf('/')) + "\\ " + text.substring( text.indexOf('/') + 1, text.length()); } %> <%}//end for loop } //end printing out spectrum line colors%>
">"> <%= text%>

* rModels*

Reenactment Model:   Rm-<%= conversation.getId() %>
Chronological Model:   Cm-<%= history.getId() %>
Newtonian Model:   Nem- <% if (links.colorId != -1) { %> <%= Html.escape(conversation.color) %> <% } else { %> <%= Html.escape(conversation.color) %> <% } %>



NODAL MODEL: Nom-<%= Html.escape(id) %>*

<% Line firstLine = null; if (lines != null && !lines.isEmpty()) firstLine = (Line) lines.get(0); %>
Voices:   <% if (links.speaker1Id != -1) { %> <%= Html.escape(speaker1.handle) %> <% } else { %> <%= Html.escape(speaker1.handle) %> <% } %> and <% if (links.speaker2Id != -1) { %> <%= Html.escape(speaker2.handle) %> <% } else { %> <%= Html.escape(speaker2.handle) %> <% } %>
Title:   <% if (conversation.title != null) { %> <%= Html.escape(conversation.title) %> <% } else { %>   <% } %>
Color:   <% if (links.colorId != -1) { %> <%= Html.escape(conversation.color) %> <% } else { %> <%= Html.escape(conversation.color) %> <% } %>
First line:   <% if (firstLine != null ) { %> <%= Html.escape(firstLine.text) %> <% } else { %>   <% } %>
Date:   <% if (conversation.date_of_conversation != null) { %> <% if (links.dateId != -1) { %> <%= format.format(conversation.date_of_conversation) %> <% } else { %> <%= format.format(conversation.date_of_conversation) %> <% } %> <% } else { %>   <% } %>
Date Collected:   <% if (conversation.date_uploaded != null) { %> <% if (links.uploadDateId != -1) { %> <%= format.format(conversation.date_uploaded) %> <% } else { %> <%= format.format(conversation.date_uploaded) %> <% } %> <%} else { %>   <% } %>
Locations:   <% if (speaker1.location != null) { %> <% if (links.location1Id != -1) { %> <%= Html.escape(speaker1.location) %> <% } else { %> <%= Html.escape(speaker1.location) %> <% } %> <% if (speaker2.location != null) { %> and <% } %> <% } %> <% if (speaker2.location != null) { %> <% if (links.location2Id != -1) { %> <%= Html.escape(speaker2.location) %> <% } else { %> <%= Html.escape(speaker2.location) %> <% } %> <% } %>  
Keywords:   <% if (!keywords.isEmpty()) { %> <% for (Iterator i = keywords.iterator(); i.hasNext(); ) { Keyword kw = (Keyword) i.next(); int keywordId = links.getKeywordId(kw); %> <% if (keywordId != -1) { %> <%= Html.escape(kw.keyword) %><% } else { %> <%= Html.escape(kw.keyword) %><% } if (i.hasNext()) { %>,<% } %> <% } %> <% } else { %>   <% } %>
     
<% if (!submit ) { %>

*HUMAN SURVEY DATA COLLECTION*

Please contribute to the evolution of the Reimaginings Prism Engine (tm) by filling out this brief survey.

Correlation of NOm-<%= conversation.getId() %> spectrum to rSpectrum 2.0:
1 2 3 4 5 6 7
(1 - Strong, 7 - Weak)
Perfection Index:
(rXNCRel - Newtonian Correspondance Relevancy)
Perfect Not perfect
How do you feel about NOm-<%= conversation.getId() %> spectrum above?
(rXPsychIDX - Inner emotional state):
Good Bad
Qualitative comments:
<%}%>

*HUMAN SURVEY DATA COLLECTION RESULTS*
<% for (int i= rankings.size() - 1; i >= 0; i-- ) { Ranking ranking = (Ranking)rankings.get(i); %>

HDCSR-<%= ranking.getId()%>

Date Collected: <%= ranking.date_posted%>

Human Subject ID: <%= ranking.posted_by%>

Correlation Index: <%= ranking.ranking1%>

Perfection Index (rXNCRel): <%= ranking.ranking2%> <%= ranking.ranking2 == 0 ? "(Not perfect)" : ranking.ranking2 == 1 ? "(Perfect)" : "(unanswered)"%>

Psychological Index (rXPsychIDX): <%= ranking.ranking3%> <%= ranking.ranking3 == 0 ? "(Bad)" : ranking.ranking3 == 1 ? "(Good)" : "(unanswered)"%>

Input: <%= ranking.comments%>


<% } %>