Package types

Source Code of types.TypesServlet

package types;

import java.io.IOException;
import java.io.PrintWriter;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.SimpleTimeZone;
import javax.servlet.http.*;
import com.google.appengine.api.datastore.Blob;
import com.google.appengine.api.datastore.DatastoreService;
import com.google.appengine.api.datastore.DatastoreServiceFactory;
import com.google.appengine.api.datastore.Entity;
import com.google.appengine.api.datastore.EntityNotFoundException;
import com.google.appengine.api.datastore.GeoPt;
import com.google.appengine.api.datastore.KeyFactory;
import com.google.appengine.api.datastore.ShortBlob;
import com.google.appengine.api.datastore.Text;

@SuppressWarnings({ "serial", "unchecked" })
public class TypesServlet extends HttpServlet {
    public void doGet(HttpServletRequest req,
                      HttpServletResponse resp)
        throws IOException {
        resp.setContentType("text/html");
        PrintWriter out = resp.getWriter();

        DatastoreService ds = DatastoreServiceFactory.getDatastoreService();

        Entity e1 = new Entity("Kind");

        e1.setProperty("stringProp", "string value, limited to 500 bytes");

        Text textValue = new Text("text value, can be up to 1 megabyte");
        e1.setProperty("textProp", textValue);

        byte[] someBytes = { 107, 116, 104, 120, 98, 121, 101 };
        ShortBlob shortBlobValue = new ShortBlob(someBytes);
        e1.setProperty("shortBlobProp", shortBlobValue);

        Blob blobValue = new Blob(someBytes);
        e1.setProperty("blobProp", blobValue);

        e1.setProperty("booleanProp", true);

        // returned as a long by the datastore
        e1.setProperty("integerProp", 99);

        e1.setProperty("floatProp", 3.14159);

        e1.setProperty("dateProp", new Date());

        e1.setProperty("nullProp", null);

        GeoPt geoPtValue = new GeoPt(47.620339f, -122.349629f);
        e1.setProperty("geoptProp", geoPtValue);

        ArrayList<Object> mvp = new ArrayList<Object>();
        mvp.add("string value");
        mvp.add(true);
        mvp.add(3.14159);
        e1.setProperty("multivaluedProp", mvp);

        ds.put(e1);
        out.println("<p>Created an entity, key: " +
                    KeyFactory.keyToString(e1.getKey()) + "</p>");

        Entity e2 = new Entity("Kind");
        e2.setProperty("keyProp", e1.getKey());
        ds.put(e2);

        out.println("<p>Created an entity, key: " +
                    KeyFactory.keyToString(e2.getKey()) + "</p>");

        try {
            Entity result = ds.get(e1.getKey());

            // All integer types returned as Long.
            Long resultIntegerPropValue =
                (Long) result.getProperty("integerProp");

            if (resultIntegerPropValue == null) {
                out.println("<p>Entity didn't have a property named integerProp.</p>");
            } else {
                out.println("<p>Entity property integerProp = " +
                            resultIntegerPropValue + "</p>");
            }

            // Multivalued properties returned as List.
            List<Object> resultMvp =
                (List<Object>) result.getProperty("multivaluedProp");
            if (resultMvp == null) {
                out.println("<p>Entity didn't have a property named multivaluedProp.</p>");
            } else {
                out.println("<p>Multivalued property values:</p><ul>");
                for (Object v : resultMvp) {
                    out.println("<li>" + v + "</li>");
                }
                out.println("</ul>");
            }

        } catch (EntityNotFoundException e) {
            out.println("<p>Attempted to get an entity, but couldn't find it: " +
                        e + "</p>");
        }

        ds.delete(e1.getKey());
        ds.delete(e2.getKey());
        out.println("<p>Entities deleted.</p>");

        SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss.SSSSSS");
        fmt.setTimeZone(new SimpleTimeZone(0, ""));
        out.println("<p>The time is: " + fmt.format(new Date()) + "</p>");
    }
}
TOP

Related Classes of types.TypesServlet

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.