It seems like you don't really like inner and anonymous classes :))

I do create such classes if I need some functionality which is:
1) not extendable (the class written is not extended by some other class)
2) the class has no markup file. (markups for the inner class can be added
something like OuterClass$InnerClass.html, but it looks ugly)



On Sat, Sep 22, 2012 at 8:28 PM, <[email protected]> wrote:

> Author: sebawagner
> Date: Sat Sep 22 13:28:23 2012
> New Revision: 1388808
>
> URL: http://svn.apache.org/viewvc?rev=1388808&view=rev
> Log:
> OPENMEETINGS-429 refactor and split up language editing in several
> classes, adding new languages will currently not work, needs more
> refactoring
>
> Added:
>
> incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/labels/LabelsForm.java
>
> incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/labels/LangForm.java
> Modified:
>
> incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/basic/FieldLanguageDaoImpl.java
>
> incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/lang/FieldLanguage.java
>
> incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/configurations/ConfigForm.java
>
> incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/configurations/ConfigsPanel.java
>
> incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/labels/LangPanel.html
>
> incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/labels/LangPanel.java
>
> incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/users/UserForm.java
>
> Modified:
> incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/basic/FieldLanguageDaoImpl.java
> URL:
> http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/basic/FieldLanguageDaoImpl.java?rev=1388808&r1=1388807&r2=1388808&view=diff
>
> ==============================================================================
> ---
> incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/basic/FieldLanguageDaoImpl.java
> (original)
> +++
> incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/basic/FieldLanguageDaoImpl.java
> Sat Sep 22 13:28:23 2012
> @@ -18,6 +18,7 @@
>   */
>  package org.apache.openmeetings.data.basic;
>
> +import java.io.Serializable;
>  import java.util.Date;
>  import java.util.List;
>
> @@ -38,7 +39,9 @@ import org.springframework.transaction.a
>   *
>   */
>  @Transactional
> -public class FieldLanguageDaoImpl {
> +public class FieldLanguageDaoImpl implements Serializable {
> +
> +       private static final long serialVersionUID = -2714490167956230305L;
>
>         private static final Logger log = Red5LoggerFactory.getLogger(
>                         FieldLanguageDaoImpl.class,
> OpenmeetingsVariables.webAppRootKey);
> @@ -102,7 +105,13 @@ public class FieldLanguageDaoImpl {
>                 return new Long(-1);
>         }
>
> -       public void updateLanguage(FieldLanguage fl) throws Exception {
> +       public void delete(FieldLanguage fl) {
> +               fl.setUpdatetime(new Date());
> +               fl.setDeleted(true);
> +               em.merge(fl);
> +       }
> +
> +       public void updateLanguage(FieldLanguage fl) {
>                 if (fl.getLanguage_id() == null) {
>                         em.persist(fl);
>                 } else {
>
> Modified:
> incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/lang/FieldLanguage.java
> URL:
> http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/lang/FieldLanguage.java?rev=1388808&r1=1388807&r2=1388808&view=diff
>
> ==============================================================================
> ---
> incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/lang/FieldLanguage.java
> (original)
> +++
> incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/lang/FieldLanguage.java
> Sat Sep 22 13:28:23 2012
> @@ -33,9 +33,11 @@ import javax.persistence.Id;
>  import javax.persistence.JoinColumn;
>  import javax.persistence.OneToMany;
>  import javax.persistence.Table;
> +
> +import org.apache.openmeetings.persistence.beans.OmEntity;
>  @Entity
>  @Table(name = "fieldlanguage")
> -public class FieldLanguage implements Serializable {
> +public class FieldLanguage implements Serializable, OmEntity {
>         private static final long serialVersionUID = 3501643212388395425L;
>         @Id
>         @Column(name="id")
>
> Modified:
> incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/configurations/ConfigForm.java
> URL:
> http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/configurations/ConfigForm.java?rev=1388808&r1=1388807&r2=1388808&view=diff
>
> ==============================================================================
> ---
> incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/configurations/ConfigForm.java
> (original)
> +++
> incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/configurations/ConfigForm.java
> Sat Sep 22 13:28:23 2012
> @@ -32,6 +32,12 @@ import org.apache.wicket.markup.html.for
>  import org.apache.wicket.markup.html.form.TextField;
>  import org.apache.wicket.model.CompoundPropertyModel;
>
> +/**
> + * Handle {@link Configuration} items as list and form
> + *
> + * @author swagner
> + *
> + */
>  public class ConfigForm extends AdminBaseForm<Configuration> {
>
>         private static final long serialVersionUID = 1L;
>
> Modified:
> incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/configurations/ConfigsPanel.java
> URL:
> http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/configurations/ConfigsPanel.java?rev=1388808&r1=1388807&r2=1388808&view=diff
>
> ==============================================================================
> ---
> incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/configurations/ConfigsPanel.java
> (original)
> +++
> incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/configurations/ConfigsPanel.java
> Sat Sep 22 13:28:23 2012
> @@ -31,6 +31,12 @@ import org.apache.wicket.markup.html.bas
>  import org.apache.wicket.markup.repeater.Item;
>  import org.apache.wicket.markup.repeater.data.DataView;
>
> +/**
> + * add/update/delete {@link Configuration}
> + *
> + * @author swagner
> + *
> + */
>  public class ConfigsPanel extends AdminPanel {
>
>         private static final long serialVersionUID = -1L;
> @@ -71,8 +77,7 @@ public class ConfigsPanel extends AdminP
>                         }
>                 });
>
> -               Configuration configuration = new Configuration();
> -               form = new ConfigForm("form", listContainer,
> configuration);
> +               form = new ConfigForm("form", listContainer, new
> Configuration());
>          add(form);
>
>         }
>
> Added:
> incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/labels/LabelsForm.java
> URL:
> http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/labels/LabelsForm.java?rev=1388808&view=auto
>
> ==============================================================================
> ---
> incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/labels/LabelsForm.java
> (added)
> +++
> incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/labels/LabelsForm.java
> Sat Sep 22 13:28:23 2012
> @@ -0,0 +1,88 @@
> +/*
> + * 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.labels;
> +
> +import org.apache.openmeetings.data.basic.FieldLanguagesValuesDAO;
> +import
> org.apache.openmeetings.persistence.beans.lang.Fieldlanguagesvalues;
> +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.markup.html.basic.Label;
> +import org.apache.wicket.markup.html.form.Form;
> +import org.apache.wicket.markup.html.form.TextArea;
> +import org.apache.wicket.markup.html.form.TextField;
> +import org.apache.wicket.model.CompoundPropertyModel;
> +
> +/**
> + * Add/edit/delete {@link Fieldlanguagesvalues}
> + *
> + * @author swagner
> + *
> + */
> +public class LabelsForm extends AdminBaseForm<Fieldlanguagesvalues> {
> +
> +       public LabelsForm(String id, Fieldlanguagesvalues
> fieldlanguagesvalues) {
> +               super(id, new CompoundPropertyModel<Fieldlanguagesvalues>(
> +                               fieldlanguagesvalues));
> +               setOutputMarkupId(true);
> +
> +               add(new Label("fieldvalues.fieldvalues_id"));
> +               add(new TextField<String>("fieldvalues.name"));
> +               add(new TextArea<String>("value"));
> +
> +       }
> +
> +       private static final long serialVersionUID = -1309878909524329047L;
> +
> +       @Override
> +       protected void onNewSubmit(AjaxRequestTarget target, Form<?> f) {
> +               this.setModelObject(new Fieldlanguagesvalues());
> +               target.add(this);
> +       }
> +
> +       @Override
> +       protected void onRefreshSubmit(AjaxRequestTarget target, Form<?>
> form) {
> +               Fieldlanguagesvalues flv = getModelObject();
> +               if (flv.getFieldlanguagesvalues_id() != null) {
> +                       flv =
> Application.getBean(FieldLanguagesValuesDAO.class).get(
> +
> getModelObject().getFieldlanguagesvalues_id());
> +               } else {
> +                       flv = new Fieldlanguagesvalues();
> +               }
> +               this.setModelObject(flv);
> +               target.add(this);
> +       }
> +
> +       @Override
> +       protected void onSaveSubmit(AjaxRequestTarget target, Form<?>
> form) {
> +               Application.getBean(FieldLanguagesValuesDAO.class).update(
> +                               getModelObject(), WebSession.getUserId());
> +               // FIXME reload
> +       }
> +
> +       // FIXME confirmation
> +       @Override
> +       protected void onDeleteSubmit(AjaxRequestTarget target, Form<?>
> form) {
> +               Application.getBean(FieldLanguagesValuesDAO.class).delete(
> +                               getModelObject(), WebSession.getUserId());
> +               // FIXME reload
> +       }
> +
> +}
>
> Added:
> incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/labels/LangForm.java
> URL:
> http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/labels/LangForm.java?rev=1388808&view=auto
>
> ==============================================================================
> ---
> incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/labels/LangForm.java
> (added)
> +++
> incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/labels/LangForm.java
> Sat Sep 22 13:28:23 2012
> @@ -0,0 +1,197 @@
> +/*
> + * 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.labels;
> +
> +import java.util.ArrayList;
> +import java.util.List;
> +
> +import org.apache.openmeetings.data.basic.FieldLanguageDaoImpl;
> +import org.apache.openmeetings.persistence.beans.lang.FieldLanguage;
> +import org.apache.openmeetings.web.app.Application;
> +import org.apache.openmeetings.web.components.ConfirmCallListener;
> +import org.apache.openmeetings.web.components.admin.AdminBaseForm;
> +import org.apache.wicket.ajax.AjaxRequestTarget;
> +import org.apache.wicket.ajax.attributes.AjaxRequestAttributes;
> +import org.apache.wicket.ajax.form.AjaxFormComponentUpdatingBehavior;
> +import org.apache.wicket.ajax.markup.html.form.AjaxButton;
> +import org.apache.wicket.markup.html.WebMarkupContainer;
> +import org.apache.wicket.markup.html.form.DropDownChoice;
> +import org.apache.wicket.markup.html.form.Form;
> +import org.apache.wicket.markup.html.form.IChoiceRenderer;
> +import org.apache.wicket.model.CompoundPropertyModel;
> +
> +/**
> + * Modify the language selection, add/delete {@link FieldLanguage}
> + *
> + * @author swagner
> + *
> + */
> +public class LangForm extends AdminBaseForm<FieldLanguage> {
> +
> +       private static final long serialVersionUID = 2837702941211636609L;
> +       private final WebMarkupContainer listContainer;
> +       private final LangPanel langPanel;
> +       private DropDownChoice<Long> languages;
> +
> +       private List<FieldLanguage> fieldLanguages;
> +
> +       private List<Long> getFieldLanguageIds() {
> +               List<Long> idsList = new ArrayList<Long>();
> +               for (FieldLanguage fieldLanguage : fieldLanguages) {
> +                       idsList.add(fieldLanguage.getLanguage_id());
> +               }
> +               return idsList;
> +       }
> +
> +       private String getFieldLanguageLabelById(Long id) {
> +               for (FieldLanguage language : fieldLanguages) {
> +                       if (id.equals(language.getLanguage_id())) {
> +                               return language.getName();
> +                       }
> +               }
> +               throw new RuntimeException("Could not find FieldLanguage
> for id " + id);
> +       }
> +
> +       public LangForm(String id, final WebMarkupContainer listContainer,
> +                       FieldLanguage language, LangPanel langPanel) {
> +
> +               super(id, new
> CompoundPropertyModel<FieldLanguage>(language));
> +               this.listContainer = listContainer;
> +               this.langPanel = langPanel;
> +               setOutputMarkupId(true);
> +
> +               addLanguageDropDown();
> +
> +               addSaveAndDeleteButtons();
> +
> +               // addNewLanguagePopUp(langPanel);
> +       }
> +
> +       /**
> +        * Adds the drop down menu to choose more languages
> +        */
> +       private void addLanguageDropDown() {
> +
> +               // prepare the list of languages
> +               FieldLanguageDaoImpl langDao = Application
> +                               .getBean(FieldLanguageDaoImpl.class);
> +               fieldLanguages = langDao.getLanguages();
> +
> +               languages = new DropDownChoice<Long>("language_id",
> +                               getFieldLanguageIds(), new
> IChoiceRenderer<Long>() {
> +                                       private static final long
> serialVersionUID = 1L;
> +
> +                                       public Object getDisplayValue(Long
> id) {
> +                                               return
> getFieldLanguageLabelById(id);
> +                                       }
> +
> +                                       public String getIdValue(Long id,
> int index) {
> +                                               return "" + id;
> +                                       }
> +
> +                               });
> +
> +               languages.add(new
> AjaxFormComponentUpdatingBehavior("onchange") {
> +                       private static final long serialVersionUID =
> -2055912815073387536L;
> +
> +                       @Override
> +                       protected void onUpdate(AjaxRequestTarget target) {
> +                               target.add(listContainer);
> +                       }
> +               });
> +
> +               add(languages);
> +       }
> +
> +       /**
> +        * adds the pop up to enter a new language
> +        *
> +        * @param langPanel
> +        */
> +       // private void addNewLanguagePopUp(LangPanel langPanel) {
> +       // langPanel.add(addLangForm.add(
> +       // new RequiredTextField<String>("name",
> +       // new PropertyModel<String>(this, "newLanguageName")))
> +       // .add(new RequiredTextField<String>("iso",
> +       // new PropertyModel<String>(this, "newLanguageISO"))));
> +       // }
> +
> +       /**
> +        * Add save and remove buttons and trigger add/delete in DAO
> +        */
> +       private void addSaveAndDeleteButtons() {
> +
> +               add(new AjaxButton("newLangBtn") {
> +                       private static final long serialVersionUID =
> 5570057276994987132L;
> +               });
> +
> +               add(new AjaxButton("deleteLangBtn") {
> +                       private static final long serialVersionUID =
> -1650946343073068686L;
> +
> +                       @Override
> +                       protected void
> updateAjaxAttributes(AjaxRequestAttributes attributes) {
> +                               super.updateAjaxAttributes(attributes);
> +                               attributes.getAjaxCallListeners().add(
> +                                               new
> ConfirmCallListener(833L));
> +                       }
> +
> +                       @Override
> +                       protected void onSubmit(AjaxRequestTarget target,
> Form<?> form) {
> +                               FieldLanguageDaoImpl langDao = Application
> +
> .getBean(FieldLanguageDaoImpl.class);
> +                               langDao.delete(langPanel.getLanguage());
> +                               fieldLanguages = langDao.getLanguages();
> +
> languages.setChoices(getFieldLanguageIds());
> +                               target.add(languages);
> +                               // FIXME need to force update list
> container
> +                               target.add(listContainer);
> +                       }
> +               });
> +
> +               // add(new AjaxButton("add", this) {
> +               // private static final long serialVersionUID =
> -552597041751688740L;
> +               //
> +               // @Override
> +               // public void onSubmit(AjaxRequestTarget target, Form<?>
> form) {
> +               // FieldLanguageDaoImpl langDao = Application
> +               // .getBean(FieldLanguageDaoImpl.class);
> +               //
> +               // FieldLanguage fl = new FieldLanguage();
> +               // fl.setLanguage_id(langDao.getNextAvailableId());
> +               // fl.setStarttime(new Date());
> +               // fl.setDeleted(false);
> +               // fl.setName(langPanel.getNewLanguageName());
> +               // fl.setRtl(false); // FIXME
> +               // fl.setCode(langPanel.getNewLanguageISO());
> +               //
> +               // try {
> +               // langDao.updateLanguage(fl);
> +               // } catch (Exception e) {
> +               // // TODO add feedback message
> +               // e.printStackTrace();
> +               // }
> +               // fieldLanguages = langDao.getLanguages();
> +               // languages.setChoices(getFieldLanguageIds());
> +               // target.add(languages);
> +               //
> target.appendJavaScript("$('#addLanguage').dialog('close');");
> +               // }
> +               // });
> +       }
> +
> +}
>
> Modified:
> incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/labels/LangPanel.html
> URL:
> http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/labels/LangPanel.html?rev=1388808&r1=1388807&r2=1388808&view=diff
>
> ==============================================================================
> ---
> incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/labels/LangPanel.html
> (original)
> +++
> incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/labels/LangPanel.html
> Sat Sep 22 13:28:23 2012
> @@ -33,9 +33,16 @@
>                 <table class="adminPanel">
>                         <tr>
>                                 <td valign="top"
> class="adminPanelColumnTable">
> -                                       <div class="formNewButton"
> onclick="$('#addLanguage :text').val('');
> $('#addLanguage').dialog('open');"><input/></div>
> -                                       <div class="formCancelButton"
> wicket:id="deleteLngBtn"><input/></div>
> -                                       <form wicket:id="langForm"
> style="display: inline-block;"><select wicket:id="language"></select></form>
> +                                       <form wicket:id="langForm"
> style="display: inline;">
> +                                               <div class="formNewButton"
> +
> onclick="$('#addLanguage :text').val('');
> $('#addLanguage').dialog('open');">
> +                                                       <input
> type="submit" value="" wicket:id="newLangBtn" />
> +                                               </div>
> +                                               <div
> class="formCancelButton">
> +                                                       <input
> type="submit" value="" wicket:id="deleteLangBtn" />
> +                                               </div>
> +                                               <select
> wicket:id="language_id"></select>
> +                                       </form>
>                                         <span
> wicket:id="navigator">[dataview navigator]</span>
>                                         <table class="adminListTable">
>                                                 <thead>
> @@ -83,18 +90,18 @@
>                         </tr>
>                 </table>
>                 <div id="addLanguage" wicket:ommessage="title:364"
> style="display: none;">
> -                       <form wicket:id="addLangForm">
> +                       <form > <!--  wicket:id="addLangForm" -->
>                                 <table>
>                                         <tr>
>                                                 <td><wicket:ommessage
> key="365" /></td>
> -                                               <td><input type="text"
> wicket:id="name" /></td>
> +                                               <td><input type="text"
> /></td><!-- wicket:id="name"  -->
>                                         </tr>
>                                         <tr>
>                                                 <td><wicket:ommessage
> key="1422" /></td>
> -                                               <td><input type="text"
> wicket:id="iso"/></td>
> +                                               <td><input type="text"
> /></td><!-- wicket:id="iso" -->
>                                         </tr>
>                                         <tr>
> -                                               <td align="right"
> colspan="2"><input wicket:id="add" type="submit" /></td>
> +                                               <td align="right"
> colspan="2"><input type="submit" /></td><!--  wicket:id="add"  -->
>                                         </tr>
>                                 </table>
>                         </form>
>
> Modified:
> incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/labels/LangPanel.java
> URL:
> http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/labels/LangPanel.java?rev=1388808&r1=1388807&r2=1388808&view=diff
>
> ==============================================================================
> ---
> incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/labels/LangPanel.java
> (original)
> +++
> incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/labels/LangPanel.java
> Sat Sep 22 13:28:23 2012
> @@ -18,7 +18,6 @@
>   */
>  package org.apache.openmeetings.web.components.admin.labels;
>
> -import java.util.Date;
>  import java.util.Iterator;
>
>  import org.apache.openmeetings.data.basic.FieldLanguageDaoImpl;
> @@ -26,90 +25,78 @@ import org.apache.openmeetings.data.basi
>  import org.apache.openmeetings.persistence.beans.lang.FieldLanguage;
>  import
> org.apache.openmeetings.persistence.beans.lang.Fieldlanguagesvalues;
>  import org.apache.openmeetings.web.app.Application;
> -import org.apache.openmeetings.web.app.WebSession;
> -import org.apache.openmeetings.web.components.ConfirmCallListener;
> -import org.apache.openmeetings.web.components.admin.AdminBaseForm;
>  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;
> -import org.apache.wicket.ajax.attributes.AjaxRequestAttributes;
> -import org.apache.wicket.ajax.form.AjaxFormComponentUpdatingBehavior;
> -import org.apache.wicket.ajax.markup.html.form.AjaxButton;
>  import org.apache.wicket.markup.html.WebMarkupContainer;
>  import org.apache.wicket.markup.html.basic.Label;
> -import org.apache.wicket.markup.html.form.ChoiceRenderer;
> -import org.apache.wicket.markup.html.form.DropDownChoice;
> -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.markup.html.form.TextField;
>  import org.apache.wicket.markup.repeater.Item;
>  import org.apache.wicket.markup.repeater.data.DataView;
> -import org.apache.wicket.model.CompoundPropertyModel;
> -import org.apache.wicket.model.Model;
> -import org.apache.wicket.model.PropertyModel;
>
> +/**
> + * Language Editor, add/insert/update {@link Fieldlanguagesvalues} and
> + * add/delete {@link FieldLanguage} contains several Forms and one list
> + *
> + * @author solomax, swagner
> + *
> + */
>  public class LangPanel extends AdminPanel {
>         private static final long serialVersionUID = 5904180813198016592L;
> +
>         private FieldLanguage language;
>         private String newLanguageName;
>         private String newLanguageISO;
> -
> +
> +       public FieldLanguage getLanguage() {
> +               return language;
> +       }
> +
> +       public void setLanguage(FieldLanguage language) {
> +               this.language = language;
> +       }
> +
> +       public String getNewLanguageName() {
> +               return newLanguageName;
> +       }
> +
> +       public void setNewLanguageName(String newLanguageName) {
> +               this.newLanguageName = newLanguageName;
> +       }
> +
> +       public String getNewLanguageISO() {
> +               return newLanguageISO;
> +       }
> +
> +       public void setNewLanguageISO(String newLanguageISO) {
> +               this.newLanguageISO = newLanguageISO;
> +       }
> +
>         public LangPanel(String id) {
>                 super(id);
> -               FieldLanguageDaoImpl langDao =
> Application.getBean(FieldLanguageDaoImpl.class);
> +               FieldLanguageDaoImpl langDao = Application
> +                               .getBean(FieldLanguageDaoImpl.class);
>                 language = langDao.getFieldLanguageById(1L);
> -
> -               final AdminBaseForm<Fieldlanguagesvalues> form = new
> AdminBaseForm<Fieldlanguagesvalues>("form", new
> CompoundPropertyModel<Fieldlanguagesvalues>(new Fieldlanguagesvalues())) {
> -                       private static final long serialVersionUID =
> -1309878909524329047L;
> -
> -                       @Override
> -                       protected void onNewSubmit(AjaxRequestTarget
> target, Form<?> f) {
> -                               this.setModelObject(new
> Fieldlanguagesvalues());
> -                               target.add(this);
> -                       }
> -
> -                       @Override
> -                       protected void onRefreshSubmit(AjaxRequestTarget
> target, Form<?> form) {
> -                               Fieldlanguagesvalues flv =
> getModelObject();
> -                               if (flv.getFieldlanguagesvalues_id() !=
> null) {
> -                                       flv =
> Application.getBean(FieldLanguagesValuesDAO.class).get(getModelObject().getFieldlanguagesvalues_id());
> -                               } else {
> -                                       flv = new Fieldlanguagesvalues();
> -                               }
> -                               this.setModelObject(flv);
> -                               target.add(this);
> -                       }
> -
> -                       @Override
> -                       protected void onSaveSubmit(AjaxRequestTarget
> target, Form<?> form) {
> -
> Application.getBean(FieldLanguagesValuesDAO.class).update(getModelObject(),
> WebSession.getUserId());
> -                               //FIXME reload
> -                       }
> -
> -                       //FIXME confirmation
> -                       @Override
> -                       protected void onDeleteSubmit(AjaxRequestTarget
> target, Form<?> form) {
> -
> Application.getBean(FieldLanguagesValuesDAO.class).delete(getModelObject(),
> WebSession.getUserId());
> -                               //FIXME reload
> -                       }
> -               };
> -               form.add(new Label("fieldvalues.fieldvalues_id"));
> -               form.add(new TextField<String>("fieldvalues.name"));
> -               form.add(new TextArea<String>("value"));
> -        add(form);
> -
> -               final DataView<Fieldlanguagesvalues> dataView = new
> DataView<Fieldlanguagesvalues>("langList"
> -                               , new
> OmDataProvider<Fieldlanguagesvalues>(FieldLanguagesValuesDAO.class){
> -                       private static final long serialVersionUID =
> -6822789354860988626L;
>
> -                       public Iterator<? extends Fieldlanguagesvalues>
> iterator(long first, long count) {
> -                               return
> Application.getBean(FieldLanguagesValuesDAO.class).get(language.getLanguage_id(),
> (int)first, (int)count).iterator();
> -                       }
> -               }) {
> +               final LabelsForm form = new LabelsForm("form",
> +                               new Fieldlanguagesvalues());
> +               add(form);
> +
> +               final DataView<Fieldlanguagesvalues> dataView = new
> DataView<Fieldlanguagesvalues>(
> +                               "langList", new
> OmDataProvider<Fieldlanguagesvalues>(
> +
> FieldLanguagesValuesDAO.class) {
> +                                       private static final long
> serialVersionUID = -6822789354860988626L;
> +
> +                                       public Iterator<? extends
> Fieldlanguagesvalues> iterator(
> +                                                       long first, long
> count) {
> +                                               return Application
> +
> .getBean(FieldLanguagesValuesDAO.class)
> +
> .get(language.getLanguage_id(), (int) first,
> +
>       (int) count).iterator();
> +                                       }
> +                               }) {
>                         private static final long serialVersionUID =
> 8715559628755439596L;
>
>                         @Override
> @@ -127,11 +114,13 @@ public class LangPanel extends AdminPane
>                                                 target.add(form);
>                                         }
>                                 });
> -                               item.add(AttributeModifier.append("class",
> "clickable " + ((item.getIndex() % 2 == 1) ? "even" : "odd")));
> +                               item.add(AttributeModifier.append("class",
> "clickable "
> +                                               + ((item.getIndex() % 2 ==
> 1) ? "even" : "odd")));
>                         }
>                 };
> -
> -               final WebMarkupContainer listContainer = new
> WebMarkupContainer("listContainer");
> +
> +               final WebMarkupContainer listContainer = new
> WebMarkupContainer(
> +                               "listContainer");
>                 add(listContainer.add(dataView).setOutputMarkupId(true));
>                 add(new PagedEntityListPanel("navigator", dataView) {
>                         private static final long serialVersionUID =
> 5097048616003411362L;
> @@ -142,79 +131,8 @@ public class LangPanel extends AdminPane
>                                 target.add(listContainer);
>                         }
>                 });
> -
> -               final Form<Void> f = new Form<Void>("langForm");
> -               final DropDownChoice<FieldLanguage> languages = new
> DropDownChoice<FieldLanguage>("language"
> -                       , new PropertyModel<FieldLanguage>(this,
> "language")
> -                       , langDao.getLanguages()
> -                       , new ChoiceRenderer<FieldLanguage>("name",
> "language_id"));
> -
> -               languages.add(new
> AjaxFormComponentUpdatingBehavior("onchange") {
> -                       private static final long serialVersionUID =
> -2055912815073387536L;
> -
> -                               @Override
> -                               protected void onUpdate(AjaxRequestTarget
> target) {
> -                                       target.add(listContainer);
> -                               }
> -                       });
> -               f.add(languages.setOutputMarkupId(true));
> -               add(f.setOutputMarkupId(true));
> -
> -               add(new WebMarkupContainer("deleteLngBtn").add(new
> AjaxEventBehavior("onclick"){
> -                       private static final long serialVersionUID =
> -1650946343073068686L;
> -
> -                       @Override
> -                       protected void
> updateAjaxAttributes(AjaxRequestAttributes attributes) {
> -                               super.updateAjaxAttributes(attributes);
> -                               attributes.getAjaxCallListeners().add(new
> ConfirmCallListener(833L));
> -                       }
> -
> -                       @Override
> -                       protected void onEvent(AjaxRequestTarget target) {
> -                               language.setDeleted(true);
> -                               FieldLanguageDaoImpl langDao =
> Application.getBean(FieldLanguageDaoImpl.class);
> -                               try {
> -                                       langDao.updateLanguage(language);
> -                               } catch (Exception e) {
> -                                       // TODO add feedback message
> -                                       e.printStackTrace();
> -                               }
> -
> languages.setChoices(langDao.getLanguages());
> -                               target.add(languages);
> -                               //FIXME need to forse update list container
> -                               target.add(listContainer);
> -                       }
> -               }));
> -               Form<Void> addLangForm = new Form<Void>("addLangForm");
> -               addLangForm.add(new AjaxButton("add",
> Model.of(WebSession.getString(366L)), addLangForm) {
> -                       private static final long serialVersionUID =
> -552597041751688740L;
> +               add(new LangForm("langForm", listContainer, language,
> this));
>
> -                       @Override
> -                       public void onSubmit(AjaxRequestTarget target,
> Form<?> form) {
> -                               FieldLanguageDaoImpl langDao =
> Application.getBean(FieldLanguageDaoImpl.class);
> -
> -                               FieldLanguage fl = new FieldLanguage();
> -
> fl.setLanguage_id(langDao.getNextAvailableId());
> -                               fl.setStarttime(new Date());
> -                               fl.setDeleted(false);
> -                               fl.setName(newLanguageName);
> -                               fl.setRtl(false); //FIXME
> -                               fl.setCode(newLanguageISO);
> -
> -                               try {
> -                                       langDao.updateLanguage(fl);
> -                               } catch (Exception e) {
> -                                       // TODO add feedback message
> -                                       e.printStackTrace();
> -                               }
> -
> languages.setChoices(langDao.getLanguages());
> -                               target.add(languages);
> -
> target.appendJavaScript("$('#addLanguage').dialog('close');");
> -                       }
> -               });
> -               add(addLangForm
> -                       .add(new RequiredTextField<String>("name", new
> PropertyModel<String>(this, "newLanguageName")))
> -                       .add(new RequiredTextField<String>("iso", new
> PropertyModel<String>(this, "newLanguageISO")))
> -               );
>         }
> +
>  }
>
> Modified:
> incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/users/UserForm.java
> URL:
> http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/users/UserForm.java?rev=1388808&r1=1388807&r2=1388808&view=diff
>
> ==============================================================================
> ---
> incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/users/UserForm.java
> (original)
> +++
> incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/users/UserForm.java
> Sat Sep 22 13:28:23 2012
> @@ -81,7 +81,7 @@ public class UserForm extends AdminBaseF
>                                 return saluation.getLabel().getValue();
>                         }
>                 }
> -               throw new RuntimeException("Could not find saluation for
> id " + id);
> +               throw new RuntimeException("Could not find Salutations for
> id " + id);
>         }
>
>         private List<Long> getFieldLanguageIds() {
> @@ -99,7 +99,7 @@ public class UserForm extends AdminBaseF
>                                 return language.getName();
>                         }
>                 }
> -               throw new RuntimeException("Could not find saluation for
> id " + id);
> +               throw new RuntimeException("Could not find FieldLanguage
> for id " + id);
>         }
>
>         public UserForm(String id, final Users user) {
>
>
>


-- 
WBR
Maxim aka solomax

Reply via email to