use of org.eclipse.wst.server.core.model.ModuleDelegate in project sling by apache.
the class SlingContentModuleAdapterTest method projectMembersContainContentXmlFirst.
@Test
public void projectMembersContainContentXmlFirst() throws Exception {
// create faceted project
IProject contentProject = projectRule.getProject();
ProjectAdapter project = new ProjectAdapter(contentProject);
project.addNatures(JavaCore.NATURE_ID, "org.eclipse.wst.common.project.facet.core.nature");
// install bundle facet
project.installFacet("sling.content", "1.0");
project.createOrUpdateFile(Path.fromPortableString("jcr_root/content/1_file.txt"), new ByteArrayInputStream(new byte[0]));
project.createOrUpdateFile(Path.fromPortableString("jcr_root/content/2_folder/filler.txt"), new ByteArrayInputStream(new byte[0]));
project.createOrUpdateFile(Path.fromPortableString("jcr_root/content/3_file.txt"), new ByteArrayInputStream(new byte[0]));
project.createOrUpdateFile(Path.fromPortableString("jcr_root/content/4_folder/filler.txt"), new ByteArrayInputStream(new byte[0]));
project.createOrUpdateFile(Path.fromPortableString("jcr_root/content/5_file.txt"), new ByteArrayInputStream(new byte[0]));
project.createOrUpdateFile(Path.fromPortableString("jcr_root/content/.content.xml"), new ByteArrayInputStream(new byte[0]));
IModule module = ServerUtil.getModule(contentProject);
SlingContentModuleFactory moduleFactory = new SlingContentModuleFactory();
ModuleDelegate moduleDelegate = moduleFactory.getModuleDelegate(module);
IModuleResource[] members = moduleDelegate.members();
assertThat("members[0].path", members[0].getModuleRelativePath().toPortableString(), equalTo(""));
assertThat("members[1].path", members[1].getModuleRelativePath().toPortableString(), equalTo("content"));
assertThat("members[2].path", members[2].getModuleRelativePath().toPortableString(), equalTo("content/.content.xml"));
}
use of org.eclipse.wst.server.core.model.ModuleDelegate in project webtools.servertools by eclipse.
the class ModulePublishInfo method getDelta.
protected IModuleResourceDelta[] getDelta(IModule[] module) {
if (module == null)
return EMPTY_MODULE_RESOURCE_DELTA;
if (useCache) {
fillCache(module);
return delta;
}
IModule m = module[module.length - 1];
ModuleDelegate pm = (ModuleDelegate) m.loadAdapter(ModuleDelegate.class, null);
if (pm == null || (m.getProject() != null && !m.getProject().isAccessible()))
return EMPTY_MODULE_RESOURCE_DELTA;
IModuleResource[] resources2 = null;
try {
resources2 = pm.members();
printModule(resources2, "delta:");
} catch (CoreException ce) {
if (Trace.WARNING) {
Trace.trace(Trace.STRING_WARNING, "Possible failure in getDelta", ce);
}
}
if (resources2 == null)
resources2 = EMPTY_MODULE_RESOURCE;
return ServerPublishInfo.getDelta(getResources(), resources2);
}
use of org.eclipse.wst.server.core.model.ModuleDelegate in project webtools.servertools by eclipse.
the class ModulePublishInfo method hasDelta.
protected boolean hasDelta(IModule[] module) {
if (module == null)
return false;
if (useCache) {
fillCache(module);
return hasDelta;
}
IModule m = module[module.length - 1];
ModuleDelegate pm = (ModuleDelegate) m.loadAdapter(ModuleDelegate.class, null);
IModuleResource[] resources2 = null;
if (pm == null || (m.getProject() != null && !m.getProject().isAccessible()))
return false;
try {
resources2 = pm.members();
} catch (CoreException ce) {
if (Trace.WARNING) {
Trace.trace(Trace.STRING_WARNING, "Possible failure in hasDelta", ce);
}
}
if (resources2 == null)
resources2 = EMPTY_MODULE_RESOURCE;
return ServerPublishInfo.hasDelta(getResources(), resources2);
}
use of org.eclipse.wst.server.core.model.ModuleDelegate in project sling by apache.
the class SlingContentModuleAdapterTest method projectMembersContainDotDirFoldersLast.
@Test
public void projectMembersContainDotDirFoldersLast() throws Exception {
// create faceted project
IProject contentProject = projectRule.getProject();
ProjectAdapter project = new ProjectAdapter(contentProject);
project.addNatures(JavaCore.NATURE_ID, "org.eclipse.wst.common.project.facet.core.nature");
// install bundle facet
project.installFacet("sling.content", "1.0");
project.createOrUpdateFile(Path.fromPortableString("jcr_root/content/testproject/_jcr_content/image/file"), new ByteArrayInputStream(new byte[0]));
project.createOrUpdateFile(Path.fromPortableString("jcr_root/content/testproject/_jcr_content/image/file.dir/.content.xml"), new ByteArrayInputStream(new byte[0]));
project.createOrUpdateFile(Path.fromPortableString("jcr_root/content/testproject/_jcr_content/image/file.dir/_jcr_content/_dam_thumbnails/_dam_thumbnail_319.png"), new ByteArrayInputStream(new byte[0]));
IModule module = ServerUtil.getModule(contentProject);
SlingContentModuleFactory moduleFactory = new SlingContentModuleFactory();
ModuleDelegate moduleDelegate = moduleFactory.getModuleDelegate(module);
IModuleResource[] members = moduleDelegate.members();
int fileIdx = -1;
int fileDirIdx = -1;
for (int i = 0; i < members.length; i++) {
String memberName = members[i].getModuleRelativePath().lastSegment();
if (memberName == null) {
continue;
} else if (memberName.equals("file.dir")) {
fileDirIdx = i;
} else if (memberName.equals("file")) {
fileIdx = i;
}
}
Assert.assertTrue("file not sorted before file.dir ; file index = " + fileIdx + ", file.dir index = " + fileDirIdx, fileIdx < fileDirIdx);
}
use of org.eclipse.wst.server.core.model.ModuleDelegate in project webtools.servertools by eclipse.
the class ModulePublishInfo method getModuleResources.
protected IModuleResource[] getModuleResources(IModule[] module) {
if (module == null)
return EMPTY_MODULE_RESOURCE;
if (useCache) {
fillCache(module);
return currentResources;
}
int size = module.length;
IModule m = module[size - 1];
ModuleDelegate pm = (ModuleDelegate) m.loadAdapter(ModuleDelegate.class, null);
if (pm == null || (m.getProject() != null && !m.getProject().isAccessible()))
return EMPTY_MODULE_RESOURCE;
try {
long time = System.currentTimeMillis();
IModuleResource[] x = pm.members();
if (ServerPlugin.getInstance().isDebugging())
printModule(x, "resources: ");
if (Trace.PERFORMANCE) {
Trace.trace(Trace.STRING_PERFORMANCE, "Time to get members() for " + module[size - 1].getName() + ": " + (System.currentTimeMillis() - time));
}
return x;
} catch (CoreException ce) {
if (Trace.WARNING) {
Trace.trace(Trace.STRING_WARNING, "Possible failure in getModuleResources", ce);
}
}
return EMPTY_MODULE_RESOURCE;
}
Aggregations