Skip to content

Instantly share code, notes, and snippets.

@cyokodog
Created April 8, 2010 10:39
Show Gist options
  • Select an option

  • Save cyokodog/359974 to your computer and use it in GitHub Desktop.

Select an option

Save cyokodog/359974 to your computer and use it in GitHub Desktop.
big table memo
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" isELIgnored="false"%>
<%@ page import="com.google.appengine.api.datastore.Query" %>
<%@ page import="com.google.appengine.api.datastore.DatastoreService" %>
<%@ page import="com.google.appengine.api.datastore.DatastoreServiceFactory" %>
<%@ page import="com.google.appengine.api.datastore.Entity" %>
<%@page import="com.google.appengine.api.datastore.Query.FilterOperator"%>
<%@page import="com.google.appengine.api.datastore.FetchOptions"%>
<%@page import="java.util.List"%>
<%!
HttpServletRequest req;
public String param(String name){
String str = req.getParameter(name);
if(str == null){
return "";
}
return str;
}
public String prop(Entity ent,String name){
Object obj = ent.getProperty(name);
if(obj == null){
return "";
}
return obj.toString();
}
%>
<%
DatastoreService ds = DatastoreServiceFactory.getDatastoreService();
Entity ent;
Query q1;
List<Entity> entList1;
req = request;
String reqCmd = param("cmd");
String reqNo = param("no");
String reqKind = param("kind");
String reqProp = param("prop");
int numNo = 0;
if(!reqNo.equals("")){
numNo = Integer.valueOf(reqNo);
}
if(reqCmd.equals("ins")){
ent = new Entity("kinds",reqKind);
q1 = new Query("kinds",ent.getKey());
if(ds.prepare(q1).asSingleEntity() == null){
ds.put(ent);
}
}
else
if(reqCmd.equals("add")){
ent = new Entity("kinds",reqKind);
ent = new Entity("props",reqProp,ent.getKey());
ds.put(ent);
}
else
if(reqCmd.equals("del_prop")){
ent = new Entity("kinds",reqKind);
ent = new Entity("props",reqProp,ent.getKey());
q1 = new Query("props",ent.getKey());
if(ds.prepare(q1).asSingleEntity() != null){
ds.delete(ent.getKey());
}
}
%>
<!DOCTYPE html>
.
<%@page import="com.google.appengine.api.datastore.KeyFactory"%><html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>ment</title>
</head>
<body>
<form action="define.jsp" method="post">
<dl>
<dt>KIND</dt>
<dd>
<%
//q1 = new Query("kinds",(new Entity("kinds",reqKind)).getKey());
q1 = new Query("kinds");
entList1 = ds.prepare(q1).asList(FetchOptions.Builder.withOffset(numNo*20).limit(20));
for (Entity row1 : entList1) {
String keyName = row1.getKey().getName();
%>
<a href="?kind=<%=keyName %>"><%=keyName %></a><br/>
<%
}
%>
<input name="kind" value="<%=reqKind %>"/><input name="cmd" type="submit" value="ins"/>
</dd>
<dt>Property</dt>
<dd><input name="prop" value="<%=reqProp %>"/><input name="cmd" type="submit" value="add"/></dd>
</dl>
</form>
<hr/>
<h3><%=reqKind %></h3>
<table>
<%
q1 = new Query("props",(new Entity("kinds",reqKind)).getKey());
entList1 = ds.prepare(q1).asList(FetchOptions.Builder.withOffset(numNo*20).limit(20));
for (Entity row1 : entList1) {
String keyName = row1.getKey().getName();
%>
<tr>
<td><%=keyName %></td>
<td><a href="?cmd=del_prop&kind=<%=reqKind %>&prop=<%=keyName %>">del</a></td>
</tr>
<%
}
%>
</table>
<hr/>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" isELIgnored="false"%>
<%@ page import="com.google.appengine.api.datastore.Query" %>
<%@ page import="com.google.appengine.api.datastore.DatastoreService" %>
<%@ page import="com.google.appengine.api.datastore.DatastoreServiceFactory" %>
<%@ page import="com.google.appengine.api.datastore.Entity" %>
<%@page import="com.google.appengine.api.datastore.Query.FilterOperator"%>
<%@page import="com.google.appengine.api.datastore.FetchOptions"%>
<%@page import="java.util.List"%>
<%!
HttpServletRequest req;
public String param(String name){
String str = req.getParameter(name);
if(str == null){
return "";
}
return str;
}
public String prop(Entity ent,String name){
Object obj = ent.getProperty(name);
if(obj == null){
return "";
}
return obj.toString();
}
%>
<%
DatastoreService ds = DatastoreServiceFactory.getDatastoreService();
Entity ent;
Query q1,q2;
List<Entity> entList1,entList2;
req = request;
String reqCmd = param("cmd");
String reqNo = param("no");
String reqKind = param("kind");
String reqKey = param("key");
int numNo = 0;
if(!reqNo.equals("")){
numNo = Integer.valueOf(reqNo);
}
if(reqCmd.equals("add") && !reqKey.equals("")){
ent = new Entity(reqKind,reqKey);
q1 = new Query("props",(new Entity("kinds",reqKind)).getKey());
entList1 = ds.prepare(q1).asList(FetchOptions.Builder.withOffset(numNo*20).limit(20));
for (Entity row1 : entList1) {
String propName = row1.getKey().getName();
String propVal = param(propName);
ent.setProperty(propName,propVal);
}
ds.put(ent);
}
else
if(reqCmd.equals("del") && !reqKey.equals("")){
ent = new Entity(reqKind,reqKey);
ds.delete(ent.getKey());
}
%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>ment</title>
</head>
<body>
<%
//q1 = new Query("kinds",(new Entity("kinds",reqKind)).getKey());
q1 = new Query("kinds");
entList1 = ds.prepare(q1).asList(FetchOptions.Builder.withOffset(numNo*20).limit(20));
for (Entity row1 : entList1) {
String keyName = row1.getKey().getName();
%>
<a href="?kind=<%=keyName %>"><%=keyName %></a><br/>
<%
}
%>
<h3><%=reqKind %></h3>
<table border="1">
<tr>
<th>key</th>
<%
q1 = new Query("props",(new Entity("kinds",reqKind)).getKey());
entList1 = ds.prepare(q1).asList(FetchOptions.Builder.withOffset(numNo*20).limit(20));
for (Entity row1 : entList1) {
String keyName = row1.getKey().getName();
%>
<th><%=keyName %></th>
<%
}
%>
<th/>
</tr>
<%
q1 = new Query(reqKind);
entList1 = ds.prepare(q1).asList(FetchOptions.Builder.withOffset(numNo*20).limit(20));
for (Entity row1 : entList1) {
String keyName = row1.getKey().getName();
%>
<tr>
<td><a href="?kind=<%=reqKind %>&key=<%=keyName %>"><%=keyName %></a></td>
<%
q2 = new Query("props",(new Entity("kinds",reqKind)).getKey());
entList2 = ds.prepare(q2).asList(FetchOptions.Builder.withOffset(numNo*20).limit(20));
for (Entity row2 : entList2) {
String propName = row2.getKey().getName();
String propVal = prop(row1,propName);
%>
<td><%=propVal %></td>
<%
}
%>
<td><a href="?kind=<%=reqKind %>&key=<%=keyName %>&cmd=del">delete</a></td>
</tr>
<%
}
%>
</table>
<form action="ment.jsp" method="post">
<dl>
<dt>KIND</dt>
<dd><input name="kind" value="<%=reqKind %>" readOnly/></dd>
<dt>KEY</dt>
<dd><input name="key" value="<%=reqKey %>"/></dd>
<%
q1 = new Query("props",(new Entity("kinds",reqKind)).getKey());
entList1 = ds.prepare(q1).asList(FetchOptions.Builder.withOffset(numNo*20).limit(20));
for (Entity row1 : entList1) {
String keyName = row1.getKey().getName();
String propVal = "";
if(!reqKey.equals("")){
q2 = new Query(reqKind,(new Entity(reqKind,reqKey)).getKey());
ent = ds.prepare(q2).asSingleEntity();
if(ent != null){
propVal = prop(ent,keyName);
}
}
%>
<dt><%=keyName %></dt>
<dd><input name="<%=keyName %>" value="<%=propVal %>"/></dd>
<%
}
%>
</dl>
<input name="cmd" value="add" type="submit"/>
</form>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment