Search in sources :

Example 76 with Profile

use of io.fabric8.api.Profile in project fabric8 by jboss-fuse.

the class VersionListAction method printVersions.

protected void printVersions(Container[] containers, List<String> versions, String defaultVersionId, PrintStream out) {
    TablePrinter table = new TablePrinter();
    table.columns("version", "default", "# containers", "description");
    List<String> invalidVersion = new ArrayList<String>();
    // they are sorted in the correct order by default
    for (String versionId : versions) {
        if (versionId != null && !versionId.isEmpty() && ALLOWED_PROFILE_NAMES_PATTERN.matcher(versionId).matches()) {
            boolean isDefault = versionId.equals(defaultVersionId);
            Version version = profileService.getRequiredVersion(versionId);
            int active = countContainersByVersion(containers, version);
            String description = version.getAttributes().get(Version.DESCRIPTION);
            table.row(version.getId(), (isDefault ? "true" : ""), activeContainerCountText(active), description);
        } else {
            invalidVersion.add(versionId);
        }
    }
    table.print();
    if (!invalidVersion.isEmpty()) {
        System.out.println("The following profile versions have been skipped since their names are not correct: " + invalidVersion.toString());
    }
}
Also used : CommandUtils.countContainersByVersion(io.fabric8.commands.support.CommandUtils.countContainersByVersion) Version(io.fabric8.api.Version) TablePrinter(io.fabric8.utils.TablePrinter) ArrayList(java.util.ArrayList)

Example 77 with Profile

use of io.fabric8.api.Profile in project fabric8 by jboss-fuse.

the class DefaultVersionBuilder method validate.

@Override
protected void validate() {
    super.validate();
    IllegalStateAssertion.assertNotNull(versionId, "Version must have an identity");
    for (Profile profile : profiles.values()) {
        String prfversion = profile.getVersion();
        IllegalStateAssertion.assertEquals(versionId, prfversion, "Profile version not '" + versionId + "' for: " + profile);
    }
}
Also used : Profile(io.fabric8.api.Profile)

Example 78 with Profile

use of io.fabric8.api.Profile in project fabric8 by jboss-fuse.

the class ProfileWatcherImpl method findProfileArifacts.

// For each profile and version return the map of bundle locations to parsers
private Map<ProfileVersionKey, Map<String, Parser>> findProfileArifacts() throws Exception {
    Map<ProfileVersionKey, Map<String, Parser>> profileArtifacts = new HashMap<ProfileVersionKey, Map<String, Parser>>();
    ProfileService profileService = fabricService.get().adapt(ProfileService.class);
    DownloadManager downloadManager = DownloadManagers.createDownloadManager(fabricService.get(), executorService);
    Container[] containers = fabricService.get().getContainers();
    for (Container container : containers) {
        Profile[] profiles = container.getProfiles();
        boolean javaOrProcessContainer = ChildContainers.isJavaOrProcessContainer(fabricService.get(), container);
        // TODO allow filter on a profile here?
        for (Profile profile : profiles) {
            Profile overlay = profileService.getOverlayProfile(profile);
            ProfileVersionKey key = new ProfileVersionKey(profile);
            // if (!profileArtifacts.containsKey(key)) {
            Map<String, Parser> artifacts = null;
            if (javaOrProcessContainer) {
                List<Profile> singletonList = Collections.singletonList(profile);
                artifacts = JavaContainers.getJavaContainerArtifacts(fabricService.get(), singletonList, executorService);
            } else {
                artifacts = AgentUtils.getProfileArtifacts(fabricService.get(), downloadManager, overlay);
            }
            if (artifacts != null) {
                if (LOG.isDebugEnabled()) {
                    LOG.debug("Profile " + profile.getId() + " maps to artefacts: " + artifacts.keySet());
                }
                profileArtifacts.put(key, artifacts);
            }
        // }
        }
    }
    return profileArtifacts;
}
Also used : HashMap(java.util.HashMap) DownloadManager(io.fabric8.agent.download.DownloadManager) Profile(io.fabric8.api.Profile) Parser(io.fabric8.maven.util.Parser) Container(io.fabric8.api.Container) ProfileService(io.fabric8.api.ProfileService) Map(java.util.Map) HashMap(java.util.HashMap)

Example 79 with Profile

use of io.fabric8.api.Profile in project fabric8 by jboss-fuse.

the class ProfileWatcherImpl method getCurrentActiveProfileVersions.

/**
 * Gets the set of active profile ids and versions
 */
protected SortedSet<String> getCurrentActiveProfileVersions() {
    SortedSet<String> answer = new TreeSet<String>();
    Container[] containers = fabricService.get().getContainers();
    for (Container container : containers) {
        container.getProvisionList();
        Profile[] profiles = container.getProfiles();
        // TODO allow filter on a profile here?
        for (Profile profile : profiles) {
            String id = profile.getId();
            String version = profile.getVersion();
            answer.add(id + "/" + version);
        }
    }
    return answer;
}
Also used : Container(io.fabric8.api.Container) TreeSet(java.util.TreeSet) Profile(io.fabric8.api.Profile)

Example 80 with Profile

use of io.fabric8.api.Profile in project fabric8 by jboss-fuse.

the class DownloadManagers method createDownloadManager.

/**
 * Creates a DownloadManager
 */
public static DownloadManager createDownloadManager(FabricService fabricService, Profile profile, ScheduledExecutorService executorService) {
    Map<String, String> configuration = profile.getConfiguration(Constants.AGENT_PID);
    if (configuration == null) {
        configuration = new HashMap<>();
    }
    Dictionary<String, String> properties = mapToDictionary(configuration);
    Mirror mirror = AgentUtils.getMavenProxy(fabricService);
    MavenResolver resolver = MavenResolvers.createMavenResolver(mirror, properties, "org.ops4j.pax.url.mvn");
    return createDownloadManager(resolver, executorService);
}
Also used : MavenResolver(io.fabric8.maven.MavenResolver) Mirror(org.apache.maven.settings.Mirror)

Aggregations

Profile (io.fabric8.api.Profile)125 Version (io.fabric8.api.Version)50 Container (io.fabric8.api.Container)49 ArrayList (java.util.ArrayList)37 ProfileBuilder (io.fabric8.api.ProfileBuilder)34 Test (org.junit.Test)32 FabricService (io.fabric8.api.FabricService)28 HashMap (java.util.HashMap)25 File (java.io.File)24 ProfileService (io.fabric8.api.ProfileService)23 Map (java.util.Map)22 IOException (java.io.IOException)19 ProfileRequirements (io.fabric8.api.ProfileRequirements)13 HashSet (java.util.HashSet)12 GitVersion (io.fabric8.api.commands.GitVersion)11 FabricRequirements (io.fabric8.api.FabricRequirements)10 LinkedList (java.util.LinkedList)9 TreeMap (java.util.TreeMap)9 LockHandle (io.fabric8.api.LockHandle)8 Parser (io.fabric8.maven.util.Parser)8