++ 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]

Reply via email to