// Path: org.fipro.mafia.common/src/org/fipro/mafia/common/MafiaBossConstants.java
// public final class MafiaBossConstants {
// 
//     private MafiaBossConstants() {
//         // private default constructor for constants class
//         // to avoid someone extends the class
//     }
// 
//     public static final String TOPIC_BASE = "org/fipro/mafia/Boss/";
//     public static final String TOPIC_CONVINCE = TOPIC_BASE + "CONVINCE";
//     public static final String TOPIC_ENCASH = TOPIC_BASE + "ENCASH";
//     public static final String TOPIC_SOLVE = TOPIC_BASE + "SOLVE";
//     public static final String TOPIC_ALL = TOPIC_BASE + "*";
// 
//     public static final String PROPERTY_KEY_TARGET = "target";
// 
// }


import java.util.HashMap;
import java.util.Map;
import org.apache.felix.service.command.Descriptor;
import org.fipro.mafia.common.MafiaBossConstants;
import org.osgi.service.component.annotations.Component;
import org.osgi.service.component.annotations.Reference;
import org.osgi.service.event.Event;
import org.osgi.service.event.EventAdmin;
package org.fipro.mafia.boss;



@Component(
    property = {
        "osgi.command.scope=fipro",
        "osgi.command.function=boss" },
    service = BossCommand.class)
public class BossCommand {

    @Reference
    EventAdmin eventAdmin;

    @Descriptor("As a mafia boss you want something to be done")
    public void boss(
        @Descriptor("the command that should be executed. "
            + "possible values are: convince, encash, solve")
        String command,
        @Descriptor("who should be 'convinced', "
            + "'asked for protection money' or 'finally solved'")
        String target) {

        // create the event properties object
        Map<String, Object> properties = new HashMap<>();
// Path: org.fipro.mafia.common/src/org/fipro/mafia/common/MafiaBossConstants.java
// public final class MafiaBossConstants {
// 
//     private MafiaBossConstants() {
//         // private default constructor for constants class
//         // to avoid someone extends the class
//     }
// 
//     public static final String TOPIC_BASE = "org/fipro/mafia/Boss/";
//     public static final String TOPIC_CONVINCE = TOPIC_BASE + "CONVINCE";
//     public static final String TOPIC_ENCASH = TOPIC_BASE + "ENCASH";
//     public static final String TOPIC_SOLVE = TOPIC_BASE + "SOLVE";
//     public static final String TOPIC_ALL = TOPIC_BASE + "*";
// 
//     public static final String PROPERTY_KEY_TARGET = "target";
// 
// }


// Path: org.fipro.mafia.boss/src/org/fipro/mafia/boss/BossCommand.java
import java.util.HashMap;
import java.util.Map;
import org.apache.felix.service.command.Descriptor;
import org.fipro.mafia.common.MafiaBossConstants;
import org.osgi.service.component.annotations.Component;
import org.osgi.service.component.annotations.Reference;
import org.osgi.service.event.Event;
import org.osgi.service.event.EventAdmin;

package org.fipro.mafia.boss;



@Component(
    property = {
        "osgi.command.scope=fipro",
        "osgi.command.function=boss" },
    service = BossCommand.class)
public class BossCommand {

    @Reference
    EventAdmin eventAdmin;

    @Descriptor("As a mafia boss you want something to be done")
    public void boss(
        @Descriptor("the command that should be executed. "
            + "possible values are: convince, encash, solve")
        String command,
        @Descriptor("who should be 'convinced', "
            + "'asked for protection money' or 'finally solved'")
        String target) {

        // create the event properties object
        Map<String, Object> properties = new HashMap<>();
        properties.put(MafiaBossConstants.PROPERTY_KEY_TARGET, target);