ItEr28S15CUVisualizacionModelosPlanificacionItEr21S08: Moving utility method to its own class

This commit is contained in:
Óscar González Fernández 2009-09-30 23:30:52 +02:00
parent c5b12c6901
commit 39f8f0c810
6 changed files with 36 additions and 19 deletions

View file

@ -14,6 +14,7 @@ import org.zkoss.ganttz.timetracker.TimeTracker;
import org.zkoss.ganttz.timetracker.TimeTrackerComponent;
import org.zkoss.ganttz.timetracker.zoom.IZoomLevelChangedListener;
import org.zkoss.ganttz.timetracker.zoom.ZoomLevel;
import org.zkoss.ganttz.util.ComponentsFinder;
import org.zkoss.ganttz.util.MenuBuilder;
import org.zkoss.ganttz.util.MenuBuilder.ItemAction;
import org.zkoss.zk.ui.event.Event;
@ -93,7 +94,7 @@ public class DependencyList extends XulElement implements AfterCompose {
private List<DependencyComponent> getDependencyComponents() {
List<Object> children = getChildren();
return Planner
return ComponentsFinder
.findComponentsOfType(DependencyComponent.class, children);
}

View file

@ -17,6 +17,7 @@ import org.zkoss.ganttz.LeftTasksTreeRow.ILeftTasksTreeNavigator;
import org.zkoss.ganttz.data.Position;
import org.zkoss.ganttz.data.Task;
import org.zkoss.ganttz.data.TaskContainer;
import org.zkoss.ganttz.util.ComponentsFinder;
import org.zkoss.ganttz.util.MutableTreeModel;
import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.Executions;
@ -48,7 +49,7 @@ public class LeftTasksTree extends HtmlMacroComponent {
"~./ganttz/zul/leftTasksTreeRow.zul", item, null);
leftTasksTreeRow.doAfterCompose(row);
List<Object> rowChildren = row.getChildren();
List<Treecell> treeCells = Planner.findComponentsOfType(
List<Treecell> treeCells = ComponentsFinder.findComponentsOfType(
Treecell.class, rowChildren);
for (Treecell cell : treeCells) {
cell.setSclass(cssClass);

View file

@ -10,6 +10,7 @@ import java.util.List;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.zkoss.ganttz.data.Task;
import org.zkoss.ganttz.util.ComponentsFinder;
import org.zkoss.util.Locales;
import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.event.Event;
@ -247,7 +248,7 @@ public class LeftTasksTreeRow extends GenericForwardComposer {
private void findComponents(Treerow row) {
List<Object> rowChildren = row.getChildren();
List<Treecell> treeCells = Planner.findComponentsOfType(Treecell.class,
List<Treecell> treeCells = ComponentsFinder.findComponentsOfType(Treecell.class,
rowChildren);
assert treeCells.size() == 3;
findComponentsForNameCell(treeCells.get(0));
@ -257,12 +258,12 @@ public class LeftTasksTreeRow extends GenericForwardComposer {
private static Datebox findDateBoxOfCell(Treecell treecell) {
List<Object> children = treecell.getChildren();
return Planner.findComponentsOfType(Datebox.class, children).get(0);
return ComponentsFinder.findComponentsOfType(Datebox.class, children).get(0);
}
private static Textbox findTextBoxOfCell(Treecell treecell) {
List<Object> children = treecell.getChildren();
return Planner.findComponentsOfType(Textbox.class, children).get(0);
return ComponentsFinder.findComponentsOfType(Textbox.class, children).get(0);
}
private void findComponentsForNameCell(Treecell treecell) {

View file

@ -13,6 +13,7 @@ import org.zkoss.ganttz.data.Task;
import org.zkoss.ganttz.extensions.ICommand;
import org.zkoss.ganttz.extensions.ICommandOnTask;
import org.zkoss.ganttz.extensions.IContext;
import org.zkoss.ganttz.util.ComponentsFinder;
import org.zkoss.ganttz.util.OnZKDesktopRegistry;
import org.zkoss.ganttz.util.script.IScriptsRegister;
import org.zkoss.zk.ui.Executions;
@ -49,18 +50,7 @@ public class Planner extends XulElement {
if (ganttPanel == null)
return null;
List<Object> children = ganttPanel.getChildren();
return Planner.findComponentsOfType(TaskList.class, children).get(0);
}
public static <T> List<T> findComponentsOfType(Class<T> type,
List<? extends Object> children) {
ArrayList<T> result = new ArrayList<T>();
for (Object child : children) {
if (type.isInstance(child)) {
result.add(type.cast(child));
}
}
return result;
return ComponentsFinder.findComponentsOfType(TaskList.class, children).get(0);
}
public String getContextPath() {
@ -71,7 +61,7 @@ public class Planner extends XulElement {
if (ganttPanel == null)
return null;
List<Object> children = ganttPanel.getChildren();
List<DependencyList> found = findComponentsOfType(DependencyList.class,
List<DependencyList> found = ComponentsFinder.findComponentsOfType(DependencyList.class,
children);
if (found.isEmpty())
return null;

View file

@ -15,6 +15,7 @@ import org.zkoss.ganttz.timetracker.TimeTracker;
import org.zkoss.ganttz.timetracker.TimeTrackerComponent;
import org.zkoss.ganttz.timetracker.zoom.IZoomLevelChangedListener;
import org.zkoss.ganttz.timetracker.zoom.ZoomLevel;
import org.zkoss.ganttz.util.ComponentsFinder;
import org.zkoss.ganttz.util.MenuBuilder;
import org.zkoss.ganttz.util.MenuBuilder.ItemAction;
import org.zkoss.zk.au.out.AuInvoke;
@ -69,7 +70,7 @@ public class TaskList extends XulElement implements AfterCompose {
public List<DependencyComponent> asDependencyComponents(
Collection<? extends Dependency> dependencies) {
List<? extends Object> children = getChildren();
List<TaskComponent> taskComponents = Planner.findComponentsOfType(
List<TaskComponent> taskComponents = ComponentsFinder.findComponentsOfType(
TaskComponent.class, children);
Map<Task, TaskComponent> taskComponentByTask = new HashMap<Task, TaskComponent>();
for (TaskComponent taskComponent : taskComponents) {

View file

@ -0,0 +1,23 @@
package org.zkoss.ganttz.util;
import java.util.ArrayList;
import java.util.List;
/**
* Utility methods to find components
* @author Óscar González Fernández <ogonzalez@igalia.com>
*/
public class ComponentsFinder {
public static <T> List<T> findComponentsOfType(Class<T> type,
List<? extends Object> children) {
ArrayList<T> result = new ArrayList<T>();
for (Object child : children) {
if (type.isInstance(child)) {
result.add(type.cast(child));
}
}
return result;
}
}