Package org.neo4j.release.it.std.exec

Source Code of org.neo4j.release.it.std.exec.ObservablePlatform

/**
* Copyright (c) 2002-2011 "Neo Technology,"
* Network Engine for Objects in Lund AB [http://neotechnology.com]
*
* This file is part of Neo4j.
*
* Neo4j is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package org.neo4j.release.it.std.exec;

import org.ops4j.pax.runner.platform.*;
import org.ops4j.pax.runner.platform.internal.PlatformImpl;
import org.ops4j.util.property.PropertiesPropertyResolver;

import java.util.*;

/**
* A {@link org.ops4j.pax.runner.platform.Platform} which can be observed.
*/
public class ObservablePlatform extends PlatformImpl implements Platform {
    private FluentPlatformBuilder platformBuilder;

    /**
     * Creates a new platform.
     *
     * @param platformBuilder concrete platform builder; mandatory
     */
    public ObservablePlatform(FluentPlatformBuilder platformBuilder) {
        super(platformBuilder);
        this.platformBuilder = platformBuilder;
        setResolver(new PropertiesPropertyResolver(null));
    }


    public String getMainClassName() {
        return platformBuilder.getMainClassName();
    }

    public String[] getArguments() {
        return platformBuilder.getArguments(null);
    }

    public String[] getVMOptions() {
        return platformBuilder.getVMOptions(null);
    }

    public List<SystemFileReference> getSystemFiles() {
        return platformBuilder.getSystemFileReferences();
    }

    public Dictionary getConfiguration() {
        return platformBuilder.getConfiguration();
    }

    public void start() throws PlatformException {
        List<SystemFileReference> systemFiles = getSystemFiles();
        List<BundleReference> bundles = Collections.emptyList();
        Properties properties = null;
        Dictionary config = getConfiguration();
        JavaRunner runner = null;

        log(systemFiles);

        start(systemFiles, bundles, properties, config, runner);
    }

    private void log(List<SystemFileReference> systemFiles) {
        System.out.println("SystemFileReferences...");
        for (SystemFileReference systemFile : systemFiles) {
            System.out.println("\t" + systemFile.getName() + " from " + systemFile.getURL());
        }
    }

}
TOP

Related Classes of org.neo4j.release.it.std.exec.ObservablePlatform

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.