Package org.osgi.service.subsystem

Examples of org.osgi.service.subsystem.Subsystem


                result = new ChangeStateTask(toActivate, ResourceState.IGNORED);
            } else {
                // search a subsystem with the symbolic name
                final ServiceReference<Subsystem> ref = this.getSubsystemReference(info.symbolicName);

                final Subsystem currentSubsystem = (ref != null ? this.bundleContext.getService(ref) : null);
                try {
                    final Version newVersion = new Version(info.version);
                    final Version oldVersion = (ref == null ? null : (Version)ref.getProperty("subsystem.version"));

                    // Install
                    if ( rsrc.getState() == ResourceState.INSTALL ) {
                        if ( oldVersion != null ) {

                            final int compare = oldVersion.compareTo(newVersion);
                            if (compare < 0) {
                                // installed version is lower -> update
                                result = new UpdateSubsystemTask(toActivate, this.bundleContext, ref, this.rootSubsystem);
                            } else if ( compare == 0 && isSnapshot(newVersion) ) {
                                // same version but snapshot -> update
                                result = new UpdateSubsystemTask(toActivate, this.bundleContext, ref, this.rootSubsystem);
                            } else if ( compare == 0 && currentSubsystem != null && currentSubsystem.getState() != State.ACTIVE ) {
                                // try to start the version
                                result = new StartSubsystemTask(toActivate, currentSubsystem);
                            } else {
                                logger.info("{} is not installed, subsystem with same or higher version is already installed: {}", info, newVersion);
                                result = new ChangeStateTask(toActivate, ResourceState.IGNORED);
View Full Code Here


    @Override
    public void execute(final InstallationContext ctx) {
        final TaskResource tr = this.getResource();
        ctx.log("Uninstalling subsystem from {}", tr);

        Subsystem subsystem = null;
        try {
            subsystem = this.bundleContext.getService(this.subsystemReference);
            if ( subsystem != null ) {
                subsystem.uninstall();
                ctx.addTaskToCurrentCycle(new ChangeStateTask(this.getResourceGroup(), ResourceState.UNINSTALLED));
                ctx.log("Uninstalled subsystem {}", subsystem);
            } else {
                ctx.log("Unable to uninstall subsystem {}.", tr);
                ctx.addTaskToCurrentCycle(new ChangeStateTask(this.getResourceGroup(), ResourceState.IGNORED));
View Full Code Here

             "(" + SubsystemConstants.SUBSYSTEM_ID_PROPERTY + "=0))"),

             new ServiceTrackerCustomizer<Subsystem, Subsystem>() {

                public Subsystem addingService(final ServiceReference<Subsystem> reference) {
                    final Subsystem service = context.getService(reference);
                    if ( service != null ) {
                        registerInstaller(context, service);
                    }
                    return service;
                }
View Full Code Here

    @Override
    public void execute(final InstallationContext ctx) {
        final TaskResource tr = this.getResource();
        ctx.log("Updating subsystem from {}", tr);

        Subsystem subsystem = null;
        try {
            subsystem = this.bundleContext.getService(this.subsystemReference);
            if ( subsystem != null ) {
                subsystem.stop();
                subsystem.uninstall();
                ctx.addTaskToCurrentCycle(new InstallSubsystemTask(this.getResourceGroup(), this.rootSubsystem));
            } else {
                ctx.log("Unable to update subsystem {}.", tr);
                ctx.addTaskToCurrentCycle(new ChangeStateTask(this.getResourceGroup(), ResourceState.IGNORED));
            }
View Full Code Here

    public void execute(final InstallationContext ctx) {
        final TaskResource tr = this.getResource();
        ctx.log("Installing new subsystem from {}", tr);

        try {
            final Subsystem sub = this.rootSubsystem.install(tr.getURL(), tr.getInputStream());
            ctx.addTaskToCurrentCycle(new StartSubsystemTask(this.getResourceGroup(), sub));
            ctx.log("Installed new subsystem {}", sub);
        } catch (final IOException e) {
            ctx.log("Unable to install subsystem {} : {}", tr, e);
            ctx.addTaskToCurrentCycle(new ChangeStateTask(this.getResourceGroup(), ResourceState.IGNORED));
View Full Code Here

    @Reference
    Subsystem subsystem;

    protected Subsystem getRoot() {
        Subsystem ss = subsystem;
        while (!ss.getParents().isEmpty()) {
            ss = ss.getParents().iterator().next();
        }
        return ss;
    }
View Full Code Here

TOP

Related Classes of org.osgi.service.subsystem.Subsystem

Copyright © 2018 www.massapicom. 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.