OpenXGReturnObject can be removed, it was part of the OpenXG integration to Kamailio (former OpenSER).
SOAPLogin and Invitations are not that similar. SOAPLogin and SessionData are kind of similar. But SessionData is cleaned by a Scheduler every xx minutes so I don't want to mix those tables (at the moment). Changing table names to singular => ok This renaming action: Fieldlanguage => Language Fieldvalues => Label FieldLanguageValue => LabelValue => Will result in that the Object "Fieldvalues" has a primary key called "fieldvalues_id". Are you okay with that? We might change attribute names on a later iteration. But for now the attribute names will then be quite different from the Table name. "Language" might be a reserved word in some database vendors. Do you have other ideas for this table/Object ? Sebastian 2012/9/30 Maxim Solodovnik <[email protected]> > I agree :)) > > couple of things > > I would recommend to: > > Fieldlanguagesvalues => FieldLanguageValue > > Or maybe even better: > Fieldlanguage => Language > Fieldvalues => Label > FieldLanguageValue => LabelValue > > I would change table name from users to user since it is common practice > (like mysql.user _not_ mysql.users) > > i also don't really like > FileExplorerItem => File (or FileItem) > and > FlvRecording => Recording (FlvRecordingLog, FlvRecordingMetaData, > FlvRecordingMetaDelta) > > also I'm not sure why do we need OpenXGReturnObject, never use it :( > > Additionally I feel SOAPLogin and Invitations are similar objects, do we > really need both? > > On Sun, Sep 30, 2012 at 10:04 PM, [email protected] < > [email protected]> wrote: > >> Thanks Maxim! >> >> I think we might also discuss those issues: >> >> I would like to rename some classes: >> OmDAO => OmDao >> Users => User >> Adresses => Address >> States => State >> ErrorValues => ErrorValue >> AppointmentReminderTyps => AppointmentReminderType >> Organisation_Users => OrganisationUser >> Invitations => Invitation >> Fieldlanguagesvalues => Fieldlanguagesvalue >> Fieldvalues => Fieldvalue >> RoomPollAnswers => RoomPollAnswer >> RoomModerators => RoomModerator >> Rooms_Organisation => RoomOrganisation >> Rooms => Room >> RoomTypes => RoomType >> PrivateMessages => PrivateMessage >> Salutations => Salutation >> UserContacts => UserContact >> >> The table name should stay the same, for example: >> Java Object: User => Table name: users >> From my point of view a table is a List of users, so in that sense plural >> is ok. >> >> This refactoring will only affect the Java Object _names_ NO attribute >> name changes. >> Attribute names will stay the same (for now). You might claim that this >> is only 50% of the work, but it would otherwise need heavy refactoring all >> over the existing OpenLaszlo client. And we can't handle that as we would >> rely on search+find mechanism. >> >> So for now it will be that the "User"-Object has an attribute of Type >> "Address" but which attribute name is "adresses". Which is inconsistent but >> from my point of view a step in the right direction. >> >> As soon as we have a Wicket only interface, we can effectively >> refactor/rename attribute names and Eclipse will update most of the >> references. >> >> What do you think about it? >> How would this change affect the Backup Export/Import from your point of >> view? Would it work (theoretically) or is there already an issue with this >> change? >> >> Sebastian >> >> 2012/9/30 Maxim Solodovnik <[email protected]> >> >>> done. >>> >>> As you wish :) I'm not adding it myself since I believe it is always >>> possible to find via SVN history who was the author :) >>> >>> >>> On Sun, Sep 30, 2012 at 2:59 PM, [email protected] < >>> [email protected]> wrote: >>> >>>> ++ 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] >>>> >>> >>> >>> >>> -- >>> WBR >>> Maxim aka solomax >>> >> >> >> >> -- >> Sebastian Wagner >> https://twitter.com/#!/dead_lock >> http://www.webbase-design.de >> http://www.wagner-sebastian.com >> [email protected] >> > > > > -- > WBR > Maxim aka solomax > -- Sebastian Wagner https://twitter.com/#!/dead_lock http://www.webbase-design.de http://www.wagner-sebastian.com [email protected]
