/* * Copyright 2013 eXo Platform SAS * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package examples.tutorial.weather8; import examples.tutorial.WeatherService; import juzu.Action; import juzu.Path; import juzu.Resource; import juzu.Response; import juzu.Route; import juzu.View; import juzu.plugin.ajax.Ajax; import javax.inject.Inject; import java.util.ArrayList; import java.util.List; /** @author <a href="mailto:julien.viet@exoplatform.com">Julien Viet</a> */ public class Weather { static List<String> locations = new ArrayList<String>(); static { locations.add("marseille"); locations.add("paris"); } @Inject WeatherService weatherService; @Inject @Path("index.gtmpl") examples.tutorial.weather8.templates.index index; // tag::fragment[] @Inject @Path("fragment.gtmpl") examples.tutorial.weather8.templates.fragment fragment; // end::fragment[] @View public Response.Content index() { return index("marseille"); } @View @Route("/show/{location}") public Response.Content index(String location) { return index. with(). location(location). temperature(weatherService.getTemperature(location)). locations(locations). ok(); } @Action @Route("/add") public Response add(String location) { if (!locations.contains(location)) { locations.add(location); } return Weather_.index(location); } // tag::getFragment[] @Ajax @Resource @Route("/fragment") public Response.Content getFragment(String location) { return fragment. with(). location(location). temperature(weatherService.getTemperature(location)). ok(); } // end::getFragment[] }