public void process(Event event) { String serviceId = event.getServiceRequest().getServiceId(); Service service = null; ServiceProviderInterface serviceProvider = null; for (ServiceProviderInterface provider : providers) { service = provider.getService(serviceId); if (service != null) { serviceProvider = provider; break; } } if (service != null) { serviceProvider.execute(service, event.getServiceRequest().getContext()); // 回写Context,event返回时 ServiceRegistryItem item = serviceProvider.getServiceRegistryItem(service); Context oldC = event.getServiceRequest().getContext(); Context c = ContextFactory.getContext(); for (Parameter p : item.getResults()) { if (("void").equals(p.getTitle()) || ("").equals(p.getTitle()) || p.getType() == null) { } else { String name = p.getName(); c.put(name, oldC.get(name)); } } event.getServiceRequest().setContext(c); } else { logger.logMessage(LogLevel.ERROR, "未找到合适的Service[id:{0}]", serviceId); } }
public static Object getObject(Parameter p, Context context) { if (context.exist(p.getName())) return context.get(p.getName()); // Object o = context.get(p.getName()); // if (o != null) { // return o; // } return getObjectByGenerator(p, context); }
protected Object formaterValue(Object value, String name, Context context) { Integer lengthLevel = null; if (context == null) { lengthLevel = DEFAULT_LEVEL_LENGTH; } else { String lengthLevelName = ModelUtil.getSpliceParamterName(name, EntityModelHelper.LEVEL_LENGTH); Object objectValue = context.get(lengthLevelName); if (objectValue != null) { lengthLevel = Integer.parseInt(String.valueOf(objectValue)); } } lengthLevel = ObjectUtil.defaultIfNull(lengthLevel, DEFAULT_LEVEL_LENGTH); if (value != null) { int lengthValue = String.valueOf(value).length(); lengthValue += lengthLevel; return lengthValue; } else { return lengthLevel; } }