@Override public Object getInstance(ObjectModel model, ClassLoader cl, Map<String, Object> contextParams) { Class<?> clazz = getClassObject(model.getIdentifier(), cl); Object instance = null; InternalRuntimeManager manager = null; logger.debug("About to create instance of {} with no arg constructor", model.getIdentifier()); } catch (Exception e) { throw new IllegalArgumentException("Unable to create instance (no arg constructor) of type " + model.getIdentifier() + " due to " + e.getMessage(), e); logger.debug("About to create instance of {} with {} parameters", model.getIdentifier(), model.getParameters().size()); ((ObjectModel) param).getIdentifier()); Class<?> paramclazz = getClassObject(((ObjectModel)param).getIdentifier(), cl); parameterTypes[index] = paramclazz; } catch (Exception e) { throw new IllegalArgumentException("Unable to create instance (" + parameterTypes + " constructor) of type " + model.getIdentifier() + " due to " + e.getMessage(), e);
@Override public Object getInstance(ObjectModel model, ClassLoader cl, Map<String, Object> contextParams) { Class<?> clazz = getClassObject(model.getIdentifier(), cl); Object instance = null; InternalRuntimeManager manager = null; logger.debug("About to create instance of {} with no arg constructor", model.getIdentifier()); } catch (Exception e) { throw new IllegalArgumentException("Unable to create instance (no arg constructor) of type " + model.getIdentifier() + " due to " + e.getMessage(), e); logger.debug("About to create instance of {} with {} parameters", model.getIdentifier(), model.getParameters().size()); ((ObjectModel) param).getIdentifier()); Class<?> paramclazz = getClassObject(((ObjectModel)param).getIdentifier(), cl); parameterTypes[index] = paramclazz; } catch (Exception e) { throw new IllegalArgumentException("Unable to create instance (" + parameterTypes + " constructor) of type " + model.getIdentifier() + " due to " + e.getMessage(), e);
@Override public Object getInstance(ObjectModel model, ClassLoader cl, Map<String, Object> contextParams) { Object instance = null; InternalRuntimeManager manager = null; if (contextParams.containsKey("runtimeManager")) { manager = (InternalRuntimeManager) contextParams.get("runtimeManager"); instance = manager.getCacheManager().get(model.getIdentifier()); if (instance != null) { return instance; } } ParserConfiguration config = new ParserConfiguration(); config.setClassLoader(cl); ParserContext ctx = new ParserContext(config); if (contextParams != null) { for (Map.Entry<String, Object> entry : contextParams.entrySet()) { ctx.addVariable(entry.getKey(), entry.getValue().getClass()); } } Object compiledExpression = MVEL.compileExpression(model.getIdentifier(), ctx); instance = MVELSafeHelper.getEvaluator().executeExpression( compiledExpression, contextParams ); if (manager != null && instance instanceof Cacheable) { manager.getCacheManager().add(model.getIdentifier(), instance); } return instance; }
@Override public Object getInstance(ObjectModel model, ClassLoader cl, Map<String, Object> contextParams) { if (applicationContext == null) { throw new IllegalStateException("No spring application context provided"); } return applicationContext.getBean(model.getIdentifier()); }
@Override public Object getInstance(ObjectModel model, ClassLoader cl, Map<String, Object> contextParams) { if (applicationContext == null) { throw new IllegalStateException("No spring application context provided"); } return applicationContext.getBean(model.getIdentifier()); }
private List<Parameter> collectParameters(List<Object> parameters) { List<Parameter> result = null; if (parameters != null && !parameters.isEmpty()) { result = new ArrayList<Parameter>(); for (Object param : parameters) { if (param instanceof ObjectModel) { ObjectModel model = (ObjectModel) param; result.add(new Parameter(model.getIdentifier(), model.getParameters().get(0).toString())); } } } return result; }
private List<Parameter> collectParameters(List<Object> parameters) { List<Parameter> result = null; if (parameters != null && !parameters.isEmpty()) { result = new ArrayList<Parameter>(); for (Object param : parameters) { if (param instanceof ObjectModel) { ObjectModel model = (ObjectModel) param; result.add(new Parameter(model.getIdentifier(), model.getParameters().get(0).toString())); } } } return result; }
String identifier = model.getIdentifier(); newMessage( path, "Identifier cannot be empty for " + model.getIdentifier(), Level.ERROR, I18N_KEY_MISSING_IDENTIFIER, model.getIdentifier())); newMessage( path, "No resolver selected for " + model.getIdentifier(), Level.ERROR, I18N_KEY_MISSING_RESOLVER, model.getIdentifier())); } catch (CompileException e) { StringBuilder text = new StringBuilder(); text.append("Could not compile mvel expression '" + model.getIdentifier() +"'.") .append(" this can be due to invalid syntax of missing classes") .append("-") Level.WARNING, I18N_KEY_NOT_VALID_MVEL_IDENTIFIER, model.getIdentifier(), e.getMessage())); newMessage( path,
private List<ItemObjectModel> processObjectModel(List<ObjectModel> data) { List<ItemObjectModel> result = null; if (data != null) { result = new ArrayList<ItemObjectModel>(); for (ObjectModel orig : data) { List<Parameter> parameters = collectParameters(orig.getParameters()); result.add(new ItemObjectModel(null, orig.getIdentifier(), orig.getResolver(), parameters)); } } return result; }
private List<ItemObjectModel> processObjectModel(List<ObjectModel> data) { List<ItemObjectModel> result = null; if (data != null) { result = new ArrayList<ItemObjectModel>(); for (ObjectModel orig : data) { List<Parameter> parameters = collectParameters(orig.getParameters()); result.add(new ItemObjectModel(null, orig.getIdentifier(), orig.getResolver(), parameters)); } } return result; }
String identifier = model.getIdentifier(); newMessage( path, "Identifier cannot be empty for " + model.getIdentifier(), Level.ERROR, I18N_KEY_MISSING_IDENTIFIER, model.getIdentifier())); newMessage( path, "No resolver selected for " + model.getIdentifier(), Level.ERROR, I18N_KEY_MISSING_RESOLVER, model.getIdentifier())); } catch (CompileException e) { StringBuilder text = new StringBuilder(); text.append("Could not compile mvel expression '" + model.getIdentifier() +"'.") .append(" this can be due to invalid syntax of missing classes") .append("-") Level.WARNING, I18N_KEY_NOT_VALID_MVEL_IDENTIFIER, model.getIdentifier(), e.getMessage())); newMessage( path,
@Override public Object getInstance(ObjectModel model, ClassLoader cl, Map<String, Object> contextParams) { Class<?> clazz = getClassObject(model.getIdentifier(), cl); Object instance = null; InternalRuntimeManager manager = null; logger.debug("About to create instance of {} with no arg constructor", model.getIdentifier()); } catch (Exception e) { throw new IllegalArgumentException("Unable to create instance (no arg constructor) of type " + model.getIdentifier() + " due to " + e.getMessage(), e); logger.debug("About to create instance of {} with {} parameters", model.getIdentifier(), model.getParameters().size()); ((ObjectModel) param).getIdentifier()); Class<?> paramclazz = getClassObject(((ObjectModel)param).getIdentifier(), cl); parameterTypes[index] = paramclazz; } catch (Exception e) { throw new IllegalArgumentException("Unable to create instance (" + parameterTypes + " constructor) of type " + model.getIdentifier() + " due to " + e.getMessage(), e);
@Override public Object getInstance(ObjectModel model, ClassLoader cl, Map<String, Object> contextParams) { Class<?> clazz = getClassObject(model.getIdentifier(), cl); Object instance = null; InternalRuntimeManager manager = null; logger.debug("About to create instance of {} with no arg constructor", model.getIdentifier()); } catch (Exception e) { throw new IllegalArgumentException("Unable to create instance (no arg constructor) of type " + model.getIdentifier() + " due to " + e.getMessage(), e); logger.debug("About to create instance of {} with {} parameters", model.getIdentifier(), model.getParameters().size()); ((ObjectModel) param).getIdentifier()); Class<?> paramclazz = getClassObject(((ObjectModel)param).getIdentifier(), cl); parameterTypes[index] = paramclazz; } catch (Exception e) { throw new IllegalArgumentException("Unable to create instance (" + parameterTypes + " constructor) of type " + model.getIdentifier() + " due to " + e.getMessage(), e);
@Override public Object getInstance(ObjectModel model, ClassLoader cl, Map<String, Object> contextParams) { Object instance = null; InternalRuntimeManager manager = null; if (contextParams.containsKey("runtimeManager")) { manager = (InternalRuntimeManager) contextParams.get("runtimeManager"); instance = manager.getCacheManager().get(model.getIdentifier()); if (instance != null) { return instance; } } ParserConfiguration config = new ParserConfiguration(); config.setClassLoader(cl); ParserContext ctx = new ParserContext(config); if (contextParams != null) { for (Map.Entry<String, Object> entry : contextParams.entrySet()) { ctx.addVariable(entry.getKey(), entry.getValue().getClass()); } } Object compiledExpression = MVEL.compileExpression(model.getIdentifier(), ctx); instance = MVELSafeHelper.getEvaluator().executeExpression( compiledExpression, contextParams ); if (manager != null && instance instanceof Cacheable) { manager.getCacheManager().add(model.getIdentifier(), instance); } return instance; }