++ I hope you don't mind if I complete the header javaDoc of the classes with the author information including your name :)
Sebastoan 2012/9/30 [email protected] <[email protected]> > Hi Maxim, > > public Server getServerWithMinimumUsers() in the ServerDaoImpl: > I tried to understand it but I did not fully understood the operations > involved in that method. > > Could you please write a short sentence/notice in the javaDoc at this > method explaining it? > > Thanks! > Sebastian > > ---------- Forwarded message ---------- > From: <[email protected]> > Date: 2012/9/30 > Subject: svn commit: r1391961 - in > /incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings: > axis/services/ data/basic/dao/ persistence/beans/basic/ remote/ > web/components/admin/servers/ > To: [email protected] > > > Author: sebawagner > Date: Sun Sep 30 07:52:45 2012 > New Revision: 1391961 > > URL: http://svn.apache.org/viewvc?rev=1391961&view=rev > Log: > OPENMEETINGS-434 complete Server/serverDaoImpl CRUD via Wicket, add > "comments,inserted,insertedby,updated,updatedby" fields in Server entity > > Modified: > > incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/axis/services/ServerWebService.java > > incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/basic/dao/ServerDaoImpl.java > > incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/basic/Server.java > > incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/ConferenceService.java > > incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/UserService.java > > incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/servers/ServerForm.java > > incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/servers/ServersPanel.html > > incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/servers/ServersPanel.java > > Modified: > incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/axis/services/ServerWebService.java > URL: > http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/axis/services/ServerWebService.java?rev=1391961&r1=1391960&r2=1391961&view=diff > > ============================================================================== > --- > incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/axis/services/ServerWebService.java > (original) > +++ > incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/axis/services/ServerWebService.java > Sun Sep 30 07:52:45 2012 > @@ -62,7 +62,7 @@ public class ServerWebService { > Long user_level = > userManagement.getUserLevelByID(users_id); > > if (authLevelManagement.checkWebServiceLevel(user_level)) { > - return serversDao.getServerList(start, > max).toArray(new Server[0]); > + return serversDao.get(start, max).toArray(new > Server[0]); > } else { > log.warn("Insuffisient permissions"); > return null; > @@ -81,7 +81,7 @@ public class ServerWebService { > Long user_level = > userManagement.getUserLevelByID(users_id); > > if (authLevelManagement.checkWebServiceLevel(user_level)) { > - return (int)serversDao.getServerCount(); > + return (int)serversDao.count(); > } else { > log.warn("Insuffisient permissions"); > return -1; > @@ -123,7 +123,7 @@ public class ServerWebService { > Long user_level = > userManagement.getUserLevelByID(users_id); > > if (authLevelManagement.checkWebServiceLevel(user_level)) { > - return serversDao.deleteServer(id); > + return serversDao.delete(id); > } else { > log.warn("Insuffisient permissions"); > return false; > > Modified: > incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/basic/dao/ServerDaoImpl.java > URL: > http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/basic/dao/ServerDaoImpl.java?rev=1391961&r1=1391960&r2=1391961&view=diff > > ============================================================================== > --- > incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/basic/dao/ServerDaoImpl.java > (original) > +++ > incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/basic/dao/ServerDaoImpl.java > Sun Sep 30 07:52:45 2012 > @@ -18,27 +18,47 @@ > */ > package org.apache.openmeetings.data.basic.dao; > > +import java.util.Date; > import java.util.List; > > import javax.persistence.EntityManager; > import javax.persistence.NoResultException; > import javax.persistence.PersistenceContext; > +import javax.persistence.PersistenceException; > import javax.persistence.TypedQuery; > > import org.apache.openmeetings.OpenmeetingsVariables; > +import org.apache.openmeetings.data.OmDAO; > +import org.apache.openmeetings.data.user.dao.UsersDaoImpl; > import org.apache.openmeetings.persistence.beans.basic.Server; > import org.red5.logging.Red5LoggerFactory; > import org.slf4j.Logger; > +import org.springframework.beans.factory.annotation.Autowired; > import org.springframework.transaction.annotation.Transactional; > > +/** > + * > + * CRUD for {@link Server} > + * > + * @author solomax, swagner > + * > + */ > @Transactional > -public class ServerDaoImpl { > +public class ServerDaoImpl implements OmDAO<Server> { > private static final Logger log = Red5LoggerFactory.getLogger( > ServerDaoImpl.class, > OpenmeetingsVariables.webAppRootKey); > > @PersistenceContext > private EntityManager em; > > + @Autowired > + private UsersDaoImpl usersDao; > + > + /** > + * Get a list of all available servers > + * > + * @return > + */ > public List<Server> getServerList() { > log.debug("getServerList enter"); > TypedQuery<Server> q = em.createNamedQuery("getAllServers", > @@ -46,8 +66,12 @@ public class ServerDaoImpl { > return q.getResultList(); > } > > - > - public List<Server> getServerList(int start, int max) { > + /* > + * (non-Javadoc) > + * > + * @see org.apache.openmeetings.data.OmDAO#get(int, int) > + */ > + public List<Server> get(int start, int max) { > log.debug("getServerList enter"); > TypedQuery<Server> q = em.createNamedQuery("getAllServers", > Server.class); > @@ -57,14 +81,24 @@ public class ServerDaoImpl { > return q.getResultList(); > } > > - public long getServerCount() { > + /* > + * (non-Javadoc) > + * > + * @see org.apache.openmeetings.data.OmDAO#count() > + */ > + public long count() { > log.debug("getServerCount enter"); > TypedQuery<Long> q = em.createNamedQuery("getServerCount", > Long.class); > > return q.getSingleResult(); > } > > - public Server getServer(long id) { > + /* > + * (non-Javadoc) > + * > + * @see org.apache.openmeetings.data.OmDAO#get(long) > + */ > + public Server get(long id) { > Server result = null; > log.debug("getServer enter, id = " + id); > TypedQuery<Server> q = > em.createNamedQuery("getServerById", Server.class); > @@ -77,6 +111,12 @@ public class ServerDaoImpl { > return result; > } > > + /** > + * Get server by its address > + * > + * @param address > + * @return > + */ > public Server getServerByAddress(String address) { > log.debug("getServer enter, address = " + address); > TypedQuery<Server> q = > em.createNamedQuery("getServerByAddress", Server.class); > @@ -85,6 +125,11 @@ public class ServerDaoImpl { > return list.size() > 0 ? list.get(0) : null; > } > > + /** > + * Get the number of minimum users for a server(?) > + * > + * @return > + */ > public Server getServerWithMinimumUsers() { > Server result = null; > log.debug("getServerWithMinimumUsers enter"); > @@ -95,7 +140,7 @@ public class ServerDaoImpl { > List<Object> r = q1.getResultList(); > if (!r.isEmpty()) { > // get server id from first line > - result = > getServer((Long)((Object[])r.get(0))[0]); > + result = > get((Long)((Object[])r.get(0))[0]); > } > } else { > result = l.get(0); > @@ -103,8 +148,17 @@ public class ServerDaoImpl { > return result; > } > > + /** > + * @deprecated user standard mechanism of > + * {@link > OmDAO#update(org.apache.openmeetings.persistence.beans.OmEntity, long)} > + * @param id > + * @param name > + * @param address > + * @return > + */ > + @Deprecated > public Server saveServer(long id, String name, String address) { > - Server s = getServer(id); > + Server s = get(id); > if (s == null) { > s = new Server(); > } > @@ -114,8 +168,15 @@ public class ServerDaoImpl { > return em.merge(s); > } > > - public boolean deleteServer(long id) { > - Server s = getServer(id); > + /** > + * @deprecated use standard mechanism of > + * {@link > OmDAO#delete(org.apache.openmeetings.persistence.beans.OmEntity, long)} > + * @param id > + * @return > + */ > + @Deprecated > + public boolean delete(long id) { > + Server s = get(id); > if (s == null) { > return false; > } > @@ -124,4 +185,45 @@ public class ServerDaoImpl { > > return true; > } > + > + /* > + * (non-Javadoc) > + * > + * @see > + * > org.apache.openmeetings.data.OmDAO#update(org.apache.openmeetings.persistence > + * .beans.OmEntity, long) > + */ > + public void update(Server entity, long userId) { > + try { > + if (entity.getId() <= 0) { > + entity.setInserted(new Date()); > + entity.setInsertedby(usersDao.get(userId)); > + entity.setDeleted(false); > + em.persist(entity); > + } else { > + entity.setUpdated(new Date()); > + entity.setUpdatedby(usersDao.get(userId)); > + entity.setDeleted(false); > + em.merge(entity); > + } > + } catch (PersistenceException ex) { > + log.error("[update LdapConfig]", ex); > + } > + } > + > + /* > + * (non-Javadoc) > + * > + * @see > + * > org.apache.openmeetings.data.OmDAO#delete(org.apache.openmeetings.persistence > + * .beans.OmEntity, long) > + */ > + public void delete(Server entity, long userId) { > + if (entity.getId() >= 0) { > + entity.setUpdated(new Date()); > + entity.setUpdatedby(usersDao.get(userId)); > + entity.setDeleted(true); > + em.merge(entity); > + } > + } > } > > Modified: > incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/basic/Server.java > URL: > http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/basic/Server.java?rev=1391961&r1=1391960&r2=1391961&view=diff > > ============================================================================== > --- > incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/basic/Server.java > (original) > +++ > incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/basic/Server.java > Sun Sep 30 07:52:45 2012 > @@ -19,73 +19,97 @@ > package org.apache.openmeetings.persistence.beans.basic; > > import java.io.Serializable; > +import java.util.Date; > > import javax.persistence.Column; > import javax.persistence.Entity; > +import javax.persistence.FetchType; > import javax.persistence.GeneratedValue; > import javax.persistence.GenerationType; > import javax.persistence.Id; > +import javax.persistence.JoinColumn; > +import javax.persistence.Lob; > +import javax.persistence.ManyToOne; > import javax.persistence.NamedQueries; > import javax.persistence.NamedQuery; > import javax.persistence.Table; > > import org.apache.openmeetings.persistence.beans.OmEntity; > +import org.apache.openmeetings.persistence.beans.user.Users; > import org.simpleframework.xml.Element; > import org.simpleframework.xml.Root; > > @Entity > @NamedQueries({ > - @NamedQuery(name="getAllServers", query="SELECT s FROM Server s > WHERE s.deleted = false") > - , @NamedQuery(name="getServerCount", query="SELECT COUNT(s) FROM > Server s WHERE s.deleted = false") > - , @NamedQuery(name="getServerById", query="SELECT s FROM Server s > WHERE s.deleted = false AND s.id = :id") > - , @NamedQuery(name="getServerByAddress", query="SELECT s FROM > Server s WHERE s.deleted = false AND s.address = :address") > - , @NamedQuery(name="getServersWithNoUsers" > - , query="SELECT s FROM Server s WHERE s.deleted = false > AND s.id NOT IN (SELECT u.server.id FROM Users u where u.server.id IS NOT > NULL)") > - , @NamedQuery(name="getServerWithMinimumUsers" > - , query="SELECT s.id, COUNT(u) AS cnt FROM Users u JOIN > u.server s WHERE s.deleted = false GROUP BY s.id ORDER BY cnt") > -}) > + @NamedQuery(name = "getAllServers", query = "SELECT s FROM > Server s WHERE s.deleted = false"), > + @NamedQuery(name = "getServerCount", query = "SELECT > COUNT(s) FROM Server s WHERE s.deleted = false"), > + @NamedQuery(name = "getServerById", query = "SELECT s FROM > Server s WHERE s.deleted = false AND s.id = :id"), > + @NamedQuery(name = "getServerByAddress", query = "SELECT s > FROM Server s WHERE s.deleted = false AND s.address = :address"), > + @NamedQuery(name = "getServersWithNoUsers", query = > "SELECT s FROM Server s WHERE s.deleted = false AND s.id NOT IN (SELECT > u.server.id FROM Users u where u.server.id IS NOT NULL)"), > + @NamedQuery(name = "getServerWithMinimumUsers", query = > "SELECT s.id, COUNT(u) AS cnt FROM Users u JOIN u.server s WHERE > s.deleted = false GROUP BY s.id ORDER BY cnt") }) > @Table(name = "server") > @Root > public class Server implements Serializable, OmEntity { > + > private static final long serialVersionUID = -6822732074549167727L; > + > @Id > @GeneratedValue(strategy = GenerationType.IDENTITY) > - @Column(name="id") > - @Element(data=true) > - private Long id; > - > - @Column(name="name") > - @Element(data=true) > + @Column(name = "id") > + @Element(data = true) > + private long id = 0; > + > + @Column(name = "name") > + @Element(data = true) > private String name; > - > - @Column(name="address") > - @Element(data=true) > + > + @Column(name = "address") > + @Element(data = true) > private String address; > - > - @Column(name="deleted", nullable=false) > - @Element(data=true) > + > + @Column(name = "inserted") > + public Date inserted; > + > + @Column(name = "updated") > + public Date updated; > + > + @ManyToOne(fetch = FetchType.EAGER) > + @JoinColumn(name = "insertedby_id", updatable = true, insertable = > true) > + public Users insertedby; > + > + @ManyToOne(fetch = FetchType.EAGER) > + @JoinColumn(name = "updatedby_id", updatable = true, insertable = > true) > + public Users updatedby; > + > + @Lob > + @Column(name = "comment_field", length = 2048) > + @Element(data = true, required = false) > + private String comment; > + > + @Column(name = "deleted", nullable = false) > + @Element(data = true) > private boolean deleted = false; > - > + > public Long getId() { > return id; > } > - > + > public void setId(Long id) { > this.id = id; > } > - > + > public String getName() { > return name; > } > - > + > public void setName(String name) { > this.name = name; > } > - > + > public String getAddress() { > return address; > } > - > + > public void setAddress(String address) { > this.address = address; > } > @@ -98,6 +122,46 @@ public class Server implements Serializa > this.deleted = deleted; > } > > + public Date getInserted() { > + return inserted; > + } > + > + public void setInserted(Date inserted) { > + this.inserted = inserted; > + } > + > + public Date getUpdated() { > + return updated; > + } > + > + public void setUpdated(Date updated) { > + this.updated = updated; > + } > + > + public Users getInsertedby() { > + return insertedby; > + } > + > + public void setInsertedby(Users insertedby) { > + this.insertedby = insertedby; > + } > + > + public Users getUpdatedby() { > + return updatedby; > + } > + > + public void setUpdatedby(Users updatedby) { > + this.updatedby = updatedby; > + } > + > + public String getComment() { > + return comment; > + } > + > + public void setComment(String comment) { > + this.comment = comment; > + } > + > @Override > public String toString() { > return "Server [id=" + id + ", name=" + name + ", > address=" + address > > Modified: > incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/ConferenceService.java > URL: > http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/ConferenceService.java?rev=1391961&r1=1391960&r2=1391961&view=diff > > ============================================================================== > --- > incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/ConferenceService.java > (original) > +++ > incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/ConferenceService.java > Sun Sep 30 07:52:45 2012 > @@ -699,7 +699,7 @@ public class ConferenceService { > if (roomId > -1 && serverId > -1) { > try { > Rooms room = > roommanagement.getRoomById(roomId); > - > room.setServer(serverDao.getServer(serverId)); > + > room.setServer(serverDao.get(serverId)); > > roommanagement.updateRoomObject(room); > } catch (Exception e) { > log.error("Error while setting > server."); > > Modified: > incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/UserService.java > URL: > http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/UserService.java?rev=1391961&r1=1391960&r2=1391961&view=diff > > ============================================================================== > --- > incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/UserService.java > (original) > +++ > incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/UserService.java > Sun Sep 30 07:52:45 2012 > @@ -495,7 +495,7 @@ public class UserService { > if (userId > -1 && serverId > -1) { > try { > Users user = > userManagement.getUserById(userId); > - > user.setServer(serverDao.getServer(serverId)); > + > user.setServer(serverDao.get(serverId)); > userManagement.updateUser(user); > } catch (Exception e) { > log.error("Error while setting > server."); > > Modified: > incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/servers/ServerForm.java > URL: > http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/servers/ServerForm.java?rev=1391961&r1=1391960&r2=1391961&view=diff > > ============================================================================== > --- > incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/servers/ServerForm.java > (original) > +++ > incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/servers/ServerForm.java > Sun Sep 30 07:52:45 2012 > @@ -18,24 +18,90 @@ > */ > package org.apache.openmeetings.web.components.admin.servers; > > +import org.apache.openmeetings.data.basic.dao.ServerDaoImpl; > import org.apache.openmeetings.persistence.beans.basic.Server; > +import org.apache.openmeetings.web.app.Application; > +import org.apache.openmeetings.web.app.WebSession; > import org.apache.openmeetings.web.components.admin.AdminBaseForm; > +import org.apache.wicket.ajax.AjaxRequestTarget; > import org.apache.wicket.ajax.form.AjaxFormValidatingBehavior; > +import org.apache.wicket.datetime.markup.html.basic.DateLabel; > +import org.apache.wicket.markup.html.WebMarkupContainer; > +import org.apache.wicket.markup.html.basic.Label; > +import org.apache.wicket.markup.html.form.Form; > +import org.apache.wicket.markup.html.form.RequiredTextField; > +import org.apache.wicket.markup.html.form.TextArea; > import org.apache.wicket.model.CompoundPropertyModel; > import org.apache.wicket.util.time.Duration; > > +/** > + * Form component to insert/update/delete {@link Server} > + * > + * @author swagner > + * > + */ > public class ServerForm extends AdminBaseForm<Server> { > > + private final WebMarkupContainer listContainer; > private static final long serialVersionUID = 1L; > > - public ServerForm(String id, final Server server) { > + public ServerForm(String id, WebMarkupContainer listContainer, > + final Server server) { > super(id, new CompoundPropertyModel<Server>(server)); > setOutputMarkupId(true); > + this.listContainer = listContainer; > + > + add(new RequiredTextField<String>("name")); > + add(new RequiredTextField<String>("address")); > + add(DateLabel.forDatePattern("inserted", "dd.MM.yyyy > HH:mm:ss")); > + add(new Label("insertedby.login")); > + add(DateLabel.forDatePattern("updated", "dd.MM.yyyy > HH:mm:ss")); > + add(new Label("updatedby.login")); > + add(new TextArea<String>("comment")); > > - > // attach an ajax validation behavior to all form > component's keydown > // event and throttle it down to once per second > AjaxFormValidatingBehavior.addToAllFormComponents(this, > "keydown", > Duration.ONE_SECOND); > } > + > + @Override > + protected void onSaveSubmit(AjaxRequestTarget target, Form<?> > form) { > + > Application.getBean(ServerDaoImpl.class).update(getModelObject(), > + WebSession.getUserId()); > + Server server = > Application.getBean(ServerDaoImpl.class).get( > + getModelObject().getId()); > + this.setModelObject(server); > + target.add(this); > + target.add(listContainer); > + } > + > + @Override > + protected void onNewSubmit(AjaxRequestTarget target, Form<?> form) > { > + this.setModelObject(new Server()); > + target.add(this); > + } > + > + @Override > + protected void onRefreshSubmit(AjaxRequestTarget target, Form<?> > form) { > + Server server = this.getModelObject(); > + if (server.getId() <= 0) { > + server = > Application.getBean(ServerDaoImpl.class).get( > + server.getId()); > + } else { > + server = new Server(); > + } > + this.setModelObject(server); > + target.add(this); > + } > + > + @Override > + protected void onDeleteSubmit(AjaxRequestTarget target, Form<?> > form) { > + > Application.getBean(ServerDaoImpl.class).delete(this.getModelObject(), > + WebSession.getUserId()); > + this.setModelObject(new Server()); > + target.add(listContainer); > + target.add(this); > + } > + > } > > Modified: > incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/servers/ServersPanel.html > URL: > http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/servers/ServersPanel.html?rev=1391961&r1=1391960&r2=1391961&view=diff > > ============================================================================== > --- > incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/servers/ServersPanel.html > (original) > +++ > incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/servers/ServersPanel.html > Sun Sep 30 07:52:45 2012 > @@ -49,6 +49,20 @@ > <td class="adminPanelColumnForm"> > <form wicket:id="form" > class="adminForm"> > <div > wicket:id="buttons"></div> > + <wicket:ommessage > key="1500" />: <input type="text" wicket:id="name"/> > + <br/> > + <wicket:ommessage key="1501" />: > <input type="text" wicket:id="address"/> > + <br/> > + <wicket:ommessage > key="1110" />: <span wicket:id="inserted"/> > + <br/> > + <wicket:ommessage key="1111" />: <span > wicket:id="insertedby.login"/> > + <br/> > + <wicket:ommessage key="1112" />: <span > wicket:id="updated"/> > + <br/> > + <wicket:ommessage key="1113" />: <span > wicket:id="updatedby.login"/> > + <br/> > + <wicket:ommessage key="270" />: > <textarea wicket:id="comment"/> > + <br/> > </form> > </td> > </tr> > > Modified: > incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/servers/ServersPanel.java > URL: > http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/servers/ServersPanel.java?rev=1391961&r1=1391960&r2=1391961&view=diff > > ============================================================================== > --- > incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/servers/ServersPanel.java > (original) > +++ > incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/servers/ServersPanel.java > Sun Sep 30 07:52:45 2012 > @@ -18,13 +18,11 @@ > */ > package org.apache.openmeetings.web.components.admin.servers; > > -import java.util.Iterator; > - > import org.apache.openmeetings.data.basic.dao.ServerDaoImpl; > import org.apache.openmeetings.persistence.beans.basic.Server; > -import org.apache.openmeetings.web.app.Application; > import org.apache.openmeetings.web.components.admin.AdminPanel; > import org.apache.openmeetings.web.components.admin.PagedEntityListPanel; > +import org.apache.openmeetings.web.data.OmDataProvider; > import org.apache.wicket.AttributeModifier; > import org.apache.wicket.ajax.AjaxEventBehavior; > import org.apache.wicket.ajax.AjaxRequestTarget; > @@ -32,10 +30,13 @@ import org.apache.wicket.markup.html.Web > import org.apache.wicket.markup.html.basic.Label; > import org.apache.wicket.markup.repeater.Item; > import org.apache.wicket.markup.repeater.data.DataView; > -import org.apache.wicket.markup.repeater.data.IDataProvider; > -import org.apache.wicket.model.CompoundPropertyModel; > -import org.apache.wicket.model.IModel; > > +/** > + * Form component with list and form to manipulate {@link Server} > + * > + * @author swagner > + * > + */ > public class ServersPanel extends AdminPanel { > > private static final long serialVersionUID = -1L; > @@ -43,26 +44,8 @@ public class ServersPanel extends AdminP > > public ServersPanel(String id) { > super(id); > - DataView<Server> dataView = new > DataView<Server>("serverList", new IDataProvider<Server>(){ > - private static final long serialVersionUID = -1L; > - > - public void detach() { > - //empty > - } > - > - public Iterator<? extends Server> iterator(long > first, long count) { > - return > Application.getBean(ServerDaoImpl.class).getServerList((int)first, > (int)count).iterator(); > - } > - > - public long size() { > - return > Application.getBean(ServerDaoImpl.class).getServerCount(); > - } > - > - public IModel<Server> model(Server object) { > - return new > CompoundPropertyModel<Server>(object); > - } > - > - }) { > + DataView<Server> dataView = new > DataView<Server>("serverList", > + new > OmDataProvider<Server>(ServerDaoImpl.class)) { > private static final long serialVersionUID = > 8715559628755439596L; > > @Override > @@ -95,7 +78,7 @@ public class ServersPanel extends AdminP > }); > > Server Server = new Server(); > - form = new ServerForm("form", Server); > + form = new ServerForm("form", listContainer, Server); > add(form); > > } > > > > > > -- > Sebastian Wagner > https://twitter.com/#!/dead_lock > http://www.webbase-design.de > http://www.wagner-sebastian.com > [email protected] > -- Sebastian Wagner https://twitter.com/#!/dead_lock http://www.webbase-design.de http://www.wagner-sebastian.com [email protected]
