Java tutorial
/* * Copyright 2015 momo. * * 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 de.heartbeat.backend.user; import de.heartbeat.backend.HomePage; import de.heartbeat.backend.GraphPage; import de.heartbeat.datastorage.HibernateUtil; import de.heartbeat.datastorage.entities.HeartBeat; import de.heartbeat.datastorage.entities.Person; import java.util.ArrayList; import java.util.Collections; import java.util.HashSet; import java.util.List; import java.util.Set; import org.apache.wicket.markup.html.WebMarkupContainer; import org.apache.wicket.markup.html.basic.Label; import org.apache.wicket.markup.html.link.Link; import org.apache.wicket.markup.html.list.ListItem; import org.apache.wicket.markup.html.list.ListView; import org.apache.wicket.markup.html.list.PageableListView; import org.apache.wicket.markup.html.navigation.paging.PagingNavigation; import org.apache.wicket.markup.html.panel.FeedbackPanel; import org.apache.wicket.request.mapper.parameter.PageParameters; import org.hibernate.Session; import org.hibernate.SessionFactory; /** * * @author momo */ public class UserView extends HomePage { private final SessionFactory sessionFactory = HibernateUtil.getSessionFactory(); public UserView(PageParameters parameters) { super(parameters); List<HeartBeat> heartBeatList = new ArrayList<>(); WebMarkupContainer table = new WebMarkupContainer("table"); Session session = sessionFactory.openSession(); session.beginTransaction(); heartBeatList = session.createCriteria(Person.class).list(); session.getTransaction().commit(); session.close(); Set<Person> personSet = new HashSet(heartBeatList); List<Person> persons = new ArrayList<>(personSet); Collections.sort(persons); ListView listview = new ListView("userView", persons) { @Override protected void populateItem(ListItem item) { final Person hb = (Person) item.getModelObject(); item.add(new Label("firstname", hb.getFirstName())); item.add(new Label("lastname", hb.getLastName())); item.add(new Label("deviceid", hb.getDeviceID())); Link user = new Link("userGraph") { @Override public void onClick() { PageParameters pp = new PageParameters(); pp.add("deviceId", hb.getDeviceID()); pp.add("imageview", "true"); setResponsePage(new GraphPage(pp)); } }; item.add(user); } }; table.add(listview); add(table); } }