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);
                
        }


Reply via email to