Search in sources :

Example 1 with RepositoryInfo

use of org.apache.sling.ide.transport.RepositoryInfo in project sling by apache.

the class ServerUtil method getRepositoryInfo.

public static RepositoryInfo getRepositoryInfo(IServer server, IProgressMonitor monitor) throws URISyntaxException {
    ISlingLaunchpadServer launchpadServer = (ISlingLaunchpadServer) server.loadAdapter(SlingLaunchpadServer.class, monitor);
    ISlingLaunchpadConfiguration configuration = launchpadServer.getConfiguration();
    // TODO configurable scheme?
    URI uri = new URI("http", null, server.getHost(), configuration.getPort(), configuration.getContextPath(), null, null);
    return new RepositoryInfo(configuration.getUsername(), configuration.getPassword(), uri.toString());
}
Also used : RepositoryInfo(org.apache.sling.ide.transport.RepositoryInfo) SlingLaunchpadServer(org.apache.sling.ide.eclipse.core.internal.SlingLaunchpadServer) URI(java.net.URI)

Example 2 with RepositoryInfo

use of org.apache.sling.ide.transport.RepositoryInfo in project sling by apache.

the class SlingLaunchpadBehaviour method start.

public void start(IProgressMonitor monitor) throws CoreException {
    boolean success = false;
    Result<ResourceProxy> result = null;
    monitor = SubMonitor.convert(monitor, "Starting server", 10).setWorkRemaining(50);
    Repository repository;
    RepositoryInfo repositoryInfo;
    OsgiClient client;
    try {
        repository = ServerUtil.connectRepository(getServer(), monitor);
        repositoryInfo = ServerUtil.getRepositoryInfo(getServer(), monitor);
        client = Activator.getDefault().getOsgiClientFactory().createOsgiClient(repositoryInfo);
    } catch (CoreException e) {
        setServerState(IServer.STATE_STOPPED);
        throw e;
    } catch (URISyntaxException e) {
        setServerState(IServer.STATE_STOPPED);
        throw new CoreException(new Status(IStatus.ERROR, Activator.PLUGIN_ID, e.getMessage(), e));
    }
    // 10/50 done
    monitor.worked(10);
    try {
        EmbeddedArtifactLocator artifactLocator = Activator.getDefault().getArtifactLocator();
        // 15/50 done
        installBundle(monitor, client, artifactLocator.loadSourceSupportBundle(), SUPPORT_SOURCE_BUNDLE_SYMBOLIC_NAME);
        // 20/50 done
        installBundle(monitor, client, artifactLocator.loadToolingSupportBundle(), SUPPORT_BUNDLE_SYMBOLIC_NAME);
    } catch (IOException | OsgiClientException e) {
        Activator.getDefault().getPluginLogger().warn("Failed reading the installation support bundle", e);
    }
    try {
        if (getServer().getMode().equals(ILaunchManager.DEBUG_MODE)) {
            debuggerConnection = new JVMDebuggerConnection(client);
            success = debuggerConnection.connectInDebugMode(launch, getServer(), SubMonitor.convert(monitor, 30));
        // 50/50 done
        } else {
            Command<ResourceProxy> command = repository.newListChildrenNodeCommand("/");
            result = command.execute();
            success = result.isSuccess();
            // 50/50 done
            monitor.worked(30);
        }
        if (success) {
            setServerState(IServer.STATE_STARTED);
        } else {
            setServerState(IServer.STATE_STOPPED);
            String message = "Unable to connect to the Server. Please make sure a server instance is running ";
            if (result != null) {
                message += " (" + result.toString() + ")";
            }
            throw new CoreException(new Status(IStatus.ERROR, Activator.PLUGIN_ID, message));
        }
    } catch (CoreException | RuntimeException e) {
        setServerState(IServer.STATE_STOPPED);
        throw e;
    } finally {
        monitor.done();
    }
}
Also used : IStatus(org.eclipse.core.runtime.IStatus) Status(org.eclipse.core.runtime.Status) RepositoryInfo(org.apache.sling.ide.transport.RepositoryInfo) URISyntaxException(java.net.URISyntaxException) IOException(java.io.IOException) ResourceProxy(org.apache.sling.ide.transport.ResourceProxy) Repository(org.apache.sling.ide.transport.Repository) CoreException(org.eclipse.core.runtime.CoreException) OsgiClient(org.apache.sling.ide.osgi.OsgiClient) EmbeddedArtifactLocator(org.apache.sling.ide.artifacts.EmbeddedArtifactLocator) OsgiClientException(org.apache.sling.ide.osgi.OsgiClientException)

Example 3 with RepositoryInfo

use of org.apache.sling.ide.transport.RepositoryInfo in project sling by apache.

the class ServerUtil method stopRepository.

public static void stopRepository(IServer server, IProgressMonitor monitor) throws CoreException {
    RepositoryFactory repository = Activator.getDefault().getRepositoryFactory();
    try {
        RepositoryInfo repositoryInfo = getRepositoryInfo(server, monitor);
        repository.disconnectRepository(repositoryInfo);
    } catch (RuntimeException | URISyntaxException e) {
        throw new CoreException(new Status(Status.ERROR, Activator.PLUGIN_ID, e.getMessage(), e));
    }
}
Also used : Status(org.eclipse.core.runtime.Status) CoreException(org.eclipse.core.runtime.CoreException) RepositoryInfo(org.apache.sling.ide.transport.RepositoryInfo) RepositoryFactory(org.apache.sling.ide.transport.RepositoryFactory) URISyntaxException(java.net.URISyntaxException)

Example 4 with RepositoryInfo

use of org.apache.sling.ide.transport.RepositoryInfo in project sling by apache.

the class ToolingSupportBundle method before.

@Override
protected void before() throws Throwable {
    EmbeddedArtifactLocator locator = Activator.getDefault().getArtifactLocator();
    EmbeddedArtifact toolingBundle = locator.loadToolingSupportBundle();
    OsgiClientFactory clientFactory = Activator.getDefault().getOsgiClientFactory();
    OsgiClient osgiClient = clientFactory.createOsgiClient(new RepositoryInfo(config.getUsername(), config.getPassword(), config.getUrl()));
    osgiClient.installBundle(toolingBundle.openInputStream(), toolingBundle.getName());
}
Also used : OsgiClientFactory(org.apache.sling.ide.osgi.OsgiClientFactory) RepositoryInfo(org.apache.sling.ide.transport.RepositoryInfo) EmbeddedArtifactLocator(org.apache.sling.ide.artifacts.EmbeddedArtifactLocator) OsgiClient(org.apache.sling.ide.osgi.OsgiClient) EmbeddedArtifact(org.apache.sling.ide.artifacts.EmbeddedArtifact)

Aggregations

RepositoryInfo (org.apache.sling.ide.transport.RepositoryInfo)4 URISyntaxException (java.net.URISyntaxException)2 EmbeddedArtifactLocator (org.apache.sling.ide.artifacts.EmbeddedArtifactLocator)2 OsgiClient (org.apache.sling.ide.osgi.OsgiClient)2 CoreException (org.eclipse.core.runtime.CoreException)2 Status (org.eclipse.core.runtime.Status)2 IOException (java.io.IOException)1 URI (java.net.URI)1 EmbeddedArtifact (org.apache.sling.ide.artifacts.EmbeddedArtifact)1 SlingLaunchpadServer (org.apache.sling.ide.eclipse.core.internal.SlingLaunchpadServer)1 OsgiClientException (org.apache.sling.ide.osgi.OsgiClientException)1 OsgiClientFactory (org.apache.sling.ide.osgi.OsgiClientFactory)1 Repository (org.apache.sling.ide.transport.Repository)1 RepositoryFactory (org.apache.sling.ide.transport.RepositoryFactory)1 ResourceProxy (org.apache.sling.ide.transport.ResourceProxy)1 IStatus (org.eclipse.core.runtime.IStatus)1