@SuppressWarnings("unchecked") public static <T> Maybe<Class<T>> tryLoadFromClasspath(String typeName, ManagementContext mgmt) { Class<T> clazz; try { clazz = (Class<T>) mgmt.getCatalog().getRootClassLoader().loadClass(typeName); } catch (ClassNotFoundException e) { LOG.debug("Class {} not found on classpath", typeName); return Maybe.absent(new Throwable("Could not find " + typeName + " on classpath")); } return Maybe.<Class<T>>of(clazz); }
@SuppressWarnings("unchecked") public static <T extends Entity> Maybe<Class<T>> tryLoadEntityFromCatalogue( String entityTypeName, ManagementContext mgmt) { try { return (Maybe<Class<T>>) (Maybe<?>) Maybe.<Class<? extends Entity>>of( mgmt.getCatalog().loadClassByType(entityTypeName, Entity.class)); } catch (NoSuchElementException e) { LOG.debug("Class {} not found in catalogue classpath", entityTypeName); return Maybe.absent(); } }
/** Returns the CAMP platform associated with a management context, if there is one. */ public static Maybe<CampPlatform> getCampPlatform(ManagementContext mgmt) { CampPlatform result = mgmt.getConfig().getConfig(BrooklynServerConfig.CAMP_PLATFORM); if (result != null) return Maybe.of(result); return Maybe.absent("No CAMP Platform is registered with this Brooklyn management context."); }