X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.app.ui%2Fsrc%2Forg%2Fargeo%2Fapp%2Fui%2Fopenlayers%2FOverviewMap.java;fp=org.argeo.app.ui%2Fsrc%2Forg%2Fargeo%2Fapp%2Fui%2Fopenlayers%2FOverviewMap.java;h=0000000000000000000000000000000000000000;hb=d917d2b10162a29cddaf8c81c362efa37abcaab9;hp=e4e63b86eb030f889561c2cefe76bb038926bab6;hpb=f1b87af2e0de38f1f49ab8fe68f9988018914811;p=gpl%2Fargeo-suite.git diff --git a/org.argeo.app.ui/src/org/argeo/app/ui/openlayers/OverviewMap.java b/org.argeo.app.ui/src/org/argeo/app/ui/openlayers/OverviewMap.java deleted file mode 100644 index e4e63b8..0000000 --- a/org.argeo.app.ui/src/org/argeo/app/ui/openlayers/OverviewMap.java +++ /dev/null @@ -1,77 +0,0 @@ -package org.argeo.app.ui.openlayers; - -import java.util.List; - -import javax.jcr.Node; -import javax.jcr.RepositoryException; -import javax.jcr.Session; -import javax.jcr.observation.Event; -import javax.jcr.observation.EventIterator; -import javax.jcr.observation.EventListener; -import javax.jcr.query.Query; - -import org.argeo.api.acr.Content; -import org.argeo.api.cms.CmsConstants; -import org.argeo.app.api.EntityType; -import org.argeo.cms.jcr.acr.JcrContentProvider; -import org.argeo.cms.swt.CmsSwtUtils; -import org.argeo.cms.ui.CmsUiProvider; -import org.argeo.jcr.JcrException; -import org.argeo.jcr.JcrUtils; -import org.eclipse.swt.SWT; -import org.eclipse.swt.layout.GridLayout; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Control; - -/** Displays an overview map. */ -public class OverviewMap implements CmsUiProvider { - private JcrContentProvider jcrContentProvider; - - @Override - public Control createUiPart(Composite parent, Content context) { - parent.setLayout(new GridLayout()); - Session session = jcrContentProvider.getJcrSession(context, CmsConstants.SYS_WORKSPACE); - - try { - refreshUi(parent, session); - String[] nodeTypes = { EntityType.geopoint.get() }; - session.getWorkspace().getObservationManager().addEventListener(new EventListener() { - - @Override - public void onEvent(EventIterator events) { - if (!parent.isDisposed()) - parent.getDisplay().asyncExec(() -> { - try { - refreshUi(parent, session); - } catch (RepositoryException e) { - throw new JcrException(e); - } - }); - } - }, Event.PROPERTY_CHANGED | Event.NODE_ADDED | Event.NODE_REMOVED | Event.PROPERTY_ADDED, "/", true, null, - nodeTypes, false); - } catch (RepositoryException e) { - throw new JcrException("Cannot add JCR observer", e); - } - - return parent; - } - - protected void refreshUi(Composite parent, Session session) throws RepositoryException { - CmsSwtUtils.clear(parent); - Query query = session.getWorkspace().getQueryManager() - .createQuery("SELECT * FROM [" + EntityType.geopoint.get() + "]", Query.JCR_SQL2); - List geoPoints = JcrUtils.nodeIteratorToList(query.execute().getNodes()); - OpenLayersMap map = new OpenLayersMap(parent, SWT.NONE, getClass().getResource("map-osm.html")); - map.setLayoutData(CmsSwtUtils.fillAll()); - - // apafMap.setZoom(7); - // apafMap.setCenter(-2.472, 8.010); - map.addPoints(geoPoints); - } - - public void setJcrContentProvider(JcrContentProvider jcrContentProvider) { - this.jcrContentProvider = jcrContentProvider; - } - -}