@Override public IProcessingComponent prepare(Class<? extends IProcessingComponent> clazz, String id, Map<String, Object> inputAttributes, Map<String, Object> outputAttributes) { try { final IProcessingComponent component = componentPool.borrowObject(clazz, id); // Pass @Init @Output attributes back to the caller. final Map<String, Object> initOutputAttrs = initOutputAttributes .get(new Pair<Class<? extends IProcessingComponent>, String>(component .getClass(), id)); if (initOutputAttrs != null) { outputAttributes.putAll(initOutputAttrs); } return component; } catch (final InstantiationException e) { throw new ComponentInitializationException( "Could not instantiate component class: " + clazz.getName(), e); } catch (final IllegalAccessException e) { throw new ComponentInitializationException( "Could not instantiate component class: " + clazz.getName(), e); } }
throw new ComponentInitializationException( "Could not instantiate component class: " + clazz.getName(), e); throw new ComponentInitializationException( "Could not instantiate component class: " + clazz.getName(), e);
/** * Performs all life cycle actions required upon initialization. */ public static void init(IProcessingComponent processingComponent, Map<String, Object> inputAttributes, Map<String, Object> outputAttributes, boolean checkRequiredAttributes, IControllerContext context) throws ComponentInitializationException { try { AttributeBinder.set(processingComponent, inputAttributes, checkRequiredAttributes, Input.class, Init.class); processingComponent.init(context); AttributeBinder.get(processingComponent, outputAttributes, Output.class, Init.class); } catch (final InstantiationException e) { throw new ComponentInitializationException("Attribute binding failed", e); } }
throw new ComponentInitializationException( "Could not initialize component", e); throw new ComponentInitializationException( "Could not initialize component", e);