/** * SlingBeans - NetBeans Sling plugin * https://github.com/jkan997/SlingBeans * Licensed under Apache 2.0 license * http://www.apache.org/licenses/LICENSE-2.0 */ package org.jkan997.slingbeans.nbservices; import java.util.concurrent.atomic.AtomicBoolean; import org.jkan997.slingbeans.dialogs.SlingHostDialog; import org.jkan997.slingbeans.helper.LogHelper; import org.jkan997.slingbeans.helper.SwingHelper; import org.jkan997.slingbeans.slingfs.FileObject; import org.jkan997.slingbeans.slingfs.FileSystem; import org.jkan997.slingbeans.slingfs.FileSystemConnector; import org.netbeans.api.progress.ProgressUtils; /** * * @author jkan997 */ public class SlingFsConnector implements FileSystemConnector { @Override public FileSystem connectToFileSystem(String fsId) { FileSystem fs = null; if (fsId != null) { SlingFsFactory slingFsFactory = SlingFsFactory.lookup(); fs = slingFsFactory.getFileSystem(fsId); } if (fs == null) { SlingHostDialog slingHostDialog = new SlingHostDialog(null, true); SwingHelper.showDialog(slingHostDialog); fs = slingHostDialog.getFileSystem(); if (fs != null) { initSlingFs(fs); } } return fs; } private void initSlingFs(final FileSystem fs) { final Runnable initSlingFsTask = new Runnable() { @Override public void run() { try { fs.readTypes(); SlingFsFactory slingFsFactory = SlingFsFactory.lookup(); slingFsFactory.registerFileSystem(fs); slingFsFactory.setDefualtFileSystemId(fs.getFileSystemId()); FileObject fo = fs.getFileObject("/"); rootNodeHandler(fo); registerCp(fo); } catch (Exception ex) { LogHelper.logError(ex); } } }; ProgressUtils.runOffEventDispatchThread(initSlingFsTask, "Connect to Sling Repository", new AtomicBoolean(false), false); } protected void rootNodeHandler(FileObject fo) { } protected void registerCp(FileObject fo) { /* LogHelper.logInfo(this, "trying to register classpath"); try { ClassPath cp = createClassPath("/Volumes/MacData/jkan997/svn/CQ5-libs"); ClassPath[] cps = new ClassPath[]{cp}; LogHelper.logInfo(this, cp.toString()); // LogHelper.logInfo(this, "A" + cp.findResource("/javax/jcr/Node.class").getName()); GlobalPathRegistry.getDefault().register(ClassPath.SOURCE, cps); } catch (Exception ex) { LogHelper.logError(ex); LogHelper.logInfo(this, ex.getMessage()); }*/ } }