O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

Project management and data store

  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Project management and data store

  1. 1. Project Management José Luis Santos joseluis.santos@cs.kuleuven.be
  2. 2. What do you have?1. Milestones A QUANTIFIED LEARNING TEAM2. Project3. Technology4. Class diagram5. Use case6. Scenarios7. and…
  3. 3. What is the next step?
  4. 4. How can we do it?Tasks DependenciesRisks Responsibilities
  5. 5. How do we define a task? To learn JQUERY To implement the model To implement the control part (Servlets) To design the interface
  6. 6. Take care!!!!Design tasks are low time consuming… … while implementation tasks are high time consuming
  7. 7. Take care!!!!Design tasksare easily addressable… … while implementation tasks are sometimes complex to fix them
  8. 8. What is a dependency? Task A Task B Design Implementation Interface Controller
  9. 9. What is a risk?Take them seriously!!!!
  10. 10. Who knows why it failed?
  11. 11. What can we do?
  12. 12. Data Store(Google App Engine) José Luis Santos joseluis.santos@cs.kuleuven.be
  13. 13. ServletDatastoreServicedatastore = DatastoreServiceFactory.getDatastoreService();Entity person = new Entity("Person", "test");person.setUnindexedProperty("name", "TestUser"); //Unindexed properties for these properties that you willnot filter onEntity weddingPhoto = new Entity("Photo", person.getKey()); // We link this Entity to another (Foreign key)weddingPhoto.setProperty("imageUrl", "http://scm-l3.technorati.com/11/02/05/25749/marriage.jpg");weddingPhoto.setProperty("date", new Date());Entity weddingVideo = new Entity("Video", person.getKey()); // We link this Entity to another (Foreign key)weddingVideo.setProperty("videoUrl", "http://www.criticallayouts.com/images/rsgallery/original/just-married-cans-ag1.gif");weddingVideo. setUnindexedProperty("date", new Date());datastore.put(person);datastore.put(weddingPhoto);datastore.put(weddingVideo);req.setAttribute("Key", person.getKey()); //Sending an object to a jsp fileRequestDispatcher dispatcher = getServletContext().getRequestDispatcher("/store.jsp");dispatcher.forward(req,resp);
  14. 14. JSPDatastoreServicedatastore = DatastoreServiceFactory.getDatastoreService();Key key = (Key)request.getAttribute("Key"); //We get an object not only an Stringif (key != null){Query userMediaQuery = new Query();userMediaQuery.setAncestor(key);// Ancestor queries return ancestors by default. This filter excludes the ancestor from query results.userMediaQuery.addFilter(Entity.KEY_RESERVED_PROPERTY, Query.FilterOperator.GREATER_THAN, key);// Returns both weddingPhoto and weddingVideo even though they are different entity kinds.List<Entity> results = datastore.prepare(userMediaQuery).asList( FetchOptions.Builder.withDefaults());for (inti=0;i<results.size();i++){if (results.get(i).getKind().compareTo("Video")==0){%>This is a photo:<br/><imgsrc="<%=results.get(i).getProperty("videoUrl")%>"></img><br/><% }else if (results.get(i).getKind().compareTo("Photo")==0){%>This is a video:<br/><imgsrc="<%=results.get(i).getProperty("imageUrl")%>"></img><br/><% }%>
  15. 15. Objectifyhttp://code.google.com/p/objectify-appengine/wiki/IntroductionToObjectify