List of usage examples for org.apache.shiro.authz.permission InvalidPermissionStringException InvalidPermissionStringException
public InvalidPermissionStringException(String message, String permissionString)
From source file:com.caricah.iotracah.bootstrap.security.realm.auth.permission.IOTPermission.java
License:Apache License
protected void setParts(String wildcardString) { if (Objects.isNull(wildcardString) || wildcardString.trim().isEmpty()) { throw new InvalidPermissionStringException("string cannot be null or empty.", wildcardString); }/*from w ww .j av a 2 s. c o m*/ wildcardString = wildcardString.trim(); int indexOfColon = wildcardString.indexOf(":"); if (indexOfColon < 0) { throw new IllegalArgumentException("Client permission must be prefixed with the permission type."); } setType(wildcardString.substring(0, indexOfColon)); wildcardString = wildcardString.substring(indexOfColon + 1); if (wildcardString.trim().isEmpty()) { throw new InvalidPermissionStringException("string cannot be null or empty.", wildcardString); } if (wildcardString.contains(PART_DIVIDER_TOKEN + PART_DIVIDER_TOKEN) || wildcardString.endsWith(PART_DIVIDER_TOKEN)) { throw new InvalidPermissionStringException( "permission string cannot" + " contain parts with only dividers. Make sure permission strings" + " are properly formatted ", wildcardString); } if (wildcardString.isEmpty()) { throw new IllegalArgumentException( "Client permission string cannot contain only dividers. Make sure permission strings are properly formatted."); } this.parts = Arrays.asList(wildcardString.split(Pattern.quote(PART_DIVIDER_TOKEN))); }