Author: solomax
Date: Tue Sep 11 18:26:03 2012
New Revision: 1383512

URL: http://svn.apache.org/viewvc?rev=1383512&view=rev
Log:
Entity list is partially pageable and partially generalized.
Language editor stub is added

Added:
    
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/OmEntity.java
    
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/PagedEntityListPanel.html
    
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/PagedEntityListPanel.java
    
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/lang/
    
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/lang/LangPanel.html
    
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/lang/LangPanel.java
Modified:
    
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/basic/Fieldmanagment.java
    
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/domain/Organisation_Users.java
    
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/lang/Fieldlanguagesvalues.java
    
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/user/Users.java
    
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/MenuPanel.java
    
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/user/UsersPanel.html
    
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/user/UsersPanel.java

Modified: 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/basic/Fieldmanagment.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/basic/Fieldmanagment.java?rev=1383512&r1=1383511&r2=1383512&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/basic/Fieldmanagment.java
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/basic/Fieldmanagment.java
 Tue Sep 11 18:26:03 2012
@@ -381,6 +381,15 @@ public class Fieldmanagment {
                return q.getResultList();
        }
 
+       public List<Fieldlanguagesvalues> getMixedFieldValuesList(Long 
language_id, int first, int count) {
+               // all Fieldlanguagesvalues in current Language
+               TypedQuery<Fieldlanguagesvalues> q = 
em.createNamedQuery("allFieldLanguageValues", Fieldlanguagesvalues.class);
+               q.setParameter("language_id", language_id);
+               q.setFirstResult(first);
+               q.setMaxResults(count);
+               return q.getResultList();
+       }
+
        public List<Fieldlanguagesvalues> getUntranslatedFieldValuesList(Long 
language_id) {
                // all FieldValuesIds in current Language
                TypedQuery<Long> q0 = em.createNamedQuery("allFieldValuesIds", 
Long.class);

Added: 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/OmEntity.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/OmEntity.java?rev=1383512&view=auto
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/OmEntity.java
 (added)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/OmEntity.java
 Tue Sep 11 18:26:03 2012
@@ -0,0 +1,5 @@
+package org.apache.openmeetings.persistence.beans;
+
+public interface OmEntity {
+
+}

Modified: 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/domain/Organisation_Users.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/domain/Organisation_Users.java?rev=1383512&r1=1383511&r2=1383512&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/domain/Organisation_Users.java
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/domain/Organisation_Users.java
 Tue Sep 11 18:26:03 2012
@@ -76,6 +76,9 @@ public class Organisation_Users implemen
        @Element(data=true, required=false)
        private Boolean isModerator;
        
+       public Organisation_Users() {
+       }
+       
        public Organisation_Users(Organisation organisation) {
                this.organisation = organisation;
        }

Modified: 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/lang/Fieldlanguagesvalues.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/lang/Fieldlanguagesvalues.java?rev=1383512&r1=1383511&r2=1383512&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/lang/Fieldlanguagesvalues.java
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/lang/Fieldlanguagesvalues.java
 Tue Sep 11 18:26:03 2012
@@ -36,6 +36,8 @@ import javax.persistence.NamedQueries;
 import javax.persistence.NamedQuery;
 import javax.persistence.Table;
 
+import org.apache.openmeetings.persistence.beans.OmEntity;
+
 @Entity
 @NamedQueries({
        @NamedQuery(name = "allFieldLanguageValues", query = "SELECT flv FROM 
Fieldlanguagesvalues flv "
@@ -52,7 +54,7 @@ import javax.persistence.Table;
                + "             AND flv.language_id = 1 AND flv.fieldvalues_id 
NOT IN (:id_list)")
 })
 @Table(name = "fieldlanguagesvalues")
-public class Fieldlanguagesvalues implements Serializable {
+public class Fieldlanguagesvalues implements Serializable, OmEntity {
        private static final long serialVersionUID = 1965055047163639210L;
        @Id
        @GeneratedValue(strategy = GenerationType.IDENTITY)

Modified: 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/user/Users.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/user/Users.java?rev=1383512&r1=1383511&r2=1383512&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/user/Users.java
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/user/Users.java
 Tue Sep 11 18:26:03 2012
@@ -39,6 +39,7 @@ import javax.persistence.OneToOne;
 import javax.persistence.Table;
 import javax.persistence.Transient;
 
+import org.apache.openmeetings.persistence.beans.OmEntity;
 import org.apache.openmeetings.persistence.beans.adresses.Adresses;
 import org.apache.openmeetings.persistence.beans.adresses.States;
 import org.apache.openmeetings.persistence.beans.basic.OmTimeZone;
@@ -51,162 +52,159 @@ import org.simpleframework.xml.Root;
 
 @Entity
 @NamedQueries({
-       @NamedQuery(name="getAllUsers", query="SELECT u FROM Users u")
-       , @NamedQuery(name="getNondeletedUsers", query="SELECT u FROM Users u 
WHERE u.deleted = false")
-       , @NamedQuery(name="getUsersByOrganisationId",
-       query="SELECT u FROM Users u WHERE u.deleted = false AND 
u.organisation_users.organisation.organisation_id = :organisation_id")
-})
+               @NamedQuery(name = "getAllUsers", query = "SELECT u FROM Users 
u"),
+               @NamedQuery(name = "getNondeletedUsers", query = "SELECT u FROM 
Users u WHERE u.deleted = false"),
+               @NamedQuery(name = "getUsersByOrganisationId", query = "SELECT 
u FROM Users u WHERE u.deleted = false AND 
u.organisation_users.organisation.organisation_id = :organisation_id") })
 @Table(name = "users")
-@Root(name="user")
-public class Users implements Serializable {
+@Root(name = "user")
+public class Users implements Serializable, OmEntity {
        private static final long serialVersionUID = -2265479712596674065L;
        @Id
        @GeneratedValue(strategy = GenerationType.IDENTITY)
        @Column(name = "id")
-       @Element(data=true)
+       @Element(data = true)
        private Long user_id;
-       
+
        @Column(name = "age")
-       @Element(data=true)
+       @Element(data = true)
        private Date age;
-       
+
        @Column(name = "availible")
-       @Element(data=true, required=false)
+       @Element(data = true, required = false)
        private Integer availible;
-       
+
        @Column(name = "firstname")
-       @Element(data=true, required=false)
+       @Element(data = true, required = false)
        private String firstname;
-       
+
        @Column(name = "lastlogin")
        private Date lastlogin;
-       
+
        @Column(name = "lastname")
-       @Element(data=true, required=false)
+       @Element(data = true, required = false)
        private String lastname;
-       
+
        @Column(name = "lasttrans")
-       @Element(data=true, required=false)
+       @Element(data = true, required = false)
        private Long lasttrans;
-       
+
        @Column(name = "level_id")
-       @Element(data=true, required=false)
+       @Element(data = true, required = false)
        private Long level_id;
-       
+
        @Column(name = "login")
-       @Element(data=true)
+       @Element(data = true)
        private String login;
-       
+
        @Column(name = "password")
-       @Element(name="pass", data=true)
+       @Element(name = "pass", data = true)
        private String password;
-       
+
        @Column(name = "regdate")
-       @Element(data=true)
+       @Element(data = true)
        private Date regdate;
-       
+
        @Column(name = "status")
-       @Element(data=true, required=false)
+       @Element(data = true, required = false)
        private Integer status;
-       
+
        @Column(name = "salutations_id")
-       @Element(name="title_id", data=true, required=false)
+       @Element(name = "title_id", data = true, required = false)
        private Long salutations_id;
-       
+
        @Column(name = "starttime")
        private Date starttime;
-       
+
        @Column(name = "updatetime")
        private Date updatetime;
-       
+
        @Column(name = "pictureuri")
-       @Element(data=true, required=false)
+       @Element(data = true, required = false)
        private String pictureuri;
-       
+
        @Column(name = "deleted")
-       @Element(data=true)
+       @Element(data = true)
        private boolean deleted;
-       
+
        @Column(name = "language_id")
-       @Element(data=true, required=false)
+       @Element(data = true, required = false)
        private Long language_id;
-       
+
        @Column(name = "resethash")
-       @Element(data=true, required=false)
+       @Element(data = true, required = false)
        private String resethash;
-       
+
        @Column(name = "activatehash")
-       @Element(data=true, required=false)
+       @Element(data = true, required = false)
        private String activatehash;
 
-       
        @ManyToOne(fetch = FetchType.EAGER, cascade = CascadeType.ALL)
        @JoinColumn(name = "adresses_id", insertable = true, updatable = true)
-       @Element(name="address", required=false)
+       @Element(name = "address", required = false)
        private Adresses adresses;
-       
+
        @Transient
        private Userlevel userlevel;
-       
+
        @Transient
        private Userdata rechnungsaddressen;
-       
+
        @Transient
        private Userdata lieferadressen;
 
        @OneToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL)
        @JoinColumn(name = "user_id", insertable = true, updatable = true)
-       @ElementList(name="organisations")
+       @ElementList(name = "organisations")
        private List<Organisation_Users> organisation_users = new 
ArrayList<Organisation_Users>();
 
        @ManyToOne(fetch = FetchType.EAGER)
        @JoinColumn(name = "userSipDataId", insertable = true, updatable = true)
-       @Element(name="sipData", required=false)
+       @Element(name = "sipData", required = false)
        private UserSipData userSipData;
 
        // Vars to simulate external Users
        @Column(name = "externalUserId")
-       @Element(data=true, required=false)
+       @Element(data = true, required = false)
        private String externalUserId;
-       
+
        @Column(name = "externalUserType")
-       @Element(data=true, required=false)
+       @Element(data = true, required = false)
        private String externalUserType;
 
        @ManyToOne(fetch = FetchType.EAGER)
        @JoinColumn(name = "omtimezoneId", insertable = true, updatable = true)
-       @Element(data=true, required=false)
+       @Element(data = true, required = false)
        private OmTimeZone omTimeZone; // In UTC +/- hours
 
        @Transient
        private Sessiondata sessionData;
-       
+
        @Column(name = "forceTimeZoneCheck")
-       @Element(data=true, required=false)
+       @Element(data = true, required = false)
        private Boolean forceTimeZoneCheck;
 
        @Column(name = "sendSMS")
        private boolean sendSMS;
 
        @Column(name = "user_offers")
-       @Element(data=true, required=false)
+       @Element(data = true, required = false)
        private String userOffers;
-       
+
        @Column(name = "user_searchs")
-       @Element(data=true, required=false)
+       @Element(data = true, required = false)
        private String userSearchs;
-       
+
        @Column(name = "show_contact_data")
-       @Element(data=true, required=false)
+       @Element(data = true, required = false)
        private Boolean showContactData;
-       
+
        @Column(name = "show_contact_data_to_contacts")
-       @Element(data=true, required=false)
+       @Element(data = true, required = false)
        private Boolean showContactDataToContacts;
-       
+
        @OneToOne(fetch = FetchType.EAGER)
        @JoinColumn(name = "server_id")
-       @Element(required=false)
+       @Element(required = false)
        private Server server;
 
        public Long getUser_id() {
@@ -355,7 +353,7 @@ public class Users implements Serializab
        public void setSalutations_id(Long salutations_id) {
                this.salutations_id = salutations_id;
        }
-       
+
        public Userlevel getUserlevel() {
                return userlevel;
        }
@@ -403,7 +401,7 @@ public class Users implements Serializab
        public void setLanguage_id(Long language_id) {
                this.language_id = language_id;
        }
-       
+
        public List<Organisation_Users> getOrganisation_users() {
                return organisation_users;
        }
@@ -526,8 +524,8 @@ public class Users implements Serializab
        public void setServer(Server server) {
                this.server = server;
        }
-       
+
        public String getPhoneForSMS() {
                return getSendSMS() ? getAdresses().getPhone() : "";
-}
+       }
 }

Modified: 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/MenuPanel.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/MenuPanel.java?rev=1383512&r1=1383511&r2=1383512&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/MenuPanel.java
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/MenuPanel.java
 Tue Sep 11 18:26:03 2012
@@ -25,6 +25,7 @@ import org.apache.openmeetings.web.app.A
 import org.apache.openmeetings.web.app.WebSession;
 import org.apache.openmeetings.web.components.admin.rooms.RoomsPanel;
 import org.apache.openmeetings.web.components.admin.user.UsersPanel;
+import org.apache.openmeetings.web.components.lang.LangPanel;
 import org.apache.wicket.MarkupContainer;
 import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.ajax.markup.html.AjaxLink;
@@ -117,6 +118,8 @@ public class MenuPanel extends BasePanel
                                                                        case 
adminModuleConfiguration:
                                                                                
break;
                                                                        case 
adminModuleLanguages:
+                                                                               
target.add(contents.replace(new LangPanel("child")));
+                                                                               
hash = "#admin/lang";
                                                                                
break;
                                                                        case 
adminModuleLDAP:
                                                                                
break;

Added: 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/PagedEntityListPanel.html
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/PagedEntityListPanel.html?rev=1383512&view=auto
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/PagedEntityListPanel.html
 (added)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/PagedEntityListPanel.html
 Tue Sep 11 18:26:03 2012
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+         
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<html xmlns="http://www.w3.org/1999/xhtml"; 
+       
xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.5-strict.dtd"; 
lang="en">
+       <wicket:panel>
+               <select wicket:id="entityesPerPage"></select>
+               <span wicket:id="navigator">[dataview navigator]</span>
+       </wicket:panel>
+</html>
\ No newline at end of file

Added: 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/PagedEntityListPanel.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/PagedEntityListPanel.java?rev=1383512&view=auto
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/PagedEntityListPanel.java
 (added)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/PagedEntityListPanel.java
 Tue Sep 11 18:26:03 2012
@@ -0,0 +1,58 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.openmeetings.web.components.admin;
+
+import java.util.Arrays;
+import java.util.List;
+
+import org.apache.openmeetings.persistence.beans.OmEntity;
+import org.apache.wicket.ajax.AjaxEventBehavior;
+import org.apache.wicket.ajax.AjaxRequestTarget;
+import 
org.apache.wicket.ajax.markup.html.navigation.paging.AjaxPagingNavigator;
+import org.apache.wicket.markup.html.form.DropDownChoice;
+import org.apache.wicket.markup.repeater.data.DataView;
+import org.apache.wicket.model.PropertyModel;
+
+public abstract class PagedEntityListPanel extends AdminPanel {
+       private static final long serialVersionUID = -4280843184916302671L;
+       private int entityesPerPage = 50;
+       private List<Integer> numbers = Arrays.asList(10, 25, 50, 75, 100, 200);
+       
+       public PagedEntityListPanel(String id, final DataView<? extends 
OmEntity> dataView) {
+               super(id);
+               
+               dataView.setItemsPerPage(entityesPerPage);
+               final AjaxPagingNavigator navigator = new 
AjaxPagingNavigator("navigator", dataView);
+               add(navigator.setOutputMarkupId(true));
+               
+               add(new DropDownChoice<Integer>("entityesPerPage", new 
PropertyModel<Integer>(this, "entityesPerPage"), numbers)
+                       .add(new AjaxEventBehavior("change") {
+                               private static final long serialVersionUID = 
7721662282201431562L;
+
+                               @Override
+                               protected void onEvent(AjaxRequestTarget 
target) {
+                                       
dataView.setItemsPerPage(entityesPerPage);
+                                       target.add(navigator);
+                                       
PagedEntityListPanel.this.onEvent(target);
+                               }
+                       }));
+       }
+
+       protected abstract void onEvent(AjaxRequestTarget target);
+}

Modified: 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/user/UsersPanel.html
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/user/UsersPanel.html?rev=1383512&r1=1383511&r2=1383512&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/user/UsersPanel.html
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/user/UsersPanel.html
 Tue Sep 11 18:26:03 2012
@@ -23,9 +23,9 @@
        <wicket:panel>
                <table>
                        <tr>
-                               <td>
+                               <td valign="top">
                                        <span wicket:id="navigator">[dataview 
navigator]</span>
-                                       <table>
+                                       <table wicket:id="userListContainer">
                                                <tr>
                                                        <th><wicket:ommessage 
key="146" /></th>
                                                        <th><wicket:ommessage 
key="147" /></th>

Modified: 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/user/UsersPanel.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/user/UsersPanel.java?rev=1383512&r1=1383511&r2=1383512&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/user/UsersPanel.java
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/user/UsersPanel.java
 Tue Sep 11 18:26:03 2012
@@ -24,9 +24,10 @@ import org.apache.openmeetings.data.user
 import org.apache.openmeetings.persistence.beans.user.Users;
 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.wicket.ajax.AjaxEventBehavior;
 import org.apache.wicket.ajax.AjaxRequestTarget;
-import 
org.apache.wicket.ajax.markup.html.navigation.paging.AjaxPagingNavigator;
+import org.apache.wicket.markup.html.WebMarkupContainer;
 import org.apache.wicket.markup.html.basic.Label;
 import org.apache.wicket.markup.repeater.Item;
 import org.apache.wicket.markup.repeater.data.DataView;
@@ -88,9 +89,16 @@ public class UsersPanel extends AdminPan
                selected = new Label("selected", new 
PropertyModel<String>(this, "selectedText"));
                selected.setOutputMarkupId(true);
                add(selected);
-               dataView.setItemsPerPage(8); //FIXME need to be parametrized
-               add(dataView);
-               add(new AjaxPagingNavigator("navigator", dataView));
+               final WebMarkupContainer userListContainer = new 
WebMarkupContainer("userListContainer");
+               add(userListContainer.add(dataView).setOutputMarkupId(true));
+               add(new PagedEntityListPanel("navigator", dataView) {
+                       private static final long serialVersionUID = 
5097048616003411362L;
+
+                       @Override
+                       protected void onEvent(AjaxRequestTarget target) {
+                               target.add(userListContainer);
+                       }
+               });
                
                Users user = new Users();
                form = new UserForm("form", user);

Added: 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/lang/LangPanel.html
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/lang/LangPanel.html?rev=1383512&view=auto
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/lang/LangPanel.html
 (added)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/lang/LangPanel.html
 Tue Sep 11 18:26:03 2012
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+         
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<html xmlns="http://www.w3.org/1999/xhtml"; 
+       
xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.5-strict.dtd"; 
lang="en">
+       <wicket:panel>
+               <table>
+                       <tr>
+                               <td valign="top">
+                                       <span wicket:id="navigator">[dataview 
navigator]</span>
+                                       <table wicket:id="langListContainer">
+                                               <tr>
+                                                       <th><wicket:ommessage 
key="350" /></th>
+                                                       <th><wicket:ommessage 
key="351" /></th>
+                                                       <th><wicket:ommessage 
key="352" /></th>
+                                               </tr>                   
+                                       <tr wicket:id="langList">
+                                                       <td><span 
wicket:id="lblId"></span></td>
+                                                       <td><span 
wicket:id="name"></span></td>
+                                                       <td><span 
wicket:id="value"></span></td>
+                                               </tr>
+                                       </table>
+                               </td>
+                               <td>
+                               </td>
+                       </tr>
+               </table>
+       </wicket:panel>
+</html>

Added: 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/lang/LangPanel.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/lang/LangPanel.java?rev=1383512&view=auto
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/lang/LangPanel.java
 (added)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/lang/LangPanel.java
 Tue Sep 11 18:26:03 2012
@@ -0,0 +1,97 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.openmeetings.web.components.lang;
+
+import java.util.Iterator;
+
+import org.apache.openmeetings.data.basic.Fieldmanagment;
+import org.apache.openmeetings.persistence.beans.lang.Fieldlanguagesvalues;
+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.wicket.ajax.AjaxRequestTarget;
+import org.apache.wicket.markup.html.WebMarkupContainer;
+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;
+
+public class LangPanel extends AdminPanel {
+       private static final long serialVersionUID = 5904180813198016592L;
+       long language = 1;
+       
+       public LangPanel(String id) {
+               super(id);
+
+               DataView<Fieldlanguagesvalues> dataView = new 
DataView<Fieldlanguagesvalues>("langList", new 
IDataProvider<Fieldlanguagesvalues>(){
+                       private static final long serialVersionUID = 
-6822789354860988626L;
+
+                       public void detach() {
+                               //empty
+                       }
+
+                       public Iterator<? extends Fieldlanguagesvalues> 
iterator(long first, long count) {
+                               return 
Application.getBean(Fieldmanagment.class).getMixedFieldValuesList(language, 
(int)first, (int)count).iterator();
+                       }
+
+                       public long size() {
+                               return 
Application.getBean(Fieldmanagment.class).getNextFieldvaluesId() - 1; //FIXME 
need to be generalized
+                       }
+
+                       public IModel<Fieldlanguagesvalues> 
model(Fieldlanguagesvalues object) {
+                               return new 
CompoundPropertyModel<Fieldlanguagesvalues>(object);
+                       }
+                       
+               }) {
+                       private static final long serialVersionUID = 
8715559628755439596L;
+
+                       @Override
+                       protected void populateItem(Item<Fieldlanguagesvalues> 
item) {
+                               final Fieldlanguagesvalues flv = 
item.getModelObject();
+                               item.add(new Label("lblId", "" + 
flv.getFieldlanguagesvalues_id()));
+                               item.add(new Label("name", 
flv.getFieldvalues().getName()));
+                               item.add(new Label("value", flv.getValue()));
+                               /*
+                               item.add(new AjaxEventBehavior("onclick") {
+                                       private static final long 
serialVersionUID = -8069413566800571061L;
+
+                                       protected void 
onEvent(AjaxRequestTarget target) {
+                                               //form.setModelObject(u);
+                                               //target.add(form);
+                                       }
+                               });
+                               */
+                       }
+               };
+               
+               final WebMarkupContainer langListContainer = new 
WebMarkupContainer("langListContainer");
+               add(langListContainer.add(dataView).setOutputMarkupId(true));
+               add(new PagedEntityListPanel("navigator", dataView) {
+                       private static final long serialVersionUID = 
5097048616003411362L;
+
+                       @Override
+                       protected void onEvent(AjaxRequestTarget target) {
+                               target.add(langListContainer);
+                       }
+               });
+               
+       }
+}


Reply via email to