Browse Source

builder toString()

Crystal.Sea 4 years ago
parent
commit
48df3e2282
35 changed files with 1102 additions and 237 deletions
  1. 40 16
      maxkey-core/src/main/java/org/maxkey/configuration/ApplicationConfig.java
  2. 13 0
      maxkey-core/src/main/java/org/maxkey/configuration/CharacterEncodingConfig.java
  3. 19 0
      maxkey-core/src/main/java/org/maxkey/configuration/EmailConfig.java
  4. 17 8
      maxkey-core/src/main/java/org/maxkey/configuration/LoginConfig.java
  5. 40 0
      maxkey-core/src/main/java/org/maxkey/configuration/oidc/OIDCProviderMetadataDetails.java
  6. 17 0
      maxkey-core/src/main/java/org/maxkey/crypto/keystore/KeyStoreLoader.java
  7. 13 4
      maxkey-core/src/main/java/org/maxkey/crypto/password/opt/OneTimePassword.java
  8. 21 8
      maxkey-core/src/main/java/org/maxkey/domain/ChangePassword.java
  9. 12 3
      maxkey-core/src/main/java/org/maxkey/domain/ExtraAttr.java
  10. 7 3
      maxkey-core/src/main/java/org/maxkey/domain/ExtraAttrs.java
  11. 17 5
      maxkey-core/src/main/java/org/maxkey/domain/GroupMember.java
  12. 11 6
      maxkey-core/src/main/java/org/maxkey/domain/GroupPrivileges.java
  13. 21 6
      maxkey-core/src/main/java/org/maxkey/domain/Groups.java
  14. 41 7
      maxkey-core/src/main/java/org/maxkey/domain/HistoryLogin.java
  15. 25 9
      maxkey-core/src/main/java/org/maxkey/domain/HistoryLoginApps.java
  16. 35 0
      maxkey-core/src/main/java/org/maxkey/domain/HistoryLogs.java
  17. 27 7
      maxkey-core/src/main/java/org/maxkey/domain/Navigations.java
  18. 51 7
      maxkey-core/src/main/java/org/maxkey/domain/Organizations.java
  19. 39 5
      maxkey-core/src/main/java/org/maxkey/domain/PasswordPolicy.java
  20. 23 10
      maxkey-core/src/main/java/org/maxkey/domain/Registration.java
  21. 43 0
      maxkey-core/src/main/java/org/maxkey/domain/Resources.java
  22. 15 2
      maxkey-core/src/main/java/org/maxkey/domain/RoleMember.java
  23. 17 0
      maxkey-core/src/main/java/org/maxkey/domain/RolePermissions.java
  24. 23 0
      maxkey-core/src/main/java/org/maxkey/domain/Roles.java
  25. 21 3
      maxkey-core/src/main/java/org/maxkey/domain/Saml20Metadata.java
  26. 220 64
      maxkey-core/src/main/java/org/maxkey/domain/UserInfo.java
  27. 75 7
      maxkey-core/src/main/java/org/maxkey/domain/apps/Apps.java
  28. 12 2
      maxkey-core/src/main/java/org/maxkey/domain/apps/AppsCasDetails.java
  29. 29 13
      maxkey-core/src/main/java/org/maxkey/domain/apps/AppsDesktopDetails.java
  30. 15 5
      maxkey-core/src/main/java/org/maxkey/domain/apps/AppsFormBasedDetails.java
  31. 37 10
      maxkey-core/src/main/java/org/maxkey/domain/apps/AppsOAuth20Details.java
  32. 37 11
      maxkey-core/src/main/java/org/maxkey/domain/apps/AppsSAML20Details.java
  33. 17 3
      maxkey-core/src/main/java/org/maxkey/domain/apps/AppsTokenBasedDetails.java
  34. 9 2
      maxkey-core/src/main/java/org/maxkey/domain/apps/UserApps.java
  35. 43 11
      maxkey-core/src/main/java/org/maxkey/domain/apps/oauth2/provider/client/BaseClientDetails.java

+ 40 - 16
maxkey-core/src/main/java/org/maxkey/configuration/ApplicationConfig.java

@@ -50,16 +50,16 @@ public class ApplicationConfig {
     @Autowired
     LoginConfig loginConfig;
 
+    @Value("${config.server.basedomain}")
+    String baseDomainName;
+
     @Value("${config.server.domain}")
     String domainName;
 
-    @Value("${config.server.domain.sub}")
-    String subDomainName;
-
     @Value("${config.server.name}")
     String serverName;
 
-    @Value("${config.server.prefix.uri}")
+    @Value("${config.server.uri}")
     String serverPrefix;
 
     @Value("${config.server.default.uri}")
@@ -139,22 +139,15 @@ public class ApplicationConfig {
      */
     public void setDomainName(String domainName) {
         this.domainName = domainName;
-        String[] domainSubStrings = domainName.split("\\.");
-        if (domainSubStrings.length >= 3) {
-            this.subDomainName = domainSubStrings[domainSubStrings.length - 2] + "."
-                    + domainSubStrings[domainSubStrings.length - 1];
-            _logger.debug("subDomainName " + subDomainName);
-        } else {
-            this.subDomainName = domainName;
-        }
+       
     }
 
-    public String getSubDomainName() {
-        return subDomainName;
+    public String getBaseDomainName() {
+        return baseDomainName;
     }
 
-    public void setSubDomainName(String subDomainName) {
-        this.subDomainName = subDomainName;
+    public void setBaseDomainName(String baseDomainName) {
+        this.baseDomainName = baseDomainName;
     }
 
     /**
@@ -203,4 +196,35 @@ public class ApplicationConfig {
         this.maxKeyUri = maxKeyUri;
     }
 
+    @Override
+    public String toString() {
+        StringBuilder builder = new StringBuilder();
+        builder.append("ApplicationConfig [emailConfig=");
+        builder.append(emailConfig);
+        builder.append(", characterEncodingConfig=");
+        builder.append(characterEncodingConfig);
+        builder.append(", loginConfig=");
+        builder.append(loginConfig);
+        builder.append(", baseDomainName=");
+        builder.append(baseDomainName);
+        builder.append(", domainName=");
+        builder.append(domainName);
+        builder.append(", serverName=");
+        builder.append(serverName);
+        builder.append(", serverPrefix=");
+        builder.append(serverPrefix);
+        builder.append(", defaultUri=");
+        builder.append(defaultUri);
+        builder.append(", managementUri=");
+        builder.append(managementUri);
+        builder.append(", port=");
+        builder.append(port);
+        builder.append(", kafkaSupport=");
+        builder.append(kafkaSupport);
+        builder.append(", maxKeyUri=");
+        builder.append(maxKeyUri);
+        builder.append("]");
+        return builder.toString();
+    }
+
 }

+ 13 - 0
maxkey-core/src/main/java/org/maxkey/configuration/CharacterEncodingConfig.java

@@ -99,4 +99,17 @@ public class CharacterEncodingConfig {
         return null;
     }
 
+    @Override
+    public String toString() {
+        StringBuilder builder = new StringBuilder();
+        builder.append("CharacterEncodingConfig [fromCharSet=");
+        builder.append(fromCharSet);
+        builder.append(", toCharSet=");
+        builder.append(toCharSet);
+        builder.append(", encoding=");
+        builder.append(encoding);
+        builder.append("]");
+        return builder.toString();
+    }
+
 }

+ 19 - 0
maxkey-core/src/main/java/org/maxkey/configuration/EmailConfig.java

@@ -127,4 +127,23 @@ public class EmailConfig {
         this.ssl = ssl;
     }
 
+    @Override
+    public String toString() {
+        StringBuilder builder = new StringBuilder();
+        builder.append("EmailConfig [username=");
+        builder.append(username);
+        builder.append(", password=");
+        builder.append(password);
+        builder.append(", smtpHost=");
+        builder.append(smtpHost);
+        builder.append(", port=");
+        builder.append(port);
+        builder.append(", ssl=");
+        builder.append(ssl);
+        builder.append(", sender=");
+        builder.append(sender);
+        builder.append("]");
+        return builder.toString();
+    }
+
 }

+ 17 - 8
maxkey-core/src/main/java/org/maxkey/configuration/LoginConfig.java

@@ -124,14 +124,23 @@ public class LoginConfig {
     @Override
     public String toString() {
         StringBuilder builder = new StringBuilder();
-        builder
-            .append("LoginConfig [captcha=").append(captcha)
-            .append(", mfa=").append(mfa)
-            .append(", socialSignOn=").append(socialSignOn)
-            .append(", kerberos=").append(kerberos)
-            .append(", remeberMe=").append(remeberMe)
-            .append(", wsFederation=").append(wsFederation)
-            .append(", defaultUri=").append(defaultUri).append("]");
+        builder.append("LoginConfig [captcha=");
+        builder.append(captcha);
+        builder.append(", captchaType=");
+        builder.append(captchaType);
+        builder.append(", mfa=");
+        builder.append(mfa);
+        builder.append(", socialSignOn=");
+        builder.append(socialSignOn);
+        builder.append(", kerberos=");
+        builder.append(kerberos);
+        builder.append(", remeberMe=");
+        builder.append(remeberMe);
+        builder.append(", wsFederation=");
+        builder.append(wsFederation);
+        builder.append(", defaultUri=");
+        builder.append(defaultUri);
+        builder.append("]");
         return builder.toString();
     }
 

+ 40 - 0
maxkey-core/src/main/java/org/maxkey/configuration/oidc/OIDCProviderMetadataDetails.java

@@ -18,6 +18,8 @@
 package org.maxkey.configuration.oidc;
 
 import java.net.URI;
+import java.util.Collection;
+import java.util.Iterator;
 import java.util.Set;
 
 /**
@@ -106,6 +108,44 @@ public class OIDCProviderMetadataDetails implements OIDCProviderMetadata {
         this.responseTypesSupported = responseTypesSupported;
     }
 
+    @Override
+    public String toString() {
+        final int maxLen = 4;
+        StringBuilder builder = new StringBuilder();
+        builder.append("OIDCProviderMetadataDetails [issuer=");
+        builder.append(issuer);
+        builder.append(", authorizationEndpoint=");
+        builder.append(authorizationEndpoint);
+        builder.append(", tokenEndpoint=");
+        builder.append(tokenEndpoint);
+        builder.append(", userinfoEndpoint=");
+        builder.append(userinfoEndpoint);
+        builder.append(", jwksUri=");
+        builder.append(jwksUri);
+        builder.append(", registrationEndpoint=");
+        builder.append(registrationEndpoint);
+        builder.append(", scopesSupported=");
+        builder.append(scopesSupported != null ? toString(scopesSupported, maxLen) : null);
+        builder.append(", responseTypesSupported=");
+        builder.append(responseTypesSupported != null ? toString(responseTypesSupported, maxLen) : null);
+        builder.append("]");
+        return builder.toString();
+    }
+
+    private String toString(Collection<?> collection, int maxLen) {
+        StringBuilder builder = new StringBuilder();
+        builder.append("[");
+        int i = 0;
+        for (Iterator<?> iterator = collection.iterator(); iterator.hasNext() && i < maxLen; i++) {
+            if (i > 0)
+                builder.append(", ");
+            builder.append(iterator.next());
+        }
+        builder.append("]");
+        return builder.toString();
+    }
+
     // TODO: Complete remaining properties from
     // http://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata
+    
 }

+ 17 - 0
maxkey-core/src/main/java/org/maxkey/crypto/keystore/KeyStoreLoader.java

@@ -119,4 +119,21 @@ public class KeyStoreLoader implements InitializingBean {
         return keystoreType;
     }
 
+    @Override
+    public String toString() {
+        StringBuilder builder = new StringBuilder();
+        builder.append("KeyStoreLoader [keyStore=");
+        builder.append(keyStore);
+        builder.append(", entityName=");
+        builder.append(entityName);
+        builder.append(", keystoreFile=");
+        builder.append(keystoreFile);
+        builder.append(", keystorePassword=");
+        builder.append(keystorePassword);
+        builder.append(", keystoreType=");
+        builder.append(keystoreType);
+        builder.append("]");
+        return builder.toString();
+    }
+
 }

+ 13 - 4
maxkey-core/src/main/java/org/maxkey/crypto/password/opt/OneTimePassword.java

@@ -79,10 +79,19 @@ public class OneTimePassword  implements Serializable {
     @Override
     public String toString() {
         StringBuilder builder = new StringBuilder();
-        builder.append("OneTimePassword [id=").append(id)
-            .append(", type=").append(type).append(", token=").append(token)
-            .append(", username=").append(username).append(", receiver=").append(receiver)
-                .append(", createTime=").append(createTime).append("]");
+        builder.append("OneTimePassword [id=");
+        builder.append(id);
+        builder.append(", type=");
+        builder.append(type);
+        builder.append(", token=");
+        builder.append(token);
+        builder.append(", username=");
+        builder.append(username);
+        builder.append(", receiver=");
+        builder.append(receiver);
+        builder.append(", createTime=");
+        builder.append(createTime);
+        builder.append("]");
         return builder.toString();
     }
 

+ 21 - 8
maxkey-core/src/main/java/org/maxkey/domain/ChangePassword.java

@@ -165,14 +165,27 @@ public class ChangePassword extends JpaBaseDomain{
 	}
 
 
-	/* (non-Javadoc)
-	 * @see java.lang.Object#toString()
-	 */
 	@Override
-	public String toString() {
-		return "ChangePassword [uid=" + uid + ", username=" + username
-				+ ", password=" + password + ", confirmpassword="
-				+ confirmpassword + ", decipherable=" + decipherable + "]";
-	}
+    public String toString() {
+        StringBuilder builder = new StringBuilder();
+        builder.append("ChangePassword [id=");
+        builder.append(id);
+        builder.append(", uid=");
+        builder.append(uid);
+        builder.append(", username=");
+        builder.append(username);
+        builder.append(", displayName=");
+        builder.append(displayName);
+        builder.append(", oldPassword=");
+        builder.append(oldPassword);
+        builder.append(", password=");
+        builder.append(password);
+        builder.append(", confirmpassword=");
+        builder.append(confirmpassword);
+        builder.append(", decipherable=");
+        builder.append(decipherable);
+        builder.append("]");
+        return builder.toString();
+    }
 	
 }

+ 12 - 3
maxkey-core/src/main/java/org/maxkey/domain/ExtraAttr.java

@@ -69,9 +69,18 @@ public class ExtraAttr {
 	public void setType(String type) {
 		this.type = type;
 	}
+	
 	@Override
-	public String toString() {
-		return "ExtraAttr [attr=" + attr + ", value=" + value + "]";
-	}
+    public String toString() {
+        StringBuilder builder = new StringBuilder();
+        builder.append("ExtraAttr [attr=");
+        builder.append(attr);
+        builder.append(", type=");
+        builder.append(type);
+        builder.append(", value=");
+        builder.append(value);
+        builder.append("]");
+        return builder.toString();
+    }
 	
 }

+ 7 - 3
maxkey-core/src/main/java/org/maxkey/domain/ExtraAttrs.java

@@ -109,9 +109,13 @@ public class ExtraAttrs {
 	}
 	
 	@Override
-	public String toString() {
-		return "ExtraAttrs [extraAttrs=" + extraAttrs + "]";
-	}
+    public String toString() {
+        StringBuilder builder = new StringBuilder();
+        builder.append("ExtraAttrs [extraAttrs=");
+        builder.append(extraAttrs);
+        builder.append("]");
+        return builder.toString();
+    }
 	
 	
 }

+ 17 - 5
maxkey-core/src/main/java/org/maxkey/domain/GroupMember.java

@@ -164,11 +164,23 @@ public class GroupMember extends UserInfo implements Serializable{
 
 
 	@Override
-	public String toString() {
-		return "GroupMember [groupId=" + groupId + ", groupName=" + groupName
-				+ ", memberId=" + memberId + ", memberName=" + memberName
-				+ ", type=" + type + "]";
-	}
+    public String toString() {
+        StringBuilder builder = new StringBuilder();
+        builder.append("GroupMember [id=");
+        builder.append(id);
+        builder.append(", groupId=");
+        builder.append(groupId);
+        builder.append(", groupName=");
+        builder.append(groupName);
+        builder.append(", memberId=");
+        builder.append(memberId);
+        builder.append(", memberName=");
+        builder.append(memberName);
+        builder.append(", type=");
+        builder.append(type);
+        builder.append("]");
+        return builder.toString();
+    }
 
 
 }

+ 11 - 6
maxkey-core/src/main/java/org/maxkey/domain/GroupPrivileges.java

@@ -102,13 +102,18 @@ public class GroupPrivileges extends Apps implements Serializable{
 	}
 
 
-	/* (non-Javadoc)
-	 * @see java.lang.Object#toString()
-	 */
 	@Override
-	public String toString() {
-		return "GroupApp [groupId=" + groupId + ", appId=" + appId + "]";
-	}
+    public String toString() {
+        StringBuilder builder = new StringBuilder();
+        builder.append("GroupPrivileges [id=");
+        builder.append(id);
+        builder.append(", groupId=");
+        builder.append(groupId);
+        builder.append(", appId=");
+        builder.append(appId);
+        builder.append("]");
+        return builder.toString();
+    }
 	
 
 }

+ 21 - 6
maxkey-core/src/main/java/org/maxkey/domain/Groups.java

@@ -145,14 +145,29 @@ public class Groups extends JpaBaseDomain implements Serializable {
         this.status = status;
     }
 
-    /*
-     * (non-Javadoc)
-     * 
-     * @see java.lang.Object#toString()
-     */
     @Override
     public String toString() {
-        return "Groups [name=" + name + ", isdefault=" + isdefault + "]";
+        StringBuilder builder = new StringBuilder();
+        builder.append("Groups [id=");
+        builder.append(id);
+        builder.append(", name=");
+        builder.append(name);
+        builder.append(", isdefault=");
+        builder.append(isdefault);
+        builder.append(", description=");
+        builder.append(description);
+        builder.append(", createdBy=");
+        builder.append(createdBy);
+        builder.append(", createdDate=");
+        builder.append(createdDate);
+        builder.append(", modifiedBy=");
+        builder.append(modifiedBy);
+        builder.append(", modifiedDate=");
+        builder.append(modifiedDate);
+        builder.append(", status=");
+        builder.append(status);
+        builder.append("]");
+        return builder.toString();
     }
 
 }

+ 41 - 7
maxkey-core/src/main/java/org/maxkey/domain/HistoryLogin.java

@@ -226,13 +226,47 @@ public class HistoryLogin  extends JpaBaseDomain  implements Serializable{
 	}
 
 	@Override
-	public String toString() {
-		return "LoginHistory [id=" + id + ", sessionId=" + sessionId + ", uid=" + uid + ", username=" + username
-				+ ", displayName=" + displayName + ", loginType=" + loginType + ", message=" + message + ", code="
-				+ code + ", provider=" + provider + ", sourceIp=" + sourceIp + ", browser=" + browser + ", platform="
-				+ platform + ", application=" + application + ", loginUrl=" + loginUrl + ", loginTime=" + loginTime
-				+ ", logoutTime=" + logoutTime + ", startDate=" + startDate + ", endDate=" + endDate + "]";
-	}
+    public String toString() {
+        StringBuilder builder = new StringBuilder();
+        builder.append("HistoryLogin [id=");
+        builder.append(id);
+        builder.append(", sessionId=");
+        builder.append(sessionId);
+        builder.append(", uid=");
+        builder.append(uid);
+        builder.append(", username=");
+        builder.append(username);
+        builder.append(", displayName=");
+        builder.append(displayName);
+        builder.append(", loginType=");
+        builder.append(loginType);
+        builder.append(", message=");
+        builder.append(message);
+        builder.append(", code=");
+        builder.append(code);
+        builder.append(", provider=");
+        builder.append(provider);
+        builder.append(", sourceIp=");
+        builder.append(sourceIp);
+        builder.append(", browser=");
+        builder.append(browser);
+        builder.append(", platform=");
+        builder.append(platform);
+        builder.append(", application=");
+        builder.append(application);
+        builder.append(", loginUrl=");
+        builder.append(loginUrl);
+        builder.append(", loginTime=");
+        builder.append(loginTime);
+        builder.append(", logoutTime=");
+        builder.append(logoutTime);
+        builder.append(", startDate=");
+        builder.append(startDate);
+        builder.append(", endDate=");
+        builder.append(endDate);
+        builder.append("]");
+        return builder.toString();
+    }
 
 
 }

+ 25 - 9
maxkey-core/src/main/java/org/maxkey/domain/HistoryLoginApps.java

@@ -210,14 +210,30 @@ public class HistoryLoginApps extends JpaBaseDomain {
 	}
 
 
-	/* (non-Javadoc)
-	 * @see java.lang.Object#toString()
-	 */
 	@Override
-	public String toString() {
-		return "LoginAppsHistory [sessionId=" + sessionId + ", appId=" + appId
-				+ ", appName=" + appName + ", uid=" + uid + ", username="
-				+ username + ", displayName=" + displayName + ", loginTime="
-				+ loginTime + "]";
-	}
+    public String toString() {
+        StringBuilder builder = new StringBuilder();
+        builder.append("HistoryLoginApps [id=");
+        builder.append(id);
+        builder.append(", sessionId=");
+        builder.append(sessionId);
+        builder.append(", appId=");
+        builder.append(appId);
+        builder.append(", appName=");
+        builder.append(appName);
+        builder.append(", uid=");
+        builder.append(uid);
+        builder.append(", username=");
+        builder.append(username);
+        builder.append(", displayName=");
+        builder.append(displayName);
+        builder.append(", loginTime=");
+        builder.append(loginTime);
+        builder.append(", startDate=");
+        builder.append(startDate);
+        builder.append(", endDate=");
+        builder.append(endDate);
+        builder.append("]");
+        return builder.toString();
+    }
 }

+ 35 - 0
maxkey-core/src/main/java/org/maxkey/domain/HistoryLogs.java

@@ -209,4 +209,39 @@ public class HistoryLogs extends JpaBaseDomain implements Serializable {
         this.endDate = endDate;
     }
 
+    @Override
+    public String toString() {
+        StringBuilder builder = new StringBuilder();
+        builder.append("HistoryLogs [id=");
+        builder.append(id);
+        builder.append(", serviceName=");
+        builder.append(serviceName);
+        builder.append(", message=");
+        builder.append(message);
+        builder.append(", content=");
+        builder.append(content);
+        builder.append(", messageType=");
+        builder.append(messageType);
+        builder.append(", operateType=");
+        builder.append(operateType);
+        builder.append(", username=");
+        builder.append(username);
+        builder.append(", code=");
+        builder.append(code);
+        builder.append(", createdBy=");
+        builder.append(createdBy);
+        builder.append(", createdDate=");
+        builder.append(createdDate);
+        builder.append(", modifiedBy=");
+        builder.append(modifiedBy);
+        builder.append(", modifiedDate=");
+        builder.append(modifiedDate);
+        builder.append(", startDate=");
+        builder.append(startDate);
+        builder.append(", endDate=");
+        builder.append(endDate);
+        builder.append("]");
+        return builder.toString();
+    }
+
 }

+ 27 - 7
maxkey-core/src/main/java/org/maxkey/domain/Navigations.java

@@ -162,13 +162,33 @@ public class Navigations extends JpaBaseDomain  implements java.io.Serializable
 	}
 
 	@Override
-	public String toString() {
-		return "Navigations [name=" + name + ", url=" + url + ", type=" + type
-				+ ", target=" + target + ", pId=" + pId + ", pName=" + pName
-				+ ", xPath=" + xPath + ", hasChild=" + hasChild
-				+", visible=" + visible
-				+ ", childNavs=" + childNavs + "]";
-	}
+    public String toString() {
+        StringBuilder builder = new StringBuilder();
+        builder.append("Navigations [id=");
+        builder.append(id);
+        builder.append(", name=");
+        builder.append(name);
+        builder.append(", url=");
+        builder.append(url);
+        builder.append(", type=");
+        builder.append(type);
+        builder.append(", target=");
+        builder.append(target);
+        builder.append(", pId=");
+        builder.append(pId);
+        builder.append(", pName=");
+        builder.append(pName);
+        builder.append(", xPath=");
+        builder.append(xPath);
+        builder.append(", hasChild=");
+        builder.append(hasChild);
+        builder.append(", visible=");
+        builder.append(visible);
+        builder.append(", childNavs=");
+        builder.append(childNavs);
+        builder.append("]");
+        return builder.toString();
+    }
 
 
 

+ 51 - 7
maxkey-core/src/main/java/org/maxkey/domain/Organizations.java

@@ -289,13 +289,57 @@ public class Organizations extends JpaBaseDomain implements Serializable {
 
     @Override
     public String toString() {
-        return "Organizations [id=" + id + ", code=" + code + ", name=" + name + ", fullName=" + fullName
-                + ", parentId=" + parentId + ", parentName=" + parentName + ", type=" + type + ", codePath=" + codePath
-                + ", namePath=" + namePath + ", level=" + level + ", hasChild=" + hasChild + ", division=" + division
-                + ", country=" + country + ", region=" + region + ", locality=" + locality + ", street=" + street
-                + ", address=" + address + ", contact=" + contact + ", postalCode=" + postalCode + ", phone=" + phone
-                + ", fax=" + fax + ", email=" + email + ", sortIndex=" + sortIndex + ", description=" + description
-                + "]";
+        StringBuilder builder = new StringBuilder();
+        builder.append("Organizations [id=");
+        builder.append(id);
+        builder.append(", code=");
+        builder.append(code);
+        builder.append(", name=");
+        builder.append(name);
+        builder.append(", fullName=");
+        builder.append(fullName);
+        builder.append(", parentId=");
+        builder.append(parentId);
+        builder.append(", parentName=");
+        builder.append(parentName);
+        builder.append(", type=");
+        builder.append(type);
+        builder.append(", codePath=");
+        builder.append(codePath);
+        builder.append(", namePath=");
+        builder.append(namePath);
+        builder.append(", level=");
+        builder.append(level);
+        builder.append(", hasChild=");
+        builder.append(hasChild);
+        builder.append(", division=");
+        builder.append(division);
+        builder.append(", country=");
+        builder.append(country);
+        builder.append(", region=");
+        builder.append(region);
+        builder.append(", locality=");
+        builder.append(locality);
+        builder.append(", street=");
+        builder.append(street);
+        builder.append(", address=");
+        builder.append(address);
+        builder.append(", contact=");
+        builder.append(contact);
+        builder.append(", postalCode=");
+        builder.append(postalCode);
+        builder.append(", phone=");
+        builder.append(phone);
+        builder.append(", fax=");
+        builder.append(fax);
+        builder.append(", email=");
+        builder.append(email);
+        builder.append(", sortIndex=");
+        builder.append(sortIndex);
+        builder.append(", description=");
+        builder.append(description);
+        builder.append("]");
+        return builder.toString();
     }
 
 

+ 39 - 5
maxkey-core/src/main/java/org/maxkey/domain/PasswordPolicy.java

@@ -385,11 +385,45 @@ public class PasswordPolicy extends JpaBaseDomain implements java.io.Serializabl
 
     @Override
     public String toString() {
-        return "PasswordPolicy [id=" + id + ", minLength=" + minLength + ", maxLength=" + maxLength + ", lowerCase="
-                + lowerCase + ", upperCase=" + upperCase + ", digits=" + digits + ", specialChar=" + specialChar
-                + ", attempts=" + attempts + ", duration=" + duration + ", expiration=" + expiration + ", username="
-                + username + ", history=" + history + ", dictionary=" + dictionary + ", alphabetical=" + alphabetical
-                + ", numerical=" + numerical + ", qwerty=" + qwerty + "]";
+        StringBuilder builder = new StringBuilder();
+        builder.append("PasswordPolicy [id=");
+        builder.append(id);
+        builder.append(", minLength=");
+        builder.append(minLength);
+        builder.append(", maxLength=");
+        builder.append(maxLength);
+        builder.append(", lowerCase=");
+        builder.append(lowerCase);
+        builder.append(", upperCase=");
+        builder.append(upperCase);
+        builder.append(", digits=");
+        builder.append(digits);
+        builder.append(", specialChar=");
+        builder.append(specialChar);
+        builder.append(", attempts=");
+        builder.append(attempts);
+        builder.append(", duration=");
+        builder.append(duration);
+        builder.append(", expiration=");
+        builder.append(expiration);
+        builder.append(", username=");
+        builder.append(username);
+        builder.append(", history=");
+        builder.append(history);
+        builder.append(", dictionary=");
+        builder.append(dictionary);
+        builder.append(", alphabetical=");
+        builder.append(alphabetical);
+        builder.append(", numerical=");
+        builder.append(numerical);
+        builder.append(", qwerty=");
+        builder.append(qwerty);
+        builder.append(", occurances=");
+        builder.append(occurances);
+        builder.append(", randomPasswordLength=");
+        builder.append(randomPasswordLength);
+        builder.append("]");
+        return builder.toString();
     }
 
   

+ 23 - 10
maxkey-core/src/main/java/org/maxkey/domain/Registration.java

@@ -162,16 +162,29 @@ public class Registration extends JpaBaseDomain{
 		this.firstName = firstName;
 	}
 
-	/* (non-Javadoc)
-	 * @see java.lang.Object#toString()
-	 */
 	@Override
-	public String toString() {
-		return "Registration [loginName=" + loginName + ", workEmail="
-				+ workEmail + ", company=" + company + ", workPhone="
-				+ workPhone + ", nickName=" + nickName + ", lastName="
-				+ lastName + ", firstName=" + firstName + ", users=" + users
-				+ "]";
-	}
+    public String toString() {
+        StringBuilder builder = new StringBuilder();
+        builder.append("Registration [id=");
+        builder.append(id);
+        builder.append(", loginName=");
+        builder.append(loginName);
+        builder.append(", workEmail=");
+        builder.append(workEmail);
+        builder.append(", company=");
+        builder.append(company);
+        builder.append(", workPhone=");
+        builder.append(workPhone);
+        builder.append(", nickName=");
+        builder.append(nickName);
+        builder.append(", lastName=");
+        builder.append(lastName);
+        builder.append(", firstName=");
+        builder.append(firstName);
+        builder.append(", users=");
+        builder.append(users);
+        builder.append("]");
+        return builder.toString();
+    }
 	
 }

+ 43 - 0
maxkey-core/src/main/java/org/maxkey/domain/Resources.java

@@ -215,4 +215,47 @@ public class Resources  extends JpaBaseDomain implements Serializable {
         this.sortIndex = sortIndex;
     }
 
+    @Override
+    public String toString() {
+        StringBuilder builder = new StringBuilder();
+        builder.append("Resources [id=");
+        builder.append(id);
+        builder.append(", name=");
+        builder.append(name);
+        builder.append(", sortIndex=");
+        builder.append(sortIndex);
+        builder.append(", appId=");
+        builder.append(appId);
+        builder.append(", appName=");
+        builder.append(appName);
+        builder.append(", parentId=");
+        builder.append(parentId);
+        builder.append(", parentName=");
+        builder.append(parentName);
+        builder.append(", resourceType=");
+        builder.append(resourceType);
+        builder.append(", resourceIcon=");
+        builder.append(resourceIcon);
+        builder.append(", resourceStyle=");
+        builder.append(resourceStyle);
+        builder.append(", resourceUrl=");
+        builder.append(resourceUrl);
+        builder.append(", resourceAction=");
+        builder.append(resourceAction);
+        builder.append(", status=");
+        builder.append(status);
+        builder.append(", description=");
+        builder.append(description);
+        builder.append(", createdBy=");
+        builder.append(createdBy);
+        builder.append(", createdDate=");
+        builder.append(createdDate);
+        builder.append(", modifiedBy=");
+        builder.append(modifiedBy);
+        builder.append(", modifiedDate=");
+        builder.append(modifiedDate);
+        builder.append("]");
+        return builder.toString();
+    }
+
 }

+ 15 - 2
maxkey-core/src/main/java/org/maxkey/domain/RoleMember.java

@@ -117,8 +117,21 @@ public class RoleMember extends UserInfo implements Serializable {
 
     @Override
     public String toString() {
-        return "RoleMember [id=" + id + ", roleId=" + roleId + ", roleName=" + roleName + ", memberId=" + memberId
-                + ", memberName=" + memberName + ", type=" + type + "]";
+        StringBuilder builder = new StringBuilder();
+        builder.append("RoleMember [id=");
+        builder.append(id);
+        builder.append(", roleId=");
+        builder.append(roleId);
+        builder.append(", roleName=");
+        builder.append(roleName);
+        builder.append(", memberId=");
+        builder.append(memberId);
+        builder.append(", memberName=");
+        builder.append(memberName);
+        builder.append(", type=");
+        builder.append(type);
+        builder.append("]");
+        return builder.toString();
     }
 
 }

+ 17 - 0
maxkey-core/src/main/java/org/maxkey/domain/RolePermissions.java

@@ -107,6 +107,23 @@ public class RolePermissions  extends JpaBaseDomain implements Serializable {
     public String  getUniqueId() {
         return  appId + "_" + roleId + "_" + resourceId;
     }
+
+    @Override
+    public String toString() {
+        StringBuilder builder = new StringBuilder();
+        builder.append("RolePermissions [id=");
+        builder.append(id);
+        builder.append(", appId=");
+        builder.append(appId);
+        builder.append(", roleId=");
+        builder.append(roleId);
+        builder.append(", resourceId=");
+        builder.append(resourceId);
+        builder.append(", status=");
+        builder.append(status);
+        builder.append("]");
+        return builder.toString();
+    }
     
 
 }

+ 23 - 0
maxkey-core/src/main/java/org/maxkey/domain/Roles.java

@@ -116,6 +116,29 @@ public class Roles extends JpaBaseDomain implements Serializable {
     public void setModifiedDate(String modifiedDate) {
         this.modifiedDate = modifiedDate;
     }
+
+    @Override
+    public String toString() {
+        StringBuilder builder = new StringBuilder();
+        builder.append("Roles [id=");
+        builder.append(id);
+        builder.append(", name=");
+        builder.append(name);
+        builder.append(", status=");
+        builder.append(status);
+        builder.append(", description=");
+        builder.append(description);
+        builder.append(", createdBy=");
+        builder.append(createdBy);
+        builder.append(", createdDate=");
+        builder.append(createdDate);
+        builder.append(", modifiedBy=");
+        builder.append(modifiedBy);
+        builder.append(", modifiedDate=");
+        builder.append(modifiedDate);
+        builder.append("]");
+        return builder.toString();
+    }
    
     
 

+ 21 - 3
maxkey-core/src/main/java/org/maxkey/domain/Saml20Metadata.java

@@ -126,9 +126,27 @@ public class Saml20Metadata extends JpaBaseDomain implements Serializable {
 
     @Override
     public String toString() {
-        return "Saml20Metadata [orgName=" + orgName + ", orgDisplayName=" + orgDisplayName + ", orgURL=" + orgURL
-                + ", contactType=" + contactType + ", company=" + company + ", givenName=" + givenName + ", surName="
-                + surName + ", emailAddress=" + emailAddress + ", telephoneNumber=" + telephoneNumber + "]";
+        StringBuilder builder = new StringBuilder();
+        builder.append("Saml20Metadata [orgName=");
+        builder.append(orgName);
+        builder.append(", orgDisplayName=");
+        builder.append(orgDisplayName);
+        builder.append(", orgURL=");
+        builder.append(orgURL);
+        builder.append(", contactType=");
+        builder.append(contactType);
+        builder.append(", company=");
+        builder.append(company);
+        builder.append(", givenName=");
+        builder.append(givenName);
+        builder.append(", surName=");
+        builder.append(surName);
+        builder.append(", emailAddress=");
+        builder.append(emailAddress);
+        builder.append(", telephoneNumber=");
+        builder.append(telephoneNumber);
+        builder.append("]");
+        return builder.toString();
     }
 
 }

+ 220 - 64
maxkey-core/src/main/java/org/maxkey/domain/UserInfo.java

@@ -229,6 +229,8 @@ public class UserInfo extends JpaBaseDomain {
     protected HashMap<String, String> extraAttributeMap;
 
     protected int online;
+    
+    String onlineTickit;
 
     protected String ldapDn;
 
@@ -247,6 +249,8 @@ public class UserInfo extends JpaBaseDomain {
     @Column
     String description;
 
+    
+    
     public static class ONLINE {
         // 在线
         public static final int ONLINE = 1;
@@ -1145,70 +1149,7 @@ public class UserInfo extends JpaBaseDomain {
         this.description = description;
     }
 
-    @Override
-    public String toString() {
-        return "UserInfo [username=" + username 
-                + ", password=" + password + ", decipherable=" + decipherable
-                + ", sharedSecret=" + sharedSecret 
-                + ", sharedCounter=" + sharedCounter + ", userType=" + userType
-                + ", windowsAccount=" + windowsAccount 
-                + ", displayName=" + displayName + ", nickName=" + nickName
-                + ", nameZHSpell=" + nameZhSpell 
-                + ", nameZHShortSpell=" + nameZhShortSpell 
-                + ", givenName=" + givenName
-                + ", middleName=" + middleName + ", familyName=" + familyName 
-                + ", honorificPrefix=" + honorificPrefix
-                + ", honorificSuffix=" + honorificSuffix 
-                + ", formattedName=" + formattedName + ", married=" + married
-                + ", gender=" + gender + ", birthDate=" + birthDate 
-                + ", pictureFile=" + pictureFile + ", idType="
-                + idType + ", idCardNo=" + idCardNo + ", webSite=" + webSite 
-                + ", startWorkDate=" + startWorkDate
-                + ", authnType=" + authnType + ", email=" + email 
-                + ", emailVerified=" + emailVerified + ", mobile="
-                + mobile + ", mobileVerified=" + mobileVerified 
-                + ", passwordQuestion=" + passwordQuestion
-                + ", passwordAnswer=" + passwordAnswer + ", appLoginAuthnType=" + appLoginAuthnType
-                + ", appLoginPassword=" + appLoginPassword 
-                + ", protectedApps=" + protectedApps + ", protectedAppsMap="
-                + protectedAppsMap + ", passwordLastSetTime=" + passwordLastSetTime 
-                + ", badPasswordCount="
-                + badPasswordCount + ", unLockTime=" + unLockTime 
-                + ", isLocked=" + isLocked + ", lastLoginTime="
-                + lastLoginTime + ", lastLoginIp=" + lastLoginIp 
-                + ", lastLogoffTime=" + lastLogoffTime
-                + ", passwordSetType=" + passwordSetType 
-                + ", loginCount=" + loginCount + ", locale=" + locale
-                + ", timeZone=" + timeZone + ", preferredLanguage=" + preferredLanguage 
-                + ", workCountry=" + workCountry
-                + ", workRegion=" + workRegion + ", workLocality=" + workLocality 
-                + ", workStreetAddress="
-                + workStreetAddress + ", workAddressFormatted=" + workAddressFormatted 
-                + ", workEmail=" + workEmail
-                + ", workPhoneNumber=" + workPhoneNumber + ", workPostalCode=" + workPostalCode 
-                + ", workFax=" + workFax
-                + ", homeCountry=" + homeCountry + ", homeRegion=" + homeRegion 
-                + ", homeLocality=" + homeLocality
-                + ", homeStreetAddress=" + homeStreetAddress 
-                + ", homeAddressFormatted=" + homeAddressFormatted
-                + ", homeEmail=" + homeEmail 
-                + ", homePhoneNumber=" + homePhoneNumber + ", homePostalCode="
-                + homePostalCode + ", homeFax=" + homeFax 
-                + ", employeeNumber=" + employeeNumber + ", costCenter="
-                + costCenter + ", organization=" + organization 
-                + ", division=" + division + ", departmentId="
-                + departmentId + ", department=" + department 
-                + ", jobTitle=" + jobTitle + ", jobLevel=" + jobLevel
-                + ", managerId=" + managerId + ", manager=" + manager 
-                + ", assistantId=" + assistantId + ", assistant="
-                + assistant + ", entryDate=" + entryDate 
-                + ", quitDate=" + quitDate + ", extraAttribute=" + extraAttribute 
-                + ", extraAttributeName=" + extraAttributeName + ", extraAttributeValue="
-                + extraAttributeValue + ", extraAttributeMap=" + extraAttributeMap 
-                + ", online=" + online + ", ldapDn="
-                + ldapDn + "]";
-    }
-
+ 
     /**
      * @return the createdBy
      */
@@ -1223,6 +1164,14 @@ public class UserInfo extends JpaBaseDomain {
         this.createdBy = createdBy;
     }
 
+    public String getOnlineTickit() {
+        return onlineTickit;
+    }
+
+    public void setOnlineTickit(String onlineTickit) {
+        this.onlineTickit = onlineTickit;
+    }
+
     /**
      * @return the createdDate
      */
@@ -1273,4 +1222,211 @@ public class UserInfo extends JpaBaseDomain {
         this.theme = theme;
     }
 
+    @Override
+    public String toString() {
+        StringBuilder builder = new StringBuilder();
+        builder.append("UserInfo [id=");
+        builder.append(id);
+        builder.append(", username=");
+        builder.append(username);
+        builder.append(", password=");
+        builder.append(password);
+        builder.append(", decipherable=");
+        builder.append(decipherable);
+        builder.append(", sharedSecret=");
+        builder.append(sharedSecret);
+        builder.append(", sharedCounter=");
+        builder.append(sharedCounter);
+        builder.append(", userType=");
+        builder.append(userType);
+        builder.append(", windowsAccount=");
+        builder.append(windowsAccount);
+        builder.append(", displayName=");
+        builder.append(displayName);
+        builder.append(", nickName=");
+        builder.append(nickName);
+        builder.append(", nameZhSpell=");
+        builder.append(nameZhSpell);
+        builder.append(", nameZhShortSpell=");
+        builder.append(nameZhShortSpell);
+        builder.append(", givenName=");
+        builder.append(givenName);
+        builder.append(", middleName=");
+        builder.append(middleName);
+        builder.append(", familyName=");
+        builder.append(familyName);
+        builder.append(", honorificPrefix=");
+        builder.append(honorificPrefix);
+        builder.append(", honorificSuffix=");
+        builder.append(honorificSuffix);
+        builder.append(", formattedName=");
+        builder.append(formattedName);
+        builder.append(", married=");
+        builder.append(married);
+        builder.append(", gender=");
+        builder.append(gender);
+        builder.append(", birthDate=");
+        builder.append(birthDate);
+        builder.append(", picture=");
+        builder.append(picture);
+        builder.append(", pictureFile=");
+        builder.append(pictureFile);
+        builder.append(", idType=");
+        builder.append(idType);
+        builder.append(", idCardNo=");
+        builder.append(idCardNo);
+        builder.append(", webSite=");
+        builder.append(webSite);
+        builder.append(", startWorkDate=");
+        builder.append(startWorkDate);
+        builder.append(", authnType=");
+        builder.append(authnType);
+        builder.append(", email=");
+        builder.append(email);
+        builder.append(", emailVerified=");
+        builder.append(emailVerified);
+        builder.append(", mobile=");
+        builder.append(mobile);
+        builder.append(", mobileVerified=");
+        builder.append(mobileVerified);
+        builder.append(", passwordQuestion=");
+        builder.append(passwordQuestion);
+        builder.append(", passwordAnswer=");
+        builder.append(passwordAnswer);
+        builder.append(", appLoginAuthnType=");
+        builder.append(appLoginAuthnType);
+        builder.append(", appLoginPassword=");
+        builder.append(appLoginPassword);
+        builder.append(", protectedApps=");
+        builder.append(protectedApps);
+        builder.append(", protectedAppsMap=");
+        builder.append(protectedAppsMap);
+        builder.append(", passwordLastSetTime=");
+        builder.append(passwordLastSetTime);
+        builder.append(", badPasswordCount=");
+        builder.append(badPasswordCount);
+        builder.append(", badPasswordTime=");
+        builder.append(badPasswordTime);
+        builder.append(", unLockTime=");
+        builder.append(unLockTime);
+        builder.append(", isLocked=");
+        builder.append(isLocked);
+        builder.append(", lastLoginTime=");
+        builder.append(lastLoginTime);
+        builder.append(", lastLoginIp=");
+        builder.append(lastLoginIp);
+        builder.append(", lastLogoffTime=");
+        builder.append(lastLogoffTime);
+        builder.append(", passwordSetType=");
+        builder.append(passwordSetType);
+        builder.append(", loginCount=");
+        builder.append(loginCount);
+        builder.append(", locale=");
+        builder.append(locale);
+        builder.append(", timeZone=");
+        builder.append(timeZone);
+        builder.append(", preferredLanguage=");
+        builder.append(preferredLanguage);
+        builder.append(", workCountry=");
+        builder.append(workCountry);
+        builder.append(", workRegion=");
+        builder.append(workRegion);
+        builder.append(", workLocality=");
+        builder.append(workLocality);
+        builder.append(", workStreetAddress=");
+        builder.append(workStreetAddress);
+        builder.append(", workAddressFormatted=");
+        builder.append(workAddressFormatted);
+        builder.append(", workEmail=");
+        builder.append(workEmail);
+        builder.append(", workPhoneNumber=");
+        builder.append(workPhoneNumber);
+        builder.append(", workPostalCode=");
+        builder.append(workPostalCode);
+        builder.append(", workFax=");
+        builder.append(workFax);
+        builder.append(", homeCountry=");
+        builder.append(homeCountry);
+        builder.append(", homeRegion=");
+        builder.append(homeRegion);
+        builder.append(", homeLocality=");
+        builder.append(homeLocality);
+        builder.append(", homeStreetAddress=");
+        builder.append(homeStreetAddress);
+        builder.append(", homeAddressFormatted=");
+        builder.append(homeAddressFormatted);
+        builder.append(", homeEmail=");
+        builder.append(homeEmail);
+        builder.append(", homePhoneNumber=");
+        builder.append(homePhoneNumber);
+        builder.append(", homePostalCode=");
+        builder.append(homePostalCode);
+        builder.append(", homeFax=");
+        builder.append(homeFax);
+        builder.append(", employeeNumber=");
+        builder.append(employeeNumber);
+        builder.append(", costCenter=");
+        builder.append(costCenter);
+        builder.append(", organization=");
+        builder.append(organization);
+        builder.append(", division=");
+        builder.append(division);
+        builder.append(", departmentId=");
+        builder.append(departmentId);
+        builder.append(", department=");
+        builder.append(department);
+        builder.append(", jobTitle=");
+        builder.append(jobTitle);
+        builder.append(", jobLevel=");
+        builder.append(jobLevel);
+        builder.append(", managerId=");
+        builder.append(managerId);
+        builder.append(", manager=");
+        builder.append(manager);
+        builder.append(", assistantId=");
+        builder.append(assistantId);
+        builder.append(", assistant=");
+        builder.append(assistant);
+        builder.append(", entryDate=");
+        builder.append(entryDate);
+        builder.append(", quitDate=");
+        builder.append(quitDate);
+        builder.append(", defineIm=");
+        builder.append(defineIm);
+        builder.append(", weixinFollow=");
+        builder.append(weixinFollow);
+        builder.append(", theme=");
+        builder.append(theme);
+        builder.append(", extraAttribute=");
+        builder.append(extraAttribute);
+        builder.append(", extraAttributeName=");
+        builder.append(extraAttributeName);
+        builder.append(", extraAttributeValue=");
+        builder.append(extraAttributeValue);
+        builder.append(", extraAttributeMap=");
+        builder.append(extraAttributeMap);
+        builder.append(", online=");
+        builder.append(online);
+        builder.append(", onlineTickit=");
+        builder.append(onlineTickit);
+        builder.append(", ldapDn=");
+        builder.append(ldapDn);
+        builder.append(", gridList=");
+        builder.append(gridList);
+        builder.append(", createdBy=");
+        builder.append(createdBy);
+        builder.append(", createdDate=");
+        builder.append(createdDate);
+        builder.append(", modifiedBy=");
+        builder.append(modifiedBy);
+        builder.append(", modifiedDate=");
+        builder.append(modifiedDate);
+        builder.append(", status=");
+        builder.append(status);
+        builder.append(", description=");
+        builder.append(description);
+        builder.append("]");
+        return builder.toString();
+    }
+
 }

+ 75 - 7
maxkey-core/src/main/java/org/maxkey/domain/apps/Apps.java

@@ -18,7 +18,6 @@
 package org.maxkey.domain.apps;
 
 import java.io.Serializable;
-import java.util.Arrays;
 
 import javax.persistence.Column;
 import javax.persistence.GeneratedValue;
@@ -81,6 +80,10 @@ public class Apps extends JpaBaseDomain implements Serializable {
     private MultipartFile iconFile;
     @Column
     private int visible;
+    
+
+    //引导方式 IDP OR SP,default is IDP
+    private String inducer;
     /*
      * vendor
      */
@@ -505,15 +508,80 @@ public class Apps extends JpaBaseDomain implements Serializable {
     public void setStatus(int status) {
         this.status = status;
     }
+    
+    public String getInducer() {
+        return inducer;
+    }
+
+    public void setInducer(String inducer) {
+        this.inducer = inducer;
+    }
 
     @Override
     public String toString() {
-        return "Applications [name=" + name + ", loginUrl=" + loginUrl + ", category=" + category + ", protocol="
-                + protocol + ", secret=" + secret + ", icon=" + Arrays.toString(icon) + ", iconFile=" + iconFile
-                + ", visible=" + visible + ", vendor=" + vendor + ", vendorUrl=" + vendorUrl + ", credential="
-                + credential + ", sharedUsername=" + sharedUsername + ", sharedPassword=" + sharedPassword
-                + ", systemUserAttr=" + systemUserAttr + ", isExtendAttr=" + isExtendAttr + ", extendAttr=" + extendAttr
-                + ", isSignature=" + isSignature + "]";
+        StringBuilder builder = new StringBuilder();
+        builder.append("Apps [id=");
+        builder.append(id);
+        builder.append(", name=");
+        builder.append(name);
+        builder.append(", loginUrl=");
+        builder.append(loginUrl);
+        builder.append(", category=");
+        builder.append(category);
+        builder.append(", protocol=");
+        builder.append(protocol);
+        builder.append(", secret=");
+        builder.append(secret);
+        builder.append(", visible=");
+        builder.append(visible);
+        builder.append(", inducer=");
+        builder.append(inducer);
+        builder.append(", vendor=");
+        builder.append(vendor);
+        builder.append(", vendorUrl=");
+        builder.append(vendorUrl);
+        builder.append(", credential=");
+        builder.append(credential);
+        builder.append(", sharedUsername=");
+        builder.append(sharedUsername);
+        builder.append(", sharedPassword=");
+        builder.append(sharedPassword);
+        builder.append(", systemUserAttr=");
+        builder.append(systemUserAttr);
+        builder.append(", principal=");
+        builder.append(principal);
+        builder.append(", credentials=");
+        builder.append(credentials);
+        builder.append(", isExtendAttr=");
+        builder.append(isExtendAttr);
+        builder.append(", extendAttr=");
+        builder.append(extendAttr);
+        builder.append(", userPropertys=");
+        builder.append(userPropertys);
+        builder.append(", isSignature=");
+        builder.append(isSignature);
+        builder.append(", isAdapter=");
+        builder.append(isAdapter);
+        builder.append(", adapter=");
+        builder.append(adapter);
+        builder.append(", appUser=");
+        builder.append(appUser);
+        builder.append(", sortIndex=");
+        builder.append(sortIndex);
+        builder.append(", status=");
+        builder.append(status);
+        builder.append(", createdBy=");
+        builder.append(createdBy);
+        builder.append(", createdDate=");
+        builder.append(createdDate);
+        builder.append(", modifiedBy=");
+        builder.append(modifiedBy);
+        builder.append(", modifiedDate=");
+        builder.append(modifiedDate);
+        builder.append(", description=");
+        builder.append(description);
+        builder.append("]");
+        return builder.toString();
     }
 
 }

+ 12 - 2
maxkey-core/src/main/java/org/maxkey/domain/apps/AppsCasDetails.java

@@ -61,7 +61,17 @@ public class AppsCasDetails extends Apps {
         this.callbackUrl = callbackUrl;
     }
 
-
-
+    @Override
+    public String toString() {
+        StringBuilder builder = new StringBuilder();
+        builder.append("AppsCasDetails [id=");
+        builder.append(id);
+        builder.append(", service=");
+        builder.append(service);
+        builder.append(", callbackUrl=");
+        builder.append(callbackUrl);
+        builder.append("]");
+        return builder.toString();
+    }
 
 }

+ 29 - 13
maxkey-core/src/main/java/org/maxkey/domain/apps/AppsDesktopDetails.java

@@ -294,19 +294,35 @@ public class AppsDesktopDetails extends Apps {
 
 
 
-	/* (non-Javadoc)
-	 * @see java.lang.Object#toString()
-	 */
 	@Override
-	public String toString() {
-		return "DesktopDetails [programPath=" + programPath + ", parameter="
-				+ parameter + ", preUsername=" + preUsername
-				+ ", usernameType=" + usernameType + ", usernameParameter="
-				+ usernameParameter + ", prePassword=" + prePassword
-				+ ", passwordType=" + passwordType + ", passwordParameter="
-				+ passwordParameter + ", preSubmit=" + preSubmit
-				+ ", submitType=" + submitType + ", submitKey=" + submitKey
-				+ "]";
-	}
+    public String toString() {
+        StringBuilder builder = new StringBuilder();
+        builder.append("AppsDesktopDetails [programPath=");
+        builder.append(programPath);
+        builder.append(", parameter=");
+        builder.append(parameter);
+        builder.append(", preUsername=");
+        builder.append(preUsername);
+        builder.append(", usernameType=");
+        builder.append(usernameType);
+        builder.append(", usernameParameter=");
+        builder.append(usernameParameter);
+        builder.append(", prePassword=");
+        builder.append(prePassword);
+        builder.append(", passwordType=");
+        builder.append(passwordType);
+        builder.append(", passwordParameter=");
+        builder.append(passwordParameter);
+        builder.append(", preSubmit=");
+        builder.append(preSubmit);
+        builder.append(", submitType=");
+        builder.append(submitType);
+        builder.append(", submitKey=");
+        builder.append(submitKey);
+        builder.append(", appUser=");
+        builder.append(appUser);
+        builder.append("]");
+        return builder.toString();
+    }
 
 }

+ 15 - 5
maxkey-core/src/main/java/org/maxkey/domain/apps/AppsFormBasedDetails.java

@@ -122,10 +122,20 @@ public class AppsFormBasedDetails  extends Apps {
 
 
 	@Override
-	public String toString() {
-		return "FormBasedDetails [redirectUri=" + redirectUri
-				+ ", usernameMapping=" + usernameMapping + ", passwordMapping="
-				+ passwordMapping + ", authorizeView=" + authorizeView + "]";
-	}
+    public String toString() {
+        StringBuilder builder = new StringBuilder();
+        builder.append("AppsFormBasedDetails [id=");
+        builder.append(id);
+        builder.append(", redirectUri=");
+        builder.append(redirectUri);
+        builder.append(", usernameMapping=");
+        builder.append(usernameMapping);
+        builder.append(", passwordMapping=");
+        builder.append(passwordMapping);
+        builder.append(", authorizeView=");
+        builder.append(authorizeView);
+        builder.append("]");
+        return builder.toString();
+    }
 
 }

+ 37 - 10
maxkey-core/src/main/java/org/maxkey/domain/apps/AppsOAuth20Details.java

@@ -328,18 +328,45 @@ public class AppsOAuth20Details extends Apps {
         return baseClientDetails;
     }
 
-    /*
-     * (non-Javadoc)
-     * 
-     * @see java.lang.Object#toString()
-     */
     @Override
     public String toString() {
-        return "OAuth20Details [clientId=" + clientId + ", clientSecret=" + clientSecret + ", scope=" + scope
-                + ", resourceIds=" + resourceIds + ", authorizedGrantTypes=" + authorizedGrantTypes
-                + ", registeredRedirectUris=" + registeredRedirectUris + ", authorities=" + authorities
-                + ", accessTokenValiditySeconds=" + accessTokenValiditySeconds + ", refreshTokenValiditySeconds="
-                + refreshTokenValiditySeconds + "]";
+        StringBuilder builder = new StringBuilder();
+        builder.append("AppsOAuth20Details [clientId=");
+        builder.append(clientId);
+        builder.append(", clientSecret=");
+        builder.append(clientSecret);
+        builder.append(", scope=");
+        builder.append(scope);
+        builder.append(", resourceIds=");
+        builder.append(resourceIds);
+        builder.append(", authorizedGrantTypes=");
+        builder.append(authorizedGrantTypes);
+        builder.append(", registeredRedirectUris=");
+        builder.append(registeredRedirectUris);
+        builder.append(", authorities=");
+        builder.append(authorities);
+        builder.append(", accessTokenValiditySeconds=");
+        builder.append(accessTokenValiditySeconds);
+        builder.append(", refreshTokenValiditySeconds=");
+        builder.append(refreshTokenValiditySeconds);
+        builder.append(", approvalPrompt=");
+        builder.append(approvalPrompt);
+        builder.append(", idTokenSigningAlgorithm=");
+        builder.append(idTokenSigningAlgorithm);
+        builder.append(", idTokenEncryptedAlgorithm=");
+        builder.append(idTokenEncryptedAlgorithm);
+        builder.append(", idTokenEncryptionMethod=");
+        builder.append(idTokenEncryptionMethod);
+        builder.append(", userInfoSigningAlgorithm=");
+        builder.append(userInfoSigningAlgorithm);
+        builder.append(", userInfoEncryptedAlgorithm=");
+        builder.append(userInfoEncryptedAlgorithm);
+        builder.append(", userInfoEncryptionMethod=");
+        builder.append(userInfoEncryptionMethod);
+        builder.append(", jwksUri=");
+        builder.append(jwksUri);
+        builder.append("]");
+        return builder.toString();
     }
 
 }

+ 37 - 11
maxkey-core/src/main/java/org/maxkey/domain/apps/AppsSAML20Details.java

@@ -17,8 +17,6 @@
 
 package org.maxkey.domain.apps;
 
-import java.util.Arrays;
-
 import javax.persistence.Column;
 import javax.persistence.GeneratedValue;
 import javax.persistence.GenerationType;
@@ -340,15 +338,43 @@ public class AppsSAML20Details extends Apps {
 
     @Override
     public String toString() {
-        final int maxLen = 40;
-        return "AppsSAML20Details [id=" + id + ", certIssuer=" + certIssuer + ", certSubject=" + certSubject
-                + ", certExpiration=" + certExpiration + ", signature=" + signature + ", keyStore="
-                + (keyStore != null ? Arrays.toString(Arrays.copyOf(keyStore, Math.min(keyStore.length, maxLen)))
-                        : null)
-                + ", entityId=" + entityId + ", spAcsUrl=" + spAcsUrl + ", issuer=" + issuer + ", audience=" + audience
-                + ", nameidFormat=" + nameidFormat + ", validityInterval=" + validityInterval + ", binding=" + binding
-                + ", encrypted=" + encrypted + ", certMetaFile=" + certMetaFile + ", fileType=" + fileType
-                + ", nameIdConvert=" + nameIdConvert + "]";
+        StringBuilder builder = new StringBuilder();
+        builder.append("AppsSAML20Details [id=");
+        builder.append(id);
+        builder.append(", certIssuer=");
+        builder.append(certIssuer);
+        builder.append(", certSubject=");
+        builder.append(certSubject);
+        builder.append(", certExpiration=");
+        builder.append(certExpiration);
+        builder.append(", signature=");
+        builder.append(signature);
+        builder.append(", digestMethod=");
+        builder.append(digestMethod);
+        builder.append(", entityId=");
+        builder.append(entityId);
+        builder.append(", spAcsUrl=");
+        builder.append(spAcsUrl);
+        builder.append(", issuer=");
+        builder.append(issuer);
+        builder.append(", audience=");
+        builder.append(audience);
+        builder.append(", nameidFormat=");
+        builder.append(nameidFormat);
+        builder.append(", validityInterval=");
+        builder.append(validityInterval);
+        builder.append(", binding=");
+        builder.append(binding);
+        builder.append(", encrypted=");
+        builder.append(encrypted);
+        builder.append(", fileType=");
+        builder.append(fileType);
+        builder.append(", nameIdConvert=");
+        builder.append(nameIdConvert);
+        builder.append(", nameIdSuffix=");
+        builder.append(nameIdSuffix);
+        builder.append("]");
+        return builder.toString();
     }
 
  

+ 17 - 3
maxkey-core/src/main/java/org/maxkey/domain/apps/AppsTokenBasedDetails.java

@@ -137,9 +137,23 @@ public class AppsTokenBasedDetails  extends Apps {
 
     @Override
     public String toString() {
-        return "AppsTokenBasedDetails [id=" + id + ", redirectUri=" + redirectUri + ", tokenType=" + tokenType
-                + ", cookieName=" + cookieName + ", algorithm=" + algorithm + ", algorithmKey=" + algorithmKey
-                + ", expires=" + expires + "]";
+        StringBuilder builder = new StringBuilder();
+        builder.append("AppsTokenBasedDetails [id=");
+        builder.append(id);
+        builder.append(", redirectUri=");
+        builder.append(redirectUri);
+        builder.append(", tokenType=");
+        builder.append(tokenType);
+        builder.append(", cookieName=");
+        builder.append(cookieName);
+        builder.append(", algorithm=");
+        builder.append(algorithm);
+        builder.append(", algorithmKey=");
+        builder.append(algorithmKey);
+        builder.append(", expires=");
+        builder.append(expires);
+        builder.append("]");
+        return builder.toString();
     }
 
 }

+ 9 - 2
maxkey-core/src/main/java/org/maxkey/domain/apps/UserApps.java

@@ -61,8 +61,15 @@ public class UserApps extends Apps {
 
     @Override
     public String toString() {
-        return "UserApplications [username=" + username 
-                + ", userId=" + userId + ", displayName=" + displayName + "]";
+        StringBuilder builder = new StringBuilder();
+        builder.append("UserApps [username=");
+        builder.append(username);
+        builder.append(", userId=");
+        builder.append(userId);
+        builder.append(", displayName=");
+        builder.append(displayName);
+        builder.append("]");
+        return builder.toString();
     }
 
 }

+ 43 - 11
maxkey-core/src/main/java/org/maxkey/domain/apps/oauth2/provider/client/BaseClientDetails.java

@@ -461,16 +461,48 @@ public class BaseClientDetails implements ClientDetails {
 	}
 
 	@Override
-	public String toString() {
-		return "BaseClientDetails [clientId=" + clientId + ", clientSecret="
-				+ clientSecret + ", scope=" + scope + ", resourceIds="
-				+ resourceIds + ", authorizedGrantTypes="
-				+ authorizedGrantTypes + ", registeredRedirectUris="
-				+ registeredRedirectUris + ", authorities=" + authorities
-				+ ", accessTokenValiditySeconds=" + accessTokenValiditySeconds
-				+ ", refreshTokenValiditySeconds="
-				+ refreshTokenValiditySeconds + ", additionalInformation="
-				+ additionalInformation + "]";
-	}
+    public String toString() {
+        StringBuilder builder = new StringBuilder();
+        builder.append("BaseClientDetails [clientId=");
+        builder.append(clientId);
+        builder.append(", clientSecret=");
+        builder.append(clientSecret);
+        builder.append(", scope=");
+        builder.append(scope);
+        builder.append(", resourceIds=");
+        builder.append(resourceIds);
+        builder.append(", authorizedGrantTypes=");
+        builder.append(authorizedGrantTypes);
+        builder.append(", registeredRedirectUris=");
+        builder.append(registeredRedirectUris);
+        builder.append(", autoApproveScopes=");
+        builder.append(autoApproveScopes);
+        builder.append(", authorities=");
+        builder.append(authorities);
+        builder.append(", accessTokenValiditySeconds=");
+        builder.append(accessTokenValiditySeconds);
+        builder.append(", refreshTokenValiditySeconds=");
+        builder.append(refreshTokenValiditySeconds);
+        builder.append(", additionalInformation=");
+        builder.append(additionalInformation);
+        builder.append(", idTokenSigningAlgorithm=");
+        builder.append(idTokenSigningAlgorithm);
+        builder.append(", idTokenEncryptedAlgorithm=");
+        builder.append(idTokenEncryptedAlgorithm);
+        builder.append(", idTokenEncryptionMethod=");
+        builder.append(idTokenEncryptionMethod);
+        builder.append(", userInfoSigningAlgorithm=");
+        builder.append(userInfoSigningAlgorithm);
+        builder.append(", userInfoEncryptedAlgorithm=");
+        builder.append(userInfoEncryptedAlgorithm);
+        builder.append(", userInfoEncryptionMethod=");
+        builder.append(userInfoEncryptionMethod);
+        builder.append(", jwksUri=");
+        builder.append(jwksUri);
+        builder.append(", approvalPrompt=");
+        builder.append(approvalPrompt);
+        builder.append("]");
+        return builder.toString();
+    }
 
 }