Browse Source

fix formbase

shimingxy 6 năm trước cách đây
mục cha
commit
f22f2d8d57
49 tập tin đã thay đổi với 93 bổ sung4427 xóa
  1. 2 1
      maxkey-protocols/maxkey-protocol-authorize/src/main/java/org/maxkey/authz/endpoint/AuthorizeBaseEndpoint.java
  2. 5 2
      maxkey-protocols/maxkey-protocol-formbased/src/main/java/org/maxkey/authz/formbased/endpoint/FormBasedAuthorizeEndpoint.java
  3. 4 0
      maxkey-protocols/maxkey-protocol-ltpa/src/main/java/org/maxkey/authz/ltpa/endpoint/LtpaAuthorizeEndpoint.java
  4. 0 11
      maxkey-protocols/maxkey-protocol-simulate/.classpath
  5. 0 36
      maxkey-protocols/maxkey-protocol-simulate/.project
  6. 0 11
      maxkey-protocols/maxkey-protocol-simulate/.settings/org.eclipse.buildship.core.prefs
  7. 0 2
      maxkey-protocols/maxkey-protocol-simulate/.settings/org.eclipse.core.resources.prefs
  8. 0 6
      maxkey-protocols/maxkey-protocol-simulate/.settings/org.eclipse.wst.common.component
  9. 0 7
      maxkey-protocols/maxkey-protocol-simulate/.settings/org.eclipse.wst.common.project.facet.core.xml
  10. 0 36
      maxkey-protocols/maxkey-protocol-simulate/WebRoot/DesktopSSOApplet.jsp
  11. 0 3
      maxkey-protocols/maxkey-protocol-simulate/WebRoot/META-INF/MANIFEST.MF
  12. 0 2
      maxkey-protocols/maxkey-protocol-simulate/WebRoot/WEB-INF/classes/META-INF/MANIFEST.MF
  13. 0 6
      maxkey-protocols/maxkey-protocol-simulate/WebRoot/WEB-INF/classes/NOTICE
  14. 0 13
      maxkey-protocols/maxkey-protocol-simulate/WebRoot/WEB-INF/classes/java.policy.applet
  15. 0 7
      maxkey-protocols/maxkey-protocol-simulate/WebRoot/WEB-INF/web.xml
  16. BIN
      maxkey-protocols/maxkey-protocol-simulate/WebRoot/desktopSSOApplet_signed.jar
  17. 0 27
      maxkey-protocols/maxkey-protocol-simulate/WebRoot/index.jsp
  18. 0 8
      maxkey-protocols/maxkey-protocol-simulate/build.gradle
  19. 0 2
      maxkey-protocols/maxkey-protocol-simulate/src/META-INF/MANIFEST.MF
  20. 0 6
      maxkey-protocols/maxkey-protocol-simulate/src/NOTICE
  21. 0 68
      maxkey-protocols/maxkey-protocol-simulate/src/com/connsec/desktop/login/DesktopSSOApplet.java
  22. 0 159
      maxkey-protocols/maxkey-protocol-simulate/src/com/connsec/desktop/login/ExeParam.java
  23. 0 92
      maxkey-protocols/maxkey-protocol-simulate/src/com/connsec/desktop/login/ExecuteSimuKey.java
  24. 0 82
      maxkey-protocols/maxkey-protocol-simulate/src/com/connsec/desktop/login/JsonResolve.java
  25. 0 255
      maxkey-protocols/maxkey-protocol-simulate/src/com/connsec/desktop/login/SimulationKeyboard.java
  26. 0 13
      maxkey-protocols/maxkey-protocol-simulate/src/java.policy.applet
  27. 0 147
      maxkey-protocols/maxkey-protocol-simulate/src/org/json/simple/ItemList.java
  28. 0 381
      maxkey-protocols/maxkey-protocol-simulate/src/org/json/simple/JSONArray.java
  29. 0 12
      maxkey-protocols/maxkey-protocol-simulate/src/org/json/simple/JSONAware.java
  30. 0 132
      maxkey-protocols/maxkey-protocol-simulate/src/org/json/simple/JSONObject.java
  31. 0 15
      maxkey-protocols/maxkey-protocol-simulate/src/org/json/simple/JSONStreamAware.java
  32. 0 316
      maxkey-protocols/maxkey-protocol-simulate/src/org/json/simple/JSONValue.java
  33. 0 23
      maxkey-protocols/maxkey-protocol-simulate/src/org/json/simple/parser/ContainerFactory.java
  34. 0 110
      maxkey-protocols/maxkey-protocol-simulate/src/org/json/simple/parser/ContentHandler.java
  35. 0 533
      maxkey-protocols/maxkey-protocol-simulate/src/org/json/simple/parser/JSONParser.java
  36. 0 90
      maxkey-protocols/maxkey-protocol-simulate/src/org/json/simple/parser/ParseException.java
  37. 0 688
      maxkey-protocols/maxkey-protocol-simulate/src/org/json/simple/parser/Yylex.java
  38. 0 58
      maxkey-protocols/maxkey-protocol-simulate/src/org/json/simple/parser/Yytoken.java
  39. 0 30
      maxkey-protocols/maxkey-protocol-simulate/test/com/connsec/desktop/login/TestJson.java
  40. 0 288
      maxkey-protocols/maxkey-protocol-simulate/test/org/json/simple/JSONArrayTest.java
  41. 0 256
      maxkey-protocols/maxkey-protocol-simulate/test/org/json/simple/JSONValueTest.java
  42. 0 391
      maxkey-protocols/maxkey-protocol-simulate/test/org/json/simple/Test.java
  43. 0 80
      maxkey-protocols/maxkey-protocol-simulate/test/org/json/simple/parser/YylexTest.java
  44. 13 3
      maxkey-webs/maxkey-web-maxkey/bin/main/messages/message.properties
  45. 13 3
      maxkey-webs/maxkey-web-maxkey/src/main/resources/messages/message.properties
  46. 16 5
      maxkey-webs/maxkey-web-maxkey/src/main/webapp/WEB-INF/views/passwordExpired.jsp
  47. 26 4
      maxkey-webs/maxkey-web-maxkey/src/main/webapp/WEB-INF/views/passwordInitial.jsp
  48. 14 6
      maxkey-webs/maxkey-web-maxkey/src/main/webapp/WEB-INF/views/timeout.jsp
  49. 0 1
      settings.gradle

+ 2 - 1
maxkey-protocols/maxkey-protocol-authorize/src/main/java/org/maxkey/authz/endpoint/AuthorizeBaseEndpoint.java

@@ -49,9 +49,10 @@ public class AuthorizeBaseEndpoint {
 		return application;
 	}
 	
-	protected Accounts getAppAccounts(Applications application){
+	protected Accounts getAppAccounts(Applications app){
 		Accounts appAccount=new Accounts();
 		UserInfo userInfo=WebContext.getUserInfo();
+		Applications  application= getApplication(app.getId());
 		if(application.getCredential()==Applications.CREDENTIALS.USER_DEFINED){
 			
 			appAccount=accountsService.load(new Accounts(userInfo.getId(),application.getId()));

+ 5 - 2
maxkey-protocols/maxkey-protocol-formbased/src/main/java/org/maxkey/authz/formbased/endpoint/FormBasedAuthorizeEndpoint.java

@@ -11,6 +11,7 @@ import org.maxkey.authz.formbased.endpoint.adapter.FormBasedDefaultAdapter;
 import org.maxkey.constants.BOOLEAN;
 import org.maxkey.dao.service.FormBasedDetailsService;
 import org.maxkey.domain.Accounts;
+import org.maxkey.domain.apps.Applications;
 import org.maxkey.domain.apps.FormBasedDetails;
 import org.maxkey.util.Instance;
 import org.maxkey.web.WebContext;
@@ -41,12 +42,14 @@ public class FormBasedAuthorizeEndpoint  extends AuthorizeBaseEndpoint{
 			@PathVariable("id") String id){
 		FormBasedDetails formBasedDetails=formBasedDetailsService.get(id);
 		_logger.debug(""+formBasedDetails);
-		
+		Applications  application= getApplication(id);
+		formBasedDetails.setAdapter(application.getAdapter());
+		formBasedDetails.setIsAdapter(application.getIsAdapter());
 		ModelAndView modelAndView=null;
 		
 		Accounts appUser=getAppAccounts(formBasedDetails);
 		
-		
+		_logger.debug("Accounts "+appUser);
 		if(appUser	==	null){
 			return generateInitCredentialModelAndView(id,"/authorize/formbased/"+id);
 			

+ 4 - 0
maxkey-protocols/maxkey-protocol-ltpa/src/main/java/org/maxkey/authz/ltpa/endpoint/LtpaAuthorizeEndpoint.java

@@ -13,6 +13,7 @@ import org.maxkey.authz.ltpa.endpoint.adapter.LtpaDefaultAdapter;
 import org.maxkey.config.ApplicationConfig;
 import org.maxkey.constants.BOOLEAN;
 import org.maxkey.dao.service.TokenBasedDetailsService;
+import org.maxkey.domain.apps.Applications;
 import org.maxkey.domain.apps.TokenBasedDetails;
 import org.maxkey.util.Instance;
 import org.maxkey.web.WebContext;
@@ -50,6 +51,9 @@ public class LtpaAuthorizeEndpoint  extends AuthorizeBaseEndpoint{
 		TokenBasedDetails ltpaDetails=tokenBasedDetailsService.get(id);
 		_logger.debug(""+ltpaDetails);
 		String cookieValue="";
+		Applications  application= getApplication(id);
+		ltpaDetails.setAdapter(application.getAdapter());
+		ltpaDetails.setIsAdapter(application.getIsAdapter());
 		
 		AbstractAuthorizeAdapter adapter;
 		

+ 0 - 11
maxkey-protocols/maxkey-protocol-simulate/.classpath

@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8/"/>
-	<classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.web.container"/>
-	<classpathentry kind="con" path="org.eclipse.buildship.core.gradleclasspathcontainer">
-		<attributes>
-			<attribute name="org.eclipse.jst.component.nondependency" value=""/>
-		</attributes>
-	</classpathentry>
-	<classpathentry kind="output" path="bin/default"/>
-</classpath>

+ 0 - 36
maxkey-protocols/maxkey-protocol-simulate/.project

@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>maxkey-protocol-simulate</name>
-	<comment>maxkey-protocol-simulate</comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.wst.common.project.facet.core.builder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.wst.validation.validationbuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.buildship.core.gradleprojectbuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.wst.common.project.facet.core.nature</nature>
-		<nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
-		<nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
-		<nature>org.eclipse.buildship.core.gradleprojectnature</nature>
-	</natures>
-</projectDescription>

+ 0 - 11
maxkey-protocols/maxkey-protocol-simulate/.settings/org.eclipse.buildship.core.prefs

@@ -1,11 +0,0 @@
-build.commands=org.eclipse.jdt.core.javabuilder,org.eclipse.wst.common.project.facet.core.builder,org.eclipse.wst.validation.validationbuilder
-connection.arguments=
-connection.gradle.distribution=GRADLE_DISTRIBUTION(WRAPPER)
-connection.java.home=null
-connection.jvm.arguments=
-connection.project.dir=../..
-containers=org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7/,org.eclipse.jst.j2ee.internal.web.container
-derived.resources=.gradle,build
-eclipse.preferences.version=1
-natures=org.eclipse.jdt.core.javanature,org.eclipse.wst.common.project.facet.core.nature,org.eclipse.wst.common.modulecore.ModuleCoreNature,org.eclipse.jem.workbench.JavaEMFNature
-project.path=\:maxkey-protocols\:maxkey-protocol-simulate

+ 0 - 2
maxkey-protocols/maxkey-protocol-simulate/.settings/org.eclipse.core.resources.prefs

@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8

+ 0 - 6
maxkey-protocols/maxkey-protocol-simulate/.settings/org.eclipse.wst.common.component

@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project-modules id="moduleCoreId" project-version="1.5.0">
-	<wb-module deploy-name="maxkey-protocol-simulate">
-		<property name="context-root" value="maxkey-protocol-simulate"/>
-	</wb-module>
-</project-modules>

+ 0 - 7
maxkey-protocols/maxkey-protocol-simulate/.settings/org.eclipse.wst.common.project.facet.core.xml

@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<faceted-project>
-	<fixed facet="jst.java"/>
-	<fixed facet="jst.web"/>
-	<installed facet="jst.web" version="2.4"/>
-	<installed facet="jst.java" version="1.8"/>
-</faceted-project>

+ 0 - 36
maxkey-protocols/maxkey-protocol-simulate/WebRoot/DesktopSSOApplet.jsp

@@ -1,36 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-	<head>
-		<title>ClientSSOApplet</title>
-
-		<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
-		<meta http-equiv="description" content="this is my page">
-		<meta http-equiv="content-type" content="text/html; charset=UTF-8">
-
-		<!--<link rel="stylesheet" type="text/css" href="./styles.css">-->
-
-	</head>
-<%
-String path = request.getContextPath();
-String basePath = request.getScheme()+"://"+request.getServerName()+path+"/";
-//request.getRequestDispatcher( "/WEB-INF/Test.jsp").forward(request,response);
-%>
-	<body>
-	<%
-		String typeCode="\t\t\t\t\t\t\t\t1046\tse\n";
-		String execPath="{execPath:\"tttt\"}";
-		String type="BOTH";//SIMULATION,PARAMETER,BOTH
-		String encoderParam=(new sun.misc.BASE64Encoder()).encode( execPath.getBytes() );
-	%>
-
-		<applet 
-			class="body" 
-			code="com/connsec/desktop/login/DesktopSSOApplet.class"
-			archive="<%=basePath %>desktopSSOApplet_signed.jar" 
-			width="600" 
-			height="400">
-				<PARAM name="encoderParam" value="<%=encoderParam %>">
-			</applet>
-
-	</body>
-</html>

+ 0 - 3
maxkey-protocols/maxkey-protocol-simulate/WebRoot/META-INF/MANIFEST.MF

@@ -1,3 +0,0 @@
-Manifest-Version: 1.0
-Class-Path: 
-

+ 0 - 2
maxkey-protocols/maxkey-protocol-simulate/WebRoot/WEB-INF/classes/META-INF/MANIFEST.MF

@@ -1,2 +0,0 @@
-Manifest-Version: 1.0
-

+ 0 - 6
maxkey-protocols/maxkey-protocol-simulate/WebRoot/WEB-INF/classes/NOTICE

@@ -1,6 +0,0 @@
-Copyright 2014, ConnSec, Inc.
-This project includes software developed by ConnSec.
-http://www.connsec.com
-
-This project includes:
-  JSON.simple under The Apache Software License, Version 2.0

+ 0 - 13
maxkey-protocols/maxkey-protocol-simulate/WebRoot/WEB-INF/classes/java.policy.applet

@@ -1,13 +0,0 @@
-/* DO NOT EDIT */
-
-grant {
-  	permission java.security.AllPermission;
-	permission java.awt.AWTPermission "createRobot"; 
-	permission java.awt.AWTPermission "accessClipboard"; 
-	permission java.awt.AWTPermission "accessEventQueue"; 
-	permission java.awt.AWTPermission "showWindowWithoutWarningBanner"; 
-	permission java.awt.AWTPermission "readDisplayPixels", "read"; 
-
-	permission java.io.FilePermission "<<ALL FILES>>", "read, write, delete, execute"; 
-};
-

+ 0 - 7
maxkey-protocols/maxkey-protocol-simulate/WebRoot/WEB-INF/web.xml

@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">
-  <display-name></display-name>
-  <welcome-file-list>
-    <welcome-file>index.jsp</welcome-file>
-  </welcome-file-list>
-</web-app>

BIN
maxkey-protocols/maxkey-protocol-simulate/WebRoot/desktopSSOApplet_signed.jar


+ 0 - 27
maxkey-protocols/maxkey-protocol-simulate/WebRoot/index.jsp

@@ -1,27 +0,0 @@
-<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
-<%
-String path = request.getContextPath();
-String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
-//request.getRequestDispatcher( "/WEB-INF/Test.jsp").forward(request,response);
-%>
-
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-  <head>
-    <base href="<%=basePath%>">
-    
-    <title>My JSP 'index.jsp' starting page</title>
-	<meta http-equiv="pragma" content="no-cache">
-	<meta http-equiv="cache-control" content="no-cache">
-	<meta http-equiv="expires" content="0">    
-	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
-	<meta http-equiv="description" content="This is my page">
-	<!--
-	<link rel="stylesheet" type="text/css" href="styles.css">
-	-->
-  </head>
-  
-  <body>
-    This is my JSP page. <br>
-  </body>
-</html>

+ 0 - 8
maxkey-protocols/maxkey-protocol-simulate/build.gradle

@@ -1,8 +0,0 @@
-description = "maxkey-protocol-simulate"
-
-apply plugin: 'war'
-apply plugin: 'eclipse-wtp'
-
-dependencies {
-   
-}

+ 0 - 2
maxkey-protocols/maxkey-protocol-simulate/src/META-INF/MANIFEST.MF

@@ -1,2 +0,0 @@
-Manifest-Version: 1.0
-

+ 0 - 6
maxkey-protocols/maxkey-protocol-simulate/src/NOTICE

@@ -1,6 +0,0 @@
-Copyright 2014, ConnSec, Inc.
-This project includes software developed by ConnSec.
-http://www.connsec.com
-
-This project includes:
-  JSON.simple under The Apache Software License, Version 2.0

+ 0 - 68
maxkey-protocols/maxkey-protocol-simulate/src/com/connsec/desktop/login/DesktopSSOApplet.java

@@ -1,68 +0,0 @@
-package com.connsec.desktop.login;
-
-import javax.swing.JApplet;
-
-
-import javax.swing.JProgressBar;
-import java.io.IOException;
-
-import javax.swing.JTextPane;
-import javax.swing.JLabel;
-
-import sun.misc.BASE64Decoder;
-
-/**
- * @author Crystal.Sea
- *
- */
-public class DesktopSSOApplet extends JApplet {
-	ExecuteSimuKey executeSimuKey;
-	/**
-	 * 
-	 */
-	private static final long serialVersionUID = -8708906696879467549L;
-
-	/**
-	 * Create the applet.
-	 */
-	public DesktopSSOApplet() {
-		getContentPane().setLayout(null);
-		JProgressBar progressBar = new JProgressBar();
-		progressBar.setValue(5);
-		progressBar.setBounds(31, 105, 330, 57);
-		getContentPane().add(progressBar);
-		
-
-		JTextPane textPane = new JTextPane();
-		textPane.setBounds(91, 55, 82, 21);
-		getContentPane().add(textPane);
-		
-		JLabel lblNewLabel = new JLabel("New label");
-		lblNewLabel.setBounds(162, 32, 54, 15);
-		getContentPane().add(lblNewLabel);
-
-	}
-
-	public void init() {
-		// Put your code here
-		String jsonParam=null;
-		String encoderParam=this.getParameter("encoderParam");
-		System.out.println("encoder Param : "+encoderParam);
-		try {
-			byte[] decodeParam=(new BASE64Decoder()).decodeBuffer(encoderParam);
-			jsonParam=new String(decodeParam);
-			System.out.println("json Paramen :"+jsonParam);
-		} catch (IOException e) {
-			e.printStackTrace();
-		}
-		
-		if(jsonParam==null) {
-			System.out.println("json Param can not been null .");
-			return;
-		}
-		executeSimuKey=new ExecuteSimuKey(jsonParam);
-		
-		executeSimuKey.executeAll();
-
-	}
-}

+ 0 - 159
maxkey-protocols/maxkey-protocol-simulate/src/com/connsec/desktop/login/ExeParam.java

@@ -1,159 +0,0 @@
-package com.connsec.desktop.login;
-
-/**
- * @author Crystal.Sea
- *
- */
-public class ExeParam {
-
-	private String programPath;
-	
-	//PARAMETER,SIMULATION
-	private String parameter;
-	
-	private String preUsername;
-	
-	private String usernameType;//PARAMETER,SIMULATION
-	
-	private String usernameParameter;
-	
-	private String username;
-	
-	private String prePassword;
-	
-	private String passwordType;//PARAMETER,SIMULATION
-	
-	private String passwordParameter;
-	
-	private String password;
-	
-	
-	private String preSubmit;
-	//Enter or key
-	private String submitType;
-	
-	private String submitKey;
-
-	public ExeParam() {
-		
-	}
-	
-	
-	public String getProgramPath() {
-		return programPath;
-	}
-
-	public void setProgramPath(String programPath) {
-		this.programPath = programPath;
-	}
-
-	public String getParameter() {
-		return parameter;
-	}
-
-	public void setParameter(String parameter) {
-		this.parameter = parameter;
-	}
-
-	public String getPreUsername() {
-		return preUsername;
-	}
-
-	public void setPreUsername(String preUsername) {
-		this.preUsername = preUsername;
-	}
-
-	public String getUsernameType() {
-		return usernameType;
-	}
-
-	public void setUsernameType(String usernameType) {
-		this.usernameType = usernameType;
-	}
-
-	public String getUsernameParameter() {
-		return usernameParameter;
-	}
-
-	public void setUsernameParameter(String usernameParameter) {
-		this.usernameParameter = usernameParameter;
-	}
-
-	public String getUsername() {
-		return username;
-	}
-
-	public void setUsername(String username) {
-		this.username = username;
-	}
-
-	public String getPrePassword() {
-		return prePassword;
-	}
-
-	public void setPrePassword(String prePassword) {
-		this.prePassword = prePassword;
-	}
-
-	public String getPasswordType() {
-		return passwordType;
-	}
-
-	public void setPasswordType(String passwordType) {
-		this.passwordType = passwordType;
-	}
-
-	public String getPasswordParameter() {
-		return passwordParameter;
-	}
-
-	public void setPasswordParameter(String passwordParameter) {
-		this.passwordParameter = passwordParameter;
-	}
-
-	public String getPassword() {
-		return password;
-	}
-
-	public void setPassword(String password) {
-		this.password = password;
-	}
-
-	public String getPreSubmit() {
-		return preSubmit;
-	}
-
-	public void setPreSubmit(String preSubmit) {
-		this.preSubmit = preSubmit;
-	}
-
-	public String getSubmitType() {
-		return submitType;
-	}
-
-	public void setSubmitType(String submitType) {
-		this.submitType = submitType;
-	}
-
-	public String getSubmitKey() {
-		return submitKey;
-	}
-
-	public void setSubmitKey(String submitKey) {
-		this.submitKey = submitKey;
-	}
-
-	@Override
-	public String toString() {
-		return "ExeParam [programPath=" + programPath + ", parameter="
-				+ parameter + ", preUsername=" + preUsername
-				+ ", usernameType=" + usernameType + ", usernameParameter="
-				+ usernameParameter + ", username=" + username
-				+ ", prePassword=" + prePassword + ", passwordType="
-				+ passwordType + ", passwordParameter=" + passwordParameter
-				+ ", password=" + password + ", preSubmit=" + preSubmit
-				+ ", submitType=" + submitType + ", submitKey=" + submitKey
-				+ "]";
-	}
-	
-}

+ 0 - 92
maxkey-protocols/maxkey-protocol-simulate/src/com/connsec/desktop/login/ExecuteSimuKey.java

@@ -1,92 +0,0 @@
-package com.connsec.desktop.login;
-
-import java.security.AccessController;
-import java.security.PrivilegedAction;
-
-/**
- * @author Crystal.Sea
- *
- */
-public class ExecuteSimuKey {
-	ExeParam exeParam;
-	SimulationKeyboard simulationKeyboard;
-	
-	public ExecuteSimuKey() {
-		
-	}
-	
-	public ExecuteSimuKey(String jsonParam) {
-		simulationKeyboard=new SimulationKeyboard();
-		
-		exeParam=JsonResolve.resolve(jsonParam);
-	}
-	
-	public void executetProgram(){
-		final String execPath=exeParam.getProgramPath()+" " +(exeParam.getParameter()==null?"":exeParam.getParameter());
-		System.out.println(execPath);
-		 AccessController.doPrivileged(new PrivilegedAction<Object>() {
-           public Object run() {
-               try{
-                   Runtime.getRuntime().exec(execPath);
-                   simulationKeyboard.getRobot().delay(8000);
-               }catch (Exception e){
-                   System.out.println("Caught exception in privileged block, Exception:" + e.toString());
-               }
-               return null; // nothing to return
-           }
-       });    
-	}
-	
-	public void simulationUsername(){
-
-		if(exeParam.getUsernameType().equalsIgnoreCase("SIMULATION")) {
-			if(null!=exeParam.getPreUsername()&&!"".equals(exeParam.getPreUsername())){
-				pressKey(exeParam.getPreUsername());
-			}
-			pressKey(exeParam.getUsername());
-		}
-	}
-	
-	public void simulationPassword(){
-		if(exeParam.getPasswordType().equalsIgnoreCase("SIMULATION")) {
-			if(null!=exeParam.getPrePassword()&&!"".equals(exeParam.getPrePassword())){
-				pressKey(exeParam.getPrePassword());
-			}
-			pressKey(exeParam.getPassword());
-		}
-	}
-	
-	public void enterProgram(){
-		if(null!=exeParam.getPreSubmit()&&!"".equals(exeParam.getPreSubmit())){
-			pressKey(exeParam.getPreSubmit());
-		}
-		
-		if("Enter".equalsIgnoreCase(exeParam.getSubmitType())){
-			simulationKeyboard.pressEnter();
-		}else if("Key".equalsIgnoreCase(exeParam.getSubmitType())){
-			if(null==exeParam.getSubmitKey()||"".equals(exeParam.getSubmitKey())){
-				System.out.println("SubmitType is Key , SubmitKey can not be null or empty. ");
-			}
-			simulationKeyboard.pressAltKey(exeParam.getSubmitKey().charAt(0));
-		}
-	}
-	
-	public void executeAll(){
-
-		executetProgram();
-		
-		simulationUsername();
-		
-		simulationPassword();
-		
-		enterProgram();
-	}
-	
-	private void pressKey(String key){
-		char[] pressKeyStr = key.toCharArray();
-		for (int i = 0; i < pressKeyStr.length; i++) {
-			simulationKeyboard.type(pressKeyStr[i]);
-		}
-	}
-
-}

+ 0 - 82
maxkey-protocols/maxkey-protocol-simulate/src/com/connsec/desktop/login/JsonResolve.java

@@ -1,82 +0,0 @@
-package com.connsec.desktop.login;
-
-import org.json.simple.JSONObject;
-import org.json.simple.JSONValue;
-
-
-/**
- * @author Crystal.Sea
- *
- */
-public class JsonResolve {
-
-	public static  ExeParam resolve(String json) {
-		
-		ExeParam exeParam=new ExeParam();
-		if(null!=json){
-			Object parseObj=JSONValue.parse(json);
-			JSONObject jsonObj=(JSONObject)parseObj;
-			//program Execute physical  Path
-			if(null!=jsonObj.get("programPath")){
-				exeParam.setProgramPath(jsonObj.get("programPath").toString());
-				System.out.println("programPath :  "+jsonObj.get("programPath").toString());
-			}
-			
-			//parameter
-			if(null!=jsonObj.get("parameter")){
-				exeParam.setParameter(jsonObj.get("parameter").toString());
-				System.out.println("parameter :  "+jsonObj.get("parameter").toString());
-			}
-			
-			if(null!=jsonObj.get("preUsername")){
-				exeParam.setPreUsername("submitKey :  "+jsonObj.get("preUsername").toString());
-			}
-			if(null!=jsonObj.get("usernameType")){
-				exeParam.setUsernameType(jsonObj.get("usernameType").toString());
-				System.out.println("usernameType :  "+jsonObj.get("usernameType").toString());
-			}
-			if(null!=jsonObj.get("usernameParameter")){
-				exeParam.setUsernameParameter(jsonObj.get("usernameParameter").toString());
-				System.out.println("usernameParameter :  "+jsonObj.get("usernameParameter").toString());
-			}
-			//username
-			if(null!=jsonObj.get("username")){
-				exeParam.setUsername(jsonObj.get("username").toString());
-				System.out.println("username :  "+jsonObj.get("username").toString());
-			}
-			
-			//password
-			if(null!=jsonObj.get("prePassword")){
-				exeParam.setPrePassword("submitKey :  "+jsonObj.get("prePassword").toString());
-			}
-			if(null!=jsonObj.get("passwordType")){
-				exeParam.setPasswordType(jsonObj.get("passwordType").toString());
-				System.out.println("passwordType :  "+jsonObj.get("passwordType").toString());
-			}
-			if(null!=jsonObj.get("passwordParameter")){
-				exeParam.setPasswordParameter(jsonObj.get("passwordParameter").toString());
-				System.out.println("passwordParameter :  "+jsonObj.get("passwordParameter").toString());
-			}
-			if(null!=jsonObj.get("password")){
-				exeParam.setPassword(jsonObj.get("password").toString());
-				System.out.println("password :  ******");
-			}
-			//submit
-			if(null!=jsonObj.get("preSubmit")){
-				exeParam.setPreSubmit(jsonObj.get("preSubmit").toString());
-				System.out.println("preSubmit :  "+jsonObj.get("preSubmit").toString());
-			}
-			if(null!=jsonObj.get("submitType")){
-				exeParam.setSubmitType(jsonObj.get("submitType").toString());
-				System.out.println("submitType :  "+jsonObj.get("submitType").toString());
-			}
-			if(null!=jsonObj.get("submitKey")){
-				exeParam.setSubmitKey(jsonObj.get("submitKey").toString());
-				System.out.println("submitKey :  "+jsonObj.get("submitKey").toString());
-			}
-		}
-		
-		return exeParam;
-		
-	}
-}

+ 0 - 255
maxkey-protocols/maxkey-protocol-simulate/src/com/connsec/desktop/login/SimulationKeyboard.java

@@ -1,255 +0,0 @@
-package com.connsec.desktop.login;
-
-
-import java.awt.AWTException;
-import java.awt.Robot;
-import java.awt.event.KeyEvent;
-
-/**
- * @author Crystal.Sea
- *
- */
-public class SimulationKeyboard {
-	//用于控制鼠标和键盘
-	private Robot robot;
-
-	public SimulationKeyboard() {
-		try {
-			this.robot = new Robot();
-			// delay 2 min
-			robot.delay(2000);
-		} catch (AWTException e) {
-			e.printStackTrace();
-		}
-	}
-	
-	public SimulationKeyboard(Robot robot) {
-		this.robot = robot;
-	}
-	
-	
-	public  void pressKey(int keyvalue) {
-		robot.keyPress(keyvalue); 
-		robot.keyRelease(keyvalue); 
-	}
-
-	public  void pressKeyWithCapsLock(int keyvalue) {
-		// CapsLock
-		robot.keyPress(KeyEvent.VK_CAPS_LOCK);
-		robot.keyRelease(KeyEvent.VK_CAPS_LOCK);
-		// input Char
-		robot.keyPress(keyvalue);
-		robot.keyRelease(keyvalue);
-
-		// release CapsLock
-		robot.keyPress(KeyEvent.VK_CAPS_LOCK);
-		robot.keyRelease(KeyEvent.VK_CAPS_LOCK);
-
-	}
-
-	public  void pressKeyWithShift( int keyvalue) {
-		// Shift
-		robot.keyPress(KeyEvent.VK_SHIFT);
-		// input Char
-		robot.keyPress(keyvalue);
-		robot.keyRelease(keyvalue);
-
-		// release Shift
-		robot.keyRelease(KeyEvent.VK_SHIFT);
-
-	}
-	
-	public  void pressKeyWithAlt( int keyvalue) {
-		// Alt
-		robot.keyPress(KeyEvent.VK_ALT);
-		// input Char
-		robot.keyPress(keyvalue);
-		robot.keyRelease(keyvalue);
-
-		// release Alt
-		robot.keyRelease(KeyEvent.VK_ALT);
-
-	}
-	
-	public  void pressEnter() {
-		robot.delay(2000);
-		pressKey(KeyEvent.VK_ENTER);
-	}
-	
-	
-	public void pressAltKey(char character){
-		switch (character) {
-	        case 'a'	:	pressKeyWithAlt(KeyEvent.VK_A); break;
-	        case 'b'	:	pressKeyWithAlt(KeyEvent.VK_B); break;
-	        case 'c'	:	pressKeyWithAlt(KeyEvent.VK_C); break;
-	        case 'd'	:	pressKeyWithAlt(KeyEvent.VK_D); break;
-	        case 'e'	:	pressKeyWithAlt(KeyEvent.VK_E); break;
-	        case 'f'	:	pressKeyWithAlt(KeyEvent.VK_F); break;
-	        case 'g'	:	pressKeyWithAlt(KeyEvent.VK_G); break;
-	        case 'h'	:	pressKeyWithAlt(KeyEvent.VK_H); break;
-	        case 'i'	:	pressKeyWithAlt(KeyEvent.VK_I); break;
-	        case 'j'	:	pressKeyWithAlt(KeyEvent.VK_J); break;
-	        case 'k'	:	pressKeyWithAlt(KeyEvent.VK_K); break;
-	        case 'l'	:	pressKeyWithAlt(KeyEvent.VK_L); break;
-	        case 'm'	:	pressKeyWithAlt(KeyEvent.VK_M); break;
-	        case 'n'	:	pressKeyWithAlt(KeyEvent.VK_N); break;
-	        case 'o'	:	pressKeyWithAlt(KeyEvent.VK_O); break;
-	        case 'p'	:	pressKeyWithAlt(KeyEvent.VK_P); break;
-	        case 'q'	:	pressKeyWithAlt(KeyEvent.VK_Q); break;
-	        case 'r'	:	pressKeyWithAlt(KeyEvent.VK_R); break;
-	        case 's'	:	pressKeyWithAlt(KeyEvent.VK_S); break;
-	        case 't'	:	pressKeyWithAlt(KeyEvent.VK_T); break;
-	        case 'u'	:	pressKeyWithAlt(KeyEvent.VK_U); break;
-	        case 'v'	:	pressKeyWithAlt(KeyEvent.VK_V); break;
-	        case 'w'	:	pressKeyWithAlt(KeyEvent.VK_W); break;
-	        case 'x'	:	pressKeyWithAlt(KeyEvent.VK_X); break;
-	        case 'y'	:	pressKeyWithAlt(KeyEvent.VK_Y); break;
-	        case 'z'	:	pressKeyWithAlt(KeyEvent.VK_Z); break;
-	        
-	        case 'A'	:	pressKeyWithAlt( KeyEvent.VK_A); break;
-	        case 'B'	:	pressKeyWithAlt( KeyEvent.VK_B); break;
-	        case 'C'	:	pressKeyWithAlt( KeyEvent.VK_C); break;
-	        case 'D'	:	pressKeyWithAlt( KeyEvent.VK_D); break;
-	        case 'E'	:	pressKeyWithAlt( KeyEvent.VK_E); break;
-	        case 'F'	:	pressKeyWithAlt( KeyEvent.VK_F); break;
-	        case 'G'	:	pressKeyWithAlt( KeyEvent.VK_G); break;
-	        case 'H'	:	pressKeyWithAlt( KeyEvent.VK_H); break;
-	        case 'I'	:	pressKeyWithAlt( KeyEvent.VK_I); break;
-	        case 'J'	:	pressKeyWithAlt( KeyEvent.VK_J); break;
-	        case 'K'	:	pressKeyWithAlt( KeyEvent.VK_K); break;
-	        case 'L'	:	pressKeyWithAlt( KeyEvent.VK_L); break;
-	        case 'M'	:	pressKeyWithAlt( KeyEvent.VK_M); break;
-	        case 'N'	:	pressKeyWithAlt( KeyEvent.VK_N); break;
-	        case 'O'	:	pressKeyWithAlt( KeyEvent.VK_O); break;
-	        case 'P'	:	pressKeyWithAlt( KeyEvent.VK_P); break;
-	        case 'Q'	:	pressKeyWithAlt( KeyEvent.VK_Q); break;
-	        case 'R'	:	pressKeyWithAlt( KeyEvent.VK_R); break;
-	        case 'S'	:	pressKeyWithAlt( KeyEvent.VK_S); break;
-	        case 'T'	:	pressKeyWithAlt( KeyEvent.VK_T); break;
-	        case 'U'	:	pressKeyWithAlt( KeyEvent.VK_U); break;
-	        case 'V'	:	pressKeyWithAlt( KeyEvent.VK_V); break;
-	        case 'W'	:	pressKeyWithAlt( KeyEvent.VK_W); break;
-	        case 'X'	:	pressKeyWithAlt( KeyEvent.VK_X); break;
-	        case 'Y'	:	pressKeyWithAlt( KeyEvent.VK_Y); break;
-	        case 'Z'	:	pressKeyWithAlt( KeyEvent.VK_Z); break;
-		}
-	}
-	
-	
-    public void type(char character) {
-        switch (character) {
-	        case 'a'	:	pressKey(KeyEvent.VK_A); break;
-	        case 'b'	:	pressKey(KeyEvent.VK_B); break;
-	        case 'c'	:	pressKey(KeyEvent.VK_C); break;
-	        case 'd'	:	pressKey(KeyEvent.VK_D); break;
-	        case 'e'	:	pressKey(KeyEvent.VK_E); break;
-	        case 'f'	:	pressKey(KeyEvent.VK_F); break;
-	        case 'g'	:	pressKey(KeyEvent.VK_G); break;
-	        case 'h'	:	pressKey(KeyEvent.VK_H); break;
-	        case 'i'	:	pressKey(KeyEvent.VK_I); break;
-	        case 'j'	:	pressKey(KeyEvent.VK_J); break;
-	        case 'k'	:	pressKey(KeyEvent.VK_K); break;
-	        case 'l'	:	pressKey(KeyEvent.VK_L); break;
-	        case 'm'	:	pressKey(KeyEvent.VK_M); break;
-	        case 'n'	:	pressKey(KeyEvent.VK_N); break;
-	        case 'o'	:	pressKey(KeyEvent.VK_O); break;
-	        case 'p'	:	pressKey(KeyEvent.VK_P); break;
-	        case 'q'	:	pressKey(KeyEvent.VK_Q); break;
-	        case 'r'	:	pressKey(KeyEvent.VK_R); break;
-	        case 's'	:	pressKey(KeyEvent.VK_S); break;
-	        case 't'	:	pressKey(KeyEvent.VK_T); break;
-	        case 'u'	:	pressKey(KeyEvent.VK_U); break;
-	        case 'v'	:	pressKey(KeyEvent.VK_V); break;
-	        case 'w'	:	pressKey(KeyEvent.VK_W); break;
-	        case 'x'	:	pressKey(KeyEvent.VK_X); break;
-	        case 'y'	:	pressKey(KeyEvent.VK_Y); break;
-	        case 'z'	:	pressKey(KeyEvent.VK_Z); break;
-	        
-	        case 'A'	:	pressKeyWithCapsLock( KeyEvent.VK_A); break;
-	        case 'B'	:	pressKeyWithCapsLock( KeyEvent.VK_B); break;
-	        case 'C'	:	pressKeyWithCapsLock( KeyEvent.VK_C); break;
-	        case 'D'	:	pressKeyWithCapsLock( KeyEvent.VK_D); break;
-	        case 'E'	:	pressKeyWithCapsLock( KeyEvent.VK_E); break;
-	        case 'F'	:	pressKeyWithCapsLock( KeyEvent.VK_F); break;
-	        case 'G'	:	pressKeyWithCapsLock( KeyEvent.VK_G); break;
-	        case 'H'	:	pressKeyWithCapsLock( KeyEvent.VK_H); break;
-	        case 'I'	:	pressKeyWithCapsLock( KeyEvent.VK_I); break;
-	        case 'J'	:	pressKeyWithCapsLock( KeyEvent.VK_J); break;
-	        case 'K'	:	pressKeyWithCapsLock( KeyEvent.VK_K); break;
-	        case 'L'	:	pressKeyWithCapsLock( KeyEvent.VK_L); break;
-	        case 'M'	:	pressKeyWithCapsLock( KeyEvent.VK_M); break;
-	        case 'N'	:	pressKeyWithCapsLock( KeyEvent.VK_N); break;
-	        case 'O'	:	pressKeyWithCapsLock( KeyEvent.VK_O); break;
-	        case 'P'	:	pressKeyWithCapsLock( KeyEvent.VK_P); break;
-	        case 'Q'	:	pressKeyWithCapsLock( KeyEvent.VK_Q); break;
-	        case 'R'	:	pressKeyWithCapsLock( KeyEvent.VK_R); break;
-	        case 'S'	:	pressKeyWithCapsLock( KeyEvent.VK_S); break;
-	        case 'T'	:	pressKeyWithCapsLock( KeyEvent.VK_T); break;
-	        case 'U'	:	pressKeyWithCapsLock( KeyEvent.VK_U); break;
-	        case 'V'	:	pressKeyWithCapsLock( KeyEvent.VK_V); break;
-	        case 'W'	:	pressKeyWithCapsLock( KeyEvent.VK_W); break;
-	        case 'X'	:	pressKeyWithCapsLock( KeyEvent.VK_X); break;
-	        case 'Y'	:	pressKeyWithCapsLock( KeyEvent.VK_Y); break;
-	        case 'Z'	:	pressKeyWithCapsLock( KeyEvent.VK_Z); break;
-	        
-	        case '`'	:	pressKey(KeyEvent.VK_BACK_QUOTE); break;
-	        case '0'	:	pressKey(KeyEvent.VK_0); break;
-	        case '1'	:	pressKey(KeyEvent.VK_1); break;
-	        case '2'	:	pressKey(KeyEvent.VK_2); break;
-	        case '3'	:	pressKey(KeyEvent.VK_3); break;
-	        case '4'	:	pressKey(KeyEvent.VK_4); break;
-	        case '5'	:	pressKey(KeyEvent.VK_5); break;
-	        case '6'	:	pressKey(KeyEvent.VK_6); break;
-	        case '7'	:	pressKey(KeyEvent.VK_7); break;
-	        case '8'	:	pressKey(KeyEvent.VK_8); break;
-	        case '9'	:	pressKey(KeyEvent.VK_9); break;
-	        case '-'	:	pressKey(KeyEvent.VK_MINUS); break;
-	        case '='	:	pressKey(KeyEvent.VK_EQUALS); break;
-	        
-	        case '~'	:	pressKeyWithShift(KeyEvent.VK_BACK_QUOTE); break;
-	        case '!'	:	pressKeyWithShift(KeyEvent.VK_1); break;
-	        case '@'	:	pressKeyWithShift(KeyEvent.VK_2); break;
-	        case '#'	:	pressKeyWithShift(KeyEvent.VK_3); break;
-	        case '$'	:	pressKeyWithShift(KeyEvent.VK_4); break;
-	        case '%'	:	pressKeyWithShift(KeyEvent.VK_5); break;
-	        case '^'	:	pressKeyWithShift(KeyEvent.VK_6); break;
-	        case '&'	:	pressKeyWithShift(KeyEvent.VK_7); break;
-	        case '*'	:	pressKeyWithShift(KeyEvent.VK_8); break;
-	        case '('	:	pressKeyWithShift(KeyEvent.VK_9); break;
-	        case ')'	:	pressKeyWithShift(KeyEvent.VK_0); break;
-	        case '_'	:	pressKeyWithShift(KeyEvent.VK_MINUS ); break;
-	        case '+'	:	pressKeyWithShift(KeyEvent.VK_EQUALS); break;
-	        
-	        case '['	:	pressKey(KeyEvent.VK_OPEN_BRACKET); break;
-	        case ']'	:	pressKey(KeyEvent.VK_CLOSE_BRACKET); break;
-	        case '\\'	:	pressKey(KeyEvent.VK_BACK_SLASH); break;
-	        case '{'	:	pressKeyWithShift( KeyEvent.VK_OPEN_BRACKET); break;
-	        case '}'	:	pressKeyWithShift(KeyEvent.VK_CLOSE_BRACKET); break;
-	        case '|'	:	pressKeyWithShift( KeyEvent.VK_BACK_SLASH); break;
-	        
-	        case ';'	:	pressKey(KeyEvent.VK_SEMICOLON); break;
-	        case ':'	:	pressKeyWithShift(KeyEvent.VK_SEMICOLON); break;
-	        case '\''	:	pressKey(KeyEvent.VK_QUOTE); break;
-	        case '"'	:	pressKeyWithShift(KeyEvent.VK_QUOTE); break;
-	       
-	        case ','	:	pressKey(KeyEvent.VK_COMMA); break;
-	        case '<'	:	pressKeyWithShift(KeyEvent.VK_COMMA); break;
-	        case '.'	:	pressKey(KeyEvent.VK_PERIOD); break;
-	        case '>'	:	pressKeyWithShift(KeyEvent.VK_PERIOD); break;
-	        case '/'	:	pressKey(KeyEvent.VK_SLASH); break;
-	        case '?'	:	pressKeyWithShift(KeyEvent.VK_SLASH); break;
-	        
-	        case ' '	:	pressKey(KeyEvent.VK_SPACE); break;
-	        
-	        case '\t'	:	pressKey(KeyEvent.VK_TAB); break;
-	        case '\n'	:	robot.delay(2000);pressKey(KeyEvent.VK_ENTER); break;
-	        default:
-                throw new IllegalArgumentException("Cannot type character " + character);
-        }
-    }
-
-	public Robot getRobot() {
-		return robot;
-	}
-    
-}

+ 0 - 13
maxkey-protocols/maxkey-protocol-simulate/src/java.policy.applet

@@ -1,13 +0,0 @@
-/* DO NOT EDIT */
-
-grant {
-  	permission java.security.AllPermission;
-	permission java.awt.AWTPermission "createRobot"; 
-	permission java.awt.AWTPermission "accessClipboard"; 
-	permission java.awt.AWTPermission "accessEventQueue"; 
-	permission java.awt.AWTPermission "showWindowWithoutWarningBanner"; 
-	permission java.awt.AWTPermission "readDisplayPixels", "read"; 
-
-	permission java.io.FilePermission "<<ALL FILES>>", "read, write, delete, execute"; 
-};
-

+ 0 - 147
maxkey-protocols/maxkey-protocol-simulate/src/org/json/simple/ItemList.java

@@ -1,147 +0,0 @@
-/*
- * $Id: ItemList.java,v 1.1 2006/04/15 14:10:48 platform Exp $
- * Created on 2006-3-24
- */
-package org.json.simple;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.StringTokenizer;
-
-/**
- * |a:b:c| => |a|,|b|,|c|
- * |:| => ||,||
- * |a:| => |a|,||
- * @author FangYidong<fangyidong@yahoo.com.cn>
- */
-public class ItemList {
-        private String sp=",";
-        List items=new ArrayList();
-        
-        
-        public ItemList(){}
-        
-        
-        public ItemList(String s){
-                this.split(s,sp,items);
-        }
-        
-        public ItemList(String s,String sp){
-                this.sp=s;
-                this.split(s,sp,items);
-        }
-        
-        public ItemList(String s,String sp,boolean isMultiToken){
-                split(s,sp,items,isMultiToken);
-        }
-        
-        public List getItems(){
-                return this.items;
-        }
-        
-        public String[] getArray(){
-                return (String[])this.items.toArray();
-        }
-        
-        public void split(String s,String sp,List append,boolean isMultiToken){
-                if(s==null || sp==null)
-                        return;
-                if(isMultiToken){
-                        StringTokenizer tokens=new StringTokenizer(s,sp);
-                        while(tokens.hasMoreTokens()){
-                                append.add(tokens.nextToken().trim());
-                        }
-                }
-                else{
-                        this.split(s,sp,append);
-                }
-        }
-        
-        public void split(String s,String sp,List append){
-                if(s==null || sp==null)
-                        return;
-                int pos=0;
-                int prevPos=0;
-                do{
-                        prevPos=pos;
-                        pos=s.indexOf(sp,pos);
-                        if(pos==-1)
-                                break;
-                        append.add(s.substring(prevPos,pos).trim());
-                        pos+=sp.length();
-                }while(pos!=-1);
-                append.add(s.substring(prevPos).trim());
-        }
-        
-        public void setSP(String sp){
-                this.sp=sp;
-        }
-        
-        public void add(int i,String item){
-                if(item==null)
-                        return;
-                items.add(i,item.trim());
-        }
-
-        public void add(String item){
-                if(item==null)
-                        return;
-                items.add(item.trim());
-        }
-        
-        public void addAll(ItemList list){
-                items.addAll(list.items);
-        }
-        
-        public void addAll(String s){
-                this.split(s,sp,items);
-        }
-        
-        public void addAll(String s,String sp){
-                this.split(s,sp,items);
-        }
-        
-        public void addAll(String s,String sp,boolean isMultiToken){
-                this.split(s,sp,items,isMultiToken);
-        }
-        
-        /**
-         * @param i 0-based
-         * @return
-         */
-        public String get(int i){
-                return (String)items.get(i);
-        }
-        
-        public int size(){
-                return items.size();
-        }
-
-        public String toString(){
-                return toString(sp);
-        }
-        
-        public String toString(String sp){
-                StringBuffer sb=new StringBuffer();
-                
-                for(int i=0;i<items.size();i++){
-                        if(i==0)
-                                sb.append(items.get(i));
-                        else{
-                                sb.append(sp);
-                                sb.append(items.get(i));
-                        }
-                }
-                return sb.toString();
-
-        }
-        
-        public void clear(){
-                items.clear();
-        }
-        
-        public void reset(){
-                sp=",";
-                items.clear();
-        }
-}

+ 0 - 381
maxkey-protocols/maxkey-protocol-simulate/src/org/json/simple/JSONArray.java

@@ -1,381 +0,0 @@
-/*
- * $Id: JSONArray.java,v 1.1 2006/04/15 14:10:48 platform Exp $
- * Created on 2006-4-10
- */
-package org.json.simple;
-
-import java.io.IOException;
-import java.io.StringWriter;
-import java.io.Writer;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Iterator;
-
-/**
- * A JSON array. JSONObject supports java.util.List interface.
- * 
- * @author FangYidong<fangyidong@yahoo.com.cn>
- */
-public class JSONArray extends ArrayList implements JSONAware, JSONStreamAware {
-        private static final long serialVersionUID = 3957988303675231981L;
-        
-        /**
-         * Constructs an empty JSONArray.
-         */
-        public JSONArray(){
-                super();
-        }
-        
-        /**
-         * Constructs a JSONArray containing the elements of the specified
-         * collection, in the order they are returned by the collection's iterator.
-         * 
-         * @param c the collection whose elements are to be placed into this JSONArray
-         */
-        public JSONArray(Collection c){
-                super(c);
-        }
-        
-    /**
-     * Encode a list into JSON text and write it to out. 
-     * If this list is also a JSONStreamAware or a JSONAware, JSONStreamAware and JSONAware specific behaviours will be ignored at this top level.
-     * 
-     * @see org.json.simple.JSONValue#writeJSONString(Object, Writer)
-     * 
-     * @param collection
-     * @param out
-     */
-        public static void writeJSONString(Collection collection, Writer out) throws IOException{
-                if(collection == null){
-                        out.write("null");
-                        return;
-                }
-                
-                boolean first = true;
-                Iterator iter=collection.iterator();
-                
-        out.write('[');
-                while(iter.hasNext()){
-            if(first)
-                first = false;
-            else
-                out.write(',');
-            
-                        Object value=iter.next();
-                        if(value == null){
-                                out.write("null");
-                                continue;
-                        }
-                        
-                        JSONValue.writeJSONString(value, out);
-                }
-                out.write(']');
-        }
-        
-        public void writeJSONString(Writer out) throws IOException{
-                writeJSONString(this, out);
-        }
-        
-        /**
-         * Convert a list to JSON text. The result is a JSON array. 
-         * If this list is also a JSONAware, JSONAware specific behaviours will be omitted at this top level.
-         * 
-         * @see org.json.simple.JSONValue#toJSONString(Object)
-         * 
-         * @param collection
-         * @return JSON text, or "null" if list is null.
-         */
-        public static String toJSONString(Collection collection){
-                final StringWriter writer = new StringWriter();
-                
-                try {
-                        writeJSONString(collection, writer);
-                        return writer.toString();
-                } catch(IOException e){
-                        // This should never happen for a StringWriter
-                        throw new RuntimeException(e);
-                }
-        }
-
-        public static void writeJSONString(byte[] array, Writer out) throws IOException{
-                if(array == null){
-                        out.write("null");
-                } else if(array.length == 0) {
-                        out.write("[]");
-                } else {
-                        out.write("[");
-                        out.write(String.valueOf(array[0]));
-                        
-                        for(int i = 1; i < array.length; i++){
-                                out.write(",");
-                                out.write(String.valueOf(array[i]));
-                        }
-                        
-                        out.write("]");
-                }
-        }
-        
-        public static String toJSONString(byte[] array){
-                final StringWriter writer = new StringWriter();
-                
-                try {
-                        writeJSONString(array, writer);
-                        return writer.toString();
-                } catch(IOException e){
-                        // This should never happen for a StringWriter
-                        throw new RuntimeException(e);
-                }
-        }
-        
-        public static void writeJSONString(short[] array, Writer out) throws IOException{
-                if(array == null){
-                        out.write("null");
-                } else if(array.length == 0) {
-                        out.write("[]");
-                } else {
-                        out.write("[");
-                        out.write(String.valueOf(array[0]));
-                        
-                        for(int i = 1; i < array.length; i++){
-                                out.write(",");
-                                out.write(String.valueOf(array[i]));
-                        }
-                        
-                        out.write("]");
-                }
-        }
-        
-        public static String toJSONString(short[] array){
-                final StringWriter writer = new StringWriter();
-                
-                try {
-                        writeJSONString(array, writer);
-                        return writer.toString();
-                } catch(IOException e){
-                        // This should never happen for a StringWriter
-                        throw new RuntimeException(e);
-                }
-        }
-        
-        public static void writeJSONString(int[] array, Writer out) throws IOException{
-                if(array == null){
-                        out.write("null");
-                } else if(array.length == 0) {
-                        out.write("[]");
-                } else {
-                        out.write("[");
-                        out.write(String.valueOf(array[0]));
-                        
-                        for(int i = 1; i < array.length; i++){
-                                out.write(",");
-                                out.write(String.valueOf(array[i]));
-                        }
-                        
-                        out.write("]");
-                }
-        }
-        
-        public static String toJSONString(int[] array){
-                final StringWriter writer = new StringWriter();
-                
-                try {
-                        writeJSONString(array, writer);
-                        return writer.toString();
-                } catch(IOException e){
-                        // This should never happen for a StringWriter
-                        throw new RuntimeException(e);
-                }
-        }
-        
-        public static void writeJSONString(long[] array, Writer out) throws IOException{
-                if(array == null){
-                        out.write("null");
-                } else if(array.length == 0) {
-                        out.write("[]");
-                } else {
-                        out.write("[");
-                        out.write(String.valueOf(array[0]));
-                        
-                        for(int i = 1; i < array.length; i++){
-                                out.write(",");
-                                out.write(String.valueOf(array[i]));
-                        }
-                        
-                        out.write("]");
-                }
-        }
-        
-        public static String toJSONString(long[] array){
-                final StringWriter writer = new StringWriter();
-                
-                try {
-                        writeJSONString(array, writer);
-                        return writer.toString();
-                } catch(IOException e){
-                        // This should never happen for a StringWriter
-                        throw new RuntimeException(e);
-                }
-        }
-        
-        public static void writeJSONString(float[] array, Writer out) throws IOException{
-                if(array == null){
-                        out.write("null");
-                } else if(array.length == 0) {
-                        out.write("[]");
-                } else {
-                        out.write("[");
-                        out.write(String.valueOf(array[0]));
-                        
-                        for(int i = 1; i < array.length; i++){
-                                out.write(",");
-                                out.write(String.valueOf(array[i]));
-                        }
-                        
-                        out.write("]");
-                }
-        }
-        
-        public static String toJSONString(float[] array){
-                final StringWriter writer = new StringWriter();
-                
-                try {
-                        writeJSONString(array, writer);
-                        return writer.toString();
-                } catch(IOException e){
-                        // This should never happen for a StringWriter
-                        throw new RuntimeException(e);
-                }
-        }
-        
-        public static void writeJSONString(double[] array, Writer out) throws IOException{
-                if(array == null){
-                        out.write("null");
-                } else if(array.length == 0) {
-                        out.write("[]");
-                } else {
-                        out.write("[");
-                        out.write(String.valueOf(array[0]));
-                        
-                        for(int i = 1; i < array.length; i++){
-                                out.write(",");
-                                out.write(String.valueOf(array[i]));
-                        }
-                        
-                        out.write("]");
-                }
-        }
-        
-        public static String toJSONString(double[] array){
-                final StringWriter writer = new StringWriter();
-                
-                try {
-                        writeJSONString(array, writer);
-                        return writer.toString();
-                } catch(IOException e){
-                        // This should never happen for a StringWriter
-                        throw new RuntimeException(e);
-                }
-        }
-        
-        public static void writeJSONString(boolean[] array, Writer out) throws IOException{
-                if(array == null){
-                        out.write("null");
-                } else if(array.length == 0) {
-                        out.write("[]");
-                } else {
-                        out.write("[");
-                        out.write(String.valueOf(array[0]));
-                        
-                        for(int i = 1; i < array.length; i++){
-                                out.write(",");
-                                out.write(String.valueOf(array[i]));
-                        }
-                        
-                        out.write("]");
-                }
-        }
-        
-        public static String toJSONString(boolean[] array){
-                final StringWriter writer = new StringWriter();
-                
-                try {
-                        writeJSONString(array, writer);
-                        return writer.toString();
-                } catch(IOException e){
-                        // This should never happen for a StringWriter
-                        throw new RuntimeException(e);
-                }
-        }
-        
-        public static void writeJSONString(char[] array, Writer out) throws IOException{
-                if(array == null){
-                        out.write("null");
-                } else if(array.length == 0) {
-                        out.write("[]");
-                } else {
-                        out.write("[\"");
-                        out.write(String.valueOf(array[0]));
-                        
-                        for(int i = 1; i < array.length; i++){
-                                out.write("\",\"");
-                                out.write(String.valueOf(array[i]));
-                        }
-                        
-                        out.write("\"]");
-                }
-        }
-        
-        public static String toJSONString(char[] array){
-                final StringWriter writer = new StringWriter();
-                
-                try {
-                        writeJSONString(array, writer);
-                        return writer.toString();
-                } catch(IOException e){
-                        // This should never happen for a StringWriter
-                        throw new RuntimeException(e);
-                }
-        }
-        
-        public static void writeJSONString(Object[] array, Writer out) throws IOException{
-                if(array == null){
-                        out.write("null");
-                } else if(array.length == 0) {
-                        out.write("[]");
-                } else {
-                        out.write("[");
-                        JSONValue.writeJSONString(array[0], out);
-                        
-                        for(int i = 1; i < array.length; i++){
-                                out.write(",");
-                                JSONValue.writeJSONString(array[i], out);
-                        }
-                        
-                        out.write("]");
-                }
-        }
-        
-        public static String toJSONString(Object[] array){
-                final StringWriter writer = new StringWriter();
-                
-                try {
-                        writeJSONString(array, writer);
-                        return writer.toString();
-                } catch(IOException e){
-                        // This should never happen for a StringWriter
-                        throw new RuntimeException(e);
-                }
-        }
-        
-        public String toJSONString(){
-                return toJSONString(this);
-        }
-
-        /**
-         * Returns a string representation of this array. This is equivalent to
-         * calling {@link JSONArray#toJSONString()}.
-         */
-        public String toString() {
-                return toJSONString();
-        }
-}

+ 0 - 12
maxkey-protocols/maxkey-protocol-simulate/src/org/json/simple/JSONAware.java

@@ -1,12 +0,0 @@
-package org.json.simple;
-
-/**
- * Beans that support customized output of JSON text shall implement this interface.  
- * @author FangYidong<fangyidong@yahoo.com.cn>
- */
-public interface JSONAware {
-        /**
-         * @return JSON text
-         */
-        String toJSONString();
-}

+ 0 - 132
maxkey-protocols/maxkey-protocol-simulate/src/org/json/simple/JSONObject.java

@@ -1,132 +0,0 @@
-/*
- * $Id: JSONObject.java,v 1.1 2006/04/15 14:10:48 platform Exp $
- * Created on 2006-4-10
- */
-package org.json.simple;
-
-import java.io.IOException;
-import java.io.StringWriter;
-import java.io.Writer;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
-/**
- * A JSON object. Key value pairs are unordered. JSONObject supports java.util.Map interface.
- * 
- * @author FangYidong<fangyidong@yahoo.com.cn>
- */
-public class JSONObject extends HashMap implements Map, JSONAware, JSONStreamAware{
-        
-        private static final long serialVersionUID = -503443796854799292L;
-        
-        
-        public JSONObject() {
-                super();
-        }
-
-        /**
-         * Allows creation of a JSONObject from a Map. After that, both the
-         * generated JSONObject and the Map can be modified independently.
-         * 
-         * @param map
-         */
-        public JSONObject(Map map) {
-                super(map);
-        }
-
-
-    /**
-     * Encode a map into JSON text and write it to out.
-     * If this map is also a JSONAware or JSONStreamAware, JSONAware or JSONStreamAware specific behaviours will be ignored at this top level.
-     * 
-     * @see org.json.simple.JSONValue#writeJSONString(Object, Writer)
-     * 
-     * @param map
-     * @param out
-     */
-        public static void writeJSONString(Map map, Writer out) throws IOException {
-                if(map == null){
-                        out.write("null");
-                        return;
-                }
-                
-                boolean first = true;
-                Iterator iter=map.entrySet().iterator();
-                
-        out.write('{');
-                while(iter.hasNext()){
-            if(first)
-                first = false;
-            else
-                out.write(',');
-                        Map.Entry entry=(Map.Entry)iter.next();
-            out.write('\"');
-            out.write(escape(String.valueOf(entry.getKey())));
-            out.write('\"');
-            out.write(':');
-                        JSONValue.writeJSONString(entry.getValue(), out);
-                }
-                out.write('}');
-        }
-
-        public void writeJSONString(Writer out) throws IOException{
-                writeJSONString(this, out);
-        }
-        
-        /**
-         * Convert a map to JSON text. The result is a JSON object. 
-         * If this map is also a JSONAware, JSONAware specific behaviours will be omitted at this top level.
-         * 
-         * @see org.json.simple.JSONValue#toJSONString(Object)
-         * 
-         * @param map
-         * @return JSON text, or "null" if map is null.
-         */
-        public static String toJSONString(Map map){
-                final StringWriter writer = new StringWriter();
-                
-                try {
-                        writeJSONString(map, writer);
-                        return writer.toString();
-                } catch (IOException e) {
-                        // This should never happen with a StringWriter
-                        throw new RuntimeException(e);
-                }
-        }
-        
-        public String toJSONString(){
-                return toJSONString(this);
-        }
-        
-        public String toString(){
-                return toJSONString();
-        }
-
-        public static String toString(String key,Object value){
-        StringBuffer sb = new StringBuffer();
-        sb.append('\"');
-        if(key == null)
-            sb.append("null");
-        else
-            JSONValue.escape(key, sb);
-                sb.append('\"').append(':');
-                
-                sb.append(JSONValue.toJSONString(value));
-                
-                return sb.toString();
-        }
-        
-        /**
-         * Escape quotes, \, /, \r, \n, \b, \f, \t and other control characters (U+0000 through U+001F).
-         * It's the same as JSONValue.escape() only for compatibility here.
-         * 
-         * @see org.json.simple.JSONValue#escape(String)
-         * 
-         * @param s
-         * @return
-         */
-        public static String escape(String s){
-                return JSONValue.escape(s);
-        }
-}

+ 0 - 15
maxkey-protocols/maxkey-protocol-simulate/src/org/json/simple/JSONStreamAware.java

@@ -1,15 +0,0 @@
-package org.json.simple;
-
-import java.io.IOException;
-import java.io.Writer;
-
-/**
- * Beans that support customized output of JSON text to a writer shall implement this interface.  
- * @author FangYidong<fangyidong@yahoo.com.cn>
- */
-public interface JSONStreamAware {
-        /**
-         * write JSON string to out.
-         */
-        void writeJSONString(Writer out) throws IOException;
-}

+ 0 - 316
maxkey-protocols/maxkey-protocol-simulate/src/org/json/simple/JSONValue.java

@@ -1,316 +0,0 @@
-/*
- * $Id: JSONValue.java,v 1.1 2006/04/15 14:37:04 platform Exp $
- * Created on 2006-4-15
- */
-package org.json.simple;
-
-import java.io.IOException;
-import java.io.Reader;
-import java.io.StringReader;
-import java.io.StringWriter;
-import java.io.Writer;
-import java.util.Collection;
-// import java.util.List;
-import java.util.Map;
-
-import org.json.simple.parser.JSONParser;
-import org.json.simple.parser.ParseException;
-
-
-/**
- * @author FangYidong<fangyidong@yahoo.com.cn>
- */
-public class JSONValue {
-        /**
-         * Parse JSON text into java object from the input source. 
-         * Please use parseWithException() if you don't want to ignore the exception.
-         * 
-         * @see org.json.simple.parser.JSONParser#parse(Reader)
-         * @see #parseWithException(Reader)
-         * 
-         * @param in
-         * @return Instance of the following:
-         *      org.json.simple.JSONObject,
-         *      org.json.simple.JSONArray,
-         *      java.lang.String,
-         *      java.lang.Number,
-         *      java.lang.Boolean,
-         *      null
-         * 
-         * @deprecated this method may throw an {@code Error} instead of returning
-         * {@code null}; please use {@link JSONValue#parseWithException(Reader)}
-         * instead
-         */
-        public static Object parse(Reader in){
-                try{
-                        JSONParser parser=new JSONParser();
-                        return parser.parse(in);
-                }
-                catch(Exception e){
-                        return null;
-                }
-        }
-        
-        /**
-         * Parse JSON text into java object from the given string. 
-         * Please use parseWithException() if you don't want to ignore the exception.
-         * 
-         * @see org.json.simple.parser.JSONParser#parse(Reader)
-         * @see #parseWithException(Reader)
-         * 
-         * @param s
-         * @return Instance of the following:
-         *      org.json.simple.JSONObject,
-         *      org.json.simple.JSONArray,
-         *      java.lang.String,
-         *      java.lang.Number,
-         *      java.lang.Boolean,
-         *      null
-         * 
-         * @deprecated this method may throw an {@code Error} instead of returning
-         * {@code null}; please use {@link JSONValue#parseWithException(String)}
-         * instead
-         */
-        public static Object parse(String s){
-                StringReader in=new StringReader(s);
-                return parse(in);
-        }
-        
-        /**
-         * Parse JSON text into java object from the input source.
-         * 
-         * @see org.json.simple.parser.JSONParser
-         * 
-         * @param in
-         * @return Instance of the following:
-         *      org.json.simple.JSONObject,
-         *      org.json.simple.JSONArray,
-         *      java.lang.String,
-         *      java.lang.Number,
-         *      java.lang.Boolean,
-         *      null
-         * 
-         * @throws IOException
-         * @throws ParseException
-         */
-        public static Object parseWithException(Reader in) throws IOException, ParseException{
-                JSONParser parser=new JSONParser();
-                return parser.parse(in);
-        }
-        
-        public static Object parseWithException(String s) throws ParseException{
-                JSONParser parser=new JSONParser();
-                return parser.parse(s);
-        }
-        
-    /**
-     * Encode an object into JSON text and write it to out.
-     * <p>
-     * If this object is a Map or a List, and it's also a JSONStreamAware or a JSONAware, JSONStreamAware or JSONAware will be considered firstly.
-     * <p>
-     * DO NOT call this method from writeJSONString(Writer) of a class that implements both JSONStreamAware and (Map or List) with 
-     * "this" as the first parameter, use JSONObject.writeJSONString(Map, Writer) or JSONArray.writeJSONString(List, Writer) instead. 
-     * 
-     * @see org.json.simple.JSONObject#writeJSONString(Map, Writer)
-     * @see org.json.simple.JSONArray#writeJSONString(List, Writer)
-     * 
-     * @param value
-     * @param writer
-     */
-        public static void writeJSONString(Object value, Writer out) throws IOException {
-                if(value == null){
-                        out.write("null");
-                        return;
-                }
-                
-                if(value instanceof String){            
-            out.write('\"');
-                        out.write(escape((String)value));
-            out.write('\"');
-                        return;
-                }
-                
-                if(value instanceof Double){
-                        if(((Double)value).isInfinite() || ((Double)value).isNaN())
-                                out.write("null");
-                        else
-                                out.write(value.toString());
-                        return;
-                }
-                
-                if(value instanceof Float){
-                        if(((Float)value).isInfinite() || ((Float)value).isNaN())
-                                out.write("null");
-                        else
-                                out.write(value.toString());
-                        return;
-                }               
-                
-                if(value instanceof Number){
-                        out.write(value.toString());
-                        return;
-                }
-                
-                if(value instanceof Boolean){
-                        out.write(value.toString());
-                        return;
-                }
-                
-                if((value instanceof JSONStreamAware)){
-                        ((JSONStreamAware)value).writeJSONString(out);
-                        return;
-                }
-                
-                if((value instanceof JSONAware)){
-                        out.write(((JSONAware)value).toJSONString());
-                        return;
-                }
-                
-                if(value instanceof Map){
-                        JSONObject.writeJSONString((Map)value, out);
-                        return;
-                }
-                
-                if(value instanceof Collection){
-                        JSONArray.writeJSONString((Collection)value, out);
-            return;
-                }
-                
-                if(value instanceof byte[]){
-                        JSONArray.writeJSONString((byte[])value, out);
-                        return;
-                }
-                
-                if(value instanceof short[]){
-                        JSONArray.writeJSONString((short[])value, out);
-                        return;
-                }
-                
-                if(value instanceof int[]){
-                        JSONArray.writeJSONString((int[])value, out);
-                        return;
-                }
-                
-                if(value instanceof long[]){
-                        JSONArray.writeJSONString((long[])value, out);
-                        return;
-                }
-                
-                if(value instanceof float[]){
-                        JSONArray.writeJSONString((float[])value, out);
-                        return;
-                }
-                
-                if(value instanceof double[]){
-                        JSONArray.writeJSONString((double[])value, out);
-                        return;
-                }
-                
-                if(value instanceof boolean[]){
-                        JSONArray.writeJSONString((boolean[])value, out);
-                        return;
-                }
-                
-                if(value instanceof char[]){
-                        JSONArray.writeJSONString((char[])value, out);
-                        return;
-                }
-                
-                if(value instanceof Object[]){
-                        JSONArray.writeJSONString((Object[])value, out);
-                        return;
-                }
-                
-                out.write(value.toString());
-        }
-
-        /**
-         * Convert an object to JSON text.
-         * <p>
-         * If this object is a Map or a List, and it's also a JSONAware, JSONAware will be considered firstly.
-         * <p>
-         * DO NOT call this method from toJSONString() of a class that implements both JSONAware and Map or List with 
-         * "this" as the parameter, use JSONObject.toJSONString(Map) or JSONArray.toJSONString(List) instead. 
-         * 
-         * @see org.json.simple.JSONObject#toJSONString(Map)
-         * @see org.json.simple.JSONArray#toJSONString(List)
-         * 
-         * @param value
-         * @return JSON text, or "null" if value is null or it's an NaN or an INF number.
-         */
-        public static String toJSONString(Object value){
-                final StringWriter writer = new StringWriter();
-                
-                try{
-                        writeJSONString(value, writer);
-                        return writer.toString();
-                } catch(IOException e){
-                        // This should never happen for a StringWriter
-                        throw new RuntimeException(e);
-                }
-        }
-
-        /**
-         * Escape quotes, \, /, \r, \n, \b, \f, \t and other control characters (U+0000 through U+001F).
-         * @param s
-         * @return
-         */
-        public static String escape(String s){
-                if(s==null)
-                        return null;
-        StringBuffer sb = new StringBuffer();
-        escape(s, sb);
-        return sb.toString();
-    }
-
-    /**
-     * @param s - Must not be null.
-     * @param sb
-     */
-    static void escape(String s, StringBuffer sb) {
-        final int len = s.length();
-                for(int i=0;i<len;i++){
-                        char ch=s.charAt(i);
-                        switch(ch){
-                        case '"':
-                                sb.append("\\\"");
-                                break;
-                        case '\\':
-                                sb.append("\\\\");
-                                break;
-                        case '\b':
-                                sb.append("\\b");
-                                break;
-                        case '\f':
-                                sb.append("\\f");
-                                break;
-                        case '\n':
-                                sb.append("\\n");
-                                break;
-                        case '\r':
-                                sb.append("\\r");
-                                break;
-                        case '\t':
-                                sb.append("\\t");
-                                break;
-                        case '/':
-                                sb.append("\\/");
-                                break;
-                        default:
-                //Reference: http://www.unicode.org/versions/Unicode5.1.0/
-                                if((ch>='\u0000' && ch<='\u001F') || (ch>='\u007F' && ch<='\u009F') || (ch>='\u2000' && ch<='\u20FF')){
-                                        String ss=Integer.toHexString(ch);
-                                        sb.append("\\u");
-                                        for(int k=0;k<4-ss.length();k++){
-                                                sb.append('0');
-                                        }
-                                        sb.append(ss.toUpperCase());
-                                }
-                                else{
-                                        sb.append(ch);
-                                }
-                        }
-                }//for
-        }
-
-}

+ 0 - 23
maxkey-protocols/maxkey-protocol-simulate/src/org/json/simple/parser/ContainerFactory.java

@@ -1,23 +0,0 @@
-package org.json.simple.parser;
-
-import java.util.List;
-import java.util.Map;
-
-/**
- * Container factory for creating containers for JSON object and JSON array.
- * 
- * @see org.json.simple.parser.JSONParser#parse(java.io.Reader, ContainerFactory)
- * 
- * @author FangYidong<fangyidong@yahoo.com.cn>
- */
-public interface ContainerFactory {
-        /**
-         * @return A Map instance to store JSON object, or null if you want to use org.json.simple.JSONObject.
-         */
-        Map createObjectContainer();
-        
-        /**
-         * @return A List instance to store JSON array, or null if you want to use org.json.simple.JSONArray. 
-         */
-        List creatArrayContainer();
-}

+ 0 - 110
maxkey-protocols/maxkey-protocol-simulate/src/org/json/simple/parser/ContentHandler.java

@@ -1,110 +0,0 @@
-package org.json.simple.parser;
-
-import java.io.IOException;
-
-/**
- * A simplified and stoppable SAX-like content handler for stream processing of JSON text. 
- * 
- * @see org.xml.sax.ContentHandler
- * @see org.json.simple.parser.JSONParser#parse(java.io.Reader, ContentHandler, boolean)
- * 
- * @author FangYidong<fangyidong@yahoo.com.cn>
- */
-public interface ContentHandler {
-        /**
-         * Receive notification of the beginning of JSON processing.
-         * The parser will invoke this method only once.
-     * 
-         * @throws ParseException 
-         *                      - JSONParser will stop and throw the same exception to the caller when receiving this exception.
-         */
-        void startJSON() throws ParseException, IOException;
-        
-        /**
-         * Receive notification of the end of JSON processing.
-         * 
-         * @throws ParseException
-         */
-        void endJSON() throws ParseException, IOException;
-        
-        /**
-         * Receive notification of the beginning of a JSON object.
-         * 
-         * @return false if the handler wants to stop parsing after return.
-         * @throws ParseException
-     *          - JSONParser will stop and throw the same exception to the caller when receiving this exception.
-     * @see #endJSON
-         */
-        boolean startObject() throws ParseException, IOException;
-        
-        /**
-         * Receive notification of the end of a JSON object.
-         * 
-         * @return false if the handler wants to stop parsing after return.
-         * @throws ParseException
-     * 
-     * @see #startObject
-         */
-        boolean endObject() throws ParseException, IOException;
-        
-        /**
-         * Receive notification of the beginning of a JSON object entry.
-         * 
-         * @param key - Key of a JSON object entry. 
-         * 
-         * @return false if the handler wants to stop parsing after return.
-         * @throws ParseException
-     * 
-     * @see #endObjectEntry
-         */
-        boolean startObjectEntry(String key) throws ParseException, IOException;
-        
-        /**
-         * Receive notification of the end of the value of previous object entry.
-         * 
-         * @return false if the handler wants to stop parsing after return.
-         * @throws ParseException
-     * 
-     * @see #startObjectEntry
-         */
-        boolean endObjectEntry() throws ParseException, IOException;
-        
-        /**
-         * Receive notification of the beginning of a JSON array.
-         * 
-         * @return false if the handler wants to stop parsing after return.
-         * @throws ParseException
-     * 
-     * @see #endArray
-         */
-        boolean startArray() throws ParseException, IOException;
-        
-        /**
-         * Receive notification of the end of a JSON array.
-         * 
-         * @return false if the handler wants to stop parsing after return.
-         * @throws ParseException
-     * 
-     * @see #startArray
-         */
-        boolean endArray() throws ParseException, IOException;
-        
-        /**
-         * Receive notification of the JSON primitive values:
-         *      java.lang.String,
-         *      java.lang.Number,
-         *      java.lang.Boolean
-         *      null
-         * 
-         * @param value - Instance of the following:
-         *                      java.lang.String,
-         *                      java.lang.Number,
-         *                      java.lang.Boolean
-         *                      null
-         * 
-         * @return false if the handler wants to stop parsing after return.
-         * @throws ParseException
-         */
-        boolean primitive(Object value) throws ParseException, IOException;
-                
-}

+ 0 - 533
maxkey-protocols/maxkey-protocol-simulate/src/org/json/simple/parser/JSONParser.java

@@ -1,533 +0,0 @@
-/*
- * $Id: JSONParser.java,v 1.1 2006/04/15 14:10:48 platform Exp $
- * Created on 2006-4-15
- */
-package org.json.simple.parser;
-
-import java.io.IOException;
-import java.io.Reader;
-import java.io.StringReader;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-
-import org.json.simple.JSONArray;
-import org.json.simple.JSONObject;
-
-
-/**
- * Parser for JSON text. Please note that JSONParser is NOT thread-safe.
- * 
- * @author FangYidong<fangyidong@yahoo.com.cn>
- */
-public class JSONParser {
-        public static final int S_INIT=0;
-        public static final int S_IN_FINISHED_VALUE=1;//string,number,boolean,null,object,array
-        public static final int S_IN_OBJECT=2;
-        public static final int S_IN_ARRAY=3;
-        public static final int S_PASSED_PAIR_KEY=4;
-        public static final int S_IN_PAIR_VALUE=5;
-        public static final int S_END=6;
-        public static final int S_IN_ERROR=-1;
-        
-        private LinkedList handlerStatusStack;
-        private Yylex lexer = new Yylex((Reader)null);
-        private Yytoken token = null;
-        private int status = S_INIT;
-        
-        private int peekStatus(LinkedList statusStack){
-                if(statusStack.size()==0)
-                        return -1;
-                Integer status=(Integer)statusStack.getFirst();
-                return status.intValue();
-        }
-        
-    /**
-     *  Reset the parser to the initial state without resetting the underlying reader.
-     *
-     */
-    public void reset(){
-        token = null;
-        status = S_INIT;
-        handlerStatusStack = null;
-    }
-    
-    /**
-     * Reset the parser to the initial state with a new character reader.
-     * 
-     * @param in - The new character reader.
-     * @throws IOException
-     * @throws ParseException
-     */
-        public void reset(Reader in){
-                lexer.yyreset(in);
-                reset();
-        }
-        
-        /**
-         * @return The position of the beginning of the current token.
-         */
-        public int getPosition(){
-                return lexer.getPosition();
-        }
-        
-        public Object parse(String s) throws ParseException{
-                return parse(s, (ContainerFactory)null);
-        }
-        
-        public Object parse(String s, ContainerFactory containerFactory) throws ParseException{
-                StringReader in=new StringReader(s);
-                try{
-                        return parse(in, containerFactory);
-                }
-                catch(IOException ie){
-                        /*
-                         * Actually it will never happen.
-                         */
-                        throw new ParseException(-1, ParseException.ERROR_UNEXPECTED_EXCEPTION, ie);
-                }
-        }
-        
-        public Object parse(Reader in) throws IOException, ParseException{
-                return parse(in, (ContainerFactory)null);
-        }
-        
-        /**
-         * Parse JSON text into java object from the input source.
-         *      
-         * @param in
-     * @param containerFactory - Use this factory to createyour own JSON object and JSON array containers.
-         * @return Instance of the following:
-         *  org.json.simple.JSONObject,
-         *      org.json.simple.JSONArray,
-         *      java.lang.String,
-         *      java.lang.Number,
-         *      java.lang.Boolean,
-         *      null
-         * 
-         * @throws IOException
-         * @throws ParseException
-         */
-        public Object parse(Reader in, ContainerFactory containerFactory) throws IOException, ParseException{
-                reset(in);
-                LinkedList statusStack = new LinkedList();
-                LinkedList valueStack = new LinkedList();
-                
-                try{
-                        do{
-                                nextToken();
-                                switch(status){
-                                case S_INIT:
-                                        switch(token.type){
-                                        case Yytoken.TYPE_VALUE:
-                                                status=S_IN_FINISHED_VALUE;
-                                                statusStack.addFirst(new Integer(status));
-                                                valueStack.addFirst(token.value);
-                                                break;
-                                        case Yytoken.TYPE_LEFT_BRACE:
-                                                status=S_IN_OBJECT;
-                                                statusStack.addFirst(new Integer(status));
-                                                valueStack.addFirst(createObjectContainer(containerFactory));
-                                                break;
-                                        case Yytoken.TYPE_LEFT_SQUARE:
-                                                status=S_IN_ARRAY;
-                                                statusStack.addFirst(new Integer(status));
-                                                valueStack.addFirst(createArrayContainer(containerFactory));
-                                                break;
-                                        default:
-                                                status=S_IN_ERROR;
-                                        }//inner switch
-                                        break;
-                                        
-                                case S_IN_FINISHED_VALUE:
-                                        if(token.type==Yytoken.TYPE_EOF)
-                                                return valueStack.removeFirst();
-                                        else
-                                                throw new ParseException(getPosition(), ParseException.ERROR_UNEXPECTED_TOKEN, token);
-                                        
-                                case S_IN_OBJECT:
-                                        switch(token.type){
-                                        case Yytoken.TYPE_COMMA:
-                                                break;
-                                        case Yytoken.TYPE_VALUE:
-                                                if(token.value instanceof String){
-                                                        String key=(String)token.value;
-                                                        valueStack.addFirst(key);
-                                                        status=S_PASSED_PAIR_KEY;
-                                                        statusStack.addFirst(new Integer(status));
-                                                }
-                                                else{
-                                                        status=S_IN_ERROR;
-                                                }
-                                                break;
-                                        case Yytoken.TYPE_RIGHT_BRACE:
-                                                if(valueStack.size()>1){
-                                                        statusStack.removeFirst();
-                                                        valueStack.removeFirst();
-                                                        status=peekStatus(statusStack);
-                                                }
-                                                else{
-                                                        status=S_IN_FINISHED_VALUE;
-                                                }
-                                                break;
-                                        default:
-                                                status=S_IN_ERROR;
-                                                break;
-                                        }//inner switch
-                                        break;
-                                        
-                                case S_PASSED_PAIR_KEY:
-                                        switch(token.type){
-                                        case Yytoken.TYPE_COLON:
-                                                break;
-                                        case Yytoken.TYPE_VALUE:
-                                                statusStack.removeFirst();
-                                                String key=(String)valueStack.removeFirst();
-                                                Map parent=(Map)valueStack.getFirst();
-                                                parent.put(key,token.value);
-                                                status=peekStatus(statusStack);
-                                                break;
-                                        case Yytoken.TYPE_LEFT_SQUARE:
-                                                statusStack.removeFirst();
-                                                key=(String)valueStack.removeFirst();
-                                                parent=(Map)valueStack.getFirst();
-                                                List newArray=createArrayContainer(containerFactory);
-                                                parent.put(key,newArray);
-                                                status=S_IN_ARRAY;
-                                                statusStack.addFirst(new Integer(status));
-                                                valueStack.addFirst(newArray);
-                                                break;
-                                        case Yytoken.TYPE_LEFT_BRACE:
-                                                statusStack.removeFirst();
-                                                key=(String)valueStack.removeFirst();
-                                                parent=(Map)valueStack.getFirst();
-                                                Map newObject=createObjectContainer(containerFactory);
-                                                parent.put(key,newObject);
-                                                status=S_IN_OBJECT;
-                                                statusStack.addFirst(new Integer(status));
-                                                valueStack.addFirst(newObject);
-                                                break;
-                                        default:
-                                                status=S_IN_ERROR;
-                                        }
-                                        break;
-                                        
-                                case S_IN_ARRAY:
-                                        switch(token.type){
-                                        case Yytoken.TYPE_COMMA:
-                                                break;
-                                        case Yytoken.TYPE_VALUE:
-                                                List val=(List)valueStack.getFirst();
-                                                val.add(token.value);
-                                                break;
-                                        case Yytoken.TYPE_RIGHT_SQUARE:
-                                                if(valueStack.size()>1){
-                                                        statusStack.removeFirst();
-                                                        valueStack.removeFirst();
-                                                        status=peekStatus(statusStack);
-                                                }
-                                                else{
-                                                        status=S_IN_FINISHED_VALUE;
-                                                }
-                                                break;
-                                        case Yytoken.TYPE_LEFT_BRACE:
-                                                val=(List)valueStack.getFirst();
-                                                Map newObject=createObjectContainer(containerFactory);
-                                                val.add(newObject);
-                                                status=S_IN_OBJECT;
-                                                statusStack.addFirst(new Integer(status));
-                                                valueStack.addFirst(newObject);
-                                                break;
-                                        case Yytoken.TYPE_LEFT_SQUARE:
-                                                val=(List)valueStack.getFirst();
-                                                List newArray=createArrayContainer(containerFactory);
-                                                val.add(newArray);
-                                                status=S_IN_ARRAY;
-                                                statusStack.addFirst(new Integer(status));
-                                                valueStack.addFirst(newArray);
-                                                break;
-                                        default:
-                                                status=S_IN_ERROR;
-                                        }//inner switch
-                                        break;
-                                case S_IN_ERROR:
-                                        throw new ParseException(getPosition(), ParseException.ERROR_UNEXPECTED_TOKEN, token);
-                                }//switch
-                                if(status==S_IN_ERROR){
-                                        throw new ParseException(getPosition(), ParseException.ERROR_UNEXPECTED_TOKEN, token);
-                                }
-                        }while(token.type!=Yytoken.TYPE_EOF);
-                }
-                catch(IOException ie){
-                        throw ie;
-                }
-                
-                throw new ParseException(getPosition(), ParseException.ERROR_UNEXPECTED_TOKEN, token);
-        }
-        
-        private void nextToken() throws ParseException, IOException{
-                token = lexer.yylex();
-                if(token == null)
-                        token = new Yytoken(Yytoken.TYPE_EOF, null);
-        }
-        
-        private Map createObjectContainer(ContainerFactory containerFactory){
-                if(containerFactory == null)
-                        return new JSONObject();
-                Map m = containerFactory.createObjectContainer();
-                
-                if(m == null)
-                        return new JSONObject();
-                return m;
-        }
-        
-        private List createArrayContainer(ContainerFactory containerFactory){
-                if(containerFactory == null)
-                        return new JSONArray();
-                List l = containerFactory.creatArrayContainer();
-                
-                if(l == null)
-                        return new JSONArray();
-                return l;
-        }
-        
-        public void parse(String s, ContentHandler contentHandler) throws ParseException{
-                parse(s, contentHandler, false);
-        }
-        
-        public void parse(String s, ContentHandler contentHandler, boolean isResume) throws ParseException{
-                StringReader in=new StringReader(s);
-                try{
-                        parse(in, contentHandler, isResume);
-                }
-                catch(IOException ie){
-                        /*
-                         * Actually it will never happen.
-                         */
-                        throw new ParseException(-1, ParseException.ERROR_UNEXPECTED_EXCEPTION, ie);
-                }
-        }
-        
-        public void parse(Reader in, ContentHandler contentHandler) throws IOException, ParseException{
-                parse(in, contentHandler, false);
-        }
-        
-        /**
-         * Stream processing of JSON text.
-         * 
-         * @see ContentHandler
-         * 
-         * @param in
-         * @param contentHandler
-         * @param isResume - Indicates if it continues previous parsing operation.
-     *                   If set to true, resume parsing the old stream, and parameter 'in' will be ignored. 
-         *                   If this method is called for the first time in this instance, isResume will be ignored.
-         * 
-         * @throws IOException
-         * @throws ParseException
-         */
-        public void parse(Reader in, ContentHandler contentHandler, boolean isResume) throws IOException, ParseException{
-                if(!isResume){
-                        reset(in);
-                        handlerStatusStack = new LinkedList();
-                }
-                else{
-                        if(handlerStatusStack == null){
-                                isResume = false;
-                                reset(in);
-                                handlerStatusStack = new LinkedList();
-                        }
-                }
-                
-                LinkedList statusStack = handlerStatusStack;    
-                
-                try{
-                        do{
-                                switch(status){
-                                case S_INIT:
-                                        contentHandler.startJSON();
-                                        nextToken();
-                                        switch(token.type){
-                                        case Yytoken.TYPE_VALUE:
-                                                status=S_IN_FINISHED_VALUE;
-                                                statusStack.addFirst(new Integer(status));
-                                                if(!contentHandler.primitive(token.value))
-                                                        return;
-                                                break;
-                                        case Yytoken.TYPE_LEFT_BRACE:
-                                                status=S_IN_OBJECT;
-                                                statusStack.addFirst(new Integer(status));
-                                                if(!contentHandler.startObject())
-                                                        return;
-                                                break;
-                                        case Yytoken.TYPE_LEFT_SQUARE:
-                                                status=S_IN_ARRAY;
-                                                statusStack.addFirst(new Integer(status));
-                                                if(!contentHandler.startArray())
-                                                        return;
-                                                break;
-                                        default:
-                                                status=S_IN_ERROR;
-                                        }//inner switch
-                                        break;
-                                        
-                                case S_IN_FINISHED_VALUE:
-                                        nextToken();
-                                        if(token.type==Yytoken.TYPE_EOF){
-                                                contentHandler.endJSON();
-                                                status = S_END;
-                                                return;
-                                        }
-                                        else{
-                                                status = S_IN_ERROR;
-                                                throw new ParseException(getPosition(), ParseException.ERROR_UNEXPECTED_TOKEN, token);
-                                        }
-                        
-                                case S_IN_OBJECT:
-                                        nextToken();
-                                        switch(token.type){
-                                        case Yytoken.TYPE_COMMA:
-                                                break;
-                                        case Yytoken.TYPE_VALUE:
-                                                if(token.value instanceof String){
-                                                        String key=(String)token.value;
-                                                        status=S_PASSED_PAIR_KEY;
-                                                        statusStack.addFirst(new Integer(status));
-                                                        if(!contentHandler.startObjectEntry(key))
-                                                                return;
-                                                }
-                                                else{
-                                                        status=S_IN_ERROR;
-                                                }
-                                                break;
-                                        case Yytoken.TYPE_RIGHT_BRACE:
-                                                if(statusStack.size()>1){
-                                                        statusStack.removeFirst();
-                                                        status=peekStatus(statusStack);
-                                                }
-                                                else{
-                                                        status=S_IN_FINISHED_VALUE;
-                                                }
-                                                if(!contentHandler.endObject())
-                                                        return;
-                                                break;
-                                        default:
-                                                status=S_IN_ERROR;
-                                                break;
-                                        }//inner switch
-                                        break;
-                                        
-                                case S_PASSED_PAIR_KEY:
-                                        nextToken();
-                                        switch(token.type){
-                                        case Yytoken.TYPE_COLON:
-                                                break;
-                                        case Yytoken.TYPE_VALUE:
-                                                statusStack.removeFirst();
-                                                status=peekStatus(statusStack);
-                                                if(!contentHandler.primitive(token.value))
-                                                        return;
-                                                if(!contentHandler.endObjectEntry())
-                                                        return;
-                                                break;
-                                        case Yytoken.TYPE_LEFT_SQUARE:
-                                                statusStack.removeFirst();
-                                                statusStack.addFirst(new Integer(S_IN_PAIR_VALUE));
-                                                status=S_IN_ARRAY;
-                                                statusStack.addFirst(new Integer(status));
-                                                if(!contentHandler.startArray())
-                                                        return;
-                                                break;
-                                        case Yytoken.TYPE_LEFT_BRACE:
-                                                statusStack.removeFirst();
-                                                statusStack.addFirst(new Integer(S_IN_PAIR_VALUE));
-                                                status=S_IN_OBJECT;
-                                                statusStack.addFirst(new Integer(status));
-                                                if(!contentHandler.startObject())
-                                                        return;
-                                                break;
-                                        default:
-                                                status=S_IN_ERROR;
-                                        }
-                                        break;
-                                
-                                case S_IN_PAIR_VALUE:
-                                        /*
-                                         * S_IN_PAIR_VALUE is just a marker to indicate the end of an object entry, it doesn't proccess any token,
-                                         * therefore delay consuming token until next round.
-                                         */
-                                        statusStack.removeFirst();
-                                        status = peekStatus(statusStack);
-                                        if(!contentHandler.endObjectEntry())
-                                                return;
-                                        break;
-                                        
-                                case S_IN_ARRAY:
-                                        nextToken();
-                                        switch(token.type){
-                                        case Yytoken.TYPE_COMMA:
-                                                break;
-                                        case Yytoken.TYPE_VALUE:
-                                                if(!contentHandler.primitive(token.value))
-                                                        return;
-                                                break;
-                                        case Yytoken.TYPE_RIGHT_SQUARE:
-                                                if(statusStack.size()>1){
-                                                        statusStack.removeFirst();
-                                                        status=peekStatus(statusStack);
-                                                }
-                                                else{
-                                                        status=S_IN_FINISHED_VALUE;
-                                                }
-                                                if(!contentHandler.endArray())
-                                                        return;
-                                                break;
-                                        case Yytoken.TYPE_LEFT_BRACE:
-                                                status=S_IN_OBJECT;
-                                                statusStack.addFirst(new Integer(status));
-                                                if(!contentHandler.startObject())
-                                                        return;
-                                                break;
-                                        case Yytoken.TYPE_LEFT_SQUARE:
-                                                status=S_IN_ARRAY;
-                                                statusStack.addFirst(new Integer(status));
-                                                if(!contentHandler.startArray())
-                                                        return;
-                                                break;
-                                        default:
-                                                status=S_IN_ERROR;
-                                        }//inner switch
-                                        break;
-                                        
-                                case S_END:
-                                        return;
-                                        
-                                case S_IN_ERROR:
-                                        throw new ParseException(getPosition(), ParseException.ERROR_UNEXPECTED_TOKEN, token);
-                                }//switch
-                                if(status==S_IN_ERROR){
-                                        throw new ParseException(getPosition(), ParseException.ERROR_UNEXPECTED_TOKEN, token);
-                                }
-                        }while(token.type!=Yytoken.TYPE_EOF);
-                }
-                catch(IOException ie){
-                        status = S_IN_ERROR;
-                        throw ie;
-                }
-                catch(ParseException pe){
-                        status = S_IN_ERROR;
-                        throw pe;
-                }
-                catch(RuntimeException re){
-                        status = S_IN_ERROR;
-                        throw re;
-                }
-                catch(Error e){
-                        status = S_IN_ERROR;
-                        throw e;
-                }
-                
-                status = S_IN_ERROR;
-                throw new ParseException(getPosition(), ParseException.ERROR_UNEXPECTED_TOKEN, token);
-        }
-}

+ 0 - 90
maxkey-protocols/maxkey-protocol-simulate/src/org/json/simple/parser/ParseException.java

@@ -1,90 +0,0 @@
-package org.json.simple.parser;
-
-/**
- * ParseException explains why and where the error occurs in source JSON text.
- * 
- * @author FangYidong<fangyidong@yahoo.com.cn>
- *
- */
-public class ParseException extends Exception {
-        private static final long serialVersionUID = -7880698968187728547L;
-        
-        public static final int ERROR_UNEXPECTED_CHAR = 0;
-        public static final int ERROR_UNEXPECTED_TOKEN = 1;
-        public static final int ERROR_UNEXPECTED_EXCEPTION = 2;
-
-        private int errorType;
-        private Object unexpectedObject;
-        private int position;
-        
-        public ParseException(int errorType){
-                this(-1, errorType, null);
-        }
-        
-        public ParseException(int errorType, Object unexpectedObject){
-                this(-1, errorType, unexpectedObject);
-        }
-        
-        public ParseException(int position, int errorType, Object unexpectedObject){
-                this.position = position;
-                this.errorType = errorType;
-                this.unexpectedObject = unexpectedObject;
-        }
-        
-        public int getErrorType() {
-                return errorType;
-        }
-        
-        public void setErrorType(int errorType) {
-                this.errorType = errorType;
-        }
-        
-        /**
-         * @see org.json.simple.parser.JSONParser#getPosition()
-         * 
-         * @return The character position (starting with 0) of the input where the error occurs.
-         */
-        public int getPosition() {
-                return position;
-        }
-        
-        public void setPosition(int position) {
-                this.position = position;
-        }
-        
-        /**
-         * @see org.json.simple.parser.Yytoken
-         * 
-         * @return One of the following base on the value of errorType:
-         *                      ERROR_UNEXPECTED_CHAR           java.lang.Character
-         *                      ERROR_UNEXPECTED_TOKEN          org.json.simple.parser.Yytoken
-         *                      ERROR_UNEXPECTED_EXCEPTION      java.lang.Exception
-         */
-        public Object getUnexpectedObject() {
-                return unexpectedObject;
-        }
-        
-        public void setUnexpectedObject(Object unexpectedObject) {
-                this.unexpectedObject = unexpectedObject;
-        }
-        
-        public String getMessage() {
-                StringBuffer sb = new StringBuffer();
-                
-                switch(errorType){
-                case ERROR_UNEXPECTED_CHAR:
-                        sb.append("Unexpected character (").append(unexpectedObject).append(") at position ").append(position).append(".");
-                        break;
-                case ERROR_UNEXPECTED_TOKEN:
-                        sb.append("Unexpected token ").append(unexpectedObject).append(" at position ").append(position).append(".");
-                        break;
-                case ERROR_UNEXPECTED_EXCEPTION:
-                        sb.append("Unexpected exception at position ").append(position).append(": ").append(unexpectedObject);
-                        break;
-                default:
-                        sb.append("Unkown error at position ").append(position).append(".");
-                        break;
-                }
-                return sb.toString();
-        }
-}

+ 0 - 688
maxkey-protocols/maxkey-protocol-simulate/src/org/json/simple/parser/Yylex.java

@@ -1,688 +0,0 @@
-/* The following code was generated by JFlex 1.4.2 */
-
-package org.json.simple.parser;
-
-class Yylex {
-
-  /** This character denotes the end of file */
-  public static final int YYEOF = -1;
-
-  /** initial size of the lookahead buffer */
-  private static final int ZZ_BUFFERSIZE = 16384;
-
-  /** lexical states */
-  public static final int YYINITIAL = 0;
-  public static final int STRING_BEGIN = 2;
-
-  /**
-   * ZZ_LEXSTATE[l] is the state in the DFA for the lexical state l
-   * ZZ_LEXSTATE[l+1] is the state in the DFA for the lexical state l
-   *                  at the beginning of a line
-   * l is of the form l = 2*k, k a non negative integer
-   */
-  private static final int ZZ_LEXSTATE[] = { 
-     0,  0,  1, 1
-  };
-
-  /** 
-   * Translates characters to character classes
-   */
-  private static final String ZZ_CMAP_PACKED = 
-    "\11\0\1\7\1\7\2\0\1\7\22\0\1\7\1\0\1\11\10\0"+
-    "\1\6\1\31\1\2\1\4\1\12\12\3\1\32\6\0\4\1\1\5"+
-    "\1\1\24\0\1\27\1\10\1\30\3\0\1\22\1\13\2\1\1\21"+
-    "\1\14\5\0\1\23\1\0\1\15\3\0\1\16\1\24\1\17\1\20"+
-    "\5\0\1\25\1\0\1\26\uff82\0";
-
-  /** 
-   * Translates characters to character classes
-   */
-  private static final char [] ZZ_CMAP = zzUnpackCMap(ZZ_CMAP_PACKED);
-
-  /** 
-   * Translates DFA states to action switch labels.
-   */
-  private static final int [] ZZ_ACTION = zzUnpackAction();
-
-  private static final String ZZ_ACTION_PACKED_0 =
-    "\2\0\2\1\1\2\1\3\1\4\3\1\1\5\1\6"+
-    "\1\7\1\10\1\11\1\12\1\13\1\14\1\15\5\0"+
-    "\1\14\1\16\1\17\1\20\1\21\1\22\1\23\1\24"+
-    "\1\0\1\25\1\0\1\25\4\0\1\26\1\27\2\0"+
-    "\1\30";
-
-  private static int [] zzUnpackAction() {
-    int [] result = new int[45];
-    int offset = 0;
-    offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result);
-    return result;
-  }
-
-  private static int zzUnpackAction(String packed, int offset, int [] result) {
-    int i = 0;       /* index in packed string  */
-    int j = offset;  /* index in unpacked array */
-    int l = packed.length();
-    while (i < l) {
-      int count = packed.charAt(i++);
-      int value = packed.charAt(i++);
-      do result[j++] = value; while (--count > 0);
-    }
-    return j;
-  }
-
-
-  /** 
-   * Translates a state to a row index in the transition table
-   */
-  private static final int [] ZZ_ROWMAP = zzUnpackRowMap();
-
-  private static final String ZZ_ROWMAP_PACKED_0 =
-    "\0\0\0\33\0\66\0\121\0\154\0\207\0\66\0\242"+
-    "\0\275\0\330\0\66\0\66\0\66\0\66\0\66\0\66"+
-    "\0\363\0\u010e\0\66\0\u0129\0\u0144\0\u015f\0\u017a\0\u0195"+
-    "\0\66\0\66\0\66\0\66\0\66\0\66\0\66\0\66"+
-    "\0\u01b0\0\u01cb\0\u01e6\0\u01e6\0\u0201\0\u021c\0\u0237\0\u0252"+
-    "\0\66\0\66\0\u026d\0\u0288\0\66";
-
-  private static int [] zzUnpackRowMap() {
-    int [] result = new int[45];
-    int offset = 0;
-    offset = zzUnpackRowMap(ZZ_ROWMAP_PACKED_0, offset, result);
-    return result;
-  }
-
-  private static int zzUnpackRowMap(String packed, int offset, int [] result) {
-    int i = 0;  /* index in packed string  */
-    int j = offset;  /* index in unpacked array */
-    int l = packed.length();
-    while (i < l) {
-      int high = packed.charAt(i++) << 16;
-      result[j++] = high | packed.charAt(i++);
-    }
-    return j;
-  }
-
-  /** 
-   * The transition table of the DFA
-   */
-  private static final int ZZ_TRANS [] = {
-    2, 2, 3, 4, 2, 2, 2, 5, 2, 6, 
-    2, 2, 7, 8, 2, 9, 2, 2, 2, 2, 
-    2, 10, 11, 12, 13, 14, 15, 16, 16, 16, 
-    16, 16, 16, 16, 16, 17, 18, 16, 16, 16, 
-    16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 
-    16, 16, 16, 16, -1, -1, -1, -1, -1, -1, 
-    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
-    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
-    -1, -1, -1, -1, 4, -1, -1, -1, -1, -1, 
-    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
-    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
-    -1, 4, 19, 20, -1, -1, -1, -1, -1, -1, 
-    -1, -1, -1, -1, -1, 20, -1, -1, -1, -1, 
-    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
-    -1, -1, 5, -1, -1, -1, -1, -1, -1, -1, 
-    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
-    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
-    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
-    21, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
-    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
-    -1, -1, -1, -1, -1, 22, -1, -1, -1, -1, 
-    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
-    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
-    23, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
-    -1, -1, -1, 16, 16, 16, 16, 16, 16, 16, 
-    16, -1, -1, 16, 16, 16, 16, 16, 16, 16, 
-    16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 
-    -1, -1, -1, -1, -1, -1, -1, -1, 24, 25, 
-    26, 27, 28, 29, 30, 31, 32, -1, -1, -1, 
-    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
-    33, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
-    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
-    -1, -1, -1, -1, -1, -1, 34, 35, -1, -1, 
-    34, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
-    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
-    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
-    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
-    36, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
-    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
-    -1, -1, -1, -1, -1, -1, -1, 37, -1, -1, 
-    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
-    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
-    -1, 38, -1, -1, -1, -1, -1, -1, -1, -1, 
-    -1, -1, -1, 39, -1, 39, -1, 39, -1, -1, 
-    -1, -1, -1, 39, 39, -1, -1, -1, -1, 39, 
-    39, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
-    -1, -1, 33, -1, 20, -1, -1, -1, -1, -1, 
-    -1, -1, -1, -1, -1, -1, 20, -1, -1, -1, 
-    -1, -1, -1, -1, -1, -1, -1, -1, -1, 35, 
-    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
-    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
-    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
-    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
-    -1, -1, -1, 38, -1, -1, -1, -1, -1, -1, 
-    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
-    -1, -1, -1, -1, -1, -1, -1, -1, -1, 40, 
-    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
-    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
-    -1, -1, -1, -1, 41, -1, -1, -1, -1, -1, 
-    -1, -1, -1, -1, -1, 42, -1, 42, -1, 42, 
-    -1, -1, -1, -1, -1, 42, 42, -1, -1, -1, 
-    -1, 42, 42, -1, -1, -1, -1, -1, -1, -1, 
-    -1, -1, 43, -1, 43, -1, 43, -1, -1, -1, 
-    -1, -1, 43, 43, -1, -1, -1, -1, 43, 43, 
-    -1, -1, -1, -1, -1, -1, -1, -1, -1, 44, 
-    -1, 44, -1, 44, -1, -1, -1, -1, -1, 44, 
-    44, -1, -1, -1, -1, 44, 44, -1, -1, -1, 
-    -1, -1, -1, -1, -1, 
-  };
-
-  /* error codes */
-  private static final int ZZ_UNKNOWN_ERROR = 0;
-  private static final int ZZ_NO_MATCH = 1;
-  private static final int ZZ_PUSHBACK_2BIG = 2;
-
-  /* error messages for the codes above */
-  private static final String ZZ_ERROR_MSG[] = {
-    "Unkown internal scanner error",
-    "Error: could not match input",
-    "Error: pushback value was too large"
-  };
-
-  /**
-   * ZZ_ATTRIBUTE[aState] contains the attributes of state <code>aState</code>
-   */
-  private static final int [] ZZ_ATTRIBUTE = zzUnpackAttribute();
-
-  private static final String ZZ_ATTRIBUTE_PACKED_0 =
-    "\2\0\1\11\3\1\1\11\3\1\6\11\2\1\1\11"+
-    "\5\0\10\11\1\0\1\1\1\0\1\1\4\0\2\11"+
-    "\2\0\1\11";
-
-  private static int [] zzUnpackAttribute() {
-    int [] result = new int[45];
-    int offset = 0;
-    offset = zzUnpackAttribute(ZZ_ATTRIBUTE_PACKED_0, offset, result);
-    return result;
-  }
-
-  private static int zzUnpackAttribute(String packed, int offset, int [] result) {
-    int i = 0;       /* index in packed string  */
-    int j = offset;  /* index in unpacked array */
-    int l = packed.length();
-    while (i < l) {
-      int count = packed.charAt(i++);
-      int value = packed.charAt(i++);
-      do result[j++] = value; while (--count > 0);
-    }
-    return j;
-  }
-
-  /** the input device */
-  private java.io.Reader zzReader;
-
-  /** the current state of the DFA */
-  private int zzState;
-
-  /** the current lexical state */
-  private int zzLexicalState = YYINITIAL;
-
-  /** this buffer contains the current text to be matched and is
-      the source of the yytext() string */
-  private char zzBuffer[] = new char[ZZ_BUFFERSIZE];
-
-  /** the textposition at the last accepting state */
-  private int zzMarkedPos;
-
-  /** the current text position in the buffer */
-  private int zzCurrentPos;
-
-  /** startRead marks the beginning of the yytext() string in the buffer */
-  private int zzStartRead;
-
-  /** endRead marks the last character in the buffer, that has been read
-      from input */
-  private int zzEndRead;
-
-  /** number of newlines encountered up to the start of the matched text */
-  private int yyline;
-
-  /** the number of characters up to the start of the matched text */
-  private int yychar;
-
-  /**
-   * the number of characters from the last newline up to the start of the 
-   * matched text
-   */
-  private int yycolumn;
-
-  /** 
-   * zzAtBOL == true <=> the scanner is currently at the beginning of a line
-   */
-  private boolean zzAtBOL = true;
-
-  /** zzAtEOF == true <=> the scanner is at the EOF */
-  private boolean zzAtEOF;
-
-  /* user code: */
-private StringBuffer sb=new StringBuffer();
-
-int getPosition(){
-        return yychar;
-}
-
-
-
-  /**
-   * Creates a new scanner
-   * There is also a java.io.InputStream version of this constructor.
-   *
-   * @param   in  the java.io.Reader to read input from.
-   */
-  Yylex(java.io.Reader in) {
-    this.zzReader = in;
-  }
-
-  /**
-   * Creates a new scanner.
-   * There is also java.io.Reader version of this constructor.
-   *
-   * @param   in  the java.io.Inputstream to read input from.
-   */
-  Yylex(java.io.InputStream in) {
-    this(new java.io.InputStreamReader(in));
-  }
-
-  /** 
-   * Unpacks the compressed character translation table.
-   *
-   * @param packed   the packed character translation table
-   * @return         the unpacked character translation table
-   */
-  private static char [] zzUnpackCMap(String packed) {
-    char [] map = new char[0x10000];
-    int i = 0;  /* index in packed string  */
-    int j = 0;  /* index in unpacked array */
-    while (i < 90) {
-      int  count = packed.charAt(i++);
-      char value = packed.charAt(i++);
-      do map[j++] = value; while (--count > 0);
-    }
-    return map;
-  }
-
-
-  /**
-   * Refills the input buffer.
-   *
-   * @return      <code>false</code>, iff there was new input.
-   * 
-   * @exception   java.io.IOException  if any I/O-Error occurs
-   */
-  private boolean zzRefill() throws java.io.IOException {
-
-    /* first: make room (if you can) */
-    if (zzStartRead > 0) {
-      System.arraycopy(zzBuffer, zzStartRead,
-                       zzBuffer, 0,
-                       zzEndRead-zzStartRead);
-
-      /* translate stored positions */
-      zzEndRead-= zzStartRead;
-      zzCurrentPos-= zzStartRead;
-      zzMarkedPos-= zzStartRead;
-      zzStartRead = 0;
-    }
-
-    /* is the buffer big enough? */
-    if (zzCurrentPos >= zzBuffer.length) {
-      /* if not: blow it up */
-      char newBuffer[] = new char[zzCurrentPos*2];
-      System.arraycopy(zzBuffer, 0, newBuffer, 0, zzBuffer.length);
-      zzBuffer = newBuffer;
-    }
-
-    /* finally: fill the buffer with new input */
-    int numRead = zzReader.read(zzBuffer, zzEndRead,
-                                            zzBuffer.length-zzEndRead);
-
-    if (numRead > 0) {
-      zzEndRead+= numRead;
-      return false;
-    }
-    // unlikely but not impossible: read 0 characters, but not at end of stream    
-    if (numRead == 0) {
-      int c = zzReader.read();
-      if (c == -1) {
-        return true;
-      } else {
-        zzBuffer[zzEndRead++] = (char) c;
-        return false;
-      }     
-    }
-
-        // numRead < 0
-    return true;
-  }
-
-    
-  /**
-   * Closes the input stream.
-   */
-  public final void yyclose() throws java.io.IOException {
-    zzAtEOF = true;            /* indicate end of file */
-    zzEndRead = zzStartRead;  /* invalidate buffer    */
-
-    if (zzReader != null)
-      zzReader.close();
-  }
-
-
-  /**
-   * Resets the scanner to read from a new input stream.
-   * Does not close the old reader.
-   *
-   * All internal variables are reset, the old input stream 
-   * <b>cannot</b> be reused (internal buffer is discarded and lost).
-   * Lexical state is set to <tt>ZZ_INITIAL</tt>.
-   *
-   * @param reader   the new input stream 
-   */
-  public final void yyreset(java.io.Reader reader) {
-    zzReader = reader;
-    zzAtBOL  = true;
-    zzAtEOF  = false;
-    zzEndRead = zzStartRead = 0;
-    zzCurrentPos = zzMarkedPos = 0;
-    yyline = yychar = yycolumn = 0;
-    zzLexicalState = YYINITIAL;
-  }
-
-
-  /**
-   * Returns the current lexical state.
-   */
-  public final int yystate() {
-    return zzLexicalState;
-  }
-
-
-  /**
-   * Enters a new lexical state
-   *
-   * @param newState the new lexical state
-   */
-  public final void yybegin(int newState) {
-    zzLexicalState = newState;
-  }
-
-
-  /**
-   * Returns the text matched by the current regular expression.
-   */
-  public final String yytext() {
-    return new String( zzBuffer, zzStartRead, zzMarkedPos-zzStartRead );
-  }
-
-
-  /**
-   * Returns the character at position <tt>pos</tt> from the 
-   * matched text. 
-   * 
-   * It is equivalent to yytext().charAt(pos), but faster
-   *
-   * @param pos the position of the character to fetch. 
-   *            A value from 0 to yylength()-1.
-   *
-   * @return the character at position pos
-   */
-  public final char yycharat(int pos) {
-    return zzBuffer[zzStartRead+pos];
-  }
-
-
-  /**
-   * Returns the length of the matched text region.
-   */
-  public final int yylength() {
-    return zzMarkedPos-zzStartRead;
-  }
-
-
-  /**
-   * Reports an error that occured while scanning.
-   *
-   * In a wellformed scanner (no or only correct usage of 
-   * yypushback(int) and a match-all fallback rule) this method 
-   * will only be called with things that "Can't Possibly Happen".
-   * If this method is called, something is seriously wrong
-   * (e.g. a JFlex bug producing a faulty scanner etc.).
-   *
-   * Usual syntax/scanner level error handling should be done
-   * in error fallback rules.
-   *
-   * @param   errorCode  the code of the errormessage to display
-   */
-  private void zzScanError(int errorCode) {
-    String message;
-    try {
-      message = ZZ_ERROR_MSG[errorCode];
-    }
-    catch (ArrayIndexOutOfBoundsException e) {
-      message = ZZ_ERROR_MSG[ZZ_UNKNOWN_ERROR];
-    }
-
-    throw new Error(message);
-  } 
-
-
-  /**
-   * Pushes the specified amount of characters back into the input stream.
-   *
-   * They will be read again by then next call of the scanning method
-   *
-   * @param number  the number of characters to be read again.
-   *                This number must not be greater than yylength()!
-   */
-  public void yypushback(int number)  {
-    if ( number > yylength() )
-      zzScanError(ZZ_PUSHBACK_2BIG);
-
-    zzMarkedPos -= number;
-  }
-
-
-  /**
-   * Resumes scanning until the next regular expression is matched,
-   * the end of input is encountered or an I/O-Error occurs.
-   *
-   * @return      the next token
-   * @exception   java.io.IOException  if any I/O-Error occurs
-   */
-  public Yytoken yylex() throws java.io.IOException, ParseException {
-    int zzInput;
-    int zzAction;
-
-    // cached fields:
-    int zzCurrentPosL;
-    int zzMarkedPosL;
-    int zzEndReadL = zzEndRead;
-    char [] zzBufferL = zzBuffer;
-    char [] zzCMapL = ZZ_CMAP;
-
-    int [] zzTransL = ZZ_TRANS;
-    int [] zzRowMapL = ZZ_ROWMAP;
-    int [] zzAttrL = ZZ_ATTRIBUTE;
-
-    while (true) {
-      zzMarkedPosL = zzMarkedPos;
-
-      yychar+= zzMarkedPosL-zzStartRead;
-
-      zzAction = -1;
-
-      zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL;
-  
-      zzState = ZZ_LEXSTATE[zzLexicalState];
-
-
-      zzForAction: {
-        while (true) {
-    
-          if (zzCurrentPosL < zzEndReadL)
-            zzInput = zzBufferL[zzCurrentPosL++];
-          else if (zzAtEOF) {
-            zzInput = YYEOF;
-            break zzForAction;
-          }
-          else {
-            // store back cached positions
-            zzCurrentPos  = zzCurrentPosL;
-            zzMarkedPos   = zzMarkedPosL;
-            boolean eof = zzRefill();
-            // get translated positions and possibly new buffer
-            zzCurrentPosL  = zzCurrentPos;
-            zzMarkedPosL   = zzMarkedPos;
-            zzBufferL      = zzBuffer;
-            zzEndReadL     = zzEndRead;
-            if (eof) {
-              zzInput = YYEOF;
-              break zzForAction;
-            }
-            else {
-              zzInput = zzBufferL[zzCurrentPosL++];
-            }
-          }
-          int zzNext = zzTransL[ zzRowMapL[zzState] + zzCMapL[zzInput] ];
-          if (zzNext == -1) break zzForAction;
-          zzState = zzNext;
-
-          int zzAttributes = zzAttrL[zzState];
-          if ( (zzAttributes & 1) == 1 ) {
-            zzAction = zzState;
-            zzMarkedPosL = zzCurrentPosL;
-            if ( (zzAttributes & 8) == 8 ) break zzForAction;
-          }
-
-        }
-      }
-
-      // store back cached position
-      zzMarkedPos = zzMarkedPosL;
-
-      switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) {
-        case 11: 
-          { sb.append(yytext());
-          }
-        case 25: break;
-        case 4: 
-          { sb = null; sb = new StringBuffer(); yybegin(STRING_BEGIN);
-          }
-        case 26: break;
-        case 16: 
-          { sb.append('\b');
-          }
-        case 27: break;
-        case 6: 
-          { return new Yytoken(Yytoken.TYPE_RIGHT_BRACE,null);
-          }
-        case 28: break;
-        case 23: 
-          { Boolean val=Boolean.valueOf(yytext()); return new Yytoken(Yytoken.TYPE_VALUE, val);
-          }
-        case 29: break;
-        case 22: 
-          { return new Yytoken(Yytoken.TYPE_VALUE, null);
-          }
-        case 30: break;
-        case 13: 
-          { yybegin(YYINITIAL);return new Yytoken(Yytoken.TYPE_VALUE, sb.toString());
-          }
-        case 31: break;
-        case 12: 
-          { sb.append('\\');
-          }
-        case 32: break;
-        case 21: 
-          { Double val=Double.valueOf(yytext()); return new Yytoken(Yytoken.TYPE_VALUE, val);
-          }
-        case 33: break;
-        case 1: 
-          { throw new ParseException(yychar, ParseException.ERROR_UNEXPECTED_CHAR, new Character(yycharat(0)));
-          }
-        case 34: break;
-        case 8: 
-          { return new Yytoken(Yytoken.TYPE_RIGHT_SQUARE,null);
-          }
-        case 35: break;
-        case 19: 
-          { sb.append('\r');
-          }
-        case 36: break;
-        case 15: 
-          { sb.append('/');
-          }
-        case 37: break;
-        case 10: 
-          { return new Yytoken(Yytoken.TYPE_COLON,null);
-          }
-        case 38: break;
-        case 14: 
-          { sb.append('"');
-          }
-        case 39: break;
-        case 5: 
-          { return new Yytoken(Yytoken.TYPE_LEFT_BRACE,null);
-          }
-        case 40: break;
-        case 17: 
-          { sb.append('\f');
-          }
-        case 41: break;
-        case 24: 
-          { try{
-                                                                                                                int ch=Integer.parseInt(yytext().substring(2),16);
-                                                                                                                sb.append((char)ch);
-                                                                                                        }
-                                                                                                        catch(Exception e){
-                                                                                                                throw new ParseException(yychar, ParseException.ERROR_UNEXPECTED_EXCEPTION, e);
-                                                                                                        }
-          }
-        case 42: break;
-        case 20: 
-          { sb.append('\t');
-          }
-        case 43: break;
-        case 7: 
-          { return new Yytoken(Yytoken.TYPE_LEFT_SQUARE,null);
-          }
-        case 44: break;
-        case 2: 
-          { Long val=Long.valueOf(yytext()); return new Yytoken(Yytoken.TYPE_VALUE, val);
-          }
-        case 45: break;
-        case 18: 
-          { sb.append('\n');
-          }
-        case 46: break;
-        case 9: 
-          { return new Yytoken(Yytoken.TYPE_COMMA,null);
-          }
-        case 47: break;
-        case 3: 
-          { 
-          }
-        case 48: break;
-        default: 
-          if (zzInput == YYEOF && zzStartRead == zzCurrentPos) {
-            zzAtEOF = true;
-            return null;
-          } 
-          else {
-            zzScanError(ZZ_NO_MATCH);
-          }
-      }
-    }
-  }
-
-
-}

+ 0 - 58
maxkey-protocols/maxkey-protocol-simulate/src/org/json/simple/parser/Yytoken.java

@@ -1,58 +0,0 @@
-/*
- * $Id: Yytoken.java,v 1.1 2006/04/15 14:10:48 platform Exp $
- * Created on 2006-4-15
- */
-package org.json.simple.parser;
-
-/**
- * @author FangYidong<fangyidong@yahoo.com.cn>
- */
-public class Yytoken {
-        public static final int TYPE_VALUE=0;//JSON primitive value: string,number,boolean,null
-        public static final int TYPE_LEFT_BRACE=1;
-        public static final int TYPE_RIGHT_BRACE=2;
-        public static final int TYPE_LEFT_SQUARE=3;
-        public static final int TYPE_RIGHT_SQUARE=4;
-        public static final int TYPE_COMMA=5;
-        public static final int TYPE_COLON=6;
-        public static final int TYPE_EOF=-1;//end of file
-        
-        public int type=0;
-        public Object value=null;
-        
-        public Yytoken(int type,Object value){
-                this.type=type;
-                this.value=value;
-        }
-        
-        public String toString(){
-                StringBuffer sb = new StringBuffer();
-                switch(type){
-                case TYPE_VALUE:
-                        sb.append("VALUE(").append(value).append(")");
-                        break;
-                case TYPE_LEFT_BRACE:
-                        sb.append("LEFT BRACE({)");
-                        break;
-                case TYPE_RIGHT_BRACE:
-                        sb.append("RIGHT BRACE(})");
-                        break;
-                case TYPE_LEFT_SQUARE:
-                        sb.append("LEFT SQUARE([)");
-                        break;
-                case TYPE_RIGHT_SQUARE:
-                        sb.append("RIGHT SQUARE(])");
-                        break;
-                case TYPE_COMMA:
-                        sb.append("COMMA(,)");
-                        break;
-                case TYPE_COLON:
-                        sb.append("COLON(:)");
-                        break;
-                case TYPE_EOF:
-                        sb.append("END OF FILE");
-                        break;
-                }
-                return sb.toString();
-        }
-}

+ 0 - 30
maxkey-protocols/maxkey-protocol-simulate/test/com/connsec/desktop/login/TestJson.java

@@ -1,30 +0,0 @@
-package com.connsec.desktop.login;
-
-import org.json.simple.JSONObject;
-import org.json.simple.JSONValue;
-
-public class TestJson {
-
-	/**
-	 * @param args
-	 */
-	public static void main(String[] args) {
-		// TODO Auto-generated method stub
-
-		String json = "{";
-		json += "\"name\":\"some name\",";
-		json += " \"description\":\"some description\",";
-		json += " \"doOnMonth\":11,";
-		json += " \"doOnDay\":13,";
-		json += " \"doOnYear\":2007";
-		json += "}";
-		Object obj=JSONValue.parse(json);
-		JSONObject obj2=(JSONObject)obj;
-		System.out.println(obj2.get("description"));
-		
-		String key="key";
-		System.out.println(key.charAt(0));
-		
-	}
-
-}

+ 0 - 288
maxkey-protocols/maxkey-protocol-simulate/test/org/json/simple/JSONArrayTest.java

@@ -1,288 +0,0 @@
-package org.json.simple;
-
-import java.io.IOException;
-import java.io.StringWriter;
-import java.util.ArrayList;
-import java.util.HashSet;
-
-import org.json.simple.parser.JSONParser;
-import org.json.simple.parser.ParseException;
-
-import junit.framework.TestCase;
-
-public class JSONArrayTest extends TestCase {
-
-        public void testJSONArray() {
-                final JSONArray jsonArray = new JSONArray();
-                
-                assertEquals("[]", jsonArray.toJSONString());
-        }
-
-        public void testJSONArrayCollection() {
-                final ArrayList testList = new ArrayList();
-                testList.add("First item");
-                testList.add("Second item");
-                
-                final JSONArray jsonArray = new JSONArray(testList);
-                
-                assertEquals("[\"First item\",\"Second item\"]", jsonArray.toJSONString());
-        }
-
-        public void testWriteJSONStringCollectionWriter() throws IOException, ParseException {
-                final HashSet testSet = new HashSet();
-                testSet.add("First item");
-                testSet.add("Second item");
-                
-                final JSONArray jsonArray = new JSONArray(testSet);
-                final StringWriter writer = new StringWriter();
-                
-                jsonArray.writeJSONString(writer);
-                
-                final JSONParser parser = new JSONParser();
-                final JSONArray parsedArray = (JSONArray)parser.parse(writer.toString());
-                
-                assertTrue(parsedArray.containsAll(jsonArray));
-                assertTrue(jsonArray.containsAll(parsedArray));
-                assertEquals(2, jsonArray.size());
-        }
-
-        public void testToJSONStringCollection() throws ParseException {
-                final HashSet testSet = new HashSet();
-                testSet.add("First item");
-                testSet.add("Second item");
-                
-                final JSONArray jsonArray = new JSONArray(testSet);
-                
-                final JSONParser parser = new JSONParser();
-                final JSONArray parsedArray = (JSONArray)parser.parse(jsonArray.toJSONString());
-                
-                assertTrue(parsedArray.containsAll(jsonArray));
-                assertTrue(jsonArray.containsAll(parsedArray));
-                assertEquals(2, jsonArray.size());
-        }
-
-        public void testByteArrayToString() throws IOException {
-                assertEquals("null", JSONArray.toJSONString((byte[])null));
-                assertEquals("[]", JSONArray.toJSONString(new byte[0]));
-                assertEquals("[12]", JSONArray.toJSONString(new byte[] { 12 }));
-                assertEquals("[-7,22,86,-99]", JSONArray.toJSONString(new byte[] { -7, 22, 86, -99 }));
-                
-                StringWriter writer;
-                
-                writer = new StringWriter();
-                JSONArray.writeJSONString((byte[])null, writer);
-                assertEquals("null", writer.toString());
-                
-                writer = new StringWriter();
-                JSONArray.writeJSONString(new byte[0], writer);
-                assertEquals("[]", writer.toString());
-                
-                writer = new StringWriter();
-                JSONArray.writeJSONString(new byte[] { 12 }, writer);
-                assertEquals("[12]", writer.toString());
-                
-                writer = new StringWriter();
-                JSONArray.writeJSONString(new byte[] { -7, 22, 86, -99 }, writer);
-                assertEquals("[-7,22,86,-99]", writer.toString());
-        }
-        
-        public void testShortArrayToString() throws IOException {
-                assertEquals("null", JSONArray.toJSONString((short[])null));
-                assertEquals("[]", JSONArray.toJSONString(new short[0]));
-                assertEquals("[12]", JSONArray.toJSONString(new short[] { 12 }));
-                assertEquals("[-7,22,86,-99]", JSONArray.toJSONString(new short[] { -7, 22, 86, -99 }));
-                
-                StringWriter writer;
-                
-                writer = new StringWriter();
-                JSONArray.writeJSONString((short[])null, writer);
-                assertEquals("null", writer.toString());
-                
-                writer = new StringWriter();
-                JSONArray.writeJSONString(new short[0], writer);
-                assertEquals("[]", writer.toString());
-                
-                writer = new StringWriter();
-                JSONArray.writeJSONString(new short[] { 12 }, writer);
-                assertEquals("[12]", writer.toString());
-                
-                writer = new StringWriter();
-                JSONArray.writeJSONString(new short[] { -7, 22, 86, -99 }, writer);
-                assertEquals("[-7,22,86,-99]", writer.toString());
-        }
-        
-        public void testIntArrayToString() throws IOException {
-                assertEquals("null", JSONArray.toJSONString((int[])null));
-                assertEquals("[]", JSONArray.toJSONString(new int[0]));
-                assertEquals("[12]", JSONArray.toJSONString(new int[] { 12 }));
-                assertEquals("[-7,22,86,-99]", JSONArray.toJSONString(new int[] { -7, 22, 86, -99 }));
-                
-                StringWriter writer;
-                
-                writer = new StringWriter();
-                JSONArray.writeJSONString((int[])null, writer);
-                assertEquals("null", writer.toString());
-                
-                writer = new StringWriter();
-                JSONArray.writeJSONString(new int[0], writer);
-                assertEquals("[]", writer.toString());
-                
-                writer = new StringWriter();
-                JSONArray.writeJSONString(new int[] { 12 }, writer);
-                assertEquals("[12]", writer.toString());
-                
-                writer = new StringWriter();
-                JSONArray.writeJSONString(new int[] { -7, 22, 86, -99 }, writer);
-                assertEquals("[-7,22,86,-99]", writer.toString());
-        }
-        
-        public void testLongArrayToString() throws IOException {
-                assertEquals("null", JSONArray.toJSONString((long[])null));
-                assertEquals("[]", JSONArray.toJSONString(new long[0]));
-                assertEquals("[12]", JSONArray.toJSONString(new long[] { 12 }));
-                assertEquals("[-7,22,9223372036854775807,-99]", JSONArray.toJSONString(new long[] { -7, 22, 9223372036854775807L, -99 }));
-                
-                StringWriter writer;
-                
-                writer = new StringWriter();
-                JSONArray.writeJSONString((long[])null, writer);
-                assertEquals("null", writer.toString());
-                
-                writer = new StringWriter();
-                JSONArray.writeJSONString(new long[0], writer);
-                assertEquals("[]", writer.toString());
-                
-                writer = new StringWriter();
-                JSONArray.writeJSONString(new long[] { 12 }, writer);
-                assertEquals("[12]", writer.toString());
-                
-                writer = new StringWriter();
-                JSONArray.writeJSONString(new long[] { -7, 22, 86, -99 }, writer);
-                assertEquals("[-7,22,86,-99]", writer.toString());
-        }
-        
-        public void testFloatArrayToString() throws IOException {
-                assertEquals("null", JSONArray.toJSONString((float[])null));
-                assertEquals("[]", JSONArray.toJSONString(new float[0]));
-                assertEquals("[12.8]", JSONArray.toJSONString(new float[] { 12.8f }));
-                assertEquals("[-7.1,22.234,86.7,-99.02]", JSONArray.toJSONString(new float[] { -7.1f, 22.234f, 86.7f, -99.02f }));
-                
-                StringWriter writer;
-                
-                writer = new StringWriter();
-                JSONArray.writeJSONString((float[])null, writer);
-                assertEquals("null", writer.toString());
-                
-                writer = new StringWriter();
-                JSONArray.writeJSONString(new float[0], writer);
-                assertEquals("[]", writer.toString());
-                
-                writer = new StringWriter();
-                JSONArray.writeJSONString(new float[] { 12.8f }, writer);
-                assertEquals("[12.8]", writer.toString());
-                
-                writer = new StringWriter();
-                JSONArray.writeJSONString(new float[] { -7.1f, 22.234f, 86.7f, -99.02f }, writer);
-                assertEquals("[-7.1,22.234,86.7,-99.02]", writer.toString());
-        }
-        
-        public void testDoubleArrayToString() throws IOException {
-                assertEquals("null", JSONArray.toJSONString((double[])null));
-                assertEquals("[]", JSONArray.toJSONString(new double[0]));
-                assertEquals("[12.8]", JSONArray.toJSONString(new double[] { 12.8 }));
-                assertEquals("[-7.1,22.234,86.7,-99.02]", JSONArray.toJSONString(new double[] { -7.1, 22.234, 86.7, -99.02 }));
-                
-                StringWriter writer;
-                
-                writer = new StringWriter();
-                JSONArray.writeJSONString((double[])null, writer);
-                assertEquals("null", writer.toString());
-                
-                writer = new StringWriter();
-                JSONArray.writeJSONString(new double[0], writer);
-                assertEquals("[]", writer.toString());
-                
-                writer = new StringWriter();
-                JSONArray.writeJSONString(new double[] { 12.8 }, writer);
-                assertEquals("[12.8]", writer.toString());
-                
-                writer = new StringWriter();
-                JSONArray.writeJSONString(new double[] { -7.1, 22.234, 86.7, -99.02 }, writer);
-                assertEquals("[-7.1,22.234,86.7,-99.02]", writer.toString());
-        }
-        
-        public void testBooleanArrayToString() throws IOException {
-                assertEquals("null", JSONArray.toJSONString((boolean[])null));
-                assertEquals("[]", JSONArray.toJSONString(new boolean[0]));
-                assertEquals("[true]", JSONArray.toJSONString(new boolean[] { true }));
-                assertEquals("[true,false,true]", JSONArray.toJSONString(new boolean[] { true, false, true }));
-                
-                StringWriter writer;
-                
-                writer = new StringWriter();
-                JSONArray.writeJSONString((boolean[])null, writer);
-                assertEquals("null", writer.toString());
-                
-                writer = new StringWriter();
-                JSONArray.writeJSONString(new boolean[0], writer);
-                assertEquals("[]", writer.toString());
-                
-                writer = new StringWriter();
-                JSONArray.writeJSONString(new boolean[] { true }, writer);
-                assertEquals("[true]", writer.toString());
-                
-                writer = new StringWriter();
-                JSONArray.writeJSONString(new boolean[] { true, false, true }, writer);
-                assertEquals("[true,false,true]", writer.toString());
-        }
-        
-        public void testCharArrayToString() throws IOException {
-                assertEquals("null", JSONArray.toJSONString((char[])null));
-                assertEquals("[]", JSONArray.toJSONString(new char[0]));
-                assertEquals("[\"a\"]", JSONArray.toJSONString(new char[] { 'a' }));
-                assertEquals("[\"a\",\"b\",\"c\"]", JSONArray.toJSONString(new char[] { 'a', 'b', 'c' }));
-                
-                StringWriter writer;
-                
-                writer = new StringWriter();
-                JSONArray.writeJSONString((char[])null, writer);
-                assertEquals("null", writer.toString());
-                
-                writer = new StringWriter();
-                JSONArray.writeJSONString(new char[0], writer);
-                assertEquals("[]", writer.toString());
-                
-                writer = new StringWriter();
-                JSONArray.writeJSONString(new char[] { 'a' }, writer);
-                assertEquals("[\"a\"]", writer.toString());
-                
-                writer = new StringWriter();
-                JSONArray.writeJSONString(new char[] { 'a', 'b', 'c' }, writer);
-                assertEquals("[\"a\",\"b\",\"c\"]", writer.toString());
-        }
-        
-        public void testObjectArrayToString() throws IOException {
-                assertEquals("null", JSONArray.toJSONString((Object[])null));
-                assertEquals("[]", JSONArray.toJSONString(new Object[0]));
-                assertEquals("[\"Hello\"]", JSONArray.toJSONString(new Object[] { "Hello" }));
-                assertEquals("[\"Hello\",12,[1,2,3]]", JSONArray.toJSONString(new Object[] { "Hello", new Integer(12), new int[] { 1, 2, 3 } }));
-                
-                StringWriter writer;
-                
-                writer = new StringWriter();
-                JSONArray.writeJSONString((Object[])null, writer);
-                assertEquals("null", writer.toString());
-                
-                writer = new StringWriter();
-                JSONArray.writeJSONString(new Object[0], writer);
-                assertEquals("[]", writer.toString());
-                
-                writer = new StringWriter();
-                JSONArray.writeJSONString(new Object[] { "Hello" }, writer);
-                assertEquals("[\"Hello\"]", writer.toString());
-                
-                writer = new StringWriter();
-                JSONArray.writeJSONString(new Object[] { "Hello", new Integer(12), new int[] { 1, 2, 3} }, writer);
-                assertEquals("[\"Hello\",12,[1,2,3]]", writer.toString());
-        }
-}

+ 0 - 256
maxkey-protocols/maxkey-protocol-simulate/test/org/json/simple/JSONValueTest.java

@@ -1,256 +0,0 @@
-package org.json.simple;
-
-import java.io.IOException;
-import java.io.StringWriter;
-
-import junit.framework.TestCase;
-
-public class JSONValueTest extends TestCase {
-        public void testByteArrayToString() throws IOException {
-                assertEquals("null", JSONValue.toJSONString((byte[])null));
-                assertEquals("[]", JSONValue.toJSONString(new byte[0]));
-                assertEquals("[12]", JSONValue.toJSONString(new byte[] { 12 }));
-                assertEquals("[-7,22,86,-99]", JSONValue.toJSONString(new byte[] { -7, 22, 86, -99 }));
-                
-                StringWriter writer;
-                
-                writer = new StringWriter();
-                JSONValue.writeJSONString((byte[])null, writer);
-                assertEquals("null", writer.toString());
-                
-                writer = new StringWriter();
-                JSONValue.writeJSONString(new byte[0], writer);
-                assertEquals("[]", writer.toString());
-                
-                writer = new StringWriter();
-                JSONValue.writeJSONString(new byte[] { 12 }, writer);
-                assertEquals("[12]", writer.toString());
-                
-                writer = new StringWriter();
-                JSONValue.writeJSONString(new byte[] { -7, 22, 86, -99 }, writer);
-                assertEquals("[-7,22,86,-99]", writer.toString());
-        }
-        
-        public void testShortArrayToString() throws IOException {
-                assertEquals("null", JSONValue.toJSONString((short[])null));
-                assertEquals("[]", JSONValue.toJSONString(new short[0]));
-                assertEquals("[12]", JSONValue.toJSONString(new short[] { 12 }));
-                assertEquals("[-7,22,86,-99]", JSONValue.toJSONString(new short[] { -7, 22, 86, -99 }));
-                
-                StringWriter writer;
-                
-                writer = new StringWriter();
-                JSONValue.writeJSONString((short[])null, writer);
-                assertEquals("null", writer.toString());
-                
-                writer = new StringWriter();
-                JSONValue.writeJSONString(new short[0], writer);
-                assertEquals("[]", writer.toString());
-                
-                writer = new StringWriter();
-                JSONValue.writeJSONString(new short[] { 12 }, writer);
-                assertEquals("[12]", writer.toString());
-                
-                writer = new StringWriter();
-                JSONValue.writeJSONString(new short[] { -7, 22, 86, -99 }, writer);
-                assertEquals("[-7,22,86,-99]", writer.toString());
-        }
-        
-        public void testIntArrayToString() throws IOException {
-                assertEquals("null", JSONValue.toJSONString((int[])null));
-                assertEquals("[]", JSONValue.toJSONString(new int[0]));
-                assertEquals("[12]", JSONValue.toJSONString(new int[] { 12 }));
-                assertEquals("[-7,22,86,-99]", JSONValue.toJSONString(new int[] { -7, 22, 86, -99 }));
-                
-                StringWriter writer;
-                
-                writer = new StringWriter();
-                JSONValue.writeJSONString((int[])null, writer);
-                assertEquals("null", writer.toString());
-                
-                writer = new StringWriter();
-                JSONValue.writeJSONString(new int[0], writer);
-                assertEquals("[]", writer.toString());
-                
-                writer = new StringWriter();
-                JSONValue.writeJSONString(new int[] { 12 }, writer);
-                assertEquals("[12]", writer.toString());
-                
-                writer = new StringWriter();
-                JSONValue.writeJSONString(new int[] { -7, 22, 86, -99 }, writer);
-                assertEquals("[-7,22,86,-99]", writer.toString());
-        }
-        
-        public void testLongArrayToString() throws IOException {
-                assertEquals("null", JSONValue.toJSONString((long[])null));
-                assertEquals("[]", JSONValue.toJSONString(new long[0]));
-                assertEquals("[12]", JSONValue.toJSONString(new long[] { 12 }));
-                assertEquals("[-7,22,9223372036854775807,-99]", JSONValue.toJSONString(new long[] { -7, 22, 9223372036854775807L, -99 }));
-                
-                StringWriter writer;
-                
-                writer = new StringWriter();
-                JSONValue.writeJSONString((long[])null, writer);
-                assertEquals("null", writer.toString());
-                
-                writer = new StringWriter();
-                JSONValue.writeJSONString(new long[0], writer);
-                assertEquals("[]", writer.toString());
-                
-                writer = new StringWriter();
-                JSONValue.writeJSONString(new long[] { 12 }, writer);
-                assertEquals("[12]", writer.toString());
-                
-                writer = new StringWriter();
-                JSONValue.writeJSONString(new long[] { -7, 22, 86, -99 }, writer);
-                assertEquals("[-7,22,86,-99]", writer.toString());
-        }
-        
-        public void testFloatArrayToString() throws IOException {
-                assertEquals("null", JSONValue.toJSONString((float[])null));
-                assertEquals("[]", JSONValue.toJSONString(new float[0]));
-                assertEquals("[12.8]", JSONValue.toJSONString(new float[] { 12.8f }));
-                assertEquals("[-7.1,22.234,86.7,-99.02]", JSONValue.toJSONString(new float[] { -7.1f, 22.234f, 86.7f, -99.02f }));
-                
-                StringWriter writer;
-                
-                writer = new StringWriter();
-                JSONValue.writeJSONString((float[])null, writer);
-                assertEquals("null", writer.toString());
-                
-                writer = new StringWriter();
-                JSONValue.writeJSONString(new float[0], writer);
-                assertEquals("[]", writer.toString());
-                
-                writer = new StringWriter();
-                JSONValue.writeJSONString(new float[] { 12.8f }, writer);
-                assertEquals("[12.8]", writer.toString());
-                
-                writer = new StringWriter();
-                JSONValue.writeJSONString(new float[] { -7.1f, 22.234f, 86.7f, -99.02f }, writer);
-                assertEquals("[-7.1,22.234,86.7,-99.02]", writer.toString());
-        }
-        
-        public void testDoubleArrayToString() throws IOException {
-                assertEquals("null", JSONValue.toJSONString((double[])null));
-                assertEquals("[]", JSONValue.toJSONString(new double[0]));
-                assertEquals("[12.8]", JSONValue.toJSONString(new double[] { 12.8 }));
-                assertEquals("[-7.1,22.234,86.7,-99.02]", JSONValue.toJSONString(new double[] { -7.1, 22.234, 86.7, -99.02 }));
-                
-                StringWriter writer;
-                
-                writer = new StringWriter();
-                JSONValue.writeJSONString((double[])null, writer);
-                assertEquals("null", writer.toString());
-                
-                writer = new StringWriter();
-                JSONValue.writeJSONString(new double[0], writer);
-                assertEquals("[]", writer.toString());
-                
-                writer = new StringWriter();
-                JSONValue.writeJSONString(new double[] { 12.8 }, writer);
-                assertEquals("[12.8]", writer.toString());
-                
-                writer = new StringWriter();
-                JSONValue.writeJSONString(new double[] { -7.1, 22.234, 86.7, -99.02 }, writer);
-                assertEquals("[-7.1,22.234,86.7,-99.02]", writer.toString());
-        }
-        
-        public void testBooleanArrayToString() throws IOException {
-                assertEquals("null", JSONValue.toJSONString((boolean[])null));
-                assertEquals("[]", JSONValue.toJSONString(new boolean[0]));
-                assertEquals("[true]", JSONValue.toJSONString(new boolean[] { true }));
-                assertEquals("[true,false,true]", JSONValue.toJSONString(new boolean[] { true, false, true }));
-                
-                StringWriter writer;
-                
-                writer = new StringWriter();
-                JSONValue.writeJSONString((boolean[])null, writer);
-                assertEquals("null", writer.toString());
-                
-                writer = new StringWriter();
-                JSONValue.writeJSONString(new boolean[0], writer);
-                assertEquals("[]", writer.toString());
-                
-                writer = new StringWriter();
-                JSONValue.writeJSONString(new boolean[] { true }, writer);
-                assertEquals("[true]", writer.toString());
-                
-                writer = new StringWriter();
-                JSONValue.writeJSONString(new boolean[] { true, false, true }, writer);
-                assertEquals("[true,false,true]", writer.toString());
-        }
-        
-        public void testCharArrayToString() throws IOException {
-                assertEquals("null", JSONValue.toJSONString((char[])null));
-                assertEquals("[]", JSONValue.toJSONString(new char[0]));
-                assertEquals("[\"a\"]", JSONValue.toJSONString(new char[] { 'a' }));
-                assertEquals("[\"a\",\"b\",\"c\"]", JSONValue.toJSONString(new char[] { 'a', 'b', 'c' }));
-                
-                StringWriter writer;
-                
-                writer = new StringWriter();
-                JSONValue.writeJSONString((char[])null, writer);
-                assertEquals("null", writer.toString());
-                
-                writer = new StringWriter();
-                JSONValue.writeJSONString(new char[0], writer);
-                assertEquals("[]", writer.toString());
-                
-                writer = new StringWriter();
-                JSONValue.writeJSONString(new char[] { 'a' }, writer);
-                assertEquals("[\"a\"]", writer.toString());
-                
-                writer = new StringWriter();
-                JSONValue.writeJSONString(new char[] { 'a', 'b', 'c' }, writer);
-                assertEquals("[\"a\",\"b\",\"c\"]", writer.toString());
-        }
-        
-        public void testObjectArrayToString() throws IOException {
-                assertEquals("null", JSONValue.toJSONString((Object[])null));
-                assertEquals("[]", JSONValue.toJSONString(new Object[0]));
-                assertEquals("[\"Hello\"]", JSONValue.toJSONString(new Object[] { "Hello" }));
-                assertEquals("[\"Hello\",12,[1,2,3]]", JSONValue.toJSONString(new Object[] { "Hello", new Integer(12), new int[] { 1, 2, 3 } }));
-                
-                StringWriter writer;
-                
-                writer = new StringWriter();
-                JSONValue.writeJSONString((Object[])null, writer);
-                assertEquals("null", writer.toString());
-                
-                writer = new StringWriter();
-                JSONValue.writeJSONString(new Object[0], writer);
-                assertEquals("[]", writer.toString());
-                
-                writer = new StringWriter();
-                JSONValue.writeJSONString(new Object[] { "Hello" }, writer);
-                assertEquals("[\"Hello\"]", writer.toString());
-                
-                writer = new StringWriter();
-                JSONValue.writeJSONString(new Object[] { "Hello", new Integer(12), new int[] { 1, 2, 3} }, writer);
-                assertEquals("[\"Hello\",12,[1,2,3]]", writer.toString());
-        }
-        
-        public void testArraysOfArrays() throws IOException {
-                
-                StringWriter writer;
-                
-                final int[][][] nestedIntArray = new int[][][]{{{1}, {5}}, {{2}, {6}}};
-                final String expectedNestedIntString = "[[[1],[5]],[[2],[6]]]";
-                
-                assertEquals(expectedNestedIntString, JSONValue.toJSONString(nestedIntArray));
-                
-                writer = new StringWriter();
-                JSONValue.writeJSONString(nestedIntArray, writer);
-                assertEquals(expectedNestedIntString, writer.toString());
-
-                final String[][] nestedStringArray = new String[][]{{"a", "b"}, {"c", "d"}};
-                final String expectedNestedStringString = "[[\"a\",\"b\"],[\"c\",\"d\"]]";
-                
-                assertEquals(expectedNestedStringString, JSONValue.toJSONString(nestedStringArray));
-                
-                writer = new StringWriter();
-                JSONValue.writeJSONString(nestedStringArray, writer);
-                assertEquals(expectedNestedStringString, writer.toString());
-        }
-}

+ 0 - 391
maxkey-protocols/maxkey-protocol-simulate/test/org/json/simple/Test.java

@@ -1,391 +0,0 @@
-/*
- * $Id: Test.java,v 1.1 2006/04/15 14:40:06 platform Exp $
- * Created on 2006-4-15
- */
-package org.json.simple;
-
-import java.io.IOException;
-import java.io.StringWriter;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.LinkedHashMap;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-
-import junit.framework.TestCase;
-
-import org.json.simple.parser.ContainerFactory;
-import org.json.simple.parser.ContentHandler;
-import org.json.simple.parser.JSONParser;
-import org.json.simple.parser.ParseException;
-
-/**
- * @author FangYidong<fangyidong@yahoo.com.cn>
- */
-public class Test extends TestCase{
-
-        public void testDecode() throws Exception{
-                System.out.println("=======decode=======");
-                
-                String s="[0,{\"1\":{\"2\":{\"3\":{\"4\":[5,{\"6\":7}]}}}}]";
-                Object obj=JSONValue.parse(s);
-                JSONArray array=(JSONArray)obj;
-                System.out.println("======the 2nd element of array======");
-                System.out.println(array.get(1));
-                System.out.println();
-                assertEquals("{\"1\":{\"2\":{\"3\":{\"4\":[5,{\"6\":7}]}}}}",array.get(1).toString());
-                
-                JSONObject obj2=(JSONObject)array.get(1);
-                System.out.println("======field \"1\"==========");
-                System.out.println(obj2.get("1"));      
-                assertEquals("{\"2\":{\"3\":{\"4\":[5,{\"6\":7}]}}}",obj2.get("1").toString());
-                
-                s="{}";
-                obj=JSONValue.parse(s);
-                assertEquals("{}",obj.toString());
-                
-                s="[5,]";
-                obj=JSONValue.parse(s);
-                assertEquals("[5]",obj.toString());
-                
-                s="[5,,2]";
-                obj=JSONValue.parse(s);
-                assertEquals("[5,2]",obj.toString());
-                
-                s="[\"hello\\bworld\\\"abc\\tdef\\\\ghi\\rjkl\\n123\\u4e2d\"]";
-                obj=JSONValue.parse(s);
-                assertEquals("hello\bworld\"abc\tdef\\ghi\rjkl\n123中",((List)obj).get(0).toString());
-                
-                JSONParser parser = new JSONParser();
-                s="{\"name\":";
-                try{
-                        obj = parser.parse(s);
-                }
-                catch(ParseException pe){
-                        assertEquals(ParseException.ERROR_UNEXPECTED_TOKEN, pe.getErrorType());
-                        assertEquals(8, pe.getPosition());
-                }
-                
-                s="{\"name\":}";
-                try{
-                        obj = parser.parse(s);
-                }
-                catch(ParseException pe){
-                        assertEquals(ParseException.ERROR_UNEXPECTED_TOKEN, pe.getErrorType());
-                        assertEquals(8, pe.getPosition());
-                }
-                
-                
-                s="{\"name";
-                try{
-                        obj = parser.parse(s);
-                }
-                catch(ParseException pe){
-                        assertEquals(ParseException.ERROR_UNEXPECTED_TOKEN, pe.getErrorType());
-                        assertEquals(6, pe.getPosition());
-                }
-                
-                
-                s = "[[null, 123.45, \"a\\\tb c\"}, true]";
-                try{
-                        parser.parse(s);
-                }
-                catch(ParseException pe){
-                        assertEquals(24, pe.getPosition());
-                        System.out.println("Error at character position: " + pe.getPosition());
-                        switch(pe.getErrorType()){
-                        case ParseException.ERROR_UNEXPECTED_TOKEN:
-                                System.out.println("Unexpected token: " + pe.getUnexpectedObject());
-                                break;
-                        case ParseException.ERROR_UNEXPECTED_CHAR:
-                                System.out.println("Unexpected character: " + pe.getUnexpectedObject());
-                                break;
-                        case ParseException.ERROR_UNEXPECTED_EXCEPTION:
-                                ((Exception)pe.getUnexpectedObject()).printStackTrace();
-                                break;
-                        }
-                }
-                
-                s = "{\"first\": 123, \"second\": [4, 5, 6], \"third\": 789}";
-                ContainerFactory containerFactory = new ContainerFactory(){
-                        public List creatArrayContainer() {
-                                return new LinkedList();
-                        }
-
-                        public Map createObjectContainer() {
-                                return new LinkedHashMap();
-                        }
-                        
-                };
-                
-                try{
-                        Map json = (Map)parser.parse(s, containerFactory);
-                        Iterator iter = json.entrySet().iterator();
-                        System.out.println("==iterate result==");
-                        while(iter.hasNext()){
-                                Map.Entry entry = (Map.Entry)iter.next();
-                                System.out.println(entry.getKey() + "=>" + entry.getValue());
-                        }
-                        
-                        System.out.println("==toJSONString()==");                       
-                        System.out.println(JSONValue.toJSONString(json));
-                        assertEquals("{\"first\":123,\"second\":[4,5,6],\"third\":789}", JSONValue.toJSONString(json));
-                }
-                catch(ParseException pe){
-                        pe.printStackTrace();
-                }
-                
-                s = "{\"first\": 123, \"second\": [{\"s1\":{\"s11\":\"v11\"}}, 4, 5, 6], \"third\": 789}";
-                ContentHandler myHandler = new ContentHandler() {
-
-                        public boolean endArray() throws ParseException {
-                                System.out.println("endArray()");
-                                return true;
-                        }
-
-                        public void endJSON() throws ParseException {
-                                System.out.println("endJSON()");
-                        }
-
-                        public boolean endObject() throws ParseException {
-                                System.out.println("endObject()");
-                                return true;
-                        }
-
-                        public boolean endObjectEntry() throws ParseException {
-                                System.out.println("endObjectEntry()");
-                                return true;
-                        }
-
-                        public boolean primitive(Object value) throws ParseException {
-                                System.out.println("primitive(): " + value);
-                                return true;
-                        }
-
-                        public boolean startArray() throws ParseException {
-                                System.out.println("startArray()");
-                                return true;
-                        }
-
-                        public void startJSON() throws ParseException {
-                                System.out.println("startJSON()");
-                        }
-
-                        public boolean startObject() throws ParseException {
-                                System.out.println("startObject()");
-                                return true;
-                        }
-
-                        public boolean startObjectEntry(String key) throws ParseException {
-                                System.out.println("startObjectEntry(), key:" + key);
-                                return true;
-                        }
-                        
-                };
-                try{
-                        parser.parse(s, myHandler);
-                }
-                catch(ParseException pe){
-                        pe.printStackTrace();
-                }
-        
-        class KeyFinder implements ContentHandler{
-            private Object value;
-            private boolean found = false;
-            private boolean end = false;
-            private String key;
-            private String matchKey;
-            
-            public void setMatchKey(String matchKey){
-                this.matchKey = matchKey;
-            }
-            
-            public Object getValue(){
-                return value;
-            }
-            
-            public boolean isEnd(){
-                return end;
-            }
-            
-            public void setFound(boolean found){
-                this.found = found;
-            }
-            
-            public boolean isFound(){
-                return found;
-            }
-            
-            public void startJSON() throws ParseException, IOException {
-                found = false;
-                end = false;
-            }
-
-            public void endJSON() throws ParseException, IOException {
-                end = true;
-            }
-
-            public boolean primitive(Object value) throws ParseException, IOException {
-                if(key != null){
-                    if(key.equals(matchKey)){
-                        found = true;
-                        this.value = value;
-                        key = null;
-                        return false;
-                    }
-                }
-                return true;
-            }
-
-            public boolean startArray() throws ParseException, IOException {
-                return true;
-            }
-
-            
-            public boolean startObject() throws ParseException, IOException {
-                return true;
-            }
-
-            public boolean startObjectEntry(String key) throws ParseException, IOException {
-                this.key = key;
-                return true;
-            }
-            
-            public boolean endArray() throws ParseException, IOException {
-                return false;
-            }
-
-            public boolean endObject() throws ParseException, IOException {
-                return true;
-            }
-
-            public boolean endObjectEntry() throws ParseException, IOException {
-                return true;
-            }
-        };
-        
-        s = "{\"first\": 123, \"second\": [{\"k1\":{\"id\":\"id1\"}}, 4, 5, 6, {\"id\": 123}], \"third\": 789, \"id\": null}";
-        parser.reset();
-        KeyFinder keyFinder = new KeyFinder();
-        keyFinder.setMatchKey("id");
-        int i = 0;
-        try{
-            while(!keyFinder.isEnd()){
-                parser.parse(s, keyFinder, true);
-                if(keyFinder.isFound()){
-                    i++;
-                    keyFinder.setFound(false);
-                    System.out.println("found id:");
-                    System.out.println(keyFinder.getValue());
-                    if(i == 1)
-                        assertEquals("id1", keyFinder.getValue());
-                    if(i == 2){
-                        assertTrue(keyFinder.getValue() instanceof Number);
-                        assertEquals("123", String.valueOf(keyFinder.getValue()));
-                    }
-                    if(i == 3)
-                        assertTrue(null == keyFinder.getValue());
-                }
-            }
-        }
-        catch(ParseException pe){
-            pe.printStackTrace();
-        }
-        }
-        
-        public void testEncode() throws Exception{
-                System.out.println("=======encode=======");
-                
-                JSONArray array1=new JSONArray();
-                array1.add("abc\u0010a/");
-                array1.add(new Integer(123));
-                array1.add(new Double(222.123));
-                array1.add(new Boolean(true));
-                System.out.println("======array1==========");
-                System.out.println(array1);
-                System.out.println();
-                assertEquals("[\"abc\\u0010a\\/\",123,222.123,true]",array1.toString());
-                
-                JSONObject obj1=new JSONObject();
-                obj1.put("name","fang");
-                obj1.put("age",new Integer(27));
-                obj1.put("is_developer",new Boolean(true));
-                obj1.put("weight",new Double(60.21));
-                obj1.put("array1",array1);
-                System.out.println("======obj1 with array1===========");
-                System.out.println(obj1);
-                System.out.println();
-                assertEquals("{\"array1\":[\"abc\\u0010a\\/\",123,222.123,true],\"weight\":60.21,\"age\":27,\"name\":\"fang\",\"is_developer\":true}",obj1.toString());
-                
-                obj1.remove("array1");
-                array1.add(obj1);
-                System.out.println("======array1 with obj1========");
-                System.out.println(array1);
-                System.out.println();
-                assertEquals("[\"abc\\u0010a\\/\",123,222.123,true,{\"weight\":60.21,\"age\":27,\"name\":\"fang\",\"is_developer\":true}]",array1.toString());
-        
-                List list = new ArrayList();
-                list.add("abc\u0010a/");
-                list.add(new Integer(123));
-                list.add(new Double(222.123));
-                list.add(new Boolean(true));
-                list.add(null);
-                System.out.println("======list==========");
-                System.out.println(JSONArray.toJSONString(list));
-                System.out.println();
-                assertEquals("[\"abc\\u0010a\\/\",123,222.123,true,null]",JSONArray.toJSONString(list));
-                
-                Map map = new HashMap();
-                map.put("name","fang");
-                map.put("age",new Integer(27));
-                map.put("is_developer",new Boolean(true));
-                map.put("weight",new Double(60.21));
-                map.put("array1",list);
-                System.out.println("======map with list===========");
-                System.out.println(map);
-                System.out.println();
-                assertEquals("{\"array1\":[\"abc\\u0010a\\/\",123,222.123,true,null],\"weight\":60.21,\"age\":27,\"name\":\"fang\",\"is_developer\":true}",JSONObject.toJSONString(map));               
-                
-        Map m1 = new LinkedHashMap();
-        Map m2 = new HashMap();
-        List  l1 = new LinkedList();
-
-        m1.put("k11","v11");
-        m1.put("k12","v12");
-        m1.put("k13", "v13");
-        m2.put("k21","v21");
-        m2.put("k22","v22");
-        m2.put("k23","v23");
-        l1.add(m1);
-        l1.add(m2);
-        String jsonString = JSONValue.toJSONString(l1);
-        System.out.println(jsonString);
-        assertEquals("[{\"k11\":\"v11\",\"k12\":\"v12\",\"k13\":\"v13\"},{\"k22\":\"v22\",\"k21\":\"v21\",\"k23\":\"v23\"}]", jsonString);
-    
-        StringWriter out = new StringWriter();
-        JSONValue.writeJSONString(l1, out);
-        jsonString = out.toString();
-        System.out.println(jsonString);
-        assertEquals("[{\"k11\":\"v11\",\"k12\":\"v12\",\"k13\":\"v13\"},{\"k22\":\"v22\",\"k21\":\"v21\",\"k23\":\"v23\"}]", jsonString);
-        
-        List l2 = new LinkedList();
-        Map m3 = new LinkedHashMap();
-        m3.put("k31", "v3");
-        m3.put("k32", new Double(123.45));
-        m3.put("k33", new Boolean(false));
-        m3.put("k34", null);
-        l2.add("vvv");
-        l2.add("1.23456789123456789");
-        l2.add(new Boolean(true));
-        l2.add(null);
-        m3.put("k35", l2);
-        m1.put("k14", m3);
-        out = new StringWriter();
-        JSONValue.writeJSONString(l1, out);
-        jsonString = out.toString();
-        System.out.println(jsonString);
-        assertEquals("[{\"k11\":\"v11\",\"k12\":\"v12\",\"k13\":\"v13\",\"k14\":{\"k31\":\"v3\",\"k32\":123.45,\"k33\":false,\"k34\":null,\"k35\":[\"vvv\",\"1.23456789123456789\",true,null]}},{\"k22\":\"v22\",\"k21\":\"v21\",\"k23\":\"v23\"}]",jsonString);
-    }
-}

+ 0 - 80
maxkey-protocols/maxkey-protocol-simulate/test/org/json/simple/parser/YylexTest.java

@@ -1,80 +0,0 @@
-package org.json.simple.parser;
-
-import java.io.IOException;
-import java.io.StringReader;
-
-import junit.framework.TestCase;
-
-public class YylexTest extends TestCase {
-
-        public void testYylex() throws Exception{
-                String s="\"\\/\"";
-                System.out.println(s);
-                StringReader in = new StringReader(s);
-                Yylex lexer=new Yylex(in);
-                Yytoken token=lexer.yylex();
-                assertEquals(Yytoken.TYPE_VALUE,token.type);
-                assertEquals("/",token.value);
-                
-                s="\"abc\\/\\r\\b\\n\\t\\f\\\\\"";
-                System.out.println(s);
-                in = new StringReader(s);
-                lexer=new Yylex(in);
-                token=lexer.yylex();
-                assertEquals(Yytoken.TYPE_VALUE,token.type);
-                assertEquals("abc/\r\b\n\t\f\\",token.value);
-                
-                s="[\t \n\r\n{ \t \t\n\r}";
-                System.out.println(s);
-                in = new StringReader(s);
-                lexer=new Yylex(in);
-                token=lexer.yylex();
-                assertEquals(Yytoken.TYPE_LEFT_SQUARE,token.type);
-                token=lexer.yylex();
-                assertEquals(Yytoken.TYPE_LEFT_BRACE,token.type);
-                token=lexer.yylex();
-                assertEquals(Yytoken.TYPE_RIGHT_BRACE,token.type);
-                
-                s="\b\f{";
-                System.out.println(s);
-                in = new StringReader(s);
-                lexer=new Yylex(in);
-                ParseException err=null;
-                try{
-                        token=lexer.yylex();
-                }
-                catch(ParseException e){
-                        err=e;
-                        System.out.println("error:"+err);
-                        assertEquals(ParseException.ERROR_UNEXPECTED_CHAR, e.getErrorType());
-                        assertEquals(0,e.getPosition());
-                        assertEquals(new Character('\b'),e.getUnexpectedObject());
-                }
-                catch(IOException ie){
-                        throw ie;
-                }
-                assertTrue(err!=null);
-                
-                s="{a : b}";
-                System.out.println(s);
-                in = new StringReader(s);
-                lexer=new Yylex(in);
-                err=null;
-                try{
-                        lexer.yylex();
-                        token=lexer.yylex();
-                }
-                catch(ParseException e){
-                        err=e;
-                        System.out.println("error:"+err);
-                        assertEquals(ParseException.ERROR_UNEXPECTED_CHAR, e.getErrorType());
-                        assertEquals(new Character('a'),e.getUnexpectedObject());
-                        assertEquals(1,e.getPosition());
-                }
-                catch(IOException ie){
-                        throw ie;
-                }
-                assertTrue(err!=null);
-        }
-
-}

+ 13 - 3
maxkey-webs/maxkey-web-maxkey/bin/main/messages/message.properties

@@ -10,9 +10,9 @@ global.text.logout=\u9000\u51FA
 global.logout.tip=\u6CE8\u9500\u6210\u529F
 global.logout.text.suffix=\u91CD\u65B0\u767B\u5F55
 global.logout.text.prefix=\u60A8\u5DF2\u7ECF\u6210\u529F\u9000\u51FA\u767B\u5F55\uFF0C\u8BF7\u5173\u95ED\u6D4F\u89C8\u5668\u6216\u8005
-global.session.timeout.tip=\u767B\u5F55\u4F1A\u8BDD\u8D85\u65F6
-global.session.timeout.prefix=\u60A8\u7684\u767B\u5F55\u4F1A\u8BDD\u5DF2\u7ECF\u8D85\u65F6\uFF0C\u8BF7
-global.session.timeout.suffix=\u91CD\u65B0\u767B\u5F55
+login.session.timeout.tip=\u767B\u5F55\u4F1A\u8BDD\u8D85\u65F6
+login.session.timeout.prefix=\u60A8\u7684\u767B\u5F55\u4F1A\u8BDD\u5DF2\u7ECF\u8D85\u65F6\uFF0C\u8BF7
+login.session.timeout.suffix=\u91CD\u65B0\u767B\u5F55
 
 common.window.title=\u7A97\u53E3
 common.alert.title=\u63D0\u793A\u4FE1\u606F
@@ -45,6 +45,15 @@ login.text.currenttime=\u65F6&nbsp;&nbsp;&nbsp;&nbsp;\u95F4
 login.text.otherlogins=\u5176\u4ED6\u767B\u5F55\u65B9\u5F0F
 login.text.register=\u7528\u6237\u6CE8\u518C
 
+login.password.expired=\u5BC6\u7801\u8FC7\u671F
+login.password.expired.tip=\u5BC6\u7801\u8FC7\u671F\uFF0C\u8BF7\u4FEE\u6539\u5BC6\u7801
+login.password.newPassword=\u65B0\u5BC6\u7801
+login.password.confirmPassword=\u786E\u8BA4\u65B0\u5BC6\u7801
+
+login.password.initial.change.tip=\u9996\u6B21\u767B\u5F55\uFF0C\u8BF7\u4FEE\u6539\u521D\u59CB\u5316\u5BC6\u7801
+
+userinfo.displayName=\u7528\u6237
+userinfo.username=\u767B\u5F55\u540D
 
 
 apps.icon=\u56FE\u6807
@@ -53,4 +62,5 @@ apps.protocol=\u8BBF\u95EE\u534F\u8BAE
 apps.category=\u7C7B\u578B
 button.text.action=\u8BBF\u95EE
 button.text.visit=\u8BBF\u95EE
+button.text.save=\u4FDD\u5B58
 

+ 13 - 3
maxkey-webs/maxkey-web-maxkey/src/main/resources/messages/message.properties

@@ -10,9 +10,9 @@ global.text.logout=\u9000\u51FA
 global.logout.tip=\u6CE8\u9500\u6210\u529F
 global.logout.text.suffix=\u91CD\u65B0\u767B\u5F55
 global.logout.text.prefix=\u60A8\u5DF2\u7ECF\u6210\u529F\u9000\u51FA\u767B\u5F55\uFF0C\u8BF7\u5173\u95ED\u6D4F\u89C8\u5668\u6216\u8005
-global.session.timeout.tip=\u767B\u5F55\u4F1A\u8BDD\u8D85\u65F6
-global.session.timeout.prefix=\u60A8\u7684\u767B\u5F55\u4F1A\u8BDD\u5DF2\u7ECF\u8D85\u65F6\uFF0C\u8BF7
-global.session.timeout.suffix=\u91CD\u65B0\u767B\u5F55
+login.session.timeout.tip=\u767B\u5F55\u4F1A\u8BDD\u8D85\u65F6
+login.session.timeout.prefix=\u60A8\u7684\u767B\u5F55\u4F1A\u8BDD\u5DF2\u7ECF\u8D85\u65F6\uFF0C\u8BF7
+login.session.timeout.suffix=\u91CD\u65B0\u767B\u5F55
 
 common.window.title=\u7A97\u53E3
 common.alert.title=\u63D0\u793A\u4FE1\u606F
@@ -45,6 +45,15 @@ login.text.currenttime=\u65F6&nbsp;&nbsp;&nbsp;&nbsp;\u95F4
 login.text.otherlogins=\u5176\u4ED6\u767B\u5F55\u65B9\u5F0F
 login.text.register=\u7528\u6237\u6CE8\u518C
 
+login.password.expired=\u5BC6\u7801\u8FC7\u671F
+login.password.expired.tip=\u5BC6\u7801\u8FC7\u671F\uFF0C\u8BF7\u4FEE\u6539\u5BC6\u7801
+login.password.newPassword=\u65B0\u5BC6\u7801
+login.password.confirmPassword=\u786E\u8BA4\u65B0\u5BC6\u7801
+
+login.password.initial.change.tip=\u9996\u6B21\u767B\u5F55\uFF0C\u8BF7\u4FEE\u6539\u521D\u59CB\u5316\u5BC6\u7801
+
+userinfo.displayName=\u7528\u6237
+userinfo.username=\u767B\u5F55\u540D
 
 
 apps.icon=\u56FE\u6807
@@ -53,4 +62,5 @@ apps.protocol=\u8BBF\u95EE\u534F\u8BAE
 apps.category=\u7C7B\u578B
 button.text.action=\u8BBF\u95EE
 button.text.visit=\u8BBF\u95EE
+button.text.save=\u4FDD\u5B58
 

+ 16 - 5
maxkey-webs/maxkey-web-maxkey/src/main/webapp/WEB-INF/views/passwordExpired.jsp

@@ -3,11 +3,18 @@
 <%@taglib prefix="s" 		uri="http://www.connsec.com/tags" %> 
 <!DOCTYPE HTML >
 <html>
-  <head>
-      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
-      <title><s:Locale code="login.password.expired" /></title>
+	<head>
+		<jsp:include page="layout/header.jsp"></jsp:include>
+		<jsp:include page="layout/common.css.jsp"></jsp:include>
+		<jsp:include page="layout/common.js.jsp"></jsp:include>
+      	<meta http-equiv="content-type" content="text/html; charset=UTF-8">
+      	<title><s:Locale code="login.password.expired" /></title>
   </head>
 <body>
+<div id="top">
+	<jsp:include page="layout/nologintop.jsp"></jsp:include>
+</div>
+<div id="content">
 <div class="container">
 <table width="100%">
   <tr>
@@ -35,7 +42,7 @@
 				</td>
 			</tr>
 			<tr>
-				<th><s:Locale code="access.security.newPassword" />:</th>
+				<th><s:Locale code="login.password.newPassword" />:</th>
 				<td>
 					<input type="password" id="newPassword" name="newPassword" class=" required" title="" value=""/>
 					<b class="orange">*</b>
@@ -43,7 +50,7 @@
 				</td>
 			</tr>
 			<tr>
-				<th><s:Locale code="access.security.confirmPassword" />:</th>
+				<th><s:Locale code="login.password.confirmPassword" />:</th>
 				<td nowrap>
 					<input type="password" id="confirmPassword" name="confirmPassword" class="{ required: true, equalTo: '#newPassword' }" title="" value=""/>
 					<b class="orange">*</b>
@@ -65,5 +72,9 @@
   </tr>
 </table>
 </div>
+</div>
+<div id="footer">
+	<jsp:include page="layout/footer.jsp"></jsp:include>
+</div>
 </body>
 </html>

+ 26 - 4
maxkey-webs/maxkey-web-maxkey/src/main/webapp/WEB-INF/views/passwordInitial.jsp

@@ -1,3 +1,20 @@
+<%@page session="false" %>
+<%@taglib prefix="c" 		uri="http://java.sun.com/jsp/jstl/core" %>
+<%@taglib prefix="s" 		uri="http://www.connsec.com/tags" %> 
+<!DOCTYPE HTML >
+<html>
+	<head>
+		<jsp:include page="layout/header.jsp"></jsp:include>
+		<jsp:include page="layout/common.css.jsp"></jsp:include>
+		<jsp:include page="layout/common.js.jsp"></jsp:include>
+      	<meta http-equiv="content-type" content="text/html; charset=UTF-8">
+      	<title><s:Locale code="login.password.initial.change.tip" /></title>
+  </head>
+<body>
+<div id="top">
+	<jsp:include page="layout/nologintop.jsp"></jsp:include>
+</div>
+<div id="content">
 <div class="container">
 <table width="100%">
   <tr>
@@ -8,7 +25,7 @@
 	  <table   class="datatable" >
 			<tbody>
 			<tr>
-				<th  colspan="2"><s:Locale code="login.initial.password.tip" /></th>
+				<th  colspan="2"><s:Locale code="login.password.initial.change.tip" /></th>
 			</tr>
 			<tr>
 				<th><s:Locale code="userinfo.displayName" /> :</th>
@@ -25,7 +42,7 @@
 				</td>
 			</tr>
 			<tr>
-				<th><s:Locale code="access.security.newPassword" />:</th>
+				<th><s:Locale code="login.password.newPassword" />:</th>
 				<td>
 					<input type="password" id="newPassword" name="newPassword" class=" required" title="" value=""/>
 					<b class="orange">*</b>
@@ -33,7 +50,7 @@
 				</td>
 			</tr>
 			<tr>
-				<th><s:Locale code="access.security.confirmPassword" />:</th>
+				<th><s:Locale code="login.password.confirmPassword" />:</th>
 				<td nowrap>
 					<input type="password" id="confirmPassword" name="confirmPassword" class="{ required: true, equalTo: '#newPassword' }" title="" value=""/>
 					<b class="orange">*</b>
@@ -54,4 +71,9 @@
   </tr>
 </table>
 </div>
-
+</div>
+<div id="footer">
+	<jsp:include page="layout/footer.jsp"></jsp:include>
+</div>
+</body>
+</html>

+ 14 - 6
maxkey-webs/maxkey-web-maxkey/src/main/webapp/WEB-INF/views/timeout.jsp

@@ -4,20 +4,28 @@
 <!DOCTYPE HTML >
 <html>
   <head>
-      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
-      <title><s:Locale code="global.session.timeout.tip"/></title>
+  		<jsp:include page="layout/header.jsp"></jsp:include>
+		<jsp:include page="layout/common.css.jsp"></jsp:include>
+		<jsp:include page="layout/common.js.jsp"></jsp:include>
+      	<meta http-equiv="content-type" content="text/html; charset=UTF-8">
+      	<title><s:Locale code="login.session.timeout.tip"/></title>
   </head>
 <body>
-
+<div id="top">
+	<jsp:include page="layout/nologintop.jsp"></jsp:include>
+</div>
 <div id="content">
-	<h2><s:Locale code="global.session.timeout.tip"/></h2>
+	<h2><s:Locale code="login.session.timeout.tip"/></h2>
 
 	<p>
-		<s:Locale code="global.session.timeout.prefix"/>
+		<s:Locale code="login.session.timeout.prefix"/>
 		<a href="${reloginUrl}">
-			<s:Locale code="global.session.timeout.suffix"/>
+			<s:Locale code="login.session.timeout.suffix"/>
 		</a>.
 	</p>
 </div>
+<div id="footer">
+	<jsp:include page="layout/footer.jsp"></jsp:include>
+</div>
 </body>
 </html>

+ 0 - 1
settings.gradle

@@ -14,7 +14,6 @@ include 'maxkey-jose-jwt'
 include 'maxkey-protocols:maxkey-protocol-oauth-2.0'
 include 'maxkey-protocols:maxkey-protocol-saml-2.0'
 
-include 'maxkey-protocols:maxkey-protocol-simulate'
 include 'maxkey-protocols:maxkey-protocol-authorize'
 include 'maxkey-protocols:maxkey-protocol-desktop'
 include 'maxkey-protocols:maxkey-protocol-extendapi'