类org.springframework.util.StringUtils源码实例Demo

下面列出了怎么用org.springframework.util.StringUtils的API类实例代码及写法,或者点击链接到github查看源代码。

private void addTooltTipToSelectedTable() {
    selectedTable.setItemDescriptionGenerator(new ItemDescriptionGenerator() {
        private static final long serialVersionUID = 1L;

        @Override
        public String generateDescription(final Component source, final Object itemId, final Object propertyId) {
            final Item item = selectedTable.getItem(itemId);
            final String description = (String) (item.getItemProperty(DIST_TYPE_DESCRIPTION).getValue());
            if (DIST_TYPE_NAME.equals(propertyId) && !StringUtils.isEmpty(description)) {
                return i18n.getMessage("label.description") + description;
            } else if (DIST_TYPE_MANDATORY.equals(propertyId)) {
                return i18n.getMessage(UIMessageIdProvider.TOOLTIP_CHECK_FOR_MANDATORY);
            }
            return null;
        }
    });
}
 
/**
 * Check whether users can inherit specified InvocationContext from outer request
 */
@Override
public Response afterReceiveRequest(Invocation invocation, HttpServletRequestEx requestEx) {
  String invocationContextHeader = requestEx.getHeader(Const.CSE_CONTEXT);
  if (StringUtils.isEmpty(invocationContextHeader)) {
    return null;
  }

  try {
    @SuppressWarnings("unchecked")
    Map<String, String> invocationContext =
        JsonUtils.readValue(invocationContextHeader.getBytes(StandardCharsets.UTF_8), Map.class);
    // Here only the specific invocation context "allowInherit" can be inherited,
    // and other context key-value pairs are ignored.
    // If you want to inherit invocation context from outer requests,
    // it's better to implement such a white-list logic to filter the invocation context.
    // CAUTION: to avoid potential security problem, please do not add all invocation context key-value pairs
    // into InvocationContext without checking or filtering.
    if (!StringUtils.isEmpty(invocationContext.get("allowInherit"))) {
      invocation.addContext("allowInherit", invocationContext.get("allowInherit"));
    }
  } catch (IOException e) {
    e.printStackTrace();
  }
  return null;
}
 
源代码3 项目: singleton   文件: TranslationCollectKeyAPI.java
/**
 *Post a string key's source to l10n server.
 *
 */
@ApiIgnore
@ApiOperation(value = APIOperation.KEY_SOURCE_POST_VALUE, notes = APIOperation.KEY_SOURCE_POST_NOTES)
@RequestMapping(value = L10nI18nAPI.TRANSLATION_PRODUCT_NOCOMOPONENT_KEY_APIV1, method = RequestMethod.POST, produces = { API.API_CHARSET })
@ResponseStatus(HttpStatus.OK)
public SourceAPIResponseDTO collectV1KeyTranslationNoComponent(
		@ApiParam(name = APIParamName.PRODUCT_NAME, required = true, value = APIParamValue.PRODUCT_NAME) @PathVariable(APIParamName.PRODUCT_NAME) String productName,
		@ApiParam(name = APIParamName.VERSION, required = true, value = APIParamValue.VERSION) @RequestParam(value = APIParamName.VERSION, required = true) String version,
		@ApiParam(name = APIParamName.KEY, required = true, value = APIParamValue.KEY) @PathVariable(APIParamName.KEY) String key,
		@ApiParam(name = APIParamName.SOURCE, required = false, value = APIParamValue.SOURCE) @RequestParam(value = APIParamName.SOURCE, required = false) String source,
		@ApiParam(name = APIParamName.COMMENT_SOURCE, value = APIParamValue.COMMENT_SOURCE) @RequestParam(value = APIParamName.COMMENT_SOURCE, required = false) String commentForSource,
		@ApiParam(name = APIParamName.LOCALE, value = APIParamValue.LOCALE) @RequestParam(value = APIParamName.LOCALE, required = false) String locale,
		@ApiParam(name = APIParamName.SOURCE_FORMAT, value = APIParamValue.SOURCE_FORMAT) @RequestParam(value = APIParamName.SOURCE_FORMAT, required = false) String sourceFormat,
		@ApiParam(name = APIParamName.COLLECT_SOURCE, value = APIParamValue.COLLECT_SOURCE) @RequestParam(value = APIParamName.COLLECT_SOURCE, required = true, defaultValue = "true") String collectSource,
	//	@ApiParam(name = APIParamName.PSEUDO, value = APIParamValue.PSEUDO) @RequestParam(value = APIParamName.PSEUDO, required = false, defaultValue = ConstantsKeys.FALSE) String pseudo,
		HttpServletRequest request) throws L10nAPIException {
	String newLocale = locale == null ? ConstantsUnicode.EN : locale;
	String newKey = StringUtils.isEmpty(sourceFormat) ? key
			: (key + ConstantsChar.DOT + ConstantsChar.POUND + sourceFormat.toUpperCase());
	String newSource = source == null ? "" : source;
	StringSourceDTO sourceObj = SourceUtils.createSourceDTO(productName, version, ConstantsFile.DEFAULT_COMPONENT, newLocale, newKey,
			newSource, commentForSource, sourceFormat);
	boolean isSourceCached = sourceService.cacheSource(sourceObj);
	return SourceUtils.handleSourceResponse(isSourceCached);
	
}
 
public void handleMessage(TextMessage message, WebSocketSession wsSession) throws Exception {
	String payload = message.getPayload();
	if (!StringUtils.hasLength(payload)) {
		return;
	}
	String[] messages;
	try {
		messages = getSockJsServiceConfig().getMessageCodec().decode(payload);
	}
	catch (Throwable ex) {
		logger.error("Broken data received. Terminating WebSocket connection abruptly", ex);
		tryCloseWithSockJsTransportError(ex, CloseStatus.BAD_DATA);
		return;
	}
	if (messages != null) {
		delegateMessages(messages);
	}
}
 
@Override
public void afterPropertiesSet() throws Exception {
	if (controlFile != null) {
		if (StringUtils.hasText(controlFile.getHost())) {
			dbHost = controlFile.getHost();
		}
		if (StringUtils.hasText(controlFile.getDatabase())) {
			dbName = controlFile.getDatabase();
		}
		if (StringUtils.hasText(controlFile.getUser())) {
			dbUser = controlFile.getUser();
		}
		if (StringUtils.hasText(controlFile.getPassword())) {
			dbPassword = controlFile.getPassword();
		}
		if (controlFile.getPort() != null) {
			dbPort = controlFile.getPort();
		}
	}
	super.afterPropertiesSet();
}
 
源代码6 项目: sofa-dashboard   文件: ZkCommandPushManager.java
private String covertToConfig(List<ArkOperation> arkOperations) {
    StringBuilder sb = new StringBuilder();
    for (ArkOperation arkOperation : arkOperations) {
        sb.append(arkOperation.getBizName()).append(SofaDashboardConstants.COLON)
            .append(arkOperation.getBizVersion()).append(SofaDashboardConstants.COLON)
            .append(arkOperation.getState());
        if (!StringUtils.isEmpty(arkOperation.getParameters())) {
            sb.append(SofaDashboardConstants.Q_MARK).append(arkOperation.getParameters());
        }
        sb.append(SofaDashboardConstants.SEMICOLON);
    }
    String ret = sb.toString();
    if (ret.endsWith(SofaDashboardConstants.SEMICOLON)) {
        ret = ret.substring(0, ret.length() - 1);
    }
    return ret;
}
 
/**
 * Transform the request URI (in the context of the webapp) stripping
 * slashes and extensions, and replacing the separator as required.
 * @param lookupPath the lookup path for the current request,
 * as determined by the UrlPathHelper
 * @return the transformed path, with slashes and extensions stripped
 * if desired
 */
@Nullable
protected String transformPath(String lookupPath) {
	String path = lookupPath;
	if (this.stripLeadingSlash && path.startsWith(SLASH)) {
		path = path.substring(1);
	}
	if (this.stripTrailingSlash && path.endsWith(SLASH)) {
		path = path.substring(0, path.length() - 1);
	}
	if (this.stripExtension) {
		path = StringUtils.stripFilenameExtension(path);
	}
	if (!SLASH.equals(this.separator)) {
		path = StringUtils.replace(path, SLASH, this.separator);
	}
	return path;
}
 
源代码8 项目: oodt   文件: SolrIndexer.java
/**
 * This method deletes a product(s) from the Solr index identified by a given name
 * 
 * @param productName
 * @throws IOException
 * @throws SolrServerException
 */
public void deleteProductByName(String productName) {
	LOG.info("Attempting to delete product: " + productName);

	try {
		String productNameField = config.mapProperties.getProperty(PRODUCT_NAME);
		if (StringUtils.hasText(productNameField)) {
			server.deleteByQuery(productNameField+":"+productName);
		} else {
			LOG.warning("Metadata field "+PRODUCT_NAME+" is not mapped to any Solr field, cannot delete product by name");
		}
	} catch(Exception e) {
		LOG.warning("Could not delete product: "+productName+" from Solr index");
	}

}
 
private InjectionMetadata findAutowiringMetadata(String beanName, Class<?> clazz, PropertyValues pvs) {
    // Fall back to class name as cache key, for backwards compatibility with custom callers.
    String cacheKey = (StringUtils.hasLength(beanName) ? beanName : clazz.getName());
    // Quick check on the concurrent map first, with minimal locking.
    InjectionMetadata metadata = this.injectionMetadataCache.get(cacheKey);
    if (InjectionMetadata.needsRefresh(metadata, clazz)) {
        synchronized (this.injectionMetadataCache) {
            metadata = this.injectionMetadataCache.get(cacheKey);
            if (InjectionMetadata.needsRefresh(metadata, clazz)) {
                if (metadata != null) {
                    clear(metadata, pvs);
                }
                try {
                    metadata = buildAutowiringMetadata(clazz);
                    this.injectionMetadataCache.put(cacheKey, metadata);
                } catch (NoClassDefFoundError err) {
                    throw new IllegalStateException("Failed to introspect bean class [" + clazz.getName() +
                            "] for autowiring metadata: could not find class that it depends on", err);
                }
            }
        }
    }
    return metadata;
}
 
源代码10 项目: wopihost   文件: WopiLockService.java
/**
 * Processes a Unlock request
 *
 * @param request
 * @param fileName
 * @return
 */
public ResponseEntity unlock(HttpServletRequest request, String fileName) {
    LockInfo lockInfo = lockRepository.getLockInfo(fileName);
    String requestLock = request.getHeader(WopiRequestHeader.LOCK);
    // Ensure the file has a valid lock
    if (lockInfo == null || StringUtils.isEmpty(lockInfo.getLockValue())) {
        return setLockMismatch(EMPTY_STRING, "File isn't locked");
    } else if (lockInfo.isExpired()) {
        // File lock expired, so clear it out
        lockRepository.delete(fileName);
        return setLockMismatch(EMPTY_STRING, "File isn't locked");
    } else if (!lockInfo.getLockValue().equals(requestLock)) {
        return setLockMismatch(lockInfo.getLockValue(), "Lock mismatch");
    } else {
        // Unlock the file and return success 200
        lockRepository.delete(fileName);
    }
    return ResponseEntity.ok().build();
}
 
源代码11 项目: multitenant   文件: ScriptServiceImpl.java
private List<Resource> getResources(String locations) {
	List<Resource> resources = new ArrayList<Resource>();
	for (String location : StringUtils.commaDelimitedListToStringArray(locations)) {
		try {
			for (Resource resource : this.applicationContext.getResources(location)) {
				if (resource.exists()) {
					resources.add(resource);
				}
			}
		}
		catch (IOException ex) {
			throw new IllegalStateException(
					"Unable to load resource from " + location, ex);
		}
	}
	return resources;
}
 
/**
 * 获取返回消息体列表
 *
 * @param globalResponseMessageBodyList 全局Code消息返回集合
 * @return
 */
private List<ResponseMessage> getResponseMessageList
(List<SwaggerProperties.GlobalResponseMessageBody> globalResponseMessageBodyList) {
    List<ResponseMessage> responseMessages = new ArrayList<>();
    for (SwaggerProperties.GlobalResponseMessageBody globalResponseMessageBody : globalResponseMessageBodyList) {
        ResponseMessageBuilder responseMessageBuilder = new ResponseMessageBuilder();
        responseMessageBuilder.code(globalResponseMessageBody.getCode()).message(globalResponseMessageBody.getMessage());

        if (!StringUtils.isEmpty(globalResponseMessageBody.getModelRef())) {
            responseMessageBuilder.responseModel(new ModelRef(globalResponseMessageBody.getModelRef()));
        }
        responseMessages.add(responseMessageBuilder.build());
    }

    return responseMessages;
}
 
源代码13 项目: litemall   文件: LitemallAftersaleService.java
public List<LitemallAftersale> queryList(Integer userId, Short status, Integer page, Integer limit, String sort, String order) {
    LitemallAftersaleExample example = new LitemallAftersaleExample();
    LitemallAftersaleExample.Criteria criteria = example.or();
    criteria.andUserIdEqualTo(userId);
    if (status != null) {
        criteria.andStatusEqualTo(status);
    }
    criteria.andDeletedEqualTo(false);
    if (!StringUtils.isEmpty(sort) && !StringUtils.isEmpty(order)) {
        example.setOrderByClause(sort + " " + order);
    }
    else{
        example.setOrderByClause(LitemallAftersale.Column.addTime.desc());
    }

    PageHelper.startPage(page, limit);
    return aftersaleMapper.selectByExample(example);
}
 
源代码14 项目: iotplatform   文件: SendMailAction.java
private Optional<Template> toTemplate(String source, String name) throws ParseException {
  if (!StringUtils.isEmpty(source)) {
    return Optional.of(VelocityUtils.create(source, name));
  } else {
    return Optional.empty();
  }
}
 
源代码15 项目: hawkbit   文件: JpaSoftwareModuleManagement.java
private List<Specification<JpaSoftwareModule>> buildSpecificationList(final String searchText, final Long typeId) {
    final List<Specification<JpaSoftwareModule>> specList = Lists.newArrayListWithExpectedSize(3);
    if (!StringUtils.isEmpty(searchText)) {
        specList.add(SoftwareModuleSpecification.likeNameOrVersion(searchText));
    }
    if (typeId != null) {
        throwExceptionIfSoftwareModuleTypeDoesNotExist(typeId);

        specList.add(SoftwareModuleSpecification.equalType(typeId));
    }
    specList.add(SoftwareModuleSpecification.isDeletedFalse());
    return specList;
}
 
源代码16 项目: A.CTable-Frame   文件: BaseCRUDManagerImpl.java
/**
 * 根据实体对象的非Null字段作为Where条件进行删除操作,如果对象的属性值都为null则删除表全部数据
 *
 * @param t 实体对象
 * @param <T> 实体类型
 * @return 返回成功条数
 */
@Override
public <T> int delete(T t) {

    // 得到表名
    String tableName = ColumnUtils.getTableName(t.getClass());
    if (StringUtils.isEmpty(tableName)) {
        log.error("必须使用model中的对象!");
        throw new RuntimeException("必须使用model中的对象!");
    }
    Field[] declaredFields = FieldUtils.getAllFields(t);
    Map<Object, Object> tableMap = new HashMap<Object, Object>();
    Map<Object, Object> dataMap = new HashMap<Object, Object>();
    for (Field field : declaredFields){
        // 设置访问权限
        field.setAccessible(true);
        // 得到字段的配置
        Column column = field.getAnnotation(Column.class);
        if (column == null) {
            log.debug("该field没有配置注解不是表中在字段!");
            continue;
        }
        try{
            dataMap.put(ColumnUtils.getColumnName(field), field.get(t));
        }catch (Exception e){
            log.error("操作对象的Field出现异常",e);
            throw new RuntimeException("操作对象的Field出现异常");
        }
    }
    tableMap.put(tableName, dataMap);
    return baseCRUDMapper.delete(tableMap);
}
 
源代码17 项目: Moss   文件: CloudFoundryInstanceIdGenerator.java
@Override
public InstanceId generateId(Registration registration) {
    String applicationId = registration.getMetadata().get("applicationId");
    String instanceId = registration.getMetadata().get("instanceId");

    if (StringUtils.hasText(applicationId) && StringUtils.hasText(instanceId)) {
        return InstanceId.of(String.format("%s:%s", applicationId, instanceId));
    }
    return fallbackIdGenerator.generateId(registration);
}
 
@Override
public void uploadFile(MultipartFile file) throws IOException {
	String fileName = StringUtils.cleanPath(file.getOriginalFilename());
	if (fileName.isEmpty()) {
		throw new IOException("File is empty " + fileName);
	}
	try {
		Files.copy(file.getInputStream(), this.location.resolve(fileName), StandardCopyOption.REPLACE_EXISTING);
	} catch (IOException e) {
		throw new IOException("File Upload Error : " + fileName);
	}
}
 
源代码19 项目: pinpoint   文件: UserGroupController.java
@PreAuthorize("hasPermission(#userGroupMember.getUserGroupId(), null, T(com.navercorp.pinpoint.web.controller.UserGroupController).EDIT_GROUP_ONLY_GROUPMEMBER)")
@RequestMapping(value = "/member", method = RequestMethod.POST)
@ResponseBody
public Map<String, String> insertUserGroupMember(@RequestBody UserGroupMemberParam userGroupMember) {
    if (StringUtils.isEmpty(userGroupMember.getMemberId()) || StringUtils.isEmpty(userGroupMember.getUserGroupId())) {
        return createErrorMessage("500", "there is not userGroupId or memberId in params to insert user group member");
    }

    userGroupService.insertMember(userGroupMember);
    Map<String, String> result = new HashMap<>();
    result.put("result", "SUCCESS");
    return result;

}
 
static void configureCachingConnectionFactory(
		CachingConnectionFactory connectionFactory,
		ConfigurableApplicationContext applicationContext,
		RabbitProperties rabbitProperties) throws Exception {

	if (StringUtils.hasText(rabbitProperties.getAddresses())) {
		connectionFactory.setAddresses(rabbitProperties.determineAddresses());
	}

	connectionFactory.setPublisherConfirmType(rabbitProperties.getPublisherConfirmType() == null ? ConfirmType.NONE : rabbitProperties.getPublisherConfirmType());
	connectionFactory.setPublisherReturns(rabbitProperties.isPublisherReturns());
	if (rabbitProperties.getCache().getChannel().getSize() != null) {
		connectionFactory.setChannelCacheSize(
				rabbitProperties.getCache().getChannel().getSize());
	}
	if (rabbitProperties.getCache().getConnection().getMode() != null) {
		connectionFactory
				.setCacheMode(rabbitProperties.getCache().getConnection().getMode());
	}
	if (rabbitProperties.getCache().getConnection().getSize() != null) {
		connectionFactory.setConnectionCacheSize(
				rabbitProperties.getCache().getConnection().getSize());
	}
	if (rabbitProperties.getCache().getChannel().getCheckoutTimeout() != null) {
		connectionFactory.setChannelCheckoutTimeout(rabbitProperties.getCache()
				.getChannel().getCheckoutTimeout().toMillis());
	}
	connectionFactory.setApplicationContext(applicationContext);
	applicationContext.addApplicationListener(connectionFactory);
	connectionFactory.afterPropertiesSet();
}
 
private EntityGraphBean buildEntityGraphCandidate(
    EntityGraph providedEntityGraph, ResolvableType returnType) {
  boolean isPrimary = true;
  if (EntityGraphs.isEmpty(providedEntityGraph)) {
    providedEntityGraph = defaultEntityGraph;
    isPrimary = false;
  }
  if (providedEntityGraph == null) {
    return null;
  }

  EntityGraphType entityGraphType = requireNonNull(providedEntityGraph.getEntityGraphType());

  org.springframework.data.jpa.repository.EntityGraph.EntityGraphType type;
  switch (entityGraphType) {
    case FETCH:
      type = org.springframework.data.jpa.repository.EntityGraph.EntityGraphType.FETCH;
      break;
    case LOAD:
      type = org.springframework.data.jpa.repository.EntityGraph.EntityGraphType.LOAD;
      break;
    default:
      throw new RuntimeException("Unexpected entity graph type '" + entityGraphType + "'");
  }

  List<String> attributePaths = providedEntityGraph.getEntityGraphAttributePaths();
  JpaEntityGraph jpaEntityGraph =
      new JpaEntityGraph(
          StringUtils.hasText(providedEntityGraph.getEntityGraphName())
              ? providedEntityGraph.getEntityGraphName()
              : domainClass.getName() + "-_-_-_-_-_-",
          type,
          attributePaths != null
              ? attributePaths.toArray(new String[attributePaths.size()])
              : null);

  return new EntityGraphBean(
      jpaEntityGraph, domainClass, returnType, providedEntityGraph.isOptional(), isPrimary);
}
 
@Override
public void setAsText(@Nullable String text) throws IllegalArgumentException {
	String input = (text != null ? text.trim() : null);
	if (this.allowEmpty && !StringUtils.hasLength(input)) {
		// Treat empty String as null value.
		setValue(null);
	}
	else if (this.trueString != null && this.trueString.equalsIgnoreCase(input)) {
		setValue(Boolean.TRUE);
	}
	else if (this.falseString != null && this.falseString.equalsIgnoreCase(input)) {
		setValue(Boolean.FALSE);
	}
	else if (this.trueString == null &&
			(VALUE_TRUE.equalsIgnoreCase(input) || VALUE_ON.equalsIgnoreCase(input) ||
					VALUE_YES.equalsIgnoreCase(input) || VALUE_1.equals(input))) {
		setValue(Boolean.TRUE);
	}
	else if (this.falseString == null &&
			(VALUE_FALSE.equalsIgnoreCase(input) || VALUE_OFF.equalsIgnoreCase(input) ||
					VALUE_NO.equalsIgnoreCase(input) || VALUE_0.equals(input))) {
		setValue(Boolean.FALSE);
	}
	else {
		throw new IllegalArgumentException("Invalid boolean value [" + text + "]");
	}
}
 
源代码23 项目: yshopmall   文件: TokenFilter.java
private String resolveToken(HttpServletRequest request) {
   SecurityProperties properties = SpringContextHolder.getBean(SecurityProperties.class);
   String bearerToken = request.getHeader(properties.getHeader());
   if (StringUtils.hasText(bearerToken) && bearerToken.startsWith(properties.getTokenStartWith())) {
      return bearerToken.substring(7);
   }
   return null;
}
 
源代码24 项目: hawkbit   文件: ActionHistoryLayout.java
private String getActionHistoryCaption(final String targetName) {
    final String caption;
    if (StringUtils.hasText(targetName)) {
        caption = getI18n().getMessage(UIMessageIdProvider.CAPTION_ACTION_HISTORY_FOR, targetName);
    } else {
        caption = getI18n().getMessage(UIMessageIdProvider.CAPTION_ACTION_HISTORY);
    }

    return caption;
}
 
源代码25 项目: cacheonix-core   文件: OsCacheFlushingModel.java
/**
 * Sets the groups that should be flushed.
 * 
 * @param csvGroups
 *          a comma-delimited list containing the new groups to flush
 */
public void setGroups(String csvGroups) {
  String[] newGroups = null;
  if (StringUtils.hasText(csvGroups)) {
    newGroups = StringUtils.commaDelimitedListToStringArray(csvGroups);
  }
  setGroups(newGroups);
}
 
源代码26 项目: lams   文件: DisposableBeanAdapter.java
/**
 * Check whether the given bean has any kind of destroy method to call.
 * @param bean the bean instance
 * @param beanDefinition the corresponding bean definition
 */
public static boolean hasDestroyMethod(Object bean, RootBeanDefinition beanDefinition) {
	if (bean instanceof DisposableBean || closeableInterface.isInstance(bean)) {
		return true;
	}
	String destroyMethodName = beanDefinition.getDestroyMethodName();
	if (AbstractBeanDefinition.INFER_METHOD.equals(destroyMethodName)) {
		return (ClassUtils.hasMethod(bean.getClass(), CLOSE_METHOD_NAME) ||
				ClassUtils.hasMethod(bean.getClass(), SHUTDOWN_METHOD_NAME));
	}
	return StringUtils.hasLength(destroyMethodName);
}
 
@Override
protected void doParse(Element element, BeanDefinitionBuilder builder) {
    String connectionString = element.getAttribute("connection-string");
    if(StringUtils.hasLength(connectionString)) {
        builder.addPropertyValue("connectionString", connectionString);
    }
    
    String credentialString = element.getAttribute("credential-string");
    if(StringUtils.hasLength(credentialString)) {
        builder.addPropertyValue("credentialString", credentialString);
    }

    Integer maxRetries = getSafeInteger(element.getAttribute("max-retries"));
    if(maxRetries!=null) {
        builder.addPropertyValue("maxRetries", maxRetries);
    }

    Integer baseSleepTime = getSafeInteger(element.getAttribute("base-sleep-time"));
    if(baseSleepTime!=null) {
        builder.addPropertyValue("baseSleepTime", baseSleepTime);
    }

    Boolean readOnly = getSafeBoolean(element.getAttribute("read-only"));
    if(readOnly!=null) {
        builder.addPropertyValue("canReadOnly", readOnly);
    }
}
 
/**
 * Factory method used to create a {@link DateTimeFormatter}.
 * @param annotation the format annotation for the field
 * @param fieldType the declared type of the field
 * @return a {@link DateTimeFormatter} instance
 */
protected DateTimeFormatter getFormatter(DateTimeFormat annotation, Class<?> fieldType) {
	DateTimeFormatterFactory factory = new DateTimeFormatterFactory();
	String style = resolveEmbeddedValue(annotation.style());
	if (StringUtils.hasLength(style)) {
		factory.setStylePattern(style);
	}
	factory.setIso(annotation.iso());
	String pattern = resolveEmbeddedValue(annotation.pattern());
	if (StringUtils.hasLength(pattern)) {
		factory.setPattern(pattern);
	}
	return factory.createDateTimeFormatter();
}
 
@Override
public LocalDate deserialize(JsonParser p, DeserializationContext ctxt) throws IOException, JsonProcessingException {
    String date = p.getText();
    if (StringUtils.isEmpty(date)) {
        return null;
    }
    return LocalDate.parse(date, formatter);
}
 
源代码30 项目: NoteBlog   文件: IndexController.java
@GetMapping("/token/logout")
public String logout(HttpServletRequest request, String from, @CookieValue(SessionParam.SESSION_ID_COOKIE) String uuid) {
    blogContext.removeSessionUser(uuid);
    request.getSession().invalidate();
    if (StringUtils.isEmpty(from)) {
        return "redirect:/";
    } else {
        return "redirect:" + SessionParam.MANAGEMENT_INDEX;
    }
}
 
 类所在包
 同包方法