private void initProfiles()

in myriad-scheduler/src/main/java/org/apache/myriad/Main.java [154:173]


  private void initProfiles(Injector injector) {
    LOGGER.info("Initializing Profiles");
    ServiceProfileManager profileManager = injector.getInstance(ServiceProfileManager.class);
    Map<String, Map<String, String>> profiles = injector.getInstance(MyriadConfiguration.class).getProfiles();
    TaskUtils taskUtils = injector.getInstance(TaskUtils.class);
    if (MapUtils.isNotEmpty(profiles)) {
      for (Map.Entry<String, Map<String, String>> profile : profiles.entrySet()) {
        Map<String, String> profileResourceMap = profile.getValue();
        if (MapUtils.isNotEmpty(profiles) && profileResourceMap.containsKey("cpu") && profileResourceMap.containsKey("mem")) {
          Long cpu = Long.parseLong(profileResourceMap.get("cpu"));
          Long mem = Long.parseLong(profileResourceMap.get("mem"));
          ServiceResourceProfile serviceProfile = new ExtendedResourceProfile(new NMProfile(profile.getKey(), cpu, mem),
              taskUtils.getNodeManagerCpus(), taskUtils.getNodeManagerMemory(), taskUtils.getNodeManagerPorts());
          profileManager.add(serviceProfile);
        } else {
          LOGGER.error("Invalid definition for profile: " + profile.getKey());
        }
      }
    }
  }