ADF ファイルに .MPP 拡張子ファイルを入力しようとしています。コンソールでデータを出力できましたが、af テーブルに渡すことができませんでした。私は InputFile コンポーネントを使用し、その ValueChangeListener を配置しました。そのメソッドには、ファイルの読み取りを行う他のメソッドを呼び出すコマンドがあり、ArrayList で埋めようとしました。
そのようなファイルでテーブルを埋めた人はいますか? または、逆にいくつかの提案をすることができます。
ファイルの読み込みのイメージを残します。
このクラスはファイルを読み取ります
public void listHierarchy(ProjectFile file) {
SimpleDateFormat df = new SimpleDateFormat("dd/MM/yyyy HH:mm z");
for (Task task : file.getChildTasks()) {
System.out.println("Task: " + task.getName());
Date date = task.getStart();
String startDate =
date != null ? df.format(date) : "(no hay fecha de inicio)";
date = task.getFinish();
String finishDate =
date != null ? df.format(date) : "(no hay fecha final)";
Double porcentaje =
Double.parseDouble(task.getPercentageComplete().toString());
personList.add(new llenarActividad(task.getName(), porcentaje,
task.getDuration().toString(),
startDate, finishDate, "mono"));
listHierarchy(task, " ");
}
System.out.println(" s/* e definen las tareas en formato jerarquico */");
System.out.println();
}
/**
* @param task
* @param indent
*/
public void listHierarchy(Task task, String indent) {
SimpleDateFormat df = new SimpleDateFormat("dd/MM/yyyy HH:mm z");
for (Task child : task.getChildTasks()) {
Date date = task.getStart();
String startDate =
date != null ? df.format(date) : "(no hay fecha de inicio)";
date = task.getFinish();
String finishDate =
date != null ? df.format(date) : "(no hay fecha final)";
Double porcentaje =
Double.parseDouble(task.getPercentageComplete().toString());
System.out.println(indent + "Task: " + child.getName() +
task.getPercentageComplete() +
task.getDuration() + startDate + finishDate);
personList.add(new llenarActividad(child.getName(), porcentaje,
task.getDuration().toString(),
startDate, finishDate, "mono"));
listHierarchy(child, indent + " ");
}
}
そしてこのクラスのアップロードファイル
public class llenarActividadBean {
public void cargarArchivo(ValueChangeEvent vce) throws Exception {
ProjectHelper ph = new ProjectHelper();
if (vce.getNewValue() == null) {
} else {
UploadedFile file = (UploadedFile)vce.getNewValue();
//Se asigna el archivo a la variable path
String path = ph.uploadFile(file);
//Se obtiene el Objeto de vce
ProjectReader reader = ProjectReaderUtility.getProjectReader(path);
//Se hace la lectura del archivo
ProjectFile mpx = reader.read(path);
System.out.println("MPP file type: " + mpx.getMppFileType());
ph.listAssignments(mpx);
ph.listHierarchy(mpx);
}
}
}