1. Refactored/Cleaned the front-end for the co-author vis.

2. Added Gson library for making use of json. 
3. Added capability to send information in json format. We will use this especially in getting non-specific information on the fly about an individual.
This commit is contained in:
cdtank 2010-06-29 22:07:55 +00:00
parent e58927661e
commit 94755a7f73
7 changed files with 345 additions and 231 deletions

View file

@ -7,8 +7,10 @@ import java.util.Map;
import java.util.Set;
import java.util.TreeMap;
import com.google.gson.Gson;
import com.hp.hpl.jena.iri.IRIFactory;
import edu.cornell.mannlib.vitro.webapp.visualization.valueobjects.GenericQueryMap;
import edu.cornell.mannlib.vitro.webapp.visualization.valueobjects.Node;
public class TestJava {
@ -46,10 +48,10 @@ public class TestJava {
}
Map<String, Integer> yearToPublicationCount = new TreeMap<String, Integer>();
// yearToPublicationCount.put("2003", 5);
// yearToPublicationCount.put("2001", 5);
// yearToPublicationCount.put("2002", 5);
// yearToPublicationCount.put("2090", 7);
yearToPublicationCount.put("2003", 5);
yearToPublicationCount.put("2001", 5);
yearToPublicationCount.put("2002", 5);
yearToPublicationCount.put("2090", 7);
yearToPublicationCount.put("Unknown", 6);
Node egoNode;
@ -97,12 +99,32 @@ public class TestJava {
}
GenericQueryMap stringToSetOfStrings = new GenericQueryMap();
stringToSetOfStrings.put("A", yearToPublicationCount.keySet());
stringToSetOfStrings.put("B", yearToPublicationCount.keySet());
stringToSetOfStrings.put("C", yearToPublicationCount.keySet());
stringToSetOfStrings.put("imageOffset", keySet);
Set<String> what = new HashSet<String>();
what.add("sup");
stringToSetOfStrings.put("imageOffset2", what);
String emptyString = "";
System.out.println(emptyString.isEmpty());
System.out.println(yearToPublicationCount);
System.out.println(stringToSetOfStrings);
Gson gson = new Gson();
String json = gson.toJson(stringToSetOfStrings);
System.out.println(json);
// System.out.println(Collections.max(yearToPublicationCount.keySet()));
// System.out.println(Collections.min(yearToPublicationCount.keySet()));

View file

@ -49,11 +49,6 @@ public class VisualizationRequestHandler {
String visContainer = vitroRequest.getParameter(VisualizationFrameworkConstants.VIS_CONTAINER_URL_HANDLE);
System.out.println("******************************************************");
System.out.println(VisualizationFrameworkConstants.VIS_MODE_URL_HANDLE);
System.out.println(vitroRequest.getParameter(VisualizationFrameworkConstants.VIS_MODE_URL_HANDLE));
System.out.println(VisualizationFrameworkConstants.IMAGE_VIS_MODE_URL_VALUE);
QueryHandler queryManager =
new QueryHandler(egoURIParam,
resultFormatParam,

View file

@ -14,6 +14,7 @@ import javax.servlet.http.HttpServletResponse;
import org.apache.commons.logging.Log;
import com.google.gson.Gson;
import com.hp.hpl.jena.query.DataSource;
import edu.cornell.mannlib.vitro.webapp.beans.Portal;
@ -51,6 +52,7 @@ public class VisualizationRequestHandler {
String visMode = vitroRequest.getParameter(VisualizationFrameworkConstants.VIS_MODE_URL_HANDLE);
String profileInfoMode = "PROFILE_INFO";
String profileVisMode = "PROFILE_URL";
String coAuthorVisMode = "COAUTHORSHIP_URL";
String imageVisMode = "IMAGE_URL";
@ -63,10 +65,50 @@ public class VisualizationRequestHandler {
try {
/*
* If the url being requested is about a standalone image, which is used when we want
* to render an image & other info for a co-author OR ego for that matter.
* If the info being requested is about a profile which includes the name, moniker
* & image url.
* */
if (imageVisMode.equalsIgnoreCase(visMode)) {
if (profileInfoMode.equalsIgnoreCase(visMode)) {
String filterRule = "?predicate = vitro:imageThumb || ?predicate = vitro:moniker || ?predicate = rdfs:label";
GenericQueryHandler imageQueryHandler = new GenericQueryHandler(individualURIParam,
filterRule,
resultFormatParam,
rdfResultFormatParam,
dataSource,
log);
try {
GenericQueryMap profilePropertiesToValues = imageQueryHandler.getJavaValueObjects();
profilePropertiesToValues.addEntry("imageContextPath", request.getContextPath() + "/images/");
Gson profileInformation = new Gson();
prepareVisualizationQueryResponse(profileInformation.toJson(profilePropertiesToValues));
return;
} catch (MalformedQueryParametersException e) {
try {
handleMalformedParameters(e.getMessage());
} catch (ServletException e1) {
log.error(e1.getStackTrace());
} catch (IOException e1) {
log.error(e1.getStackTrace());
}
return;
}
} else if (imageVisMode.equalsIgnoreCase(visMode)) {
/*
* If the url being requested is about a standalone image, which is used when we want
* to render an image & other info for a co-author OR ego for that matter.
* */
String filterRule = "?predicate = vitro:imageThumb";
@ -82,9 +124,7 @@ public class VisualizationRequestHandler {
GenericQueryMap imagePropertyToValues = imageQueryHandler.getJavaValueObjects();
String imagePath = "";
/*
* If there is no imageThumb property we want to give the link to "No Image" snap.
* */
if (imagePropertyToValues.size() > 0) {
String vitroSparqlNamespace = QueryConstants.PREFIX_TO_NAMESPACE.get("vitro");
@ -97,10 +137,8 @@ public class VisualizationRequestHandler {
* expression power.
* */
for (String providedImagePath : personImageThumbPaths) {
imagePath = "/images/" + providedImagePath;
imagePath = request.getContextPath() + "/images/" + providedImagePath;
}
}
prepareVisualizationQueryResponse(imagePath);
@ -119,12 +157,11 @@ public class VisualizationRequestHandler {
}
}
/*
* By default we will be generating profile url else some specific url like coAuthorShip vis
* url for that individual.
* */
else if (coAuthorVisMode.equalsIgnoreCase(visMode)) {
} else if (coAuthorVisMode.equalsIgnoreCase(visMode)) {
/*
* By default we will be generating profile url else some specific url like coAuthorShip vis
* url for that individual.
* */
preparedURL += request.getContextPath()
+ "/admin/visQuery"