ItEr60S04ValidacionEProbasFuncionaisItEr59S04: [Bug #594] Removed unused CriterionAdminController.

This commit is contained in:
Manuel Rego Casasnovas 2010-08-17 11:48:50 +02:00
parent 5431d64f80
commit b6ad8ff0fa
2 changed files with 1 additions and 234 deletions

View file

@ -1,233 +0,0 @@
/*
* This file is part of NavalPlan
*
* Copyright (C) 2009-2010 Fundación para o Fomento da Calidade Industrial e
* Desenvolvemento Tecnolóxico de Galicia
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package org.navalplanner.web.resources.criterion;
import java.util.List;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.navalplanner.business.common.exceptions.ValidationException;
import org.navalplanner.business.resources.entities.Criterion;
import org.navalplanner.business.resources.entities.CriterionType;
import org.navalplanner.business.resources.entities.ICriterionType;
import org.navalplanner.web.common.IMessagesForUser;
import org.navalplanner.web.common.Level;
import org.navalplanner.web.common.MessagesForUser;
import org.navalplanner.web.common.OnlyOneVisible;
import org.navalplanner.web.common.Util;
import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.event.Event;
import org.zkoss.zk.ui.event.EventListener;
import org.zkoss.zk.ui.util.GenericForwardComposer;
import org.zkoss.zul.Button;
import org.zkoss.zul.Checkbox;
import org.zkoss.zul.Div;
import org.zkoss.zul.GroupsModel;
import org.zkoss.zul.Hbox;
import org.zkoss.zul.Label;
import org.zkoss.zul.Row;
import org.zkoss.zul.RowRenderer;
import org.zkoss.zul.SimpleGroupsModel;
import org.zkoss.zul.api.Grid;
import org.zkoss.zul.api.Group;
import static org.navalplanner.web.I18nHelper._;
/**
* Controller for Criterions <br />
* @author Óscar González Fernández <ogonzalez@igalia.com>
*/
public class CriterionAdminController extends GenericForwardComposer {
private static final Log log = LogFactory
.getLog(CriterionAdminController.class);
private ICriterionsModel criterionsModel;
private Component messagesContainer;
private IMessagesForUser messagesForUser;
private Grid listing;
private Component editComponent;
private Component createComponent;
private OnlyOneVisible onlyOneVisible;
private Component workersComponent;
private CriterionEditController edition;
private CriterionWorkersController workers;
public CriterionAdminController() {
}
private class GroupRenderer implements RowRenderer {
public void render(Row row, java.lang.Object data) {
if (data instanceof Criterion) {
final Criterion criterion = (Criterion) data;
Hbox operations = new Hbox();
operations.setParent(row);
Button editButton = new Button(_("Edit"));
editButton.setParent(operations);
editButton.setDisabled(!criterionsModel.getTypeFor(criterion).isEnabled());
editButton.addEventListener("onClick", new EventListener() {
@Override
public void onEvent(Event event) throws Exception {
goToEditForm(criterion);
}
});
Button traballadoresButton = new Button(_("Workers"));
traballadoresButton.setParent(operations);
traballadoresButton.setDisabled(!criterionsModel
.isApplyableToWorkers(criterion));
traballadoresButton.addEventListener("onClick",
new EventListener() {
@Override
public void onEvent(Event event) throws Exception {
showWorkers(criterion);
}
});
new Label(criterion.getName()).setParent(row);
Checkbox checkbox = new Checkbox();
checkbox.setChecked(criterion.isActive());
checkbox.setDisabled(true);
checkbox.setParent(row);
} else if (data instanceof ICriterionType) {
final ICriterionType<?> type = (ICriterionType<?>) data;
Div div = new Div();
Button createButton = new Button(_("Add"));
createButton.setDisabled(!type.isEnabled());
createButton.addEventListener("onClick", new EventListener() {
@Override
public void onEvent(Event event) throws Exception {
goToCreateForm((ICriterionType<Criterion>) type);
}
});
div.appendChild(createButton);
div.setParent(row);
row.setSpans("3");
} else {
Group group = (Group) row;
group.setLabel(data.toString());
group.setSpans("3");
}
}
}
private void goToCreateForm(ICriterionType<Criterion> type) {
onlyOneVisible.showOnly(createComponent);
criterionsModel.prepareForCreate(type);
Util.reloadBindings(createComponent);
}
private void goToEditForm(Criterion criterion) {
onlyOneVisible.showOnly(editComponent);
criterionsModel.workOn(criterion);
Util.reloadBindings(editComponent);
}
private void showWorkers(Criterion criterion) {
criterionsModel.workOn(criterion);
Util.reloadBindings(workersComponent);
onlyOneVisible.showOnly(workersComponent);
}
public CriterionEditController getEdition() {
return edition;
}
public CriterionWorkersController getWorkers() {
return workers;
}
public void save() {
onlyOneVisible.showOnly(listing);
try {
criterionsModel.saveCriterion();
messagesForUser.showMessage(Level.INFO, _("Criterion saved"));
} catch (ValidationException e) {
messagesForUser.showInvalidValues(e);
} finally {
reload();
}
}
public void cancel() {
onlyOneVisible.showOnly(listing);
}
private RowRenderer getRowRenderer() {
return new GroupRenderer();
}
private GroupsModel getTypesWithCriterions() {
List<CriterionType> types = criterionsModel.getTypes();
Object[][] groups = new Object[types.size()][];
int i = 0;
for (CriterionType type : types) {
groups[i] = criterionsModel.getCriterionsFor(type).toArray();
i++;
}
return new SimpleGroupsModel(groups, asStrings(types), types.toArray());
}
private String[] asStrings(List<CriterionType> types) {
String[] result = new String[types.size()];
int i = 0;
for (CriterionType criterionType : types) {
result[i++] = criterionType.getName();
}
return result;
}
public Criterion getCriterion() {
return criterionsModel.getCriterion();
}
@Override
public void doAfterCompose(Component comp) throws Exception {
super.doAfterCompose(comp);
onlyOneVisible = new OnlyOneVisible(listing, editComponent,
createComponent, workersComponent);
onlyOneVisible.showOnly(listing);
comp.setVariable("controller", this, false);
workers = new CriterionWorkersController(criterionsModel);
workers.doAfterCompose(comp.getFellow("workersComponent"));
messagesForUser = new MessagesForUser(messagesContainer);
listing = (Grid) comp.getFellow("listing");
reload();
listing.setRowRenderer(getRowRenderer());
edition = new CriterionEditController(criterionsModel);
}
private void reload() {
listing.setModel(getTypesWithCriterions());
}
}

View file

@ -53,7 +53,7 @@ import org.zkoss.zul.Window;
public class CriterionAdminController_V2 extends GenericForwardComposer {
private static final Log log = LogFactory
.getLog(CriterionAdminController.class);
.getLog(CriterionAdminController_V2.class);
private ICriterionsModel_V2 criterionsModel_V2;