ItEr28S15CUVisualizacionModelosPlanificacionItEr21S08: Moving utility method to its own class
This commit is contained in:
parent
c5b12c6901
commit
39f8f0c810
6 changed files with 36 additions and 19 deletions
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
Loading…
Add table
Reference in a new issue