List of usage examples for org.apache.commons.beanutils BeanMap BeanMap
public BeanMap(Object bean)
BeanMap
�作指定的bean, 如果给定的bean是null
, 那么 这个map将会是empty。 From source file:org.chtijbug.drools.runtime.DroolsFactObjectFactory.java
public static DroolsFactObject createFactObject(Object o, int version) { logger.debug(">> createFactObject", o, version); DroolsFactObject createFactObject = null; try {// ww w .j ava 2 s . com if (o != null) { createFactObject = new DroolsFactObject(o, version); createFactObject.setFullClassName(o.getClass().getCanonicalName()); createFactObject.setHashCode(o.hashCode()); BeanMap m = new BeanMap(o); for (Object para : m.keySet()) { if (!para.toString().equals("class")) { if (m.get(para) != null) { DroolsFactObjectAttribute attribute = new DroolsFactObjectAttribute(para.toString(), m.get(para).toString(), m.get(para).getClass().getSimpleName()); createFactObject.getListfactObjectAttributes().add(attribute); } else { DroolsFactObjectAttribute attribute = new DroolsFactObjectAttribute(para.toString(), "null", "null"); createFactObject.getListfactObjectAttributes().add(attribute); } } } } return createFactObject; } catch (Exception e) { logger.error("Not possible to introspect {} for reason {}", o, e); throw Throwables.propagate(e); } finally { logger.debug("<< createFactObject", createFactObject); } }
From source file:org.codehaus.groovy.grails.web.metaclass.RenderDynamicMethod.java
private boolean renderTemplate(Object target, GroovyObject controller, GrailsWebRequest webRequest, Map argMap, Writer out) {/*from ww w . j a v a2s . co m*/ boolean renderView; boolean hasModel = argMap.containsKey(ARGUMENT_MODEL); Object modelObject = null; if (hasModel) { modelObject = argMap.get(ARGUMENT_MODEL); } String templateName = argMap.get(ARGUMENT_TEMPLATE).toString(); String contextPath = getContextPath(webRequest, argMap); String var = null; if (argMap.containsKey(ARGUMENT_VAR)) { var = String.valueOf(argMap.get(ARGUMENT_VAR)); } // get the template uri String templateUri = webRequest.getAttributes().getTemplateURI(controller, templateName); // retrieve gsp engine GroovyPagesTemplateEngine engine = webRequest.getAttributes().getPagesTemplateEngine(); try { Template t = engine.createTemplateForUri(new String[] { GrailsResourceUtils.appendPiecesForUri(contextPath, templateUri), GrailsResourceUtils.appendPiecesForUri(contextPath, "/grails-app/views/", templateUri) }); if (t == null) { throw new ControllerExecutionException( "Unable to load template for uri [" + templateUri + "]. Template not found."); } if (t instanceof GroovyPageTemplate) { ((GroovyPageTemplate) t).setAllowSettingContentType(true); } Map binding = new HashMap(); if (argMap.containsKey(ARGUMENT_BEAN)) { Object bean = argMap.get(ARGUMENT_BEAN); if (hasModel) { if (modelObject instanceof Map) { setTemplateModel(webRequest, binding, (Map) modelObject); } } renderTemplateForBean(t, binding, bean, var, out); } else if (argMap.containsKey(ARGUMENT_COLLECTION)) { Object colObject = argMap.get(ARGUMENT_COLLECTION); if (hasModel) { if (modelObject instanceof Map) { setTemplateModel(webRequest, binding, (Map) modelObject); } } renderTemplateForCollection(t, binding, colObject, var, out); } else if (hasModel) { if (modelObject instanceof Map) { setTemplateModel(webRequest, binding, (Map) modelObject); } renderTemplateForModel(t, modelObject, target, out); } else { Writable w = t.make(new BeanMap(target)); w.writeTo(out); } renderView = false; } catch (GroovyRuntimeException gre) { throw new ControllerExecutionException( "Error rendering template [" + templateName + "]: " + gre.getMessage(), gre); } catch (IOException ioex) { throw new ControllerExecutionException( "I/O error executing render method for arguments [" + argMap + "]: " + ioex.getMessage(), ioex); } return renderView; }
From source file:org.codehaus.groovy.grails.web.metaclass.RenderDynamicMethod.java
private void renderTemplateForModel(Template template, Object modelObject, Object target, Writer out) throws IOException { if (modelObject instanceof Map) { template.make((Map) modelObject).writeTo(out); } else {// w w w . j a v a 2s .co m template.make(new BeanMap(target)).writeTo(out); } }
From source file:org.codehaus.groovy.grails.web.metaclass.RenderDynamicMethod.java
private void renderView(GrailsWebRequest webRequest, Map argMap, Object target, GroovyObject controller, boolean hasContentType) { String viewName = argMap.get(ARGUMENT_VIEW).toString(); String viewUri = webRequest.getAttributes().getNoSuffixViewURI((GroovyObject) target, viewName); Object modelObject = argMap.get(ARGUMENT_MODEL); if (modelObject != null) { modelObject = argMap.get(ARGUMENT_MODEL); boolean isPromise = modelObject instanceof Promise; Collection<ActionResultTransformer> resultTransformers = getActionResultTransformers(webRequest); for (ActionResultTransformer resultTransformer : resultTransformers) { modelObject = resultTransformer.transformActionResult(webRequest, viewUri, modelObject); }/*from w w w.j a va 2 s . c o m*/ if (isPromise) return; } getWriterForConfiguredContentType(webRequest.getResponse(), argMap, hasContentType); Map model; if (modelObject instanceof Map) { model = (Map) modelObject; } else if (target instanceof GroovyObject) { model = new BeanMap(target); } else { model = new HashMap(); } controller.setProperty(ControllerDynamicMethods.MODEL_AND_VIEW_PROPERTY, new ModelAndView(viewUri, model)); }
From source file:org.codehaus.groovy.grails.web.servlet.mvc.SimpleGrailsControllerHelper.java
public ModelAndView handleActionResponse(GroovyObject controller, Object returnValue, String closurePropertyName, String viewName) { boolean viewNameBlank = (viewName == null || viewName.length() == 0); // reset the metaclass ModelAndView explicityModelAndView = (ModelAndView) controller .getProperty(ControllerDynamicMethods.MODEL_AND_VIEW_PROPERTY); if (!webRequest.isRenderView()) { return null; } else if (explicityModelAndView != null) { return explicityModelAndView; } else if (returnValue == null) { if (viewNameBlank) { return null; } else {/*ww w . j av a 2 s . c o m*/ Map model; if (!this.chainModel.isEmpty()) { model = new CompositeMap(this.chainModel, new BeanMap(controller)); } else { model = new BeanMap(controller); } return new ModelAndView(viewName, model); } } else if (returnValue instanceof Map) { // remove any Proxy wrappers and set the adaptee as the value Map finalModel = new LinkedHashMap(); if (!this.chainModel.isEmpty()) { finalModel.putAll(this.chainModel); } Map returnModel = (Map) returnValue; finalModel.putAll(returnModel); removeProxiesFromModelObjects(finalModel); return new ModelAndView(viewName, finalModel); } else if (returnValue instanceof ModelAndView) { ModelAndView modelAndView = (ModelAndView) returnValue; // remove any Proxy wrappers and set the adaptee as the value Map modelMap = modelAndView.getModel(); removeProxiesFromModelObjects(modelMap); if (!this.chainModel.isEmpty()) { modelAndView.addAllObjects(this.chainModel); } if (modelAndView.getView() == null && modelAndView.getViewName() == null) { if (viewNameBlank) { throw new NoViewNameDefinedException( "ModelAndView instance returned by and no view name defined by nor for closure on property [" + closurePropertyName + "] in controller [" + controller.getClass() + "]!"); } else { modelAndView.setViewName(viewName); } } return modelAndView; } else { Map model; if (!this.chainModel.isEmpty()) { model = new CompositeMap(this.chainModel, new BeanMap(controller)); } else { model = new BeanMap(controller); } return new ModelAndView(viewName, model); } }
From source file:org.dcm4chee.archive.patient.PatientSelectorFactory.java
private static PatientSelector createSelector(PatientSelectorConfig conf) { try {/*from ww w.j ava2s. c om*/ Object selectorObject = Class.forName(conf.getPatientSelectorClassName()).newInstance(); BeanMap map = new BeanMap(selectorObject); for (String key : conf.getPatientSelectorProperties().keySet()) map.put(key, conf.getPatientSelectorProperties().get(key)); return (PatientSelector) map.getBean(); } catch (InstantiationException | IllegalAccessException | ClassNotFoundException e) { throw new IllegalArgumentException("conf=" + conf, e); } }
From source file:org.eclipse.dawnsci.doe.DOEUtils.java
/** * Changes a value on the given bean using reflection * //from w w w.j av a 2 s. c om * @param bean * @param fieldName * @param value * @throws Exception */ public static void setBeanValue(final Object bean, final String fieldName, final Object value) throws Exception { final String setterName = getSetterName(fieldName); try { final Method method; if (value != null) { method = bean.getClass().getMethod(setterName, value.getClass()); } else { method = bean.getClass().getMethod(setterName, Object.class); } method.invoke(bean, value); } catch (NoSuchMethodException ne) { // Happens when UI and bean types are not the same, for instance Text editing a double field, // or label showing a double field. final BeanMap properties = new BeanMap(bean); properties.put(fieldName, value); } }
From source file:org.eclipse.scanning.points.validation.ScanRequestValidator.java
private void validateAnnotations(Map<String, Object> dmodels) throws ValidationException, IllegalArgumentException, IllegalAccessException, ScanningException { for (String name : dmodels.keySet()) { // The model we will validate Object model = dmodels.get(name); // If the model has an annotated field which points at // a detector, that detector must be in the scan. Field[] fields = model.getClass().getDeclaredFields(); BeanMap beanMap = null; // May need to use newer version of BeanMap in Java9 if it uses setAccessable(true) for (Field field : fields) { Annotation[] anots = field.getAnnotations(); for (Annotation annotation : anots) { if (annotation instanceof FieldDescriptor) { FieldDescriptor des = (FieldDescriptor) annotation; if (des.device() == DeviceType.RUNNABLE) { // Then its value must be in the devices. if (beanMap == null) beanMap = new BeanMap(model); String reference = beanMap.get(field.getName()).toString(); if (!dmodels.containsKey(reference)) { IRunnableDeviceService dservice = ValidatorService.getRunnableDeviceService(); if (dservice != null && dservice.getRunnableDevice(reference) != null) { continue; }//w w w. j a v a 2 s .co m String label = des.label() != null && des.label().length() > 0 ? des.label() : field.getName(); throw new ModelValidationException("The value of '" + label + "' references a device (" + reference + ") not a valid device!", model, field.getName()); } } } } } } }
From source file:org.exem.flamingo.web.oozie.workflowdesigner.OozieWorkflowController.java
@RequestMapping(value = "run", method = RequestMethod.POST) @ResponseStatus(HttpStatus.OK)/*from ww w .j av a2 s . com*/ public Response Run(@RequestBody Map<String, Object> params) { Response response = new Response(); Map map = new HashMap<String, Object>(); try { String treeIdString = params.get("treeId").toString(); long treeId = Long.parseLong(treeIdString); String designerXml = oozieWorkflowService.loadDesignerXml(treeId); String script = oozieWorkflowService.getLocalVariableParameter(designerXml, "script"); // TODO : ?? DB? , ? // set workflow Workflow workflow = new Workflow(); workflow.setName(params.get("name").toString()); workflow.setStartTo("testStartTo"); workflow.setEndName("testEndName"); // set shell action ArrayList actions = new ArrayList<Action>(); Action shellAction = new Action(); shellAction.setName("testStartTo"); shellAction.setCategory("action"); shellAction.setOkTo("testEndName"); shellAction.setErrorTo("killAction"); // set data Data data = new Data(); data.setType("shell"); data.setExec(script); data.setJobTracker(jobTracker); data.setNameNode(nameNode); // make hierarchical object shellAction.setData(data); //make default kill action Action killAction = new Action("kill", "killAction", "action fail!"); // set actions actions.add(shellAction); actions.add(killAction); // add actions to workflow workflow.setActions(actions); // set object to map map = new BeanMap(workflow); String xmlString = oozieWorkflowService.makeShellActionXml(map); String result = oozieWorkflowService.oozieJobSend(xmlString); logger.info("result : {}", result); } catch (IOException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } response.setSuccess(true); return response; }
From source file:org.javafunk.matchbox.implementations.IsBeanWithSameAttributesAsMatcher.java
@Override protected boolean matchesSafely(T actualObject, Description description) { @SuppressWarnings("unchecked") Map<String, Object> actualProperties = new BeanMap(actualObject); @SuppressWarnings("unchecked") Map<String, Object> expectedProperties = new BeanMap(expectedObject); for (String propertyName : actualProperties.keySet()) { if (ignoreProperties.contains(propertyName)) { continue; }//w ww . j av a 2 s.c om Object actualValue = actualProperties.get(propertyName); Object expectedValue = expectedProperties.get(propertyName); if ((actualValue == null && expectedValue != null) || (actualValue != null && !actualValue.equals(expectedValue))) { description.appendText(format("got a %s ", actualObject.getClass().getSimpleName())) .appendValue(expectedObject) .appendText(format("\nMismatch: expected property \"%s\" = ", propertyName)) .appendValue(expectedValue) .appendText(format("\n actual property \"%s\" = ", propertyName)) .appendValue(actualValue); return false; } } return true; }