private static TypeId get(final Object type) { try { return ((IdentifiableType) type).getId(); } catch (ClassCastException e) { throw new IllegalStateException(type.getClass() + " should implement " + IdentifiableType.class); } }
private static String resolveAppType(ApplicationLink link) { final ApplicationType type = link.getType(); if (type instanceof IdentifiableType) { return IdentifiableType.class.cast(type).getId().get(); } else { return type.getClass().getName(); } }
@Nonnull public static String resolveApplicationTypeId(@Nonnull ApplicationType type) { return isIdentifiable(type) ? asIdentifiableType(type).getId().get() : type.getI18nKey(); }
@Nonnull public static String resolveEntityTypeId(@Nonnull EntityType type) { return isIdentifiable(type) ? asIdentifiableType(type).getId().get() : type.getI18nKey(); }
public ModuleDescriptor adding(final ModuleDescriptor descriptor) { final String completeKey = descriptor.getCompleteKey(); if (descriptor instanceof AbstractAppLinksTypeModuleDescriptor) { final AbstractAppLinksTypeModuleDescriptor<?> typeDescriptor = (AbstractAppLinksTypeModuleDescriptor) descriptor; final Object moduleInstance = typeDescriptor.getModule(); // assign, as getModule() may return different instances each invocation if (!IdentifiableType.class.isAssignableFrom(moduleInstance.getClass())) { //todo this check should be done in the ModuleDescriptor log.error(moduleInstance.getClass() + " does not implement " + IdentifiableType.class.getName() + "! This type will not be available."); return descriptor; } put(completeKey, typeDescriptor.getModule().getClass(), moduleInstance); for (final String inyourface : typeDescriptor.getInterfaces()) { put(completeKey, inyourface, moduleInstance); } put(completeKey, ((IdentifiableType) moduleInstance).getId().get(), moduleInstance); // register against type id } else if (descriptor instanceof AuthenticationProviderModuleDescriptor) { final AuthenticationProviderPluginModule module = (AuthenticationProviderPluginModule) descriptor.getModule(); put(completeKey, module.getAuthenticationProviderClass().getName(), module.getAuthenticationProviderClass()); } return descriptor; }
public ModuleDescriptor adding(final ModuleDescriptor descriptor) { final String completeKey = descriptor.getCompleteKey(); if (descriptor instanceof AbstractAppLinksTypeModuleDescriptor) { final AbstractAppLinksTypeModuleDescriptor<?> typeDescriptor = (AbstractAppLinksTypeModuleDescriptor) descriptor; final Object moduleInstance = typeDescriptor.getModule(); // assign, as getModule() may return different instances each invocation if (!IdentifiableType.class.isAssignableFrom(moduleInstance.getClass())) { //todo this check should be done in the ModuleDescriptor log.error(moduleInstance.getClass() + " does not implement " + IdentifiableType.class.getName() + "! This type will not be available."); return descriptor; } put(completeKey, typeDescriptor.getModule().getClass(), moduleInstance); for (final String inyourface : typeDescriptor.getInterfaces()) { put(completeKey, inyourface, moduleInstance); } put(completeKey, ((IdentifiableType)moduleInstance).getId().get(), moduleInstance); // register against type id } else if (descriptor instanceof AuthenticationProviderModuleDescriptor) { final AuthenticationProviderPluginModule module = (AuthenticationProviderPluginModule) descriptor.getModule(); put(completeKey, module.getAuthenticationProviderClass().getName(), module.getAuthenticationProviderClass()); } return descriptor; }