package org.jkan997.slingbeans.aem.aempackage;
import java.io.FileWriter;
import java.util.ArrayList;
import java.util.List;
import org.jkan997.slingbeans.slingfs.FileObject;
import org.openide.filesystems.FileStateInvalidException;
/**
*
* @author jakaniew
*/
public class AEMPackageHelper {
private static AEMPackage processPackage(FileObject pkgFo) throws FileStateInvalidException{
String pkgName = pkgFo.getName().replace(".zip", "");
AEMPackage res = new AEMPackage(pkgName);
try{
FileObject filterFo = pkgFo.getFileSystem().getFileObject(pkgFo.getPath()+"/jcr:content/vlt:definition/filter");
System.out.println(filterFo);
FileObject[] filters = filterFo.getChildren();
for (FileObject filter : filters){
String root = filter.getAttribute("root").getValue().toString();
res.getFilters().add(new AEMFilter(root));
}
return res;
} catch (Exception ex){};
return null;
}
public static List<AEMPackage> processPackageFo(FileObject packagesFo) throws Exception{
List<AEMPackage> res = new ArrayList<AEMPackage>();
for (FileObject groupFo : packagesFo.getChildren()){
if (groupFo.isFolder()){
String groupName = groupFo.getName();
if (groupName.equalsIgnoreCase("day")){
continue;
}
if (groupName.equalsIgnoreCase("adobe")){
continue;
}
for (FileObject pkgFo : groupFo.getChildren()){
System.out.println(groupFo.getPath()+""+pkgFo.getName());
AEMPackage pkg = processPackage(pkgFo);
if (pkg!=null){
res.add(pkg);
if (pkg.getName().contains("navy")){
FileWriter fw = new FileWriter("/Volumes/MacData/jakaniew/git/Adobe/Custom-Demos/navy-dam/"+pkg.getName()+".xml");
StringBuilder sb = new StringBuilder();
pkg.toXML(sb);
fw.append(sb);
fw.close();
}
}
}
}
}
return res;
}
}