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
