use of org.eclipse.wst.server.core.IModule 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.IModule in project sling by apache.
the class AbstractOpenInBrowserHandler method execute.
@Override
public Object execute(ExecutionEvent event) throws ExecutionException {
ISelection sel = HandlerUtil.getCurrentSelection(event);
JcrNode node = SelectionUtils.getFirst(sel, JcrNode.class);
if (node == null) {
return null;
}
Shell shell = HandlerUtil.getActiveShell(event);
IModule module = ServerUtil.getModule(node.getProject());
if (module == null) {
MessageDialog.openWarning(shell, "Cannot open browser", "Not configured for any server");
return null;
}
IServer[] servers = ServerUtil.getServersByModule(module, new NullProgressMonitor());
if (servers == null || servers.length == 0) {
MessageDialog.openWarning(shell, "Cannot open browser", "Not configured for any server");
return null;
}
IServer server = servers[0];
URL url;
try {
url = getUrlToOpen(node, server);
} catch (MalformedURLException e) {
StatusManager.getManager().handle(new Status(Status.WARNING, Activator.PLUGIN_ID, "Url is invalid", e), StatusManager.SHOW);
return null;
}
try {
IWorkbenchBrowserSupport browserSupport = HandlerUtil.getActiveWorkbenchWindow(event).getWorkbench().getBrowserSupport();
browserSupport.createBrowser("org.apache.sling.ide.openOnServer").openURL(url);
} catch (PartInitException e) {
StatusManager.getManager().handle(new Status(Status.WARNING, Activator.PLUGIN_ID, "Failed creating browser instance", e), StatusManager.SHOW | StatusManager.LOG);
}
return null;
}
Aggregations