+++ /dev/null
-package org.argeo.suite.studio.parts;
-
-import java.util.Collection;
-import java.util.Map;
-import java.util.TreeMap;
-
-import javax.annotation.PostConstruct;
-import javax.inject.Inject;
-import javax.servlet.Servlet;
-
-import org.argeo.eclipse.ui.AbstractTreeContentProvider;
-import org.eclipse.e4.core.di.extensions.OSGiBundle;
-import org.eclipse.jface.viewers.ColumnLabelProvider;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.viewers.TreeViewerColumn;
-import org.eclipse.rap.rwt.application.ApplicationConfiguration;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Composite;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.InvalidSyntaxException;
-import org.osgi.framework.ServiceReference;
-
-/** Overview of the URL paths provides by the system. */
-@SuppressWarnings("restriction")
-public class SiteMapPart {
-// private final static BundleContext bc = FrameworkUtil.getBundle(SiteMapPart.class).getBundleContext();
-
- private TreeViewer viewer;
-
- @Inject
- @OSGiBundle
- BundleContext bc;
-
- @PostConstruct
- public void createPartControl(Composite parent) {
-// new Label(parent, SWT.NONE).setText("TEST");
-//
- viewer = new TreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
-// viewer.getTree().setHeaderVisible(true);
-
-// viewer.setLabelProvider(new ColumnLabelProvider());
-
- TreeViewerColumn column = new TreeViewerColumn(viewer, SWT.NONE);
- column.getColumn().setWidth(200);
- column.getColumn().setText("Path");
- column.setLabelProvider(new ColumnLabelProvider() {
- private static final long serialVersionUID = -3122136344359358605L;
-
- public String getText(Object element) {
- return ((SiteElem) element).getPath();
- }
-
- @Override
- public Image getImage(Object element) {
- return super.getImage(element);
- }
-
- });
-
- viewer.setContentProvider(new SitePathContentProvider());
- viewer.setInput(bc);
-
- }
-
- class SitePathContentProvider extends AbstractTreeContentProvider {
- private static final long serialVersionUID = -5650173256183322051L;
-
- @Override
- public Object[] getElements(Object inputElement) {
- if (inputElement instanceof BundleContext) {
- BundleContext bundleContext = (BundleContext) inputElement;
- Map<String, SiteElem> siteElems = new TreeMap<>();
- try {
- Collection<ServiceReference<ApplicationConfiguration>> rwtApps = bundleContext
- .getServiceReferences(ApplicationConfiguration.class, null);
- for (ServiceReference<ApplicationConfiguration> sr : rwtApps) {
- RwtAppElem elem = new RwtAppElem(sr);
- siteElems.put(elem.getPath(), elem);
- }
- Collection<ServiceReference<Servlet>> plainServlets = bundleContext
- .getServiceReferences(Servlet.class, null);
- for (ServiceReference<Servlet> sr : plainServlets) {
- ServletElem elem = new ServletElem(sr);
- siteElems.put(elem.getPath(), elem);
- }
- } catch (InvalidSyntaxException e) {
- throw new IllegalArgumentException(e);
- }
- return siteElems.values().toArray();
- }
- return null;
- }
-
- }
-}