commit 251eb5e77803ced189a4908b6c351ac7e374691c Author: Jered Ye <87924680+JeredYe@users.noreply.github.com> Date: Fri Jan 12 20:48:35 2024 +0800 创建仓库 创建仓库 diff --git a/.idea/OJ.iml b/.idea/OJ.iml new file mode 100644 index 0000000..d6ebd48 --- /dev/null +++ b/.idea/OJ.iml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/.idea/encodings.xml b/.idea/encodings.xml new file mode 100644 index 0000000..ae23821 --- /dev/null +++ b/.idea/encodings.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/1546620889958090490.xml b/.idea/libraries/1546620889958090490.xml new file mode 100644 index 0000000..ccef4db --- /dev/null +++ b/.idea/libraries/1546620889958090490.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/AcmLib.xml b/.idea/libraries/AcmLib.xml new file mode 100644 index 0000000..b7bee84 --- /dev/null +++ b/.idea/libraries/AcmLib.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Common.xml b/.idea/libraries/Common.xml new file mode 100644 index 0000000..8b3575e --- /dev/null +++ b/.idea/libraries/Common.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/JuderUI.xml b/.idea/libraries/JuderUI.xml new file mode 100644 index 0000000..b1c0214 --- /dev/null +++ b/.idea/libraries/JuderUI.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Judger.xml b/.idea/libraries/Judger.xml new file mode 100644 index 0000000..390f846 --- /dev/null +++ b/.idea/libraries/Judger.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Lib.xml b/.idea/libraries/Lib.xml new file mode 100644 index 0000000..6393488 --- /dev/null +++ b/.idea/libraries/Lib.xml @@ -0,0 +1,100 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/client.xml b/.idea/libraries/client.xml new file mode 100644 index 0000000..627df94 --- /dev/null +++ b/.idea/libraries/client.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/clientUpdater.xml b/.idea/libraries/clientUpdater.xml new file mode 100644 index 0000000..c42f296 --- /dev/null +++ b/.idea/libraries/clientUpdater.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/clientUpdater1.xml b/.idea/libraries/clientUpdater1.xml new file mode 100644 index 0000000..fe7d545 --- /dev/null +++ b/.idea/libraries/clientUpdater1.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/lib1.xml b/.idea/libraries/lib1.xml new file mode 100644 index 0000000..70464d2 --- /dev/null +++ b/.idea/libraries/lib1.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/lib2.xml b/.idea/libraries/lib2.xml new file mode 100644 index 0000000..4137cac --- /dev/null +++ b/.idea/libraries/lib2.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/lib3.xml b/.idea/libraries/lib3.xml new file mode 100644 index 0000000..e0fb8eb --- /dev/null +++ b/.idea/libraries/lib3.xml @@ -0,0 +1,128 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/registry.xml b/.idea/libraries/registry.xml new file mode 100644 index 0000000..c6d931b --- /dev/null +++ b/.idea/libraries/registry.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/swt.xml b/.idea/libraries/swt.xml new file mode 100644 index 0000000..7f2006a --- /dev/null +++ b/.idea/libraries/swt.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/swt1.xml b/.idea/libraries/swt1.xml new file mode 100644 index 0000000..643db8a --- /dev/null +++ b/.idea/libraries/swt1.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..30905c1 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..ad4b235 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..45cf85c --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/workspace.xml b/.idea/workspace.xml new file mode 100644 index 0000000..a398f5e --- /dev/null +++ b/.idea/workspace.xml @@ -0,0 +1,75 @@ + + + + + + + + + + + + + + + + + + + + + + + + C:\Users\32592\AppData\Roaming\Subversion + 125 + + + + + 1704801979303 + + + + + + \ No newline at end of file diff --git a/AcmLib/antlr-2.7.6.jar b/AcmLib/antlr-2.7.6.jar new file mode 100644 index 0000000..3702b64 Binary files /dev/null and b/AcmLib/antlr-2.7.6.jar differ diff --git a/AcmLib/asm.jar b/AcmLib/asm.jar new file mode 100644 index 0000000..ee0c7cc Binary files /dev/null and b/AcmLib/asm.jar differ diff --git a/AcmLib/cglib-2.1.3.jar b/AcmLib/cglib-2.1.3.jar new file mode 100644 index 0000000..ddfbdb0 Binary files /dev/null and b/AcmLib/cglib-2.1.3.jar differ diff --git a/AcmLib/commons-collections-2.1.1.jar b/AcmLib/commons-collections-2.1.1.jar new file mode 100644 index 0000000..3272f2b Binary files /dev/null and b/AcmLib/commons-collections-2.1.1.jar differ diff --git a/AcmLib/commons-logging-1.0.4.jar b/AcmLib/commons-logging-1.0.4.jar new file mode 100644 index 0000000..b73a80f Binary files /dev/null and b/AcmLib/commons-logging-1.0.4.jar differ diff --git a/AcmLib/dom4j-1.6.1.jar b/AcmLib/dom4j-1.6.1.jar new file mode 100644 index 0000000..c8c4dbb Binary files /dev/null and b/AcmLib/dom4j-1.6.1.jar differ diff --git a/AcmLib/hibernate3.jar b/AcmLib/hibernate3.jar new file mode 100644 index 0000000..1020b87 Binary files /dev/null and b/AcmLib/hibernate3.jar differ diff --git a/AcmLib/jdom-2.0.5.jar b/AcmLib/jdom-2.0.5.jar new file mode 100644 index 0000000..b6996c7 Binary files /dev/null and b/AcmLib/jdom-2.0.5.jar differ diff --git a/AcmLib/jdom.jar b/AcmLib/jdom.jar new file mode 100644 index 0000000..b24170c Binary files /dev/null and b/AcmLib/jdom.jar differ diff --git a/AcmLib/jta.jar b/AcmLib/jta.jar new file mode 100644 index 0000000..e0822a9 Binary files /dev/null and b/AcmLib/jta.jar differ diff --git a/AcmLib/mysql-connector-java-5.1.6-bin.jar b/AcmLib/mysql-connector-java-5.1.6-bin.jar new file mode 100644 index 0000000..0539039 Binary files /dev/null and b/AcmLib/mysql-connector-java-5.1.6-bin.jar differ diff --git a/Common/Common.iml b/Common/Common.iml new file mode 100644 index 0000000..2ac6413 --- /dev/null +++ b/Common/Common.iml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Common/build.xml b/Common/build.xml new file mode 100644 index 0000000..3b32c60 --- /dev/null +++ b/Common/build.xml @@ -0,0 +1,73 @@ + + + + + + + + + + + Builds, tests, and runs the project Common. + + + diff --git a/Common/build/classes/common/Config.class b/Common/build/classes/common/Config.class new file mode 100644 index 0000000..b4531e3 Binary files /dev/null and b/Common/build/classes/common/Config.class differ diff --git a/Common/build/classes/common/Const.class b/Common/build/classes/common/Const.class new file mode 100644 index 0000000..90d7b64 Binary files /dev/null and b/Common/build/classes/common/Const.class differ diff --git a/Common/build/classes/common/DBConfig.class b/Common/build/classes/common/DBConfig.class new file mode 100644 index 0000000..d425f96 Binary files /dev/null and b/Common/build/classes/common/DBConfig.class differ diff --git a/Common/build/classes/common/FileFinder.class b/Common/build/classes/common/FileFinder.class new file mode 100644 index 0000000..07c2c5e Binary files /dev/null and b/Common/build/classes/common/FileFinder.class differ diff --git a/Common/build/classes/common/IDistributorServer.class b/Common/build/classes/common/IDistributorServer.class new file mode 100644 index 0000000..d4cd907 Binary files /dev/null and b/Common/build/classes/common/IDistributorServer.class differ diff --git a/Common/build/classes/common/TimeTool.class b/Common/build/classes/common/TimeTool.class new file mode 100644 index 0000000..90cc651 Binary files /dev/null and b/Common/build/classes/common/TimeTool.class differ diff --git a/Common/build/classes/log/Log.class b/Common/build/classes/log/Log.class new file mode 100644 index 0000000..201a3ab Binary files /dev/null and b/Common/build/classes/log/Log.class differ diff --git a/Common/build/classes/log4j.properties b/Common/build/classes/log4j.properties new file mode 100644 index 0000000..a3952d4 --- /dev/null +++ b/Common/build/classes/log4j.properties @@ -0,0 +1,25 @@ +log4j.properties +### \u8bbe\u7f6e ### +log4j.rootLogger=debug,stdout,DDD,EEE +### \u8f93\u51fa\u4fe1\u606f\u5230\u63a7\u5236\u53f0 ### +log4j.appender.stdout=org.apache.log4j.ConsoleAppender +log4j.appender.stdout.Target=System.out +log4j.appender.stdout.layout=org.apache.log4j.PatternLayout +log4j.appender.stdout.layout.ConversionPattern=[%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n +### \u8f93\u51faDEBUG \u7ea7\u522b\u4ee5\u4e0a\u7684\u65e5\u5fd7\u5230=/Users/tinybye/Documents/log4j/debug.log ### +log4j.appender.DDD=org.apache.log4j.DailyRollingFileAppender +log4j.appender.DDD.File=./logs/log.log4j +log4j.appender.DDD.Append=true +log4j.appender.DDD.Threshold=DEBUG +log4j.appender.DDD.layout=org.apache.log4j.PatternLayout +log4j.appender.DDD.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n +### \u8f93\u51faERROR \u7ea7\u522b\u4ee5\u4e0a\u7684\u65e5\u5fd7\u5230=/Users/tinybye/Documents/log4j/error.log ### +log4j.appender.EEE=org.apache.log4j.DailyRollingFileAppender +log4j.appender.EEE.File=./logs/log.log4j +log4j.appender.EEE.Append=true +log4j.appender.EEE.Threshold=ERROR +log4j.appender.EEE.layout=org.apache.log4j.PatternLayout +log4j.appender.EEE.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n + + + diff --git a/Common/build/classes/persistence/ObjectRelation_interface/CommonDAO.class b/Common/build/classes/persistence/ObjectRelation_interface/CommonDAO.class new file mode 100644 index 0000000..517c3a3 Binary files /dev/null and b/Common/build/classes/persistence/ObjectRelation_interface/CommonDAO.class differ diff --git a/Common/build/classes/persistence/ObjectRelation_interface/ExamDetailDAO.class b/Common/build/classes/persistence/ObjectRelation_interface/ExamDetailDAO.class new file mode 100644 index 0000000..54d45e5 Binary files /dev/null and b/Common/build/classes/persistence/ObjectRelation_interface/ExamDetailDAO.class differ diff --git a/Common/build/classes/persistence/ObjectRelation_interface/HibernateSessionFactory.class b/Common/build/classes/persistence/ObjectRelation_interface/HibernateSessionFactory.class new file mode 100644 index 0000000..ae78cf7 Binary files /dev/null and b/Common/build/classes/persistence/ObjectRelation_interface/HibernateSessionFactory.class differ diff --git a/Common/build/classes/persistence/ObjectRelation_interface/ProblemDAO.class b/Common/build/classes/persistence/ObjectRelation_interface/ProblemDAO.class new file mode 100644 index 0000000..edfc0c9 Binary files /dev/null and b/Common/build/classes/persistence/ObjectRelation_interface/ProblemDAO.class differ diff --git a/Common/build/classes/persistence/ObjectRelation_interface/SolutionDAO.class b/Common/build/classes/persistence/ObjectRelation_interface/SolutionDAO.class new file mode 100644 index 0000000..00f983c Binary files /dev/null and b/Common/build/classes/persistence/ObjectRelation_interface/SolutionDAO.class differ diff --git a/Common/build/classes/persistence/ObjectRelation_interface/TestcaseDAO.class b/Common/build/classes/persistence/ObjectRelation_interface/TestcaseDAO.class new file mode 100644 index 0000000..b60ccab Binary files /dev/null and b/Common/build/classes/persistence/ObjectRelation_interface/TestcaseDAO.class differ diff --git a/Common/build/classes/persistence/ObjectRelation_interface/WrongCaseDAO.class b/Common/build/classes/persistence/ObjectRelation_interface/WrongCaseDAO.class new file mode 100644 index 0000000..13e7aa1 Binary files /dev/null and b/Common/build/classes/persistence/ObjectRelation_interface/WrongCaseDAO.class differ diff --git a/Common/build/classes/persistence/oj_beans/ExamDetailBean.class b/Common/build/classes/persistence/oj_beans/ExamDetailBean.class new file mode 100644 index 0000000..f16d903 Binary files /dev/null and b/Common/build/classes/persistence/oj_beans/ExamDetailBean.class differ diff --git a/Common/build/classes/persistence/oj_beans/ExamDetailBean.hbm.xml b/Common/build/classes/persistence/oj_beans/ExamDetailBean.hbm.xml new file mode 100644 index 0000000..4384282 --- /dev/null +++ b/Common/build/classes/persistence/oj_beans/ExamDetailBean.hbm.xml @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Common/build/classes/persistence/oj_beans/ExamInfoBean.class b/Common/build/classes/persistence/oj_beans/ExamInfoBean.class new file mode 100644 index 0000000..24f8115 Binary files /dev/null and b/Common/build/classes/persistence/oj_beans/ExamInfoBean.class differ diff --git a/Common/build/classes/persistence/oj_beans/ExamInfoBean.hbm.xml b/Common/build/classes/persistence/oj_beans/ExamInfoBean.hbm.xml new file mode 100644 index 0000000..89f452e --- /dev/null +++ b/Common/build/classes/persistence/oj_beans/ExamInfoBean.hbm.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/Common/build/classes/persistence/oj_beans/ExamProblemsBean.class b/Common/build/classes/persistence/oj_beans/ExamProblemsBean.class new file mode 100644 index 0000000..c964ceb Binary files /dev/null and b/Common/build/classes/persistence/oj_beans/ExamProblemsBean.class differ diff --git a/Common/build/classes/persistence/oj_beans/ExamProblemsBean.hbm.xml b/Common/build/classes/persistence/oj_beans/ExamProblemsBean.hbm.xml new file mode 100644 index 0000000..44a1ee5 --- /dev/null +++ b/Common/build/classes/persistence/oj_beans/ExamProblemsBean.hbm.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/Common/build/classes/persistence/oj_beans/ProblemBean.class b/Common/build/classes/persistence/oj_beans/ProblemBean.class new file mode 100644 index 0000000..c8ff73f Binary files /dev/null and b/Common/build/classes/persistence/oj_beans/ProblemBean.class differ diff --git a/Common/build/classes/persistence/oj_beans/ProblemBean.hbm.xml b/Common/build/classes/persistence/oj_beans/ProblemBean.hbm.xml new file mode 100644 index 0000000..a85756a --- /dev/null +++ b/Common/build/classes/persistence/oj_beans/ProblemBean.hbm.xml @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Common/build/classes/persistence/oj_beans/ProblemTestCaseBean.class b/Common/build/classes/persistence/oj_beans/ProblemTestCaseBean.class new file mode 100644 index 0000000..0bab4d3 Binary files /dev/null and b/Common/build/classes/persistence/oj_beans/ProblemTestCaseBean.class differ diff --git a/Common/build/classes/persistence/oj_beans/ProblemTestCaseBean.hbm.xml b/Common/build/classes/persistence/oj_beans/ProblemTestCaseBean.hbm.xml new file mode 100644 index 0000000..95f806c --- /dev/null +++ b/Common/build/classes/persistence/oj_beans/ProblemTestCaseBean.hbm.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/Common/build/classes/persistence/oj_beans/SolutionBean.class b/Common/build/classes/persistence/oj_beans/SolutionBean.class new file mode 100644 index 0000000..af64195 Binary files /dev/null and b/Common/build/classes/persistence/oj_beans/SolutionBean.class differ diff --git a/Common/build/classes/persistence/oj_beans/SolutionBean.hbm.xml b/Common/build/classes/persistence/oj_beans/SolutionBean.hbm.xml new file mode 100644 index 0000000..0bf286d --- /dev/null +++ b/Common/build/classes/persistence/oj_beans/SolutionBean.hbm.xml @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Common/build/classes/persistence/oj_beans/UserBean.class b/Common/build/classes/persistence/oj_beans/UserBean.class new file mode 100644 index 0000000..aca6ce6 Binary files /dev/null and b/Common/build/classes/persistence/oj_beans/UserBean.class differ diff --git a/Common/build/classes/persistence/oj_beans/UserBean.hbm.xml b/Common/build/classes/persistence/oj_beans/UserBean.hbm.xml new file mode 100644 index 0000000..8f879b1 --- /dev/null +++ b/Common/build/classes/persistence/oj_beans/UserBean.hbm.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/Common/build/classes/persistence/oj_beans/WrongCaseBean.class b/Common/build/classes/persistence/oj_beans/WrongCaseBean.class new file mode 100644 index 0000000..02a60bf Binary files /dev/null and b/Common/build/classes/persistence/oj_beans/WrongCaseBean.class differ diff --git a/Common/build/classes/persistence/oj_beans/WrongCaseBean.hbm.xml b/Common/build/classes/persistence/oj_beans/WrongCaseBean.hbm.xml new file mode 100644 index 0000000..5075125 --- /dev/null +++ b/Common/build/classes/persistence/oj_beans/WrongCaseBean.hbm.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/Common/config/Config.properties b/Common/config/Config.properties new file mode 100644 index 0000000..b678e6c --- /dev/null +++ b/Common/config/Config.properties @@ -0,0 +1,18 @@ +#update config.properties +#Mon Dec 14 18:06:02 CST 2015 +relativeJavaCompilerDir=\\Java\\jdk1.8.0_40\\bin +distributorIP=127.0.0.1 +distributorPort=5000 +relativeCCompilerDir=\\MinGW\\bin +exeDir=D\:\\workspace\\MyAcmJudger\\test +relativeExeDir=\\test +cCompilerDir=C\:\\MinGW\\bin +title=\u00E8\u00A3\u0081\u00E5\u0088\u00A4\u00E6\u009C\u00BA +srcDir=D\:\\workspace\\MyAcmJudger\\test +isRelative=true +Debug=1 +relativeSrcDir=\\test +relativeCppCompilerDir=\\MinGW\\bin +cppCompilerDir=C\:\\MinGW\\bin +javaCompilerDir=C\:\\Program Files\\Java\\jdk1.8.0_40\\bin + diff --git a/Common/config/DBConfig.properties b/Common/config/DBConfig.properties new file mode 100644 index 0000000..eb608fd --- /dev/null +++ b/Common/config/DBConfig.properties @@ -0,0 +1,7 @@ +#hibernate.dialect org.hibernate.dialect.MySQLDialect +#hibernate.dialect org.hibernate.dialect.MySQLInnoDBDialect +#hibernate.dialect org.hibernate.dialect.MySQLMyISAMDialect +hibernate.connection.driver_class com.mysql.jdbc.Driver +hibernate.connection.url jdbc:mysql://localhost/gdoj?useUnicode=true&amp;characterEncoding=UTF-8 +hibernate.connection.username root +hibernate.connection.password 123456 diff --git a/Common/dist/Common.jar b/Common/dist/Common.jar new file mode 100644 index 0000000..dcea559 Binary files /dev/null and b/Common/dist/Common.jar differ diff --git a/Common/nbproject/build-impl.xml b/Common/nbproject/build-impl.xml new file mode 100644 index 0000000..46a04c2 --- /dev/null +++ b/Common/nbproject/build-impl.xml @@ -0,0 +1,1420 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set src.dir + Must set test.src.dir + Must set build.dir + Must set dist.dir + Must set build.classes.dir + Must set dist.javadoc.dir + Must set build.test.classes.dir + Must set build.test.results.dir + Must set build.classes.excludes + Must set dist.jar + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No tests executed. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set JVM to use for profiling in profiler.info.jvm + Must set profiler agent JVM arguments in profiler.info.jvmargs.agent + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + To run this application from the command line without Ant, try: + + java -jar "${dist.jar.resolved}" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + Must select one file in the IDE or set run.class + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set debug.class + + + + + Must select one file in the IDE or set debug.class + + + + + Must set fix.includes + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + Must select one file in the IDE or set profile.class + This target only works when run from inside the NetBeans IDE. + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + + + Must select some files in the IDE or set test.includes + + + + + Must select one file in the IDE or set run.class + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + Some tests failed; see details above. + + + + + + + + + Must select some files in the IDE or set test.includes + + + + Some tests failed; see details above. + + + + Must select some files in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + Some tests failed; see details above. + + + + + Must select one file in the IDE or set test.class + + + + Must select one file in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + + + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Common/nbproject/genfiles.properties b/Common/nbproject/genfiles.properties new file mode 100644 index 0000000..840609f --- /dev/null +++ b/Common/nbproject/genfiles.properties @@ -0,0 +1,8 @@ +build.xml.data.CRC32=e5eafc6d +build.xml.script.CRC32=35a5ea50 +build.xml.stylesheet.CRC32=8064a381@1.79.1.48 +# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. +# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. +nbproject/build-impl.xml.data.CRC32=e5eafc6d +nbproject/build-impl.xml.script.CRC32=f31ce408 +nbproject/build-impl.xml.stylesheet.CRC32=830a3534@1.80.1.48 diff --git a/Common/nbproject/private/config.properties b/Common/nbproject/private/config.properties new file mode 100644 index 0000000..e69de29 diff --git a/Common/nbproject/private/private.properties b/Common/nbproject/private/private.properties new file mode 100644 index 0000000..159b088 --- /dev/null +++ b/Common/nbproject/private/private.properties @@ -0,0 +1,7 @@ +compile.on.save=true +do.depend=false +do.jar=true +file.reference.registry.jar=Z:\\project\\OJ\\Lib\\registry-3.1.3\\bin\\registry.jar +javac.debug=true +javadoc.preview=true +user.properties.file=C:\\Users\\Turbo\\AppData\\Roaming\\NetBeans\\8.1\\build.properties diff --git a/Common/nbproject/private/private.xml b/Common/nbproject/private/private.xml new file mode 100644 index 0000000..fb24d3b --- /dev/null +++ b/Common/nbproject/private/private.xml @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/Common/nbproject/project.properties b/Common/nbproject/project.properties new file mode 100644 index 0000000..13582be --- /dev/null +++ b/Common/nbproject/project.properties @@ -0,0 +1,97 @@ +annotation.processing.enabled=true +annotation.processing.enabled.in.editor=false +annotation.processing.processors.list= +annotation.processing.run.all.processors=true +annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output +application.title=Common +application.vendor=Administrator +build.classes.dir=${build.dir}/classes +build.classes.excludes=**/*.java,**/*.form +# This directory is removed when the project is cleaned: +build.dir=build +build.generated.dir=${build.dir}/generated +build.generated.sources.dir=${build.dir}/generated-sources +# Only compile against the classpath explicitly listed here: +build.sysclasspath=ignore +build.test.classes.dir=${build.dir}/test/classes +build.test.results.dir=${build.dir}/test/results +# Uncomment to specify the preferred debugger connection transport: +#debug.transport=dt_socket +debug.classpath=\ + ${run.classpath} +debug.test.classpath=\ + ${run.test.classpath} +# build.classes.dir \u4e2d\u5e94\u4ece\u5206\u53d1 jar \u4e2d\u6392\u9664\u7684\u6587\u4ef6 +dist.archive.excludes= +# This directory is removed when the project is cleaned: +dist.dir=dist +dist.jar=${dist.dir}/Common.jar +dist.javadoc.dir=${dist.dir}/javadoc +endorsed.classpath= +excludes= +file.reference.antlr-2.7.6.jar=../AcmLib/antlr-2.7.6.jar +file.reference.asm.jar=../AcmLib/asm.jar +file.reference.cglib-2.1.3.jar=../AcmLib/cglib-2.1.3.jar +file.reference.commons-collections-2.1.1.jar=../AcmLib/commons-collections-2.1.1.jar +file.reference.dom4j-1.6.1.jar=../AcmLib/dom4j-1.6.1.jar +file.reference.hibernate3.jar=../AcmLib/hibernate3.jar +file.reference.jdom-2.0.5.jar=../AcmLib/jdom-2.0.5.jar +file.reference.jdom.jar=../AcmLib/jdom.jar +file.reference.jta.jar=../AcmLib/jta.jar +file.reference.mysql-connector-java-5.1.6-bin.jar=../AcmLib/mysql-connector-java-5.1.6-bin.jar +file.reference.registry.jar=F:\\registry-3.1.3\\bin\\registry.jar +includes=** +jar.compress=false +javac.classpath=\ + ${file.reference.antlr-2.7.6.jar}:\ + ${file.reference.asm.jar}:\ + ${file.reference.cglib-2.1.3.jar}:\ + ${file.reference.commons-collections-2.1.1.jar}:\ + ${file.reference.dom4j-1.6.1.jar}:\ + ${file.reference.hibernate3.jar}:\ + ${file.reference.jdom-2.0.5.jar}:\ + ${file.reference.jdom.jar}:\ + ${file.reference.jta.jar}:\ + ${file.reference.mysql-connector-java-5.1.6-bin.jar}:\ + ${file.reference.registry.jar} +# Space-separated list of extra javac options +javac.compilerargs= +javac.deprecation=false +javac.external.vm=false +javac.processorpath=\ + ${javac.classpath} +javac.source=1.8 +javac.target=1.8 +javac.test.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +javac.test.processorpath=\ + ${javac.test.classpath} +javadoc.additionalparam= +javadoc.author=false +javadoc.encoding=${source.encoding} +javadoc.noindex=false +javadoc.nonavbar=false +javadoc.notree=false +javadoc.private=false +javadoc.splitindex=true +javadoc.use=true +javadoc.version=false +javadoc.windowtitle= +main.class=common.DBConfig +meta.inf.dir=${src.dir}/META-INF +mkdist.disabled=true +platform.active=default_platform +run.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +# Space-separated list of JVM arguments used when running the project. +# You may also define separate properties like run-sys-prop.name=value instead of -Dname=value. +# To set system properties for unit tests define test-sys-prop.name=value: +run.jvmargs= +run.test.classpath=\ + ${javac.test.classpath}:\ + ${build.test.classes.dir} +source.encoding=UTF-8 +src.dir=src +test.src.dir=test diff --git a/Common/nbproject/project.xml b/Common/nbproject/project.xml new file mode 100644 index 0000000..28976f5 --- /dev/null +++ b/Common/nbproject/project.xml @@ -0,0 +1,15 @@ + + + org.netbeans.modules.java.j2seproject + + + Common + + + + + + + + + diff --git a/Common/src/common/Config.java b/Common/src/common/Config.java new file mode 100644 index 0000000..faaa18e --- /dev/null +++ b/Common/src/common/Config.java @@ -0,0 +1,136 @@ +package common; + +import java.io.BufferedReader; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.util.HashMap; +import java.util.Iterator; +import java.util.LinkedList; +import java.util.List; +import java.util.Map.Entry; +import java.util.Properties; +import log.Log; + +public class Config { + + public static int DEBUG; +// private static boolean isCppRelative; +// private static boolean isJavaRelative; + public static int MinGWRelative; + public static int JavaRelative; + private static final Properties prop = new Properties(); + + static { + try { + InputStream in = new FileInputStream(FileFinder.findFile("config.properties")); + prop.load(in); + DEBUG = Integer.valueOf(prop.getProperty("Debug")); +// isCppRelative = prop.getProperty("isCppRelative").equals("true") ? true : false; +// isJavaRelative = prop.getProperty("isJavaRelative").equals("true")?true: false; + String tmp = prop.getProperty(Const.MinGWRelative); + if (tmp != null && !"".equals(tmp)) { + MinGWRelative = Integer.valueOf(tmp); + } else { + MinGWRelative = -1; + } + tmp = prop.getProperty(Const.JavaRelative); + if (tmp != null && !"".equals(tmp)) { + JavaRelative = Integer.valueOf(tmp); + } else { + JavaRelative = -1; + } + } catch (Exception e) { + Log.writeExceptionLog(e.getClass()+e.getMessage()); + e.printStackTrace(); + } + } + + public static void freshConfig() { + try { + InputStream in = new FileInputStream(FileFinder.findFile("config.properties")); + prop.load(in); + DEBUG = Integer.valueOf(prop.getProperty("Debug")); +// isCppRelative = prop.getProperty("isCppRelative").equals("true") ? true : false; +// isJavaRelative = prop.getProperty("isJavaRelative").equals("true")?true: false; + String tmp = prop.getProperty(Const.MinGWRelative); + + if (tmp != null && !"".equals(tmp)) { + MinGWRelative = Integer.valueOf(tmp); + } else { + MinGWRelative = -1; + } + tmp = prop.getProperty(Const.JavaRelative); + if (tmp != null && !"".equals(tmp)) { + JavaRelative = Integer.valueOf(tmp); + } else { + JavaRelative = -1; + } + //initRegistryMessage(); + } catch (Exception e) { + Log.writeExceptionLog(e.getClass()+e.getMessage()); + e.printStackTrace(); + } + } + + public static Properties getProp() { + return prop; + } + + public static String getValue(String key) { + return prop.getProperty(key); + } + + public static void save() { + try { + // 文件输出流 + FileOutputStream fos = new FileOutputStream(FileFinder.findFile("config.properties")); + // 将Properties集合保存到流中 + prop.store(fos, "update config.properties"); + fos.close();// 关闭流 + freshConfig(); + } catch (Exception e) { + Log.writeExceptionLog(e.getClass()+e.getMessage()); + e.printStackTrace(); + } + } + + //临时代码输出路径 若要改回配置文件读取 从const里获取字段 + public static String getSourcePath() { + return "./test"; // + } + //临时代码输出路径 + + public static String getTargetPath() { +// if (isTestRelative) { +// return System.getProperty("user.dir") + prop.getProperty("relativeExeDir"); +// } else { + return "./test"; + //} + + } + + public static String getCompilerDir(String language) { + String dir = null; + if (language.equals("c") || language.equals("cpp") || language.equals("c++")) { + dir = prop.getProperty(Const.MinGWDir); + } else if (language.equals("java")) { + dir = prop.getProperty(Const.JavaCompilerDir); + } + return dir; + } + + public static String CompilerDir(String language) { + String dir = null; + + if (language.equals("c") || language.equals("cpp") || language.equals("c++")) //返回各种语言的编译器地址 + { + dir = System.getProperty("user.dir") + Const.RelativeMinGWCompileDir; + } else if (language.equals("java")) { + dir = System.getProperty("user.dir") + Const.RelativeJavaCompileDir; + } + return dir; + } +} \ No newline at end of file diff --git a/Common/src/common/Const.java b/Common/src/common/Const.java new file mode 100644 index 0000000..a4db6ea --- /dev/null +++ b/Common/src/common/Const.java @@ -0,0 +1,55 @@ +package common; + +public class Const { + + public static final short WAIT = 0; + public static final short QUEUE = 1; + public static final short AC = 2; + public static final short PE = 3;// + public static final short WA = 4; + public static final short TLE = 5; + public static final short MLE = 6; + + public static final short RE = 7; + public static final short CE = 8; + public static final short OLE = 9; + public static final short SKIP = 10; + public static final short NF = 11; + public static final short SE = 12; + + public static final String[] STATUS = {"WAIT", "QUEUE", "AC","PE", "WA", + "TLE", "MLE", "RE", + "CE", "OLE", "SKIP","NF","SE"}; + + + //public static String lattersuffix[] = {".c", ".cpp", ".java", ".exe", ".exe", ".class"}; + + /** + * Output File Size + */ + public static final long FILEMAXSIZE = 7000; + + public static String getLatterSuffix(String language) { + language=language.toLowerCase(); + if (language.equals("c")) { + return ".c"; + } else if (language.equals("cpp")||language.equals("c++")) { + return ".cpp"; + } else if (language.equals("java")) { + return ".java"; + } + return null; + } + + public static final String cCompilerDirIdentify = "cCompilerDir"; + public static final String cppCompilerDirIdentify = "cppCompilerDir"; + public static final String javaCompilerDirIdentify = "javaCompilerDir"; + public static final String JavaCompilerDir = "JavaCompileDir"; + public static final String RelativeJavaCompileDir = "\\Java\\bin"; + public static final String JavaRelative = "JavaRelative"; + public static final String MinGWDir = "MinGWDir"; + public static final String RelativeMinGWCompileDir = "\\MinGW\\bin"; + public static final String MinGWRelative = "MinGWRelative"; + public static final String srcDirIdentify = "srcDir"; + public static final String exeDirInentify = "exeDir"; +} diff --git a/Common/src/common/DBConfig.java b/Common/src/common/DBConfig.java new file mode 100644 index 0000000..7e2d0a5 --- /dev/null +++ b/Common/src/common/DBConfig.java @@ -0,0 +1,111 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package common; + +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.InputStream; +import java.sql.DriverManager; +import java.util.Iterator; +import java.util.Map; +import java.util.Properties; + +/** + * + * @author Administrator + */ +public class DBConfig { + + private static Properties dbConfig = new Properties(); +private final static String FileName="DBConfig.properties"; + static { + try { + InputStream in = new FileInputStream(FileFinder.findFile(FileName)); + dbConfig.load(in); + Iterator it = dbConfig.entrySet().iterator(); + while (it.hasNext()) { + Map.Entry entry = (Map.Entry) it.next(); + Object key = entry.getKey(); + Object value = entry.getValue(); + System.out.println(key + ":" + value); + } + } catch (Exception e) { + e.printStackTrace(); + } + } + + public static String getIp() { + String url = null; + String IP = null; + url = dbConfig.getProperty("hibernate.connection.url"); + int index1 = url.indexOf("//"); + index1 += "//".length(); + int index2 = url.indexOf("/gdoj"); + char[] chars = url.toCharArray(); + IP = String.valueOf(chars, index1, index2 - index1); + return IP; + } + + public static void setIp(String ip) { + String url = "jdbc:mysql://" + ip + "/gdoj?useUnicode=true&characterEncoding=UTF-8"; + dbConfig.setProperty("hibernate.connection.url", url); + + } + + public static String getUserName() { + return dbConfig.getProperty("hibernate.connection.username"); + } + + public static void setUserName(String UserName) { + dbConfig.setProperty("hibernate.connection.username", UserName); + } + + public static String getPassword() { + return dbConfig.getProperty("hibernate.connection.password"); + } + + public static void setPassword(String Password) { + dbConfig.setProperty("hibernate.connection.password", Password); + } + + public static void main(String[] args) { + System.out.println(DBConfig.getUserName()); + System.out.println(DBConfig.getPassword()); + System.out.println(DBConfig.getIp()); + } + + public static void writeToFile(){ + try { + // 文件输出流 + FileOutputStream fos = new FileOutputStream(FileFinder.findFile(FileName)); + // 将Properties集合保存到流中 + dbConfig.store(fos, "update dbConfig.properties"); + fos.close();// 关闭流 + } catch (Exception e) { + e.printStackTrace(); + } + } + + public static Properties getDBConfig(){ + return dbConfig; + } + + public static boolean connectTest() { + boolean flag = false; + try { + Class.forName("com.mysql.jdbc.Driver"); + String url=dbConfig.getProperty("hibernate.connection.url"); + String username=getUserName(); + String password=getPassword(); + java.sql.Connection con=DriverManager.getConnection(url, username, password); + flag=true; + } catch (Exception e) { + e.printStackTrace(); + flag=false; + } + return flag; + } +} diff --git a/Common/src/common/FileFinder.java b/Common/src/common/FileFinder.java new file mode 100644 index 0000000..b562602 --- /dev/null +++ b/Common/src/common/FileFinder.java @@ -0,0 +1,42 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package common; + +import java.io.File; +import java.util.LinkedList; +import java.util.List; + +/** + * + * @author Administrator + */ +public class FileFinder { + + public static File findFile(String fileName){ + return new File("config/"+fileName); + } + + public static boolean isExistFile(String fileName){ + File file = new File(fileName); + if(file.exists()) + return true; + else + return false; + } + + public static List getSubs(String dirName){ + List strs = new LinkedList<>(); + File file = new File(dirName); + if(file.exists()){ + File[] files = file.listFiles(); + for(int i = 0; i < files.length; i++){ + strs.add(files[i].getName()); + } + } + return strs; + } + +} diff --git a/Common/src/common/IDistributorServer.java b/Common/src/common/IDistributorServer.java new file mode 100644 index 0000000..72ea51b --- /dev/null +++ b/Common/src/common/IDistributorServer.java @@ -0,0 +1,17 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package common; + +import java.rmi.Remote; +import java.rmi.RemoteException; + +/** + * + * @author Administrator + */ +public interface IDistributorServer extends Remote { + public Integer getOneSolutionId()throws RemoteException; +} diff --git a/Common/src/common/TimeTool.java b/Common/src/common/TimeTool.java new file mode 100644 index 0000000..d6fae37 --- /dev/null +++ b/Common/src/common/TimeTool.java @@ -0,0 +1,43 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package common; + +import java.util.Calendar; +import java.util.logging.Level; +import java.util.logging.Logger; + +/** + * + * @author Administrator + */ +public class TimeTool { + + public static void sleep(int time) { + try { + Thread.sleep(time); + } catch (InterruptedException ex) { + ex.printStackTrace(); + } + } + + public static String getDetailTime() { + Calendar c = Calendar.getInstance(); + String hour = String.valueOf(c.get(Calendar.HOUR_OF_DAY)); + if (hour.length() < 2) { + hour = "0" + hour; + } + String minute = String.valueOf(c.get(Calendar.MINUTE)); + if (minute.length() < 2) { + minute = "0" + minute; + } + String second = String.valueOf(c.get(Calendar.SECOND)); + if (second.length() < 2) { + second = "0" + second; + } + String logtime = hour + ":" + minute + ":" + second; + return logtime; + } +} diff --git a/Common/src/log/Log.java b/Common/src/log/Log.java new file mode 100644 index 0000000..950dc77 --- /dev/null +++ b/Common/src/log/Log.java @@ -0,0 +1,155 @@ +package log; + +import java.io.File; +import java.io.IOException; +import java.io.RandomAccessFile; +import java.util.Calendar; + +public class Log { + + private static String Logdir = System.getProperty("user.dir") + File.separator + "log"; + private static String time = null; // ʱ�䣬�������ַ��� + private static File exceptionLog = null; // ������Ϣ + private static File infoLog = null; // �ճ���Ϣ + private static RandomAccessFile excWriter = null; // �����ļ���д�� + private static RandomAccessFile infoWriter = null; // + + + public static void init() { + File dir = new File(Logdir + "\\exception"); + if (!dir.exists()) { + dir.mkdirs(); + } + dir = new File(Logdir + "\\info"); + if (!dir.exists()) { + dir.mkdirs(); + } + + } + + private static void checkIsNewDay() { + if (time == null || getNowTime().equals(time) == false) { + createNewLog(); + } + } + + private static void createNewLog() { + if (excWriter != null && infoWriter != null) { + try { + excWriter.close(); + infoWriter.close(); + } catch (IOException e) { + + e.printStackTrace(); + } + + } + time = getNowTime(); + String fileName = time + ".log"; + + // + exceptionLog = new File(Logdir + "\\exception\\" + fileName); + infoLog = new File(Logdir + "\\info\\" + fileName); + // + try { + excWriter = new RandomAccessFile(exceptionLog, "rw"); + infoWriter = new RandomAccessFile(infoLog, "rw"); + + } catch (IOException e) { + e.printStackTrace(); + } + + } + + public static void writeExceptionLog(String msg) { + init();//确保路径完整 + checkIsNewDay(); + long size = exceptionLog.length(); + if (size >= 5 * 1024 * 1024 && excWriter != null) // + { + try { + if (excWriter != null) { + excWriter.close(); + excWriter = null; + } + } catch (IOException e) { + e.printStackTrace(); + } + } else if (size < 5 * 1024 * 1024 && excWriter != null) { + String logtime = getDetailTime(); + msg = logtime + " " + msg + "\r\n"; + try { + excWriter.seek(size); + excWriter.write(msg.getBytes()); + } catch (IOException e) { + e.printStackTrace(); + } + + } + } + + public static void writeInfo(String msg) { + init();//确保路径完整 + checkIsNewDay(); + long size = infoLog.length(); + if (size >= 5 * 1024 * 1024 && infoWriter != null) { + try { + if (infoWriter != null) { + infoWriter.close(); + infoWriter = null; + } + } catch (IOException e) { + e.printStackTrace(); + } + + } else if (size < 5 * 1024 * 1024 && infoWriter != null) { + + String logtime = getDetailTime(); + msg = logtime + " " + msg + "\r\n"; + try { + infoWriter.seek(size); + infoWriter.write(msg.getBytes()); + } catch (IOException e) { + e.printStackTrace(); + } + + } + } + + //���������� + private static String getNowTime() { + Calendar c = Calendar.getInstance(); + String year = String.valueOf(c.get(Calendar.YEAR)); + String month = String.valueOf(c.get(Calendar.MONTH) + 1); + if (month.length() < 2) { + month = "0" + month; + } + String day = String.valueOf(c.get(Calendar.DAY_OF_MONTH)); + if (day.length() < 2) { + day = "0" + day; + } + String today = year + month + day; + return today; + + } + + //����ʱ���� + private static String getDetailTime() { + Calendar c = Calendar.getInstance(); + String hour = String.valueOf(c.get(Calendar.HOUR_OF_DAY)); + if (hour.length() < 2) { + hour = "0" + hour; + } + String minute = String.valueOf(c.get(Calendar.MINUTE)); + if (minute.length() < 2) { + minute = "0" + minute; + } + String second = String.valueOf(c.get(Calendar.SECOND)); + if (second.length() < 2) { + second = "0" + second; + } + String logtime = hour + ":" + minute + ":" + second; + return logtime; + } + +} diff --git a/Common/src/log4j.properties b/Common/src/log4j.properties new file mode 100644 index 0000000..a3952d4 --- /dev/null +++ b/Common/src/log4j.properties @@ -0,0 +1,25 @@ +log4j.properties +### \u8bbe\u7f6e ### +log4j.rootLogger=debug,stdout,DDD,EEE +### \u8f93\u51fa\u4fe1\u606f\u5230\u63a7\u5236\u53f0 ### +log4j.appender.stdout=org.apache.log4j.ConsoleAppender +log4j.appender.stdout.Target=System.out +log4j.appender.stdout.layout=org.apache.log4j.PatternLayout +log4j.appender.stdout.layout.ConversionPattern=[%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n +### \u8f93\u51faDEBUG \u7ea7\u522b\u4ee5\u4e0a\u7684\u65e5\u5fd7\u5230=/Users/tinybye/Documents/log4j/debug.log ### +log4j.appender.DDD=org.apache.log4j.DailyRollingFileAppender +log4j.appender.DDD.File=./logs/log.log4j +log4j.appender.DDD.Append=true +log4j.appender.DDD.Threshold=DEBUG +log4j.appender.DDD.layout=org.apache.log4j.PatternLayout +log4j.appender.DDD.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n +### \u8f93\u51faERROR \u7ea7\u522b\u4ee5\u4e0a\u7684\u65e5\u5fd7\u5230=/Users/tinybye/Documents/log4j/error.log ### +log4j.appender.EEE=org.apache.log4j.DailyRollingFileAppender +log4j.appender.EEE.File=./logs/log.log4j +log4j.appender.EEE.Append=true +log4j.appender.EEE.Threshold=ERROR +log4j.appender.EEE.layout=org.apache.log4j.PatternLayout +log4j.appender.EEE.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n + + + diff --git a/Common/src/persistence/ObjectRelation_interface/CommonDAO.java b/Common/src/persistence/ObjectRelation_interface/CommonDAO.java new file mode 100644 index 0000000..df327bb --- /dev/null +++ b/Common/src/persistence/ObjectRelation_interface/CommonDAO.java @@ -0,0 +1,196 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package persistence.ObjectRelation_interface; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Set; +import org.hibernate.Query; +import org.hibernate.Session; +import org.hibernate.Transaction; + +/** + * + * @author Administrator + */ +public class CommonDAO { + + //增 + public static void add(Object bean) { + Session session = HibernateSessionFactory.getSession(); + Transaction tx = session.beginTransaction(); + session.save(bean); + tx.commit(); + } + + //删 + public static void delete(Class c, int id) { + + Session session = HibernateSessionFactory.getSession(); + Transaction tx = session.beginTransaction(); + session.flush(); + Query query = session.createQuery("delete " + c.getName() + " as bean where bean.id = ?"); + query.setInteger(0, id); + query.executeUpdate(); + tx.commit(); + session.close(); + } + + //改,update + public static int updateDetailByHql(String status,int userId,int problemId,int examId,int solutionId) { + Session session = HibernateSessionFactory.getSession(); + Transaction tx = session.beginTransaction(); + session.flush(); + Query query = session.createQuery("update ExamDetailBean as d set d.status=? where d.userId=? and d.problemId=? and d.examId=? and d.solutionId=?"); + query.setString(0, status); + query.setInteger(1, userId); + query.setInteger(2, problemId); + query.setInteger(3, examId); + query.setInteger(4, solutionId); + int count=query.executeUpdate(); + tx.commit(); + session.close(); + return count; + } + + public static void update(Object bean) { + Session session = HibernateSessionFactory.getSession(); + Transaction tx = session.beginTransaction(); + session.update(bean); + tx.commit(); + } + + public static void updateMore(Object[] beans) { + Session session = HibernateSessionFactory.getSession(); + Transaction tx = session.beginTransaction(); + for (int i = 0; i < beans.length; i++) { + session.update(beans[i]); + } + tx.commit(); + } + + //查,取 + public static List findBeans(Class c, int maxNum, String key1, Object value1) { + try { + String hql = "from " + c.getName() + " as bean where bean." + key1 + "? " + "order by id asc"; + Session session = HibernateSessionFactory.getSession(); + Transaction tx = session.beginTransaction(); + session.flush(); + Query query = session.createQuery(hql); + + query.setParameter(0, value1); + + query.setFirstResult(0); + query.setMaxResults(maxNum); + List rs = query.list(); + tx.commit(); + session.close(); + return rs; + } catch (Exception ex) { + return new ArrayList(); + } + } + + public static List findBeans(Class c, int maxNum, String key1, Object value1, String key2, Object value2) { + try { + String hql = "from " + c.getName() + " as bean where bean." + key1 + "? bean." + key2 + "s?" + " order by id asc"; + Session session = HibernateSessionFactory.getSession(); + Transaction tx = session.beginTransaction(); + session.flush(); + Query query = session.createQuery(hql); + + query.setParameter(0, value1); + + query.setFirstResult(0); + query.setMaxResults(maxNum); + List rs = query.list(); + tx.commit(); + session.close(); + return rs; + } catch (Exception e) { + return new ArrayList(); + } + } + + public static List findBeans(Class c, int maxNum, Map map) { + try { + int len = map.size(); + String[] keys = new String[len]; + + Set keyss = map.keySet(); + int i = 0; + for (String key : keyss) { + keys[i] = key; + i++; + } + + String hql = "from " + c.getName() + " as bean where "; + for (i = 0; i < len; i++) { + hql += "bean." + keys[i] + "? "; + if (i != len - 1) { + hql += " and "; + } + } + hql += " order by id asc"; + + Session session = HibernateSessionFactory.getSession(); + Transaction tx = session.beginTransaction(); + session.flush(); + Query query = session.createQuery(hql); + + for (i = 0; i < len; i++) { + Object o = map.get(keys[i]); + query.setParameter(i, o); + } + + query.setFirstResult(0); + query.setMaxResults(maxNum); + List rs = query.list(); + tx.commit(); + session.close(); + return rs; + } catch (Exception e) { + e.printStackTrace(); + return new ArrayList(); + } + } + + //for test +// public static void main(String[] args) { +//// //增 +//// ProblemBean pb=new ProblemBean(); +//// pb.setTime_limit((float)7758521.0); +//// CommonDAO.add(pb); +// +//// //删 +//// CommonDAO.delete(ProblemBean.class, 292); +// //查询 +//// List beans= CommonDAO.findBeans(ProblemBean.class, 5, "author", "卢婷"); +//// System.out.println(beans.size()); +//// List beans2= CommonDAO.findBeans(ProblemBean.class, 5, "id", 293); +//// System.out.println(beans2.size()); +//// ProblemBean pbean=(ProblemBean)beans2.get(0); +//// if(pbean.getSubmit()==null){ +//// System.out.println("submit:null"); +//// }else{ +//// System.out.println("submit:"+pbean.getSubmit()); +//// } +//// HashMap map=new HashMap(); +//// map.put("author", "卢婷"); +//// List beans3=CommonDAO.findBeans(ProblemBean.class, 5, map); +//// System.out.println(beans3.size()); +// HashMap map = new HashMap(); +// map.put(new String("userId"), 1); +// map.put(new String("examId"), 10); +// map.put(new String("problemId"), 37); +// ExamDetailBean examDetailBean = (ExamDetailBean) CommonDAO.findBeans(ExamDetailBean.class, 1, map).get(0); +// +// //改,update +//// pbean.setSubmit(13); +//// CommonDAO.update(pbean); +// } +} diff --git a/Common/src/persistence/ObjectRelation_interface/ExamDetailDAO.java b/Common/src/persistence/ObjectRelation_interface/ExamDetailDAO.java new file mode 100644 index 0000000..0eb6528 --- /dev/null +++ b/Common/src/persistence/ObjectRelation_interface/ExamDetailDAO.java @@ -0,0 +1,29 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package persistence.ObjectRelation_interface; + +import java.util.Map; +import persistence.oj_beans.ExamDetailBean; + +/** + * + * @author Administrator + */ +public class ExamDetailDAO { + private static final Class detailClass=ExamDetailBean.class; + + public static ExamDetailBean findOne(Map map){ + return (ExamDetailBean)(CommonDAO.findBeans(detailClass, 1, map).get(0)); + } + + public static void update(ExamDetailBean bean){ + CommonDAO.update(bean); + } + + public static void add(ExamDetailBean bean){ + CommonDAO.add(bean); + } +} diff --git a/Common/src/persistence/ObjectRelation_interface/HibernateSessionFactory.java b/Common/src/persistence/ObjectRelation_interface/HibernateSessionFactory.java new file mode 100644 index 0000000..56f1af1 --- /dev/null +++ b/Common/src/persistence/ObjectRelation_interface/HibernateSessionFactory.java @@ -0,0 +1,126 @@ +package persistence.ObjectRelation_interface; + +import common.DBConfig; +import java.util.Iterator; +import java.util.Map; +import java.util.Properties; +import org.hibernate.HibernateException; +import org.hibernate.Session; +import org.hibernate.cfg.Configuration; +import persistence.oj_beans.ExamDetailBean; +import persistence.oj_beans.ExamInfoBean; +import persistence.oj_beans.ExamProblemsBean; +import persistence.oj_beans.ProblemBean; +import persistence.oj_beans.ProblemTestCaseBean; +import persistence.oj_beans.SolutionBean; +import persistence.oj_beans.UserBean; +import persistence.oj_beans.WrongCaseBean; + +public class HibernateSessionFactory { + + private static String CONFIG_FILE_LOCATION = "/hibernate.cfg.xml"; + private static final ThreadLocal threadLocal = new ThreadLocal(); + private static Configuration configuration = new Configuration();// new Configuration().configure(FileFinder.findFile("hibernate.cfg.xml")); + private static org.hibernate.SessionFactory sessionFactory; + private static String configFile = CONFIG_FILE_LOCATION; + + static { + try { + configuration.setProperties(DBConfig.getDBConfig()); + + configuration.addClass(SolutionBean.class); + configuration.addClass(ProblemBean.class); + configuration.addClass(ProblemTestCaseBean.class); + configuration.addClass(ExamDetailBean.class); + configuration.addClass(WrongCaseBean.class); + configuration.addClass(ExamProblemsBean.class); + configuration.addClass(UserBean.class); + configuration.addClass(ExamInfoBean.class); + sessionFactory = configuration.buildSessionFactory(); + } catch (Exception e) { + System.err.println("%%%% Error Creating SessionFactory %%%%"); + e.printStackTrace(); + } + } + + private HibernateSessionFactory() { + } + + /** + * Returns the ThreadLocal Session instance. Lazy initialize the + * SessionFactory if needed. + * + * @return Session + * @throws HibernateException + */ + public static Session getSession() throws HibernateException { + Session session = (Session) threadLocal.get(); + + if (session == null || !session.isOpen()) { + if (sessionFactory == null) { + rebuildSessionFactory(); + } + session = (sessionFactory != null) ? sessionFactory.openSession() + : null; + threadLocal.set(session); + } + + return session; + } + + /** + * Rebuild hibernate session factory + * + */ + public static void rebuildSessionFactory() { + try { + configuration.configure(configFile); + sessionFactory = configuration.buildSessionFactory(); + } catch (Exception e) { + System.err + .println("%%%% Error Creating SessionFactory %%%%"); + e.printStackTrace(); + } + } + + /** + * Close the single hibernate session instance. + * + * @throws HibernateException + */ + public static void closeSession() throws HibernateException { + Session session = (Session) threadLocal.get(); + threadLocal.set(null); + + if (session != null) { + session.close(); + } + } + + /** + * return session factory + * + */ + public static org.hibernate.SessionFactory getSessionFactory() { + return sessionFactory; + } + + /** + * return session factory + * + * session factory will be rebuilded in the next call + */ + public static void setConfigFile(String configFile) { + HibernateSessionFactory.configFile = configFile; + sessionFactory = null; + } + + /** + * return hibernate configuration + * + */ + public static Configuration getConfiguration() { + return configuration; + } + +} diff --git a/Common/src/persistence/ObjectRelation_interface/ProblemDAO.java b/Common/src/persistence/ObjectRelation_interface/ProblemDAO.java new file mode 100644 index 0000000..ee6cb02 --- /dev/null +++ b/Common/src/persistence/ObjectRelation_interface/ProblemDAO.java @@ -0,0 +1,17 @@ +package persistence.ObjectRelation_interface; + +import persistence.oj_beans.ProblemBean; + + +public class ProblemDAO { + + private static final Class problemClass = ProblemBean.class; + + public static ProblemBean findOne(String key, Object problemId) { + return (ProblemBean) (CommonDAO.findBeans(problemClass, 1, key, problemId).get(0)); + } + + public static void update(ProblemBean pbean) { + CommonDAO.update(pbean); + } +} diff --git a/Common/src/persistence/ObjectRelation_interface/SolutionDAO.java b/Common/src/persistence/ObjectRelation_interface/SolutionDAO.java new file mode 100644 index 0000000..32ec22d --- /dev/null +++ b/Common/src/persistence/ObjectRelation_interface/SolutionDAO.java @@ -0,0 +1,28 @@ +package persistence.ObjectRelation_interface; + +import java.util.ArrayList; +import java.util.List; +import persistence.oj_beans.SolutionBean; + +public class SolutionDAO { + + private static final Class solutionClass = SolutionBean.class; + + public static List findMore(String key, Object value, int maxNum) { + List list = CommonDAO.findBeans(solutionClass, maxNum, key, value); + List list1 = new ArrayList(); + for (Object o : list) { + list1.add((SolutionBean) o); + } + return list1; + } + + public static void update(SolutionBean sbean) { + CommonDAO.update(sbean); + } + + public static void main(String[] args) { + List slists = SolutionDAO.findMore("id=", null, 1); + System.out.println(slists); + } +} diff --git a/Common/src/persistence/ObjectRelation_interface/TestcaseDAO.java b/Common/src/persistence/ObjectRelation_interface/TestcaseDAO.java new file mode 100644 index 0000000..0168259 --- /dev/null +++ b/Common/src/persistence/ObjectRelation_interface/TestcaseDAO.java @@ -0,0 +1,28 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package persistence.ObjectRelation_interface; + +import java.util.ArrayList; +import java.util.List; +import persistence.oj_beans.ProblemTestCaseBean; + +/** + * + * @author Administrator + */ +public class TestcaseDAO { + + private static final Class testcaseClass = ProblemTestCaseBean.class; + + public static List findMore(String key, Object value,int maxNum) { + List list = CommonDAO.findBeans(testcaseClass, maxNum, key, value); + List list1 = new ArrayList(); + for (Object o : list) { + list1.add((ProblemTestCaseBean) o); + } + return list1; + } +} diff --git a/Common/src/persistence/ObjectRelation_interface/WrongCaseDAO.java b/Common/src/persistence/ObjectRelation_interface/WrongCaseDAO.java new file mode 100644 index 0000000..452670b --- /dev/null +++ b/Common/src/persistence/ObjectRelation_interface/WrongCaseDAO.java @@ -0,0 +1,38 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package persistence.ObjectRelation_interface; + +import java.util.List; +import java.util.Map; +import persistence.oj_beans.WrongCaseBean; + + +/** + * + * @author Administrator + */ +public class WrongCaseDAO { + + private static final Class wrongcaseClass = WrongCaseBean.class; + + public static void update(WrongCaseBean wbean) { + CommonDAO.update(wbean); + } + + public static void add(WrongCaseBean wbean) { + CommonDAO.add(wbean); + } + + public static WrongCaseBean findOne(Map map) { + List wrongcases = CommonDAO.findBeans(wrongcaseClass, 1, map); + if (wrongcases.size() != 0) { + return (WrongCaseBean) (wrongcases.get(0)); + } else { + return null; + } + + } +} diff --git a/Common/src/persistence/oj_beans/ExamDetailBean.hbm.xml b/Common/src/persistence/oj_beans/ExamDetailBean.hbm.xml new file mode 100644 index 0000000..4384282 --- /dev/null +++ b/Common/src/persistence/oj_beans/ExamDetailBean.hbm.xml @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Common/src/persistence/oj_beans/ExamDetailBean.java b/Common/src/persistence/oj_beans/ExamDetailBean.java new file mode 100644 index 0000000..81b22e8 --- /dev/null +++ b/Common/src/persistence/oj_beans/ExamDetailBean.java @@ -0,0 +1,118 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package persistence.oj_beans; + +/** + * + * @author Administrator + */ +public class ExamDetailBean { + + Integer id; + Integer userId; + Integer examId; + Integer problemId; + Integer submit; + String status; + String hintCases; + Float score; + + Integer elapsedTime; + Boolean finished; + Integer solutionId; + + public Integer getSolutionId() { + return solutionId; + } + + public void setSolutionId(Integer solutionId) { + this.solutionId = solutionId; + } + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public Integer getUserId() { + return userId; + } + + public void setUserId(Integer userId) { + this.userId = userId; + } + + public Integer getExamId() { + return examId; + } + + public void setExamId(Integer examId) { + this.examId = examId; + } + + public Integer getProblemId() { + return problemId; + } + + public void setProblemId(Integer problemId) { + this.problemId = problemId; + } + + public Integer getSubmit() { + return submit; + } + + public void setSubmit(Integer submit) { + this.submit = submit; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getHintCases() { + return hintCases; + } + + public void setHintCases(String hintCases) { + this.hintCases = hintCases; + } + + public Float getScore() { + return score; + } + + public void setScore(Float score) { + this.score = score; + } + + public Integer getElapsedTime() { + return elapsedTime; + } + + public void setElapsedTime(Integer elapsedTime) { + this.elapsedTime = elapsedTime; + } + + public Boolean getFinished() { + return finished; + } + + public void setFinished(Boolean finished) { + this.finished = finished; + } + + + + +} diff --git a/Common/src/persistence/oj_beans/ExamInfoBean.hbm.xml b/Common/src/persistence/oj_beans/ExamInfoBean.hbm.xml new file mode 100644 index 0000000..89f452e --- /dev/null +++ b/Common/src/persistence/oj_beans/ExamInfoBean.hbm.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/Common/src/persistence/oj_beans/ExamInfoBean.java b/Common/src/persistence/oj_beans/ExamInfoBean.java new file mode 100644 index 0000000..4be863d --- /dev/null +++ b/Common/src/persistence/oj_beans/ExamInfoBean.java @@ -0,0 +1,53 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package persistence.oj_beans; + +/** + * + * @author Administrator + */ +public class ExamInfoBean { + + Integer id; + Integer userId; + Integer examId; + Float score; + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public Integer getUserId() { + return userId; + } + + public void setUserId(Integer userId) { + this.userId = userId; + } + + public Integer getExamId() { + return examId; + } + + public void setExamId(Integer examId) { + this.examId = examId; + } + + public Float getScore() { + return score; + } + + public void setScore(Float score) { + this.score = score; + } + + + +} \ No newline at end of file diff --git a/Common/src/persistence/oj_beans/ExamProblemsBean.hbm.xml b/Common/src/persistence/oj_beans/ExamProblemsBean.hbm.xml new file mode 100644 index 0000000..44a1ee5 --- /dev/null +++ b/Common/src/persistence/oj_beans/ExamProblemsBean.hbm.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/Common/src/persistence/oj_beans/ExamProblemsBean.java b/Common/src/persistence/oj_beans/ExamProblemsBean.java new file mode 100644 index 0000000..6049f99 --- /dev/null +++ b/Common/src/persistence/oj_beans/ExamProblemsBean.java @@ -0,0 +1,51 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package persistence.oj_beans; + +/** + * + * @author Administrator + */ +public class ExamProblemsBean { + Integer id; + Integer examId; + Integer problemId; + Integer displaySequence; + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public Integer getExamId() { + return examId; + } + + public void setExamId(Integer examId) { + this.examId = examId; + } + + public Integer getProblemId() { + return problemId; + } + + public void setProblemId(Integer problemId) { + this.problemId = problemId; + } + + public Integer getDisplaySequence() { + return displaySequence; + } + + public void setDisplaySequence(Integer displaySequence) { + this.displaySequence = displaySequence; + } + + +} diff --git a/Common/src/persistence/oj_beans/ProblemBean.hbm.xml b/Common/src/persistence/oj_beans/ProblemBean.hbm.xml new file mode 100644 index 0000000..a85756a --- /dev/null +++ b/Common/src/persistence/oj_beans/ProblemBean.hbm.xml @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Common/src/persistence/oj_beans/ProblemBean.java b/Common/src/persistence/oj_beans/ProblemBean.java new file mode 100644 index 0000000..5001588 --- /dev/null +++ b/Common/src/persistence/oj_beans/ProblemBean.java @@ -0,0 +1,217 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package persistence.oj_beans; + +/** + * + * @author Administrator + */ +public class ProblemBean { + //key + Integer id; + String title; + String description; + Float memory_limit; + Float time_limit; + String inputRequirement; + String outputRequirement; + String sample_input; + String sample_output; + String author; + String difficulty; + String sourceCode; + String srcCodeLanguage; + String scoreGrade; + //not null + Integer chapterId=0; + Integer checkSimilarity; + Float similarityThreshold; + Integer solved; + Integer submit; + Float ratio; + //not null + Integer teacherId=0; + String source; + + public float timer=600;//s + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public Float getMemory_limit() { + return memory_limit; + } + + public void setMemory_limit(Float memory_limit) { + this.memory_limit = memory_limit; + } + + public Float getTime_limit() { + return time_limit; + } + + public void setTime_limit(Float time_limit) { + this.time_limit = time_limit; + } + + public String getInputRequirement() { + return inputRequirement; + } + + public void setInputRequirement(String inputRequirement) { + this.inputRequirement = inputRequirement; + } + + public String getOutputRequirement() { + return outputRequirement; + } + + public void setOutputRequirement(String outputRequirement) { + this.outputRequirement = outputRequirement; + } + + public String getSample_input() { + return sample_input; + } + + public void setSample_input(String sample_input) { + this.sample_input = sample_input; + } + + public String getSample_output() { + return sample_output; + } + + public void setSample_output(String sample_output) { + this.sample_output = sample_output; + } + + public String getAuthor() { + return author; + } + + public void setAuthor(String author) { + this.author = author; + } + + public String getDifficulty() { + return difficulty; + } + + public void setDifficulty(String difficulty) { + this.difficulty = difficulty; + } + + public String getSourceCode() { + return sourceCode; + } + + public void setSourceCode(String sourceCode) { + this.sourceCode = sourceCode; + } + + public String getSrcCodeLanguage() { + return srcCodeLanguage; + } + + public void setSrcCodeLanguage(String srcCodeLanguage) { + this.srcCodeLanguage = srcCodeLanguage; + } + + public String getScoreGrade() { + return scoreGrade; + } + + public void setScoreGrade(String scoreGrade) { + this.scoreGrade = scoreGrade; + } + + public Integer getChapterId() { + return chapterId; + } + + public void setChapterId(Integer chapterId) { + this.chapterId = chapterId; + } + + public Integer getCheckSimilarity() { + return checkSimilarity; + } + + public void setCheckSimilarity(Integer checkSimilarity) { + this.checkSimilarity = checkSimilarity; + } + + public Float getSimilarityThreshold() { + return similarityThreshold; + } + + public void setSimilarityThreshold(Float similarityThreshold) { + this.similarityThreshold = similarityThreshold; + } + + public Integer getSolved() { + return solved; + } + + public void setSolved(Integer solved) { + this.solved = solved; + } + + public Integer getSubmit() { + return submit; + } + + public void setSubmit(Integer submit) { + this.submit = submit; + } + + public Float getRatio() { + return ratio; + } + + public void setRatio(Float ratio) { + this.ratio = ratio; + } + + public Integer getTeacherId() { + return teacherId; + } + + public void setTeacherId(Integer teacherId) { + this.teacherId = teacherId; + } + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + +} diff --git a/Common/src/persistence/oj_beans/ProblemTestCaseBean.hbm.xml b/Common/src/persistence/oj_beans/ProblemTestCaseBean.hbm.xml new file mode 100644 index 0000000..95f806c --- /dev/null +++ b/Common/src/persistence/oj_beans/ProblemTestCaseBean.hbm.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/Common/src/persistence/oj_beans/ProblemTestCaseBean.java b/Common/src/persistence/oj_beans/ProblemTestCaseBean.java new file mode 100644 index 0000000..96c7beb --- /dev/null +++ b/Common/src/persistence/oj_beans/ProblemTestCaseBean.java @@ -0,0 +1,65 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package persistence.oj_beans; + +/** + * + * @author Administrator + */ +public class ProblemTestCaseBean { + Integer id; + Integer problemId; + String input; + String output=""; + +// public ProblemTestCaseBean(String input, String output) { +// this.id = 0; +// this.problemId = 0; +// this.input = input; +// this.output = output; +// } + + + + + + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public Integer getProblemId() { + return problemId; + } + + public void setProblemId(Integer problemId) { + this.problemId = problemId; + } + + public String getInput() { + return input; + } + + public void setInput(String input) { + this.input = input; + } + + public String getOutput() { + return output; + } + + public void setOutput(String output) { + this.output = output; + } + + + + +} diff --git a/Common/src/persistence/oj_beans/SolutionBean.hbm.xml b/Common/src/persistence/oj_beans/SolutionBean.hbm.xml new file mode 100644 index 0000000..0bf286d --- /dev/null +++ b/Common/src/persistence/oj_beans/SolutionBean.hbm.xml @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Common/src/persistence/oj_beans/SolutionBean.java b/Common/src/persistence/oj_beans/SolutionBean.java new file mode 100644 index 0000000..49b902a --- /dev/null +++ b/Common/src/persistence/oj_beans/SolutionBean.java @@ -0,0 +1,160 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package persistence.oj_beans; + +import java.util.Date; + +/** + * + * @author Administrator + */ +public class SolutionBean { + Integer id; + Integer examId; + Integer problemId; + Integer userId; + Date submitTime; + String language; + String SourceCode; + Integer codelength; + String status; + String correctCaseIds; + Float similarity; + Integer similarId; + Float score; + String remark; + + public SolutionBean() { + this.id = 1; + this.examId = 1; + this.problemId = 1; + this.userId = 1; + this.submitTime = new Date(); + this.language = ""; + this.SourceCode = ""; + this.codelength = 3; + this.status = ""; + this.correctCaseIds = ""; + this.similarity = 1.0f; + this.similarId = 2; + this.score = 1f; + this.remark = ""; + } + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public Integer getExamId() { + return examId; + } + + public void setExamId(Integer examId) { + this.examId = examId; + } + + public Integer getProblemId() { + return problemId; + } + + public void setProblemId(Integer problemId) { + this.problemId = problemId; + } + + public Integer getUserId() { + return userId; + } + + public void setUserId(Integer userId) { + this.userId = userId; + } + + public Date getSubmitTime() { + return submitTime; + } + + public void setSubmitTime(Date submitTime) { + this.submitTime = submitTime; + } + + public String getLanguage() { + return language; + } + + public void setLanguage(String language) { + this.language = language; + } + + public String getSourceCode() { + return SourceCode; + } + + public void setSourceCode(String SourceCode) { + this.SourceCode = SourceCode; + } + + public Integer getCodelength() { + return codelength; + } + + public void setCodelength(Integer codelength) { + this.codelength = codelength; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getCorrectCaseIds() { + return correctCaseIds; + } + + public void setCorrectCaseIds(String correctCaseIds) { + this.correctCaseIds = correctCaseIds; + } + + public Float getSimilarity() { + return similarity; + } + + public void setSimilarity(Float similarity) { + this.similarity = similarity; + } + + public Integer getSimilarId() { + return similarId; + } + + public void setSimilarId(Integer similarId) { + this.similarId = similarId; + } + + public Float getScore() { + return score; + } + + public void setScore(Float score) { + this.score = score; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + +} diff --git a/Common/src/persistence/oj_beans/UserBean.hbm.xml b/Common/src/persistence/oj_beans/UserBean.hbm.xml new file mode 100644 index 0000000..8f879b1 --- /dev/null +++ b/Common/src/persistence/oj_beans/UserBean.hbm.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/Common/src/persistence/oj_beans/UserBean.java b/Common/src/persistence/oj_beans/UserBean.java new file mode 100644 index 0000000..8bb99a6 --- /dev/null +++ b/Common/src/persistence/oj_beans/UserBean.java @@ -0,0 +1,43 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package persistence.oj_beans; + +/** + * + * @author Administrator + */ +public class UserBean { + Integer id; + String studentNo; + String chineseName; + + public String getChineseName() { + return chineseName; + } + + public void setChineseName(String chineseName) { + this.chineseName = chineseName; + } + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public String getStudentNo() { + return studentNo; + } + + public void setStudentNo(String studentNo) { + this.studentNo = studentNo; + } + + + +} diff --git a/Common/src/persistence/oj_beans/WrongCaseBean.hbm.xml b/Common/src/persistence/oj_beans/WrongCaseBean.hbm.xml new file mode 100644 index 0000000..5075125 --- /dev/null +++ b/Common/src/persistence/oj_beans/WrongCaseBean.hbm.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/Common/src/persistence/oj_beans/WrongCaseBean.java b/Common/src/persistence/oj_beans/WrongCaseBean.java new file mode 100644 index 0000000..1fb9f88 --- /dev/null +++ b/Common/src/persistence/oj_beans/WrongCaseBean.java @@ -0,0 +1,52 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package persistence.oj_beans; + +/** + * + * @author Administrator + */ +public class WrongCaseBean { + Integer id; + Integer solutionId; + Integer caseId; + String output; + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public Integer getSolutionId() { + return solutionId; + } + + public void setSolutionId(Integer solutionId) { + this.solutionId = solutionId; + } + + public Integer getCaseId() { + return caseId; + } + + public void setCaseId(Integer caseId) { + this.caseId = caseId; + } + + public String getOutput() { + return output; + } + + public void setOutput(String output) { + this.output = output; + } + + + +} diff --git a/Desktop.ini b/Desktop.ini new file mode 100644 index 0000000..ae60713 Binary files /dev/null and b/Desktop.ini differ diff --git a/JuderUI/ICE_JNIRegistry.dll b/JuderUI/ICE_JNIRegistry.dll new file mode 100644 index 0000000..9729f8c Binary files /dev/null and b/JuderUI/ICE_JNIRegistry.dll differ diff --git a/JuderUI/JuderUI.iml b/JuderUI/JuderUI.iml new file mode 100644 index 0000000..af3bb43 --- /dev/null +++ b/JuderUI/JuderUI.iml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/JuderUI/build.xml b/JuderUI/build.xml new file mode 100644 index 0000000..556a856 --- /dev/null +++ b/JuderUI/build.xml @@ -0,0 +1,73 @@ + + + + + + + + + + + Builds, tests, and runs the project JuderUI. + + + diff --git a/JuderUI/build/built-jar.properties b/JuderUI/build/built-jar.properties new file mode 100644 index 0000000..10646a6 --- /dev/null +++ b/JuderUI/build/built-jar.properties @@ -0,0 +1,8 @@ +#Sun, 13 Jun 2021 21:31:24 +0800 + + +Z\:\\project\\OJ\\JuderUI= + +Z\:\\project\\OJ\\Common= + +Z\:\\project\\OJ\\Judger= diff --git a/JuderUI/build/classes/META-INF/OJWS.xml b/JuderUI/build/classes/META-INF/OJWS.xml new file mode 100644 index 0000000..8e0b545 --- /dev/null +++ b/JuderUI/build/classes/META-INF/OJWS.xml @@ -0,0 +1,571 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/JuderUI/build/classes/META-INF/jax-ws-catalog.xml b/JuderUI/build/classes/META-INF/jax-ws-catalog.xml new file mode 100644 index 0000000..c090d75 --- /dev/null +++ b/JuderUI/build/classes/META-INF/jax-ws-catalog.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/JuderUI/build/classes/META-INF/wsdl/106.15.36.190_80/oj/webservice/OJWS.wsdl b/JuderUI/build/classes/META-INF/wsdl/106.15.36.190_80/oj/webservice/OJWS.wsdl new file mode 100644 index 0000000..e3a5ea8 --- /dev/null +++ b/JuderUI/build/classes/META-INF/wsdl/106.15.36.190_80/oj/webservice/OJWS.wsdl @@ -0,0 +1,878 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/JuderUI/build/classes/META-INF/wsdl/127.0.0.1_8080/oj/webservice/OJWS.wsdl b/JuderUI/build/classes/META-INF/wsdl/127.0.0.1_8080/oj/webservice/OJWS.wsdl new file mode 100644 index 0000000..4a960e8 --- /dev/null +++ b/JuderUI/build/classes/META-INF/wsdl/127.0.0.1_8080/oj/webservice/OJWS.wsdl @@ -0,0 +1,575 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/JuderUI/build/classes/META-INF/wsit-client.xml b/JuderUI/build/classes/META-INF/wsit-client.xml new file mode 100644 index 0000000..d41638b --- /dev/null +++ b/JuderUI/build/classes/META-INF/wsit-client.xml @@ -0,0 +1,9 @@ + + + + diff --git a/JuderUI/build/classes/cache/BaseCache.class b/JuderUI/build/classes/cache/BaseCache.class new file mode 100644 index 0000000..e1516d7 Binary files /dev/null and b/JuderUI/build/classes/cache/BaseCache.class differ diff --git a/JuderUI/build/classes/cache/ProblemsCachManager.class b/JuderUI/build/classes/cache/ProblemsCachManager.class new file mode 100644 index 0000000..8314bf6 Binary files /dev/null and b/JuderUI/build/classes/cache/ProblemsCachManager.class differ diff --git a/JuderUI/build/classes/cache/cache.properties b/JuderUI/build/classes/cache/cache.properties new file mode 100644 index 0000000..4e9fdde --- /dev/null +++ b/JuderUI/build/classes/cache/cache.properties @@ -0,0 +1 @@ +problemsValidTime=1800 diff --git a/JuderUI/build/classes/data/JudgeFromQueue.class b/JuderUI/build/classes/data/JudgeFromQueue.class new file mode 100644 index 0000000..0135869 Binary files /dev/null and b/JuderUI/build/classes/data/JudgeFromQueue.class differ diff --git a/JuderUI/build/classes/data/MainForNet.class b/JuderUI/build/classes/data/MainForNet.class new file mode 100644 index 0000000..6ad9155 Binary files /dev/null and b/JuderUI/build/classes/data/MainForNet.class differ diff --git a/JuderUI/build/classes/edu/dhu/ws/OJWS.class b/JuderUI/build/classes/edu/dhu/ws/OJWS.class new file mode 100644 index 0000000..148b04b Binary files /dev/null and b/JuderUI/build/classes/edu/dhu/ws/OJWS.class differ diff --git a/JuderUI/build/classes/edu/dhu/ws/OJWS_Service.class b/JuderUI/build/classes/edu/dhu/ws/OJWS_Service.class new file mode 100644 index 0000000..e20dcd0 Binary files /dev/null and b/JuderUI/build/classes/edu/dhu/ws/OJWS_Service.class differ diff --git a/JuderUI/build/classes/edu/dhu/ws/ObjectFactory.class b/JuderUI/build/classes/edu/dhu/ws/ObjectFactory.class new file mode 100644 index 0000000..8ffe6f3 Binary files /dev/null and b/JuderUI/build/classes/edu/dhu/ws/ObjectFactory.class differ diff --git a/JuderUI/build/classes/edu/dhu/ws/WSCanDoCategory.class b/JuderUI/build/classes/edu/dhu/ws/WSCanDoCategory.class new file mode 100644 index 0000000..6218dc0 Binary files /dev/null and b/JuderUI/build/classes/edu/dhu/ws/WSCanDoCategory.class differ diff --git a/JuderUI/build/classes/edu/dhu/ws/WSCanDoCategoryResponse.class b/JuderUI/build/classes/edu/dhu/ws/WSCanDoCategoryResponse.class new file mode 100644 index 0000000..0a0e452 Binary files /dev/null and b/JuderUI/build/classes/edu/dhu/ws/WSCanDoCategoryResponse.class differ diff --git a/JuderUI/build/classes/edu/dhu/ws/WSDrawProblem.class b/JuderUI/build/classes/edu/dhu/ws/WSDrawProblem.class new file mode 100644 index 0000000..919135b Binary files /dev/null and b/JuderUI/build/classes/edu/dhu/ws/WSDrawProblem.class differ diff --git a/JuderUI/build/classes/edu/dhu/ws/WSDrawProblemResponse.class b/JuderUI/build/classes/edu/dhu/ws/WSDrawProblemResponse.class new file mode 100644 index 0000000..21af387 Binary files /dev/null and b/JuderUI/build/classes/edu/dhu/ws/WSDrawProblemResponse.class differ diff --git a/JuderUI/build/classes/edu/dhu/ws/WSGetExamById.class b/JuderUI/build/classes/edu/dhu/ws/WSGetExamById.class new file mode 100644 index 0000000..625d89d Binary files /dev/null and b/JuderUI/build/classes/edu/dhu/ws/WSGetExamById.class differ diff --git a/JuderUI/build/classes/edu/dhu/ws/WSGetExamByIdResponse.class b/JuderUI/build/classes/edu/dhu/ws/WSGetExamByIdResponse.class new file mode 100644 index 0000000..8802191 Binary files /dev/null and b/JuderUI/build/classes/edu/dhu/ws/WSGetExamByIdResponse.class differ diff --git a/JuderUI/build/classes/edu/dhu/ws/WSGetExamDetail.class b/JuderUI/build/classes/edu/dhu/ws/WSGetExamDetail.class new file mode 100644 index 0000000..753410c Binary files /dev/null and b/JuderUI/build/classes/edu/dhu/ws/WSGetExamDetail.class differ diff --git a/JuderUI/build/classes/edu/dhu/ws/WSGetExamDetailResponse.class b/JuderUI/build/classes/edu/dhu/ws/WSGetExamDetailResponse.class new file mode 100644 index 0000000..3ae4aba Binary files /dev/null and b/JuderUI/build/classes/edu/dhu/ws/WSGetExamDetailResponse.class differ diff --git a/JuderUI/build/classes/edu/dhu/ws/WSGetExamList.class b/JuderUI/build/classes/edu/dhu/ws/WSGetExamList.class new file mode 100644 index 0000000..4c2e956 Binary files /dev/null and b/JuderUI/build/classes/edu/dhu/ws/WSGetExamList.class differ diff --git a/JuderUI/build/classes/edu/dhu/ws/WSGetExamListResponse.class b/JuderUI/build/classes/edu/dhu/ws/WSGetExamListResponse.class new file mode 100644 index 0000000..b8f91f2 Binary files /dev/null and b/JuderUI/build/classes/edu/dhu/ws/WSGetExamListResponse.class differ diff --git a/JuderUI/build/classes/edu/dhu/ws/WSGetExamProCatagorys.class b/JuderUI/build/classes/edu/dhu/ws/WSGetExamProCatagorys.class new file mode 100644 index 0000000..a58279e Binary files /dev/null and b/JuderUI/build/classes/edu/dhu/ws/WSGetExamProCatagorys.class differ diff --git a/JuderUI/build/classes/edu/dhu/ws/WSGetExamProCatagorysResponse.class b/JuderUI/build/classes/edu/dhu/ws/WSGetExamProCatagorysResponse.class new file mode 100644 index 0000000..9437aa7 Binary files /dev/null and b/JuderUI/build/classes/edu/dhu/ws/WSGetExamProCatagorysResponse.class differ diff --git a/JuderUI/build/classes/edu/dhu/ws/WSGetExamProblemStatus.class b/JuderUI/build/classes/edu/dhu/ws/WSGetExamProblemStatus.class new file mode 100644 index 0000000..95886a2 Binary files /dev/null and b/JuderUI/build/classes/edu/dhu/ws/WSGetExamProblemStatus.class differ diff --git a/JuderUI/build/classes/edu/dhu/ws/WSGetExamProblemStatusResponse.class b/JuderUI/build/classes/edu/dhu/ws/WSGetExamProblemStatusResponse.class new file mode 100644 index 0000000..da13271 Binary files /dev/null and b/JuderUI/build/classes/edu/dhu/ws/WSGetExamProblemStatusResponse.class differ diff --git a/JuderUI/build/classes/edu/dhu/ws/WSGetExamProblems.class b/JuderUI/build/classes/edu/dhu/ws/WSGetExamProblems.class new file mode 100644 index 0000000..f127d92 Binary files /dev/null and b/JuderUI/build/classes/edu/dhu/ws/WSGetExamProblems.class differ diff --git a/JuderUI/build/classes/edu/dhu/ws/WSGetExamProblemsResponse.class b/JuderUI/build/classes/edu/dhu/ws/WSGetExamProblemsResponse.class new file mode 100644 index 0000000..4873a8b Binary files /dev/null and b/JuderUI/build/classes/edu/dhu/ws/WSGetExamProblemsResponse.class differ diff --git a/JuderUI/build/classes/edu/dhu/ws/WSGetProblem.class b/JuderUI/build/classes/edu/dhu/ws/WSGetProblem.class new file mode 100644 index 0000000..f724ab5 Binary files /dev/null and b/JuderUI/build/classes/edu/dhu/ws/WSGetProblem.class differ diff --git a/JuderUI/build/classes/edu/dhu/ws/WSGetProblem4Judge.class b/JuderUI/build/classes/edu/dhu/ws/WSGetProblem4Judge.class new file mode 100644 index 0000000..5e51b3a Binary files /dev/null and b/JuderUI/build/classes/edu/dhu/ws/WSGetProblem4Judge.class differ diff --git a/JuderUI/build/classes/edu/dhu/ws/WSGetProblem4JudgeResponse.class b/JuderUI/build/classes/edu/dhu/ws/WSGetProblem4JudgeResponse.class new file mode 100644 index 0000000..bacc20c Binary files /dev/null and b/JuderUI/build/classes/edu/dhu/ws/WSGetProblem4JudgeResponse.class differ diff --git a/JuderUI/build/classes/edu/dhu/ws/WSGetProblemResponse.class b/JuderUI/build/classes/edu/dhu/ws/WSGetProblemResponse.class new file mode 100644 index 0000000..8dd5658 Binary files /dev/null and b/JuderUI/build/classes/edu/dhu/ws/WSGetProblemResponse.class differ diff --git a/JuderUI/build/classes/edu/dhu/ws/WSGetSolutions.class b/JuderUI/build/classes/edu/dhu/ws/WSGetSolutions.class new file mode 100644 index 0000000..7ba0f2f Binary files /dev/null and b/JuderUI/build/classes/edu/dhu/ws/WSGetSolutions.class differ diff --git a/JuderUI/build/classes/edu/dhu/ws/WSGetSolutionsResponse.class b/JuderUI/build/classes/edu/dhu/ws/WSGetSolutionsResponse.class new file mode 100644 index 0000000..1f3ff73 Binary files /dev/null and b/JuderUI/build/classes/edu/dhu/ws/WSGetSolutionsResponse.class differ diff --git a/JuderUI/build/classes/edu/dhu/ws/WSIsPermit.class b/JuderUI/build/classes/edu/dhu/ws/WSIsPermit.class new file mode 100644 index 0000000..a9b7b92 Binary files /dev/null and b/JuderUI/build/classes/edu/dhu/ws/WSIsPermit.class differ diff --git a/JuderUI/build/classes/edu/dhu/ws/WSIsPermitResponse.class b/JuderUI/build/classes/edu/dhu/ws/WSIsPermitResponse.class new file mode 100644 index 0000000..d5c87b1 Binary files /dev/null and b/JuderUI/build/classes/edu/dhu/ws/WSIsPermitResponse.class differ diff --git a/JuderUI/build/classes/edu/dhu/ws/WSItrainSubmitCode.class b/JuderUI/build/classes/edu/dhu/ws/WSItrainSubmitCode.class new file mode 100644 index 0000000..159d54a Binary files /dev/null and b/JuderUI/build/classes/edu/dhu/ws/WSItrainSubmitCode.class differ diff --git a/JuderUI/build/classes/edu/dhu/ws/WSItrainSubmitCodeResponse.class b/JuderUI/build/classes/edu/dhu/ws/WSItrainSubmitCodeResponse.class new file mode 100644 index 0000000..8601c12 Binary files /dev/null and b/JuderUI/build/classes/edu/dhu/ws/WSItrainSubmitCodeResponse.class differ diff --git a/JuderUI/build/classes/edu/dhu/ws/WSItrainSubmitThisProblem.class b/JuderUI/build/classes/edu/dhu/ws/WSItrainSubmitThisProblem.class new file mode 100644 index 0000000..311984d Binary files /dev/null and b/JuderUI/build/classes/edu/dhu/ws/WSItrainSubmitThisProblem.class differ diff --git a/JuderUI/build/classes/edu/dhu/ws/WSItrainSubmitThisProblemResponse.class b/JuderUI/build/classes/edu/dhu/ws/WSItrainSubmitThisProblemResponse.class new file mode 100644 index 0000000..8da6b08 Binary files /dev/null and b/JuderUI/build/classes/edu/dhu/ws/WSItrainSubmitThisProblemResponse.class differ diff --git a/JuderUI/build/classes/edu/dhu/ws/WSLogin.class b/JuderUI/build/classes/edu/dhu/ws/WSLogin.class new file mode 100644 index 0000000..30fa65d Binary files /dev/null and b/JuderUI/build/classes/edu/dhu/ws/WSLogin.class differ diff --git a/JuderUI/build/classes/edu/dhu/ws/WSLoginResponse.class b/JuderUI/build/classes/edu/dhu/ws/WSLoginResponse.class new file mode 100644 index 0000000..bb8174c Binary files /dev/null and b/JuderUI/build/classes/edu/dhu/ws/WSLoginResponse.class differ diff --git a/JuderUI/build/classes/edu/dhu/ws/WSPassThisCategory.class b/JuderUI/build/classes/edu/dhu/ws/WSPassThisCategory.class new file mode 100644 index 0000000..f173b57 Binary files /dev/null and b/JuderUI/build/classes/edu/dhu/ws/WSPassThisCategory.class differ diff --git a/JuderUI/build/classes/edu/dhu/ws/WSPassThisCategoryResponse.class b/JuderUI/build/classes/edu/dhu/ws/WSPassThisCategoryResponse.class new file mode 100644 index 0000000..9bff582 Binary files /dev/null and b/JuderUI/build/classes/edu/dhu/ws/WSPassThisCategoryResponse.class differ diff --git a/JuderUI/build/classes/edu/dhu/ws/WSSkipThisProblem.class b/JuderUI/build/classes/edu/dhu/ws/WSSkipThisProblem.class new file mode 100644 index 0000000..ebc457e Binary files /dev/null and b/JuderUI/build/classes/edu/dhu/ws/WSSkipThisProblem.class differ diff --git a/JuderUI/build/classes/edu/dhu/ws/WSSkipThisProblemResponse.class b/JuderUI/build/classes/edu/dhu/ws/WSSkipThisProblemResponse.class new file mode 100644 index 0000000..3367cef Binary files /dev/null and b/JuderUI/build/classes/edu/dhu/ws/WSSkipThisProblemResponse.class differ diff --git a/JuderUI/build/classes/edu/dhu/ws/WSSubmitCode.class b/JuderUI/build/classes/edu/dhu/ws/WSSubmitCode.class new file mode 100644 index 0000000..221278f Binary files /dev/null and b/JuderUI/build/classes/edu/dhu/ws/WSSubmitCode.class differ diff --git a/JuderUI/build/classes/edu/dhu/ws/WSSubmitCodeResponse.class b/JuderUI/build/classes/edu/dhu/ws/WSSubmitCodeResponse.class new file mode 100644 index 0000000..103a012 Binary files /dev/null and b/JuderUI/build/classes/edu/dhu/ws/WSSubmitCodeResponse.class differ diff --git a/JuderUI/build/classes/edu/dhu/ws/WSSubmitHistory.class b/JuderUI/build/classes/edu/dhu/ws/WSSubmitHistory.class new file mode 100644 index 0000000..fed18af Binary files /dev/null and b/JuderUI/build/classes/edu/dhu/ws/WSSubmitHistory.class differ diff --git a/JuderUI/build/classes/edu/dhu/ws/WSSubmitHistoryResponse.class b/JuderUI/build/classes/edu/dhu/ws/WSSubmitHistoryResponse.class new file mode 100644 index 0000000..11983c0 Binary files /dev/null and b/JuderUI/build/classes/edu/dhu/ws/WSSubmitHistoryResponse.class differ diff --git a/JuderUI/build/classes/edu/dhu/ws/WSSubmitThisProblem.class b/JuderUI/build/classes/edu/dhu/ws/WSSubmitThisProblem.class new file mode 100644 index 0000000..8373791 Binary files /dev/null and b/JuderUI/build/classes/edu/dhu/ws/WSSubmitThisProblem.class differ diff --git a/JuderUI/build/classes/edu/dhu/ws/WSSubmitThisProblemResponse.class b/JuderUI/build/classes/edu/dhu/ws/WSSubmitThisProblemResponse.class new file mode 100644 index 0000000..385eb6d Binary files /dev/null and b/JuderUI/build/classes/edu/dhu/ws/WSSubmitThisProblemResponse.class differ diff --git a/JuderUI/build/classes/edu/dhu/ws/WSSubmittedCode.class b/JuderUI/build/classes/edu/dhu/ws/WSSubmittedCode.class new file mode 100644 index 0000000..b18eba2 Binary files /dev/null and b/JuderUI/build/classes/edu/dhu/ws/WSSubmittedCode.class differ diff --git a/JuderUI/build/classes/edu/dhu/ws/WSSubmittedCodeResponse.class b/JuderUI/build/classes/edu/dhu/ws/WSSubmittedCodeResponse.class new file mode 100644 index 0000000..19c4344 Binary files /dev/null and b/JuderUI/build/classes/edu/dhu/ws/WSSubmittedCodeResponse.class differ diff --git a/JuderUI/build/classes/edu/dhu/ws/WSUpdateResult.class b/JuderUI/build/classes/edu/dhu/ws/WSUpdateResult.class new file mode 100644 index 0000000..ffe8194 Binary files /dev/null and b/JuderUI/build/classes/edu/dhu/ws/WSUpdateResult.class differ diff --git a/JuderUI/build/classes/edu/dhu/ws/WSUpdateResultResponse.class b/JuderUI/build/classes/edu/dhu/ws/WSUpdateResultResponse.class new file mode 100644 index 0000000..b5ad7b8 Binary files /dev/null and b/JuderUI/build/classes/edu/dhu/ws/WSUpdateResultResponse.class differ diff --git a/JuderUI/build/classes/edu/dhu/ws/WSViewWrongCase.class b/JuderUI/build/classes/edu/dhu/ws/WSViewWrongCase.class new file mode 100644 index 0000000..f2b7483 Binary files /dev/null and b/JuderUI/build/classes/edu/dhu/ws/WSViewWrongCase.class differ diff --git a/JuderUI/build/classes/edu/dhu/ws/WSViewWrongCaseResponse.class b/JuderUI/build/classes/edu/dhu/ws/WSViewWrongCaseResponse.class new file mode 100644 index 0000000..0daa4ca Binary files /dev/null and b/JuderUI/build/classes/edu/dhu/ws/WSViewWrongCaseResponse.class differ diff --git a/JuderUI/build/classes/edu/dhu/ws/package-info.class b/JuderUI/build/classes/edu/dhu/ws/package-info.class new file mode 100644 index 0000000..5221074 Binary files /dev/null and b/JuderUI/build/classes/edu/dhu/ws/package-info.class differ diff --git a/JuderUI/build/classes/gui/Control.class b/JuderUI/build/classes/gui/Control.class new file mode 100644 index 0000000..cce18d6 Binary files /dev/null and b/JuderUI/build/classes/gui/Control.class differ diff --git a/JuderUI/build/classes/gui/MainFrame$1.class b/JuderUI/build/classes/gui/MainFrame$1.class new file mode 100644 index 0000000..f04759d Binary files /dev/null and b/JuderUI/build/classes/gui/MainFrame$1.class differ diff --git a/JuderUI/build/classes/gui/MainFrame$10.class b/JuderUI/build/classes/gui/MainFrame$10.class new file mode 100644 index 0000000..0be02f0 Binary files /dev/null and b/JuderUI/build/classes/gui/MainFrame$10.class differ diff --git a/JuderUI/build/classes/gui/MainFrame$11.class b/JuderUI/build/classes/gui/MainFrame$11.class new file mode 100644 index 0000000..a7a5bb5 Binary files /dev/null and b/JuderUI/build/classes/gui/MainFrame$11.class differ diff --git a/JuderUI/build/classes/gui/MainFrame$2.class b/JuderUI/build/classes/gui/MainFrame$2.class new file mode 100644 index 0000000..bff546d Binary files /dev/null and b/JuderUI/build/classes/gui/MainFrame$2.class differ diff --git a/JuderUI/build/classes/gui/MainFrame$3.class b/JuderUI/build/classes/gui/MainFrame$3.class new file mode 100644 index 0000000..bf033d2 Binary files /dev/null and b/JuderUI/build/classes/gui/MainFrame$3.class differ diff --git a/JuderUI/build/classes/gui/MainFrame$4.class b/JuderUI/build/classes/gui/MainFrame$4.class new file mode 100644 index 0000000..65ef058 Binary files /dev/null and b/JuderUI/build/classes/gui/MainFrame$4.class differ diff --git a/JuderUI/build/classes/gui/MainFrame$5.class b/JuderUI/build/classes/gui/MainFrame$5.class new file mode 100644 index 0000000..0f2dfa3 Binary files /dev/null and b/JuderUI/build/classes/gui/MainFrame$5.class differ diff --git a/JuderUI/build/classes/gui/MainFrame$6.class b/JuderUI/build/classes/gui/MainFrame$6.class new file mode 100644 index 0000000..bb794b0 Binary files /dev/null and b/JuderUI/build/classes/gui/MainFrame$6.class differ diff --git a/JuderUI/build/classes/gui/MainFrame$7.class b/JuderUI/build/classes/gui/MainFrame$7.class new file mode 100644 index 0000000..4986508 Binary files /dev/null and b/JuderUI/build/classes/gui/MainFrame$7.class differ diff --git a/JuderUI/build/classes/gui/MainFrame$8.class b/JuderUI/build/classes/gui/MainFrame$8.class new file mode 100644 index 0000000..1976970 Binary files /dev/null and b/JuderUI/build/classes/gui/MainFrame$8.class differ diff --git a/JuderUI/build/classes/gui/MainFrame$9.class b/JuderUI/build/classes/gui/MainFrame$9.class new file mode 100644 index 0000000..10fb9d2 Binary files /dev/null and b/JuderUI/build/classes/gui/MainFrame$9.class differ diff --git a/JuderUI/build/classes/gui/MainFrame.class b/JuderUI/build/classes/gui/MainFrame.class new file mode 100644 index 0000000..30988b1 Binary files /dev/null and b/JuderUI/build/classes/gui/MainFrame.class differ diff --git a/JuderUI/build/classes/myjdom/AnswerToXml.class b/JuderUI/build/classes/myjdom/AnswerToXml.class new file mode 100644 index 0000000..9275340 Binary files /dev/null and b/JuderUI/build/classes/myjdom/AnswerToXml.class differ diff --git a/JuderUI/build/classes/myjdom/XmlConvert.class b/JuderUI/build/classes/myjdom/XmlConvert.class new file mode 100644 index 0000000..b3d9be8 Binary files /dev/null and b/JuderUI/build/classes/myjdom/XmlConvert.class differ diff --git a/JuderUI/build/classes/myjdom/XmlToBase.class b/JuderUI/build/classes/myjdom/XmlToBase.class new file mode 100644 index 0000000..1802d52 Binary files /dev/null and b/JuderUI/build/classes/myjdom/XmlToBase.class differ diff --git a/JuderUI/build/classes/myjdom/XmlToProblemBean.class b/JuderUI/build/classes/myjdom/XmlToProblemBean.class new file mode 100644 index 0000000..db74c0e Binary files /dev/null and b/JuderUI/build/classes/myjdom/XmlToProblemBean.class differ diff --git a/JuderUI/build/classes/myjdom/XmlToRequest.class b/JuderUI/build/classes/myjdom/XmlToRequest.class new file mode 100644 index 0000000..d6c1200 Binary files /dev/null and b/JuderUI/build/classes/myjdom/XmlToRequest.class differ diff --git a/JuderUI/build/classes/myjdom/XmlToSolution.class b/JuderUI/build/classes/myjdom/XmlToSolution.class new file mode 100644 index 0000000..4821b21 Binary files /dev/null and b/JuderUI/build/classes/myjdom/XmlToSolution.class differ diff --git a/JuderUI/build/classes/myjdom/XmlUtil.class b/JuderUI/build/classes/myjdom/XmlUtil.class new file mode 100644 index 0000000..bfad03f Binary files /dev/null and b/JuderUI/build/classes/myjdom/XmlUtil.class differ diff --git a/JuderUI/build/classes/myjdom/model/ProblemBean.class b/JuderUI/build/classes/myjdom/model/ProblemBean.class new file mode 100644 index 0000000..f69e9a6 Binary files /dev/null and b/JuderUI/build/classes/myjdom/model/ProblemBean.class differ diff --git a/JuderUI/build/classes/myjdom/model/Request.class b/JuderUI/build/classes/myjdom/model/Request.class new file mode 100644 index 0000000..7894325 Binary files /dev/null and b/JuderUI/build/classes/myjdom/model/Request.class differ diff --git a/JuderUI/build/classes/myjdom/model/ResultBean.class b/JuderUI/build/classes/myjdom/model/ResultBean.class new file mode 100644 index 0000000..56b7363 Binary files /dev/null and b/JuderUI/build/classes/myjdom/model/ResultBean.class differ diff --git a/JuderUI/build/classes/myjdom/model/Solution.class b/JuderUI/build/classes/myjdom/model/Solution.class new file mode 100644 index 0000000..a2376a3 Binary files /dev/null and b/JuderUI/build/classes/myjdom/model/Solution.class differ diff --git a/JuderUI/build/classes/myjdom/model/Solutions.class b/JuderUI/build/classes/myjdom/model/Solutions.class new file mode 100644 index 0000000..99b7d34 Binary files /dev/null and b/JuderUI/build/classes/myjdom/model/Solutions.class differ diff --git a/JuderUI/build/classes/myjdom/model/TestCase.class b/JuderUI/build/classes/myjdom/model/TestCase.class new file mode 100644 index 0000000..456ca63 Binary files /dev/null and b/JuderUI/build/classes/myjdom/model/TestCase.class differ diff --git a/JuderUI/build/classes/swingworker/MySwingWorker.class b/JuderUI/build/classes/swingworker/MySwingWorker.class new file mode 100644 index 0000000..aefcfc4 Binary files /dev/null and b/JuderUI/build/classes/swingworker/MySwingWorker.class differ diff --git a/JuderUI/build/classes/util/Decrypt.class b/JuderUI/build/classes/util/Decrypt.class new file mode 100644 index 0000000..e984d9d Binary files /dev/null and b/JuderUI/build/classes/util/Decrypt.class differ diff --git a/JuderUI/build/classes/web/Webservice.class b/JuderUI/build/classes/web/Webservice.class new file mode 100644 index 0000000..a76431c Binary files /dev/null and b/JuderUI/build/classes/web/Webservice.class differ diff --git a/JuderUI/build/generated-sources/generated-sources1.iml b/JuderUI/build/generated-sources/generated-sources1.iml new file mode 100644 index 0000000..35d25d4 --- /dev/null +++ b/JuderUI/build/generated-sources/generated-sources1.iml @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/OJWS.java b/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/OJWS.java new file mode 100644 index 0000000..d591daf --- /dev/null +++ b/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/OJWS.java @@ -0,0 +1,519 @@ + +package edu.dhu.ws; + +import javax.jws.WebMethod; +import javax.jws.WebParam; +import javax.jws.WebResult; +import javax.jws.WebService; +import javax.xml.bind.annotation.XmlSeeAlso; +import javax.xml.ws.RequestWrapper; +import javax.xml.ws.ResponseWrapper; + + +/** + * This class was generated by the JAX-WS RI. + * JAX-WS RI 2.2.6-1b01 + * Generated source version: 2.2 + * + */ +@WebService(name = "OJWS", targetNamespace = "http://ws.dhu.edu/") +@XmlSeeAlso({ + ObjectFactory.class +}) +public interface OJWS { + + + /** + * + * @param arg1 + * @param arg0 + * @return + * returns java.lang.String + */ + @WebMethod(operationName = "WS_GetExamList") + @WebResult(targetNamespace = "") + @RequestWrapper(localName = "WS_GetExamList", targetNamespace = "http://ws.dhu.edu/", className = "edu.dhu.ws.WSGetExamList") + @ResponseWrapper(localName = "WS_GetExamListResponse", targetNamespace = "http://ws.dhu.edu/", className = "edu.dhu.ws.WSGetExamListResponse") + public String wsGetExamList( + @WebParam(name = "arg0", targetNamespace = "") + String arg0, + @WebParam(name = "arg1", targetNamespace = "") + String arg1); + + /** + * + * @param arg3 + * @param arg2 + * @param arg1 + * @param arg0 + * @return + * returns byte[] + */ + @WebMethod(operationName = "WS_GetProblem") + @WebResult(targetNamespace = "") + @RequestWrapper(localName = "WS_GetProblem", targetNamespace = "http://ws.dhu.edu/", className = "edu.dhu.ws.WSGetProblem") + @ResponseWrapper(localName = "WS_GetProblemResponse", targetNamespace = "http://ws.dhu.edu/", className = "edu.dhu.ws.WSGetProblemResponse") + public byte[] wsGetProblem( + @WebParam(name = "arg0", targetNamespace = "") + String arg0, + @WebParam(name = "arg1", targetNamespace = "") + String arg1, + @WebParam(name = "arg2", targetNamespace = "") + int arg2, + @WebParam(name = "arg3", targetNamespace = "") + int arg3); + + /** + * + * @param arg2 + * @param arg1 + * @param arg0 + * @return + * returns java.lang.String + */ + @WebMethod(operationName = "WS_SubmitThisProblem") + @WebResult(targetNamespace = "") + @RequestWrapper(localName = "WS_SubmitThisProblem", targetNamespace = "http://ws.dhu.edu/", className = "edu.dhu.ws.WSSubmitThisProblem") + @ResponseWrapper(localName = "WS_SubmitThisProblemResponse", targetNamespace = "http://ws.dhu.edu/", className = "edu.dhu.ws.WSSubmitThisProblemResponse") + public String wsSubmitThisProblem( + @WebParam(name = "arg0", targetNamespace = "") + String arg0, + @WebParam(name = "arg1", targetNamespace = "") + String arg1, + @WebParam(name = "arg2", targetNamespace = "") + String arg2); + + /** + * + * @param arg3 + * @param arg2 + * @param arg1 + * @param arg0 + * @return + * returns byte[] + */ + @WebMethod(operationName = "WS_DrawProblem") + @WebResult(targetNamespace = "") + @RequestWrapper(localName = "WS_DrawProblem", targetNamespace = "http://ws.dhu.edu/", className = "edu.dhu.ws.WSDrawProblem") + @ResponseWrapper(localName = "WS_DrawProblemResponse", targetNamespace = "http://ws.dhu.edu/", className = "edu.dhu.ws.WSDrawProblemResponse") + public byte[] wsDrawProblem( + @WebParam(name = "arg0", targetNamespace = "") + String arg0, + @WebParam(name = "arg1", targetNamespace = "") + String arg1, + @WebParam(name = "arg2", targetNamespace = "") + int arg2, + @WebParam(name = "arg3", targetNamespace = "") + int arg3); + + /** + * + * @param arg2 + * @param arg1 + * @param arg0 + * @return + * returns java.lang.String + */ + @WebMethod(operationName = "WS_SubmittedCode") + @WebResult(targetNamespace = "") + @RequestWrapper(localName = "WS_SubmittedCode", targetNamespace = "http://ws.dhu.edu/", className = "edu.dhu.ws.WSSubmittedCode") + @ResponseWrapper(localName = "WS_SubmittedCodeResponse", targetNamespace = "http://ws.dhu.edu/", className = "edu.dhu.ws.WSSubmittedCodeResponse") + public String wsSubmittedCode( + @WebParam(name = "arg0", targetNamespace = "") + String arg0, + @WebParam(name = "arg1", targetNamespace = "") + String arg1, + @WebParam(name = "arg2", targetNamespace = "") + int arg2); + + /** + * + * @param arg1 + * @param arg0 + * @return + * returns java.lang.String + */ + @WebMethod(operationName = "WS_Login") + @WebResult(targetNamespace = "") + @RequestWrapper(localName = "WS_Login", targetNamespace = "http://ws.dhu.edu/", className = "edu.dhu.ws.WSLogin") + @ResponseWrapper(localName = "WS_LoginResponse", targetNamespace = "http://ws.dhu.edu/", className = "edu.dhu.ws.WSLoginResponse") + public String wsLogin( + @WebParam(name = "arg0", targetNamespace = "") + String arg0, + @WebParam(name = "arg1", targetNamespace = "") + String arg1); + + /** + * + * @param arg3 + * @param arg2 + * @param arg4 + * @param arg1 + * @param arg0 + * @return + * returns java.lang.String + */ + @WebMethod(operationName = "WS_SkipThisProblem") + @WebResult(targetNamespace = "") + @RequestWrapper(localName = "WS_SkipThisProblem", targetNamespace = "http://ws.dhu.edu/", className = "edu.dhu.ws.WSSkipThisProblem") + @ResponseWrapper(localName = "WS_SkipThisProblemResponse", targetNamespace = "http://ws.dhu.edu/", className = "edu.dhu.ws.WSSkipThisProblemResponse") + public String wsSkipThisProblem( + @WebParam(name = "arg0", targetNamespace = "") + String arg0, + @WebParam(name = "arg1", targetNamespace = "") + String arg1, + @WebParam(name = "arg2", targetNamespace = "") + int arg2, + @WebParam(name = "arg3", targetNamespace = "") + int arg3, + @WebParam(name = "arg4", targetNamespace = "") + int arg4); + + /** + * + * @param arg2 + * @param arg1 + * @param arg0 + * @return + * returns java.lang.String + */ + @WebMethod(operationName = "WS_GetSolutions") + @WebResult(targetNamespace = "") + @RequestWrapper(localName = "WS_GetSolutions", targetNamespace = "http://ws.dhu.edu/", className = "edu.dhu.ws.WSGetSolutions") + @ResponseWrapper(localName = "WS_GetSolutionsResponse", targetNamespace = "http://ws.dhu.edu/", className = "edu.dhu.ws.WSGetSolutionsResponse") + public String wsGetSolutions( + @WebParam(name = "arg0", targetNamespace = "") + String arg0, + @WebParam(name = "arg1", targetNamespace = "") + String arg1, + @WebParam(name = "arg2", targetNamespace = "") + int arg2); + + /** + * + * @param arg3 + * @param arg2 + * @param arg1 + * @param arg0 + * @return + * returns java.lang.String + */ + @WebMethod(operationName = "WS_ItrainSubmitCode") + @WebResult(targetNamespace = "") + @RequestWrapper(localName = "WS_ItrainSubmitCode", targetNamespace = "http://ws.dhu.edu/", className = "edu.dhu.ws.WSItrainSubmitCode") + @ResponseWrapper(localName = "WS_ItrainSubmitCodeResponse", targetNamespace = "http://ws.dhu.edu/", className = "edu.dhu.ws.WSItrainSubmitCodeResponse") + public String wsItrainSubmitCode( + @WebParam(name = "arg0", targetNamespace = "") + String arg0, + @WebParam(name = "arg1", targetNamespace = "") + String arg1, + @WebParam(name = "arg2", targetNamespace = "") + int arg2, + @WebParam(name = "arg3", targetNamespace = "") + String arg3); + + /** + * + * @param arg3 + * @param arg2 + * @param arg5 + * @param arg4 + * @param arg1 + * @param arg0 + * @return + * returns java.lang.String + */ + @WebMethod(operationName = "WS_ViewWrongCase") + @WebResult(targetNamespace = "") + @RequestWrapper(localName = "WS_ViewWrongCase", targetNamespace = "http://ws.dhu.edu/", className = "edu.dhu.ws.WSViewWrongCase") + @ResponseWrapper(localName = "WS_ViewWrongCaseResponse", targetNamespace = "http://ws.dhu.edu/", className = "edu.dhu.ws.WSViewWrongCaseResponse") + public String wsViewWrongCase( + @WebParam(name = "arg0", targetNamespace = "") + String arg0, + @WebParam(name = "arg1", targetNamespace = "") + String arg1, + @WebParam(name = "arg2", targetNamespace = "") + int arg2, + @WebParam(name = "arg3", targetNamespace = "") + int arg3, + @WebParam(name = "arg4", targetNamespace = "") + int arg4, + @WebParam(name = "arg5", targetNamespace = "") + boolean arg5); + + /** + * + * @param arg2 + * @param arg1 + * @param arg0 + * @return + * returns java.lang.String + */ + @WebMethod(operationName = "WS_SubmitHistory") + @WebResult(targetNamespace = "") + @RequestWrapper(localName = "WS_SubmitHistory", targetNamespace = "http://ws.dhu.edu/", className = "edu.dhu.ws.WSSubmitHistory") + @ResponseWrapper(localName = "WS_SubmitHistoryResponse", targetNamespace = "http://ws.dhu.edu/", className = "edu.dhu.ws.WSSubmitHistoryResponse") + public String wsSubmitHistory( + @WebParam(name = "arg0", targetNamespace = "") + String arg0, + @WebParam(name = "arg1", targetNamespace = "") + String arg1, + @WebParam(name = "arg2", targetNamespace = "") + int arg2); + + /** + * + * @param arg2 + * @param arg1 + * @param arg0 + * @return + * returns java.lang.String + */ + @WebMethod(operationName = "WS_GetExamById") + @WebResult(targetNamespace = "") + @RequestWrapper(localName = "WS_GetExamById", targetNamespace = "http://ws.dhu.edu/", className = "edu.dhu.ws.WSGetExamById") + @ResponseWrapper(localName = "WS_GetExamByIdResponse", targetNamespace = "http://ws.dhu.edu/", className = "edu.dhu.ws.WSGetExamByIdResponse") + public String wsGetExamById( + @WebParam(name = "arg0", targetNamespace = "") + String arg0, + @WebParam(name = "arg1", targetNamespace = "") + String arg1, + @WebParam(name = "arg2", targetNamespace = "") + int arg2); + + /** + * + * @param arg2 + * @param arg1 + * @param arg0 + * @return + * returns byte[] + */ + @WebMethod(operationName = "WS_GetProblem4Judge") + @WebResult(targetNamespace = "") + @RequestWrapper(localName = "WS_GetProblem4Judge", targetNamespace = "http://ws.dhu.edu/", className = "edu.dhu.ws.WSGetProblem4Judge") + @ResponseWrapper(localName = "WS_GetProblem4JudgeResponse", targetNamespace = "http://ws.dhu.edu/", className = "edu.dhu.ws.WSGetProblem4JudgeResponse") + public byte[] wsGetProblem4Judge( + @WebParam(name = "arg0", targetNamespace = "") + String arg0, + @WebParam(name = "arg1", targetNamespace = "") + String arg1, + @WebParam(name = "arg2", targetNamespace = "") + int arg2); + + /** + * + * @param arg2 + * @param arg1 + * @param arg0 + * @return + * returns java.lang.String + */ + @WebMethod(operationName = "WS_SubmitCode") + @WebResult(targetNamespace = "") + @RequestWrapper(localName = "WS_SubmitCode", targetNamespace = "http://ws.dhu.edu/", className = "edu.dhu.ws.WSSubmitCode") + @ResponseWrapper(localName = "WS_SubmitCodeResponse", targetNamespace = "http://ws.dhu.edu/", className = "edu.dhu.ws.WSSubmitCodeResponse") + public String wsSubmitCode( + @WebParam(name = "arg0", targetNamespace = "") + String arg0, + @WebParam(name = "arg1", targetNamespace = "") + String arg1, + @WebParam(name = "arg2", targetNamespace = "") + String arg2); + + /** + * + * @param arg3 + * @param arg2 + * @param arg1 + * @param arg0 + * @return + * returns java.lang.String + */ + @WebMethod(operationName = "WS_GetExamProblemStatus") + @WebResult(targetNamespace = "") + @RequestWrapper(localName = "WS_GetExamProblemStatus", targetNamespace = "http://ws.dhu.edu/", className = "edu.dhu.ws.WSGetExamProblemStatus") + @ResponseWrapper(localName = "WS_GetExamProblemStatusResponse", targetNamespace = "http://ws.dhu.edu/", className = "edu.dhu.ws.WSGetExamProblemStatusResponse") + public String wsGetExamProblemStatus( + @WebParam(name = "arg0", targetNamespace = "") + String arg0, + @WebParam(name = "arg1", targetNamespace = "") + String arg1, + @WebParam(name = "arg2", targetNamespace = "") + int arg2, + @WebParam(name = "arg3", targetNamespace = "") + int arg3); + + /** + * + * @param arg3 + * @param arg2 + * @param arg1 + * @param arg0 + * @return + * returns java.lang.String + */ + @WebMethod(operationName = "WS_IsPermit") + @WebResult(targetNamespace = "") + @RequestWrapper(localName = "WS_IsPermit", targetNamespace = "http://ws.dhu.edu/", className = "edu.dhu.ws.WSIsPermit") + @ResponseWrapper(localName = "WS_IsPermitResponse", targetNamespace = "http://ws.dhu.edu/", className = "edu.dhu.ws.WSIsPermitResponse") + public String wsIsPermit( + @WebParam(name = "arg0", targetNamespace = "") + String arg0, + @WebParam(name = "arg1", targetNamespace = "") + String arg1, + @WebParam(name = "arg2", targetNamespace = "") + int arg2, + @WebParam(name = "arg3", targetNamespace = "") + String arg3); + + /** + * + * @param arg3 + * @param arg2 + * @param arg1 + * @param arg0 + * @return + * returns java.lang.String + */ + @WebMethod(operationName = "WS_PassThisCategory") + @WebResult(targetNamespace = "") + @RequestWrapper(localName = "WS_PassThisCategory", targetNamespace = "http://ws.dhu.edu/", className = "edu.dhu.ws.WSPassThisCategory") + @ResponseWrapper(localName = "WS_PassThisCategoryResponse", targetNamespace = "http://ws.dhu.edu/", className = "edu.dhu.ws.WSPassThisCategoryResponse") + public String wsPassThisCategory( + @WebParam(name = "arg0", targetNamespace = "") + String arg0, + @WebParam(name = "arg1", targetNamespace = "") + String arg1, + @WebParam(name = "arg2", targetNamespace = "") + int arg2, + @WebParam(name = "arg3", targetNamespace = "") + int arg3); + + /** + * + * @param arg2 + * @param arg1 + * @param arg0 + * @return + * returns java.lang.String + */ + @WebMethod(operationName = "WS_GetExamProblems") + @WebResult(targetNamespace = "") + @RequestWrapper(localName = "WS_GetExamProblems", targetNamespace = "http://ws.dhu.edu/", className = "edu.dhu.ws.WSGetExamProblems") + @ResponseWrapper(localName = "WS_GetExamProblemsResponse", targetNamespace = "http://ws.dhu.edu/", className = "edu.dhu.ws.WSGetExamProblemsResponse") + public String wsGetExamProblems( + @WebParam(name = "arg0", targetNamespace = "") + String arg0, + @WebParam(name = "arg1", targetNamespace = "") + String arg1, + @WebParam(name = "arg2", targetNamespace = "") + int arg2); + + /** + * + * @param arg2 + * @param arg1 + * @param arg0 + * @return + * returns java.lang.String + */ + @WebMethod(operationName = "WS_CanDoCategory") + @WebResult(targetNamespace = "") + @RequestWrapper(localName = "WS_CanDoCategory", targetNamespace = "http://ws.dhu.edu/", className = "edu.dhu.ws.WSCanDoCategory") + @ResponseWrapper(localName = "WS_CanDoCategoryResponse", targetNamespace = "http://ws.dhu.edu/", className = "edu.dhu.ws.WSCanDoCategoryResponse") + public String wsCanDoCategory( + @WebParam(name = "arg0", targetNamespace = "") + String arg0, + @WebParam(name = "arg1", targetNamespace = "") + String arg1, + @WebParam(name = "arg2", targetNamespace = "") + int arg2); + + /** + * + * @param arg2 + * @param arg1 + * @param arg0 + * @return + * returns java.lang.String + */ + @WebMethod(operationName = "WS_UpdateResult") + @WebResult(targetNamespace = "") + @RequestWrapper(localName = "WS_UpdateResult", targetNamespace = "http://ws.dhu.edu/", className = "edu.dhu.ws.WSUpdateResult") + @ResponseWrapper(localName = "WS_UpdateResultResponse", targetNamespace = "http://ws.dhu.edu/", className = "edu.dhu.ws.WSUpdateResultResponse") + public String wsUpdateResult( + @WebParam(name = "arg0", targetNamespace = "") + String arg0, + @WebParam(name = "arg1", targetNamespace = "") + String arg1, + @WebParam(name = "arg2", targetNamespace = "") + byte[] arg2); + + /** + * + * @param arg2 + * @param arg1 + * @param arg0 + * @return + * returns java.lang.String + */ + @WebMethod(operationName = "WS_GetExamProCatagorys") + @WebResult(targetNamespace = "") + @RequestWrapper(localName = "WS_GetExamProCatagorys", targetNamespace = "http://ws.dhu.edu/", className = "edu.dhu.ws.WSGetExamProCatagorys") + @ResponseWrapper(localName = "WS_GetExamProCatagorysResponse", targetNamespace = "http://ws.dhu.edu/", className = "edu.dhu.ws.WSGetExamProCatagorysResponse") + public String wsGetExamProCatagorys( + @WebParam(name = "arg0", targetNamespace = "") + String arg0, + @WebParam(name = "arg1", targetNamespace = "") + String arg1, + @WebParam(name = "arg2", targetNamespace = "") + int arg2); + + /** + * + * @param arg3 + * @param arg2 + * @param arg4 + * @param arg1 + * @param arg0 + * @return + * returns java.lang.String + */ + @WebMethod(operationName = "WS_ItrainSubmitThisProblem") + @WebResult(targetNamespace = "") + @RequestWrapper(localName = "WS_ItrainSubmitThisProblem", targetNamespace = "http://ws.dhu.edu/", className = "edu.dhu.ws.WSItrainSubmitThisProblem") + @ResponseWrapper(localName = "WS_ItrainSubmitThisProblemResponse", targetNamespace = "http://ws.dhu.edu/", className = "edu.dhu.ws.WSItrainSubmitThisProblemResponse") + public String wsItrainSubmitThisProblem( + @WebParam(name = "arg0", targetNamespace = "") + String arg0, + @WebParam(name = "arg1", targetNamespace = "") + String arg1, + @WebParam(name = "arg2", targetNamespace = "") + int arg2, + @WebParam(name = "arg3", targetNamespace = "") + String arg3, + @WebParam(name = "arg4", targetNamespace = "") + String arg4); + + /** + * + * @param arg2 + * @param arg1 + * @param arg0 + * @return + * returns java.lang.String + */ + @WebMethod(operationName = "WS_GetExamDetail") + @WebResult(targetNamespace = "") + @RequestWrapper(localName = "WS_GetExamDetail", targetNamespace = "http://ws.dhu.edu/", className = "edu.dhu.ws.WSGetExamDetail") + @ResponseWrapper(localName = "WS_GetExamDetailResponse", targetNamespace = "http://ws.dhu.edu/", className = "edu.dhu.ws.WSGetExamDetailResponse") + public String wsGetExamDetail( + @WebParam(name = "arg0", targetNamespace = "") + String arg0, + @WebParam(name = "arg1", targetNamespace = "") + String arg1, + @WebParam(name = "arg2", targetNamespace = "") + int arg2); + +} diff --git a/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/OJWS_Service.java b/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/OJWS_Service.java new file mode 100644 index 0000000..6a518c3 --- /dev/null +++ b/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/OJWS_Service.java @@ -0,0 +1,94 @@ + +package edu.dhu.ws; + +import java.net.MalformedURLException; +import java.net.URL; +import javax.xml.namespace.QName; +import javax.xml.ws.Service; +import javax.xml.ws.WebEndpoint; +import javax.xml.ws.WebServiceClient; +import javax.xml.ws.WebServiceException; +import javax.xml.ws.WebServiceFeature; + + +/** + * This class was generated by the JAX-WS RI. + * JAX-WS RI 2.2.6-1b01 + * Generated source version: 2.2 + * + */ +@WebServiceClient(name = "OJWS", targetNamespace = "http://ws.dhu.edu/", wsdlLocation = "http://106.15.36.190:80/oj/webservice/OJWS?wsdl") +public class OJWS_Service + extends Service +{ + + private final static URL OJWS_WSDL_LOCATION; + private final static WebServiceException OJWS_EXCEPTION; + private final static QName OJWS_QNAME = new QName("http://ws.dhu.edu/", "OJWS"); + + static { + URL url = null; + WebServiceException e = null; + try { + url = new URL("http://106.15.36.190:80/oj/webservice/OJWS?wsdl"); + } catch (MalformedURLException ex) { + e = new WebServiceException(ex); + } + OJWS_WSDL_LOCATION = url; + OJWS_EXCEPTION = e; + } + + public OJWS_Service() { + super(__getWsdlLocation(), OJWS_QNAME); + } + + public OJWS_Service(WebServiceFeature... features) { + super(__getWsdlLocation(), OJWS_QNAME, features); + } + + public OJWS_Service(URL wsdlLocation) { + super(wsdlLocation, OJWS_QNAME); + } + + public OJWS_Service(URL wsdlLocation, WebServiceFeature... features) { + super(wsdlLocation, OJWS_QNAME, features); + } + + public OJWS_Service(URL wsdlLocation, QName serviceName) { + super(wsdlLocation, serviceName); + } + + public OJWS_Service(URL wsdlLocation, QName serviceName, WebServiceFeature... features) { + super(wsdlLocation, serviceName, features); + } + + /** + * + * @return + * returns OJWS + */ + @WebEndpoint(name = "OJWSImplPort") + public OJWS getOJWSImplPort() { + return super.getPort(new QName("http://ws.dhu.edu/", "OJWSImplPort"), OJWS.class); + } + + /** + * + * @param features + * A list of {@link javax.xml.ws.WebServiceFeature} to configure on the proxy. Supported features not in the features parameter will have their default values. + * @return + * returns OJWS + */ + @WebEndpoint(name = "OJWSImplPort") + public OJWS getOJWSImplPort(WebServiceFeature... features) { + return super.getPort(new QName("http://ws.dhu.edu/", "OJWSImplPort"), OJWS.class, features); + } + + private static URL __getWsdlLocation() { + if (OJWS_EXCEPTION!= null) { + throw OJWS_EXCEPTION; + } + return OJWS_WSDL_LOCATION; + } + +} diff --git a/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/ObjectFactory.java b/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/ObjectFactory.java new file mode 100644 index 0000000..e4bcffa --- /dev/null +++ b/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/ObjectFactory.java @@ -0,0 +1,863 @@ + +package edu.dhu.ws; + +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlElementDecl; +import javax.xml.bind.annotation.XmlRegistry; +import javax.xml.namespace.QName; + + +/** + * This object contains factory methods for each + * Java content interface and Java element interface + * generated in the edu.dhu.ws package. + *

An ObjectFactory allows you to programatically + * construct new instances of the Java representation + * for XML content. The Java representation of XML + * content can consist of schema derived interfaces + * and classes representing the binding of schema + * type definitions, element declarations and model + * groups. Factory methods for each of these are + * provided in this class. + * + */ +@XmlRegistry +public class ObjectFactory { + + private final static QName _WSGetExamProCatagorysResponse_QNAME = new QName("http://ws.dhu.edu/", "WS_GetExamProCatagorysResponse"); + private final static QName _WSGetExamByIdResponse_QNAME = new QName("http://ws.dhu.edu/", "WS_GetExamByIdResponse"); + private final static QName _WSGetExamList_QNAME = new QName("http://ws.dhu.edu/", "WS_GetExamList"); + private final static QName _WSGetExamProblemsResponse_QNAME = new QName("http://ws.dhu.edu/", "WS_GetExamProblemsResponse"); + private final static QName _WSGetProblem_QNAME = new QName("http://ws.dhu.edu/", "WS_GetProblem"); + private final static QName _WSDrawProblem_QNAME = new QName("http://ws.dhu.edu/", "WS_DrawProblem"); + private final static QName _WSGetProblem4JudgeResponse_QNAME = new QName("http://ws.dhu.edu/", "WS_GetProblem4JudgeResponse"); + private final static QName _WSViewWrongCaseResponse_QNAME = new QName("http://ws.dhu.edu/", "WS_ViewWrongCaseResponse"); + private final static QName _WSItrainSubmitCodeResponse_QNAME = new QName("http://ws.dhu.edu/", "WS_ItrainSubmitCodeResponse"); + private final static QName _WSSubmittedCode_QNAME = new QName("http://ws.dhu.edu/", "WS_SubmittedCode"); + private final static QName _WSSkipThisProblem_QNAME = new QName("http://ws.dhu.edu/", "WS_SkipThisProblem"); + private final static QName _WSUpdateResultResponse_QNAME = new QName("http://ws.dhu.edu/", "WS_UpdateResultResponse"); + private final static QName _WSItrainSubmitCode_QNAME = new QName("http://ws.dhu.edu/", "WS_ItrainSubmitCode"); + private final static QName _WSGetExamById_QNAME = new QName("http://ws.dhu.edu/", "WS_GetExamById"); + private final static QName _WSSubmitCode_QNAME = new QName("http://ws.dhu.edu/", "WS_SubmitCode"); + private final static QName _WSPassThisCategory_QNAME = new QName("http://ws.dhu.edu/", "WS_PassThisCategory"); + private final static QName _WSItrainSubmitThisProblemResponse_QNAME = new QName("http://ws.dhu.edu/", "WS_ItrainSubmitThisProblemResponse"); + private final static QName _WSGetProblemResponse_QNAME = new QName("http://ws.dhu.edu/", "WS_GetProblemResponse"); + private final static QName _WSIsPermitResponse_QNAME = new QName("http://ws.dhu.edu/", "WS_IsPermitResponse"); + private final static QName _WSCanDoCategory_QNAME = new QName("http://ws.dhu.edu/", "WS_CanDoCategory"); + private final static QName _WSUpdateResult_QNAME = new QName("http://ws.dhu.edu/", "WS_UpdateResult"); + private final static QName _WSGetExamProCatagorys_QNAME = new QName("http://ws.dhu.edu/", "WS_GetExamProCatagorys"); + private final static QName _WSItrainSubmitThisProblem_QNAME = new QName("http://ws.dhu.edu/", "WS_ItrainSubmitThisProblem"); + private final static QName _WSCanDoCategoryResponse_QNAME = new QName("http://ws.dhu.edu/", "WS_CanDoCategoryResponse"); + private final static QName _WSSubmitThisProblem_QNAME = new QName("http://ws.dhu.edu/", "WS_SubmitThisProblem"); + private final static QName _WSSubmitThisProblemResponse_QNAME = new QName("http://ws.dhu.edu/", "WS_SubmitThisProblemResponse"); + private final static QName _WSLogin_QNAME = new QName("http://ws.dhu.edu/", "WS_Login"); + private final static QName _WSSubmitHistoryResponse_QNAME = new QName("http://ws.dhu.edu/", "WS_SubmitHistoryResponse"); + private final static QName _WSSubmittedCodeResponse_QNAME = new QName("http://ws.dhu.edu/", "WS_SubmittedCodeResponse"); + private final static QName _WSGetExamDetailResponse_QNAME = new QName("http://ws.dhu.edu/", "WS_GetExamDetailResponse"); + private final static QName _WSGetSolutions_QNAME = new QName("http://ws.dhu.edu/", "WS_GetSolutions"); + private final static QName _WSSubmitCodeResponse_QNAME = new QName("http://ws.dhu.edu/", "WS_SubmitCodeResponse"); + private final static QName _WSPassThisCategoryResponse_QNAME = new QName("http://ws.dhu.edu/", "WS_PassThisCategoryResponse"); + private final static QName _WSGetExamListResponse_QNAME = new QName("http://ws.dhu.edu/", "WS_GetExamListResponse"); + private final static QName _WSLoginResponse_QNAME = new QName("http://ws.dhu.edu/", "WS_LoginResponse"); + private final static QName _WSViewWrongCase_QNAME = new QName("http://ws.dhu.edu/", "WS_ViewWrongCase"); + private final static QName _WSSkipThisProblemResponse_QNAME = new QName("http://ws.dhu.edu/", "WS_SkipThisProblemResponse"); + private final static QName _WSSubmitHistory_QNAME = new QName("http://ws.dhu.edu/", "WS_SubmitHistory"); + private final static QName _WSDrawProblemResponse_QNAME = new QName("http://ws.dhu.edu/", "WS_DrawProblemResponse"); + private final static QName _WSGetProblem4Judge_QNAME = new QName("http://ws.dhu.edu/", "WS_GetProblem4Judge"); + private final static QName _WSGetExamProblemStatus_QNAME = new QName("http://ws.dhu.edu/", "WS_GetExamProblemStatus"); + private final static QName _WSIsPermit_QNAME = new QName("http://ws.dhu.edu/", "WS_IsPermit"); + private final static QName _WSGetExamProblems_QNAME = new QName("http://ws.dhu.edu/", "WS_GetExamProblems"); + private final static QName _WSGetExamProblemStatusResponse_QNAME = new QName("http://ws.dhu.edu/", "WS_GetExamProblemStatusResponse"); + private final static QName _WSGetExamDetail_QNAME = new QName("http://ws.dhu.edu/", "WS_GetExamDetail"); + private final static QName _WSGetSolutionsResponse_QNAME = new QName("http://ws.dhu.edu/", "WS_GetSolutionsResponse"); + + /** + * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: edu.dhu.ws + * + */ + public ObjectFactory() { + } + + /** + * Create an instance of {@link WSSubmitThisProblem } + * + */ + public WSSubmitThisProblem createWSSubmitThisProblem() { + return new WSSubmitThisProblem(); + } + + /** + * Create an instance of {@link WSCanDoCategoryResponse } + * + */ + public WSCanDoCategoryResponse createWSCanDoCategoryResponse() { + return new WSCanDoCategoryResponse(); + } + + /** + * Create an instance of {@link WSSubmitThisProblemResponse } + * + */ + public WSSubmitThisProblemResponse createWSSubmitThisProblemResponse() { + return new WSSubmitThisProblemResponse(); + } + + /** + * Create an instance of {@link WSPassThisCategoryResponse } + * + */ + public WSPassThisCategoryResponse createWSPassThisCategoryResponse() { + return new WSPassThisCategoryResponse(); + } + + /** + * Create an instance of {@link WSGetSolutions } + * + */ + public WSGetSolutions createWSGetSolutions() { + return new WSGetSolutions(); + } + + /** + * Create an instance of {@link WSSubmitCodeResponse } + * + */ + public WSSubmitCodeResponse createWSSubmitCodeResponse() { + return new WSSubmitCodeResponse(); + } + + /** + * Create an instance of {@link WSSkipThisProblemResponse } + * + */ + public WSSkipThisProblemResponse createWSSkipThisProblemResponse() { + return new WSSkipThisProblemResponse(); + } + + /** + * Create an instance of {@link WSSubmitHistory } + * + */ + public WSSubmitHistory createWSSubmitHistory() { + return new WSSubmitHistory(); + } + + /** + * Create an instance of {@link WSGetExamListResponse } + * + */ + public WSGetExamListResponse createWSGetExamListResponse() { + return new WSGetExamListResponse(); + } + + /** + * Create an instance of {@link WSLoginResponse } + * + */ + public WSLoginResponse createWSLoginResponse() { + return new WSLoginResponse(); + } + + /** + * Create an instance of {@link WSViewWrongCase } + * + */ + public WSViewWrongCase createWSViewWrongCase() { + return new WSViewWrongCase(); + } + + /** + * Create an instance of {@link WSLogin } + * + */ + public WSLogin createWSLogin() { + return new WSLogin(); + } + + /** + * Create an instance of {@link WSSubmitHistoryResponse } + * + */ + public WSSubmitHistoryResponse createWSSubmitHistoryResponse() { + return new WSSubmitHistoryResponse(); + } + + /** + * Create an instance of {@link WSSubmittedCodeResponse } + * + */ + public WSSubmittedCodeResponse createWSSubmittedCodeResponse() { + return new WSSubmittedCodeResponse(); + } + + /** + * Create an instance of {@link WSGetExamDetailResponse } + * + */ + public WSGetExamDetailResponse createWSGetExamDetailResponse() { + return new WSGetExamDetailResponse(); + } + + /** + * Create an instance of {@link WSIsPermit } + * + */ + public WSIsPermit createWSIsPermit() { + return new WSIsPermit(); + } + + /** + * Create an instance of {@link WSGetExamProblemStatus } + * + */ + public WSGetExamProblemStatus createWSGetExamProblemStatus() { + return new WSGetExamProblemStatus(); + } + + /** + * Create an instance of {@link WSGetExamProblems } + * + */ + public WSGetExamProblems createWSGetExamProblems() { + return new WSGetExamProblems(); + } + + /** + * Create an instance of {@link WSDrawProblemResponse } + * + */ + public WSDrawProblemResponse createWSDrawProblemResponse() { + return new WSDrawProblemResponse(); + } + + /** + * Create an instance of {@link WSGetProblem4Judge } + * + */ + public WSGetProblem4Judge createWSGetProblem4Judge() { + return new WSGetProblem4Judge(); + } + + /** + * Create an instance of {@link WSGetExamProblemStatusResponse } + * + */ + public WSGetExamProblemStatusResponse createWSGetExamProblemStatusResponse() { + return new WSGetExamProblemStatusResponse(); + } + + /** + * Create an instance of {@link WSGetExamDetail } + * + */ + public WSGetExamDetail createWSGetExamDetail() { + return new WSGetExamDetail(); + } + + /** + * Create an instance of {@link WSGetSolutionsResponse } + * + */ + public WSGetSolutionsResponse createWSGetSolutionsResponse() { + return new WSGetSolutionsResponse(); + } + + /** + * Create an instance of {@link WSDrawProblem } + * + */ + public WSDrawProblem createWSDrawProblem() { + return new WSDrawProblem(); + } + + /** + * Create an instance of {@link WSGetProblem4JudgeResponse } + * + */ + public WSGetProblem4JudgeResponse createWSGetProblem4JudgeResponse() { + return new WSGetProblem4JudgeResponse(); + } + + /** + * Create an instance of {@link WSViewWrongCaseResponse } + * + */ + public WSViewWrongCaseResponse createWSViewWrongCaseResponse() { + return new WSViewWrongCaseResponse(); + } + + /** + * Create an instance of {@link WSGetExamByIdResponse } + * + */ + public WSGetExamByIdResponse createWSGetExamByIdResponse() { + return new WSGetExamByIdResponse(); + } + + /** + * Create an instance of {@link WSGetExamProCatagorysResponse } + * + */ + public WSGetExamProCatagorysResponse createWSGetExamProCatagorysResponse() { + return new WSGetExamProCatagorysResponse(); + } + + /** + * Create an instance of {@link WSGetProblem } + * + */ + public WSGetProblem createWSGetProblem() { + return new WSGetProblem(); + } + + /** + * Create an instance of {@link WSGetExamList } + * + */ + public WSGetExamList createWSGetExamList() { + return new WSGetExamList(); + } + + /** + * Create an instance of {@link WSGetExamProblemsResponse } + * + */ + public WSGetExamProblemsResponse createWSGetExamProblemsResponse() { + return new WSGetExamProblemsResponse(); + } + + /** + * Create an instance of {@link WSUpdateResultResponse } + * + */ + public WSUpdateResultResponse createWSUpdateResultResponse() { + return new WSUpdateResultResponse(); + } + + /** + * Create an instance of {@link WSItrainSubmitCode } + * + */ + public WSItrainSubmitCode createWSItrainSubmitCode() { + return new WSItrainSubmitCode(); + } + + /** + * Create an instance of {@link WSSkipThisProblem } + * + */ + public WSSkipThisProblem createWSSkipThisProblem() { + return new WSSkipThisProblem(); + } + + /** + * Create an instance of {@link WSItrainSubmitCodeResponse } + * + */ + public WSItrainSubmitCodeResponse createWSItrainSubmitCodeResponse() { + return new WSItrainSubmitCodeResponse(); + } + + /** + * Create an instance of {@link WSSubmittedCode } + * + */ + public WSSubmittedCode createWSSubmittedCode() { + return new WSSubmittedCode(); + } + + /** + * Create an instance of {@link WSPassThisCategory } + * + */ + public WSPassThisCategory createWSPassThisCategory() { + return new WSPassThisCategory(); + } + + /** + * Create an instance of {@link WSItrainSubmitThisProblemResponse } + * + */ + public WSItrainSubmitThisProblemResponse createWSItrainSubmitThisProblemResponse() { + return new WSItrainSubmitThisProblemResponse(); + } + + /** + * Create an instance of {@link WSSubmitCode } + * + */ + public WSSubmitCode createWSSubmitCode() { + return new WSSubmitCode(); + } + + /** + * Create an instance of {@link WSGetExamById } + * + */ + public WSGetExamById createWSGetExamById() { + return new WSGetExamById(); + } + + /** + * Create an instance of {@link WSCanDoCategory } + * + */ + public WSCanDoCategory createWSCanDoCategory() { + return new WSCanDoCategory(); + } + + /** + * Create an instance of {@link WSUpdateResult } + * + */ + public WSUpdateResult createWSUpdateResult() { + return new WSUpdateResult(); + } + + /** + * Create an instance of {@link WSGetExamProCatagorys } + * + */ + public WSGetExamProCatagorys createWSGetExamProCatagorys() { + return new WSGetExamProCatagorys(); + } + + /** + * Create an instance of {@link WSItrainSubmitThisProblem } + * + */ + public WSItrainSubmitThisProblem createWSItrainSubmitThisProblem() { + return new WSItrainSubmitThisProblem(); + } + + /** + * Create an instance of {@link WSIsPermitResponse } + * + */ + public WSIsPermitResponse createWSIsPermitResponse() { + return new WSIsPermitResponse(); + } + + /** + * Create an instance of {@link WSGetProblemResponse } + * + */ + public WSGetProblemResponse createWSGetProblemResponse() { + return new WSGetProblemResponse(); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link WSGetExamProCatagorysResponse }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://ws.dhu.edu/", name = "WS_GetExamProCatagorysResponse") + public JAXBElement createWSGetExamProCatagorysResponse(WSGetExamProCatagorysResponse value) { + return new JAXBElement(_WSGetExamProCatagorysResponse_QNAME, WSGetExamProCatagorysResponse.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link WSGetExamByIdResponse }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://ws.dhu.edu/", name = "WS_GetExamByIdResponse") + public JAXBElement createWSGetExamByIdResponse(WSGetExamByIdResponse value) { + return new JAXBElement(_WSGetExamByIdResponse_QNAME, WSGetExamByIdResponse.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link WSGetExamList }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://ws.dhu.edu/", name = "WS_GetExamList") + public JAXBElement createWSGetExamList(WSGetExamList value) { + return new JAXBElement(_WSGetExamList_QNAME, WSGetExamList.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link WSGetExamProblemsResponse }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://ws.dhu.edu/", name = "WS_GetExamProblemsResponse") + public JAXBElement createWSGetExamProblemsResponse(WSGetExamProblemsResponse value) { + return new JAXBElement(_WSGetExamProblemsResponse_QNAME, WSGetExamProblemsResponse.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link WSGetProblem }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://ws.dhu.edu/", name = "WS_GetProblem") + public JAXBElement createWSGetProblem(WSGetProblem value) { + return new JAXBElement(_WSGetProblem_QNAME, WSGetProblem.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link WSDrawProblem }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://ws.dhu.edu/", name = "WS_DrawProblem") + public JAXBElement createWSDrawProblem(WSDrawProblem value) { + return new JAXBElement(_WSDrawProblem_QNAME, WSDrawProblem.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link WSGetProblem4JudgeResponse }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://ws.dhu.edu/", name = "WS_GetProblem4JudgeResponse") + public JAXBElement createWSGetProblem4JudgeResponse(WSGetProblem4JudgeResponse value) { + return new JAXBElement(_WSGetProblem4JudgeResponse_QNAME, WSGetProblem4JudgeResponse.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link WSViewWrongCaseResponse }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://ws.dhu.edu/", name = "WS_ViewWrongCaseResponse") + public JAXBElement createWSViewWrongCaseResponse(WSViewWrongCaseResponse value) { + return new JAXBElement(_WSViewWrongCaseResponse_QNAME, WSViewWrongCaseResponse.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link WSItrainSubmitCodeResponse }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://ws.dhu.edu/", name = "WS_ItrainSubmitCodeResponse") + public JAXBElement createWSItrainSubmitCodeResponse(WSItrainSubmitCodeResponse value) { + return new JAXBElement(_WSItrainSubmitCodeResponse_QNAME, WSItrainSubmitCodeResponse.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link WSSubmittedCode }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://ws.dhu.edu/", name = "WS_SubmittedCode") + public JAXBElement createWSSubmittedCode(WSSubmittedCode value) { + return new JAXBElement(_WSSubmittedCode_QNAME, WSSubmittedCode.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link WSSkipThisProblem }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://ws.dhu.edu/", name = "WS_SkipThisProblem") + public JAXBElement createWSSkipThisProblem(WSSkipThisProblem value) { + return new JAXBElement(_WSSkipThisProblem_QNAME, WSSkipThisProblem.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link WSUpdateResultResponse }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://ws.dhu.edu/", name = "WS_UpdateResultResponse") + public JAXBElement createWSUpdateResultResponse(WSUpdateResultResponse value) { + return new JAXBElement(_WSUpdateResultResponse_QNAME, WSUpdateResultResponse.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link WSItrainSubmitCode }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://ws.dhu.edu/", name = "WS_ItrainSubmitCode") + public JAXBElement createWSItrainSubmitCode(WSItrainSubmitCode value) { + return new JAXBElement(_WSItrainSubmitCode_QNAME, WSItrainSubmitCode.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link WSGetExamById }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://ws.dhu.edu/", name = "WS_GetExamById") + public JAXBElement createWSGetExamById(WSGetExamById value) { + return new JAXBElement(_WSGetExamById_QNAME, WSGetExamById.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link WSSubmitCode }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://ws.dhu.edu/", name = "WS_SubmitCode") + public JAXBElement createWSSubmitCode(WSSubmitCode value) { + return new JAXBElement(_WSSubmitCode_QNAME, WSSubmitCode.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link WSPassThisCategory }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://ws.dhu.edu/", name = "WS_PassThisCategory") + public JAXBElement createWSPassThisCategory(WSPassThisCategory value) { + return new JAXBElement(_WSPassThisCategory_QNAME, WSPassThisCategory.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link WSItrainSubmitThisProblemResponse }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://ws.dhu.edu/", name = "WS_ItrainSubmitThisProblemResponse") + public JAXBElement createWSItrainSubmitThisProblemResponse(WSItrainSubmitThisProblemResponse value) { + return new JAXBElement(_WSItrainSubmitThisProblemResponse_QNAME, WSItrainSubmitThisProblemResponse.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link WSGetProblemResponse }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://ws.dhu.edu/", name = "WS_GetProblemResponse") + public JAXBElement createWSGetProblemResponse(WSGetProblemResponse value) { + return new JAXBElement(_WSGetProblemResponse_QNAME, WSGetProblemResponse.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link WSIsPermitResponse }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://ws.dhu.edu/", name = "WS_IsPermitResponse") + public JAXBElement createWSIsPermitResponse(WSIsPermitResponse value) { + return new JAXBElement(_WSIsPermitResponse_QNAME, WSIsPermitResponse.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link WSCanDoCategory }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://ws.dhu.edu/", name = "WS_CanDoCategory") + public JAXBElement createWSCanDoCategory(WSCanDoCategory value) { + return new JAXBElement(_WSCanDoCategory_QNAME, WSCanDoCategory.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link WSUpdateResult }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://ws.dhu.edu/", name = "WS_UpdateResult") + public JAXBElement createWSUpdateResult(WSUpdateResult value) { + return new JAXBElement(_WSUpdateResult_QNAME, WSUpdateResult.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link WSGetExamProCatagorys }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://ws.dhu.edu/", name = "WS_GetExamProCatagorys") + public JAXBElement createWSGetExamProCatagorys(WSGetExamProCatagorys value) { + return new JAXBElement(_WSGetExamProCatagorys_QNAME, WSGetExamProCatagorys.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link WSItrainSubmitThisProblem }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://ws.dhu.edu/", name = "WS_ItrainSubmitThisProblem") + public JAXBElement createWSItrainSubmitThisProblem(WSItrainSubmitThisProblem value) { + return new JAXBElement(_WSItrainSubmitThisProblem_QNAME, WSItrainSubmitThisProblem.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link WSCanDoCategoryResponse }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://ws.dhu.edu/", name = "WS_CanDoCategoryResponse") + public JAXBElement createWSCanDoCategoryResponse(WSCanDoCategoryResponse value) { + return new JAXBElement(_WSCanDoCategoryResponse_QNAME, WSCanDoCategoryResponse.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link WSSubmitThisProblem }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://ws.dhu.edu/", name = "WS_SubmitThisProblem") + public JAXBElement createWSSubmitThisProblem(WSSubmitThisProblem value) { + return new JAXBElement(_WSSubmitThisProblem_QNAME, WSSubmitThisProblem.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link WSSubmitThisProblemResponse }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://ws.dhu.edu/", name = "WS_SubmitThisProblemResponse") + public JAXBElement createWSSubmitThisProblemResponse(WSSubmitThisProblemResponse value) { + return new JAXBElement(_WSSubmitThisProblemResponse_QNAME, WSSubmitThisProblemResponse.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link WSLogin }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://ws.dhu.edu/", name = "WS_Login") + public JAXBElement createWSLogin(WSLogin value) { + return new JAXBElement(_WSLogin_QNAME, WSLogin.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link WSSubmitHistoryResponse }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://ws.dhu.edu/", name = "WS_SubmitHistoryResponse") + public JAXBElement createWSSubmitHistoryResponse(WSSubmitHistoryResponse value) { + return new JAXBElement(_WSSubmitHistoryResponse_QNAME, WSSubmitHistoryResponse.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link WSSubmittedCodeResponse }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://ws.dhu.edu/", name = "WS_SubmittedCodeResponse") + public JAXBElement createWSSubmittedCodeResponse(WSSubmittedCodeResponse value) { + return new JAXBElement(_WSSubmittedCodeResponse_QNAME, WSSubmittedCodeResponse.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link WSGetExamDetailResponse }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://ws.dhu.edu/", name = "WS_GetExamDetailResponse") + public JAXBElement createWSGetExamDetailResponse(WSGetExamDetailResponse value) { + return new JAXBElement(_WSGetExamDetailResponse_QNAME, WSGetExamDetailResponse.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link WSGetSolutions }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://ws.dhu.edu/", name = "WS_GetSolutions") + public JAXBElement createWSGetSolutions(WSGetSolutions value) { + return new JAXBElement(_WSGetSolutions_QNAME, WSGetSolutions.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link WSSubmitCodeResponse }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://ws.dhu.edu/", name = "WS_SubmitCodeResponse") + public JAXBElement createWSSubmitCodeResponse(WSSubmitCodeResponse value) { + return new JAXBElement(_WSSubmitCodeResponse_QNAME, WSSubmitCodeResponse.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link WSPassThisCategoryResponse }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://ws.dhu.edu/", name = "WS_PassThisCategoryResponse") + public JAXBElement createWSPassThisCategoryResponse(WSPassThisCategoryResponse value) { + return new JAXBElement(_WSPassThisCategoryResponse_QNAME, WSPassThisCategoryResponse.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link WSGetExamListResponse }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://ws.dhu.edu/", name = "WS_GetExamListResponse") + public JAXBElement createWSGetExamListResponse(WSGetExamListResponse value) { + return new JAXBElement(_WSGetExamListResponse_QNAME, WSGetExamListResponse.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link WSLoginResponse }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://ws.dhu.edu/", name = "WS_LoginResponse") + public JAXBElement createWSLoginResponse(WSLoginResponse value) { + return new JAXBElement(_WSLoginResponse_QNAME, WSLoginResponse.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link WSViewWrongCase }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://ws.dhu.edu/", name = "WS_ViewWrongCase") + public JAXBElement createWSViewWrongCase(WSViewWrongCase value) { + return new JAXBElement(_WSViewWrongCase_QNAME, WSViewWrongCase.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link WSSkipThisProblemResponse }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://ws.dhu.edu/", name = "WS_SkipThisProblemResponse") + public JAXBElement createWSSkipThisProblemResponse(WSSkipThisProblemResponse value) { + return new JAXBElement(_WSSkipThisProblemResponse_QNAME, WSSkipThisProblemResponse.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link WSSubmitHistory }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://ws.dhu.edu/", name = "WS_SubmitHistory") + public JAXBElement createWSSubmitHistory(WSSubmitHistory value) { + return new JAXBElement(_WSSubmitHistory_QNAME, WSSubmitHistory.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link WSDrawProblemResponse }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://ws.dhu.edu/", name = "WS_DrawProblemResponse") + public JAXBElement createWSDrawProblemResponse(WSDrawProblemResponse value) { + return new JAXBElement(_WSDrawProblemResponse_QNAME, WSDrawProblemResponse.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link WSGetProblem4Judge }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://ws.dhu.edu/", name = "WS_GetProblem4Judge") + public JAXBElement createWSGetProblem4Judge(WSGetProblem4Judge value) { + return new JAXBElement(_WSGetProblem4Judge_QNAME, WSGetProblem4Judge.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link WSGetExamProblemStatus }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://ws.dhu.edu/", name = "WS_GetExamProblemStatus") + public JAXBElement createWSGetExamProblemStatus(WSGetExamProblemStatus value) { + return new JAXBElement(_WSGetExamProblemStatus_QNAME, WSGetExamProblemStatus.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link WSIsPermit }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://ws.dhu.edu/", name = "WS_IsPermit") + public JAXBElement createWSIsPermit(WSIsPermit value) { + return new JAXBElement(_WSIsPermit_QNAME, WSIsPermit.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link WSGetExamProblems }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://ws.dhu.edu/", name = "WS_GetExamProblems") + public JAXBElement createWSGetExamProblems(WSGetExamProblems value) { + return new JAXBElement(_WSGetExamProblems_QNAME, WSGetExamProblems.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link WSGetExamProblemStatusResponse }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://ws.dhu.edu/", name = "WS_GetExamProblemStatusResponse") + public JAXBElement createWSGetExamProblemStatusResponse(WSGetExamProblemStatusResponse value) { + return new JAXBElement(_WSGetExamProblemStatusResponse_QNAME, WSGetExamProblemStatusResponse.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link WSGetExamDetail }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://ws.dhu.edu/", name = "WS_GetExamDetail") + public JAXBElement createWSGetExamDetail(WSGetExamDetail value) { + return new JAXBElement(_WSGetExamDetail_QNAME, WSGetExamDetail.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link WSGetSolutionsResponse }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://ws.dhu.edu/", name = "WS_GetSolutionsResponse") + public JAXBElement createWSGetSolutionsResponse(WSGetSolutionsResponse value) { + return new JAXBElement(_WSGetSolutionsResponse_QNAME, WSGetSolutionsResponse.class, null, value); + } + +} diff --git a/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSCanDoCategory.java b/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSCanDoCategory.java new file mode 100644 index 0000000..d4d14cd --- /dev/null +++ b/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSCanDoCategory.java @@ -0,0 +1,106 @@ + +package edu.dhu.ws; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlType; + + +/** + *

WS_CanDoCategory complex type Java ࡣ + * + *

ģʽƬָڴеԤݡ + * + *

+ * <complexType name="WS_CanDoCategory">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="arg0" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="arg1" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="arg2" type="{http://www.w3.org/2001/XMLSchema}int"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "WS_CanDoCategory", propOrder = { + "arg0", + "arg1", + "arg2" +}) +public class WSCanDoCategory { + + protected String arg0; + protected String arg1; + protected int arg2; + + /** + * ȡarg0Եֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getArg0() { + return arg0; + } + + /** + * arg0Եֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArg0(String value) { + this.arg0 = value; + } + + /** + * ȡarg1Եֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getArg1() { + return arg1; + } + + /** + * arg1Եֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArg1(String value) { + this.arg1 = value; + } + + /** + * ȡarg2Եֵ + * + */ + public int getArg2() { + return arg2; + } + + /** + * arg2Եֵ + * + */ + public void setArg2(int value) { + this.arg2 = value; + } + +} diff --git a/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSCanDoCategoryResponse.java b/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSCanDoCategoryResponse.java new file mode 100644 index 0000000..a9877a7 --- /dev/null +++ b/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSCanDoCategoryResponse.java @@ -0,0 +1,62 @@ + +package edu.dhu.ws; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + *

WS_CanDoCategoryResponse complex type Java ࡣ + * + *

ģʽƬָڴеԤݡ + * + *

+ * <complexType name="WS_CanDoCategoryResponse">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="return" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "WS_CanDoCategoryResponse", propOrder = { + "_return" +}) +public class WSCanDoCategoryResponse { + + @XmlElement(name = "return") + protected String _return; + + /** + * ȡreturnԵֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getReturn() { + return _return; + } + + /** + * returnԵֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setReturn(String value) { + this._return = value; + } + +} diff --git a/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSDrawProblem.java b/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSDrawProblem.java new file mode 100644 index 0000000..70ac009 --- /dev/null +++ b/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSDrawProblem.java @@ -0,0 +1,125 @@ + +package edu.dhu.ws; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlType; + + +/** + *

WS_DrawProblem complex type Java ࡣ + * + *

ģʽƬָڴеԤݡ + * + *

+ * <complexType name="WS_DrawProblem">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="arg0" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="arg1" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="arg2" type="{http://www.w3.org/2001/XMLSchema}int"/>
+ *         <element name="arg3" type="{http://www.w3.org/2001/XMLSchema}int"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "WS_DrawProblem", propOrder = { + "arg0", + "arg1", + "arg2", + "arg3" +}) +public class WSDrawProblem { + + protected String arg0; + protected String arg1; + protected int arg2; + protected int arg3; + + /** + * ȡarg0Եֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getArg0() { + return arg0; + } + + /** + * arg0Եֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArg0(String value) { + this.arg0 = value; + } + + /** + * ȡarg1Եֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getArg1() { + return arg1; + } + + /** + * arg1Եֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArg1(String value) { + this.arg1 = value; + } + + /** + * ȡarg2Եֵ + * + */ + public int getArg2() { + return arg2; + } + + /** + * arg2Եֵ + * + */ + public void setArg2(int value) { + this.arg2 = value; + } + + /** + * ȡarg3Եֵ + * + */ + public int getArg3() { + return arg3; + } + + /** + * arg3Եֵ + * + */ + public void setArg3(int value) { + this.arg3 = value; + } + +} diff --git a/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSDrawProblemResponse.java b/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSDrawProblemResponse.java new file mode 100644 index 0000000..a18d26d --- /dev/null +++ b/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSDrawProblemResponse.java @@ -0,0 +1,60 @@ + +package edu.dhu.ws; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + *

WS_DrawProblemResponse complex type Java ࡣ + * + *

ģʽƬָڴеԤݡ + * + *

+ * <complexType name="WS_DrawProblemResponse">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="return" type="{http://www.w3.org/2001/XMLSchema}base64Binary" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "WS_DrawProblemResponse", propOrder = { + "_return" +}) +public class WSDrawProblemResponse { + + @XmlElement(name = "return") + protected byte[] _return; + + /** + * ȡreturnԵֵ + * + * @return + * possible object is + * byte[] + */ + public byte[] getReturn() { + return _return; + } + + /** + * returnԵֵ + * + * @param value + * allowed object is + * byte[] + */ + public void setReturn(byte[] value) { + this._return = value; + } + +} diff --git a/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSGetExamById.java b/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSGetExamById.java new file mode 100644 index 0000000..b64d96b --- /dev/null +++ b/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSGetExamById.java @@ -0,0 +1,106 @@ + +package edu.dhu.ws; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlType; + + +/** + *

WS_GetExamById complex type Java ࡣ + * + *

ģʽƬָڴеԤݡ + * + *

+ * <complexType name="WS_GetExamById">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="arg0" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="arg1" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="arg2" type="{http://www.w3.org/2001/XMLSchema}int"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "WS_GetExamById", propOrder = { + "arg0", + "arg1", + "arg2" +}) +public class WSGetExamById { + + protected String arg0; + protected String arg1; + protected int arg2; + + /** + * ȡarg0Եֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getArg0() { + return arg0; + } + + /** + * arg0Եֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArg0(String value) { + this.arg0 = value; + } + + /** + * ȡarg1Եֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getArg1() { + return arg1; + } + + /** + * arg1Եֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArg1(String value) { + this.arg1 = value; + } + + /** + * ȡarg2Եֵ + * + */ + public int getArg2() { + return arg2; + } + + /** + * arg2Եֵ + * + */ + public void setArg2(int value) { + this.arg2 = value; + } + +} diff --git a/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSGetExamByIdResponse.java b/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSGetExamByIdResponse.java new file mode 100644 index 0000000..d6ea0b2 --- /dev/null +++ b/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSGetExamByIdResponse.java @@ -0,0 +1,62 @@ + +package edu.dhu.ws; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + *

WS_GetExamByIdResponse complex type Java ࡣ + * + *

ģʽƬָڴеԤݡ + * + *

+ * <complexType name="WS_GetExamByIdResponse">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="return" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "WS_GetExamByIdResponse", propOrder = { + "_return" +}) +public class WSGetExamByIdResponse { + + @XmlElement(name = "return") + protected String _return; + + /** + * ȡreturnԵֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getReturn() { + return _return; + } + + /** + * returnԵֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setReturn(String value) { + this._return = value; + } + +} diff --git a/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSGetExamDetail.java b/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSGetExamDetail.java new file mode 100644 index 0000000..c2c0090 --- /dev/null +++ b/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSGetExamDetail.java @@ -0,0 +1,106 @@ + +package edu.dhu.ws; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlType; + + +/** + *

WS_GetExamDetail complex type Java ࡣ + * + *

ģʽƬָڴеԤݡ + * + *

+ * <complexType name="WS_GetExamDetail">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="arg0" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="arg1" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="arg2" type="{http://www.w3.org/2001/XMLSchema}int"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "WS_GetExamDetail", propOrder = { + "arg0", + "arg1", + "arg2" +}) +public class WSGetExamDetail { + + protected String arg0; + protected String arg1; + protected int arg2; + + /** + * ȡarg0Եֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getArg0() { + return arg0; + } + + /** + * arg0Եֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArg0(String value) { + this.arg0 = value; + } + + /** + * ȡarg1Եֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getArg1() { + return arg1; + } + + /** + * arg1Եֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArg1(String value) { + this.arg1 = value; + } + + /** + * ȡarg2Եֵ + * + */ + public int getArg2() { + return arg2; + } + + /** + * arg2Եֵ + * + */ + public void setArg2(int value) { + this.arg2 = value; + } + +} diff --git a/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSGetExamDetailResponse.java b/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSGetExamDetailResponse.java new file mode 100644 index 0000000..db02d15 --- /dev/null +++ b/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSGetExamDetailResponse.java @@ -0,0 +1,62 @@ + +package edu.dhu.ws; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + *

WS_GetExamDetailResponse complex type Java ࡣ + * + *

ģʽƬָڴеԤݡ + * + *

+ * <complexType name="WS_GetExamDetailResponse">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="return" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "WS_GetExamDetailResponse", propOrder = { + "_return" +}) +public class WSGetExamDetailResponse { + + @XmlElement(name = "return") + protected String _return; + + /** + * ȡreturnԵֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getReturn() { + return _return; + } + + /** + * returnԵֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setReturn(String value) { + this._return = value; + } + +} diff --git a/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSGetExamList.java b/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSGetExamList.java new file mode 100644 index 0000000..e71f53b --- /dev/null +++ b/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSGetExamList.java @@ -0,0 +1,87 @@ + +package edu.dhu.ws; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlType; + + +/** + *

WS_GetExamList complex type Java ࡣ + * + *

ģʽƬָڴеԤݡ + * + *

+ * <complexType name="WS_GetExamList">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="arg0" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="arg1" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "WS_GetExamList", propOrder = { + "arg0", + "arg1" +}) +public class WSGetExamList { + + protected String arg0; + protected String arg1; + + /** + * ȡarg0Եֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getArg0() { + return arg0; + } + + /** + * arg0Եֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArg0(String value) { + this.arg0 = value; + } + + /** + * ȡarg1Եֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getArg1() { + return arg1; + } + + /** + * arg1Եֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArg1(String value) { + this.arg1 = value; + } + +} diff --git a/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSGetExamListResponse.java b/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSGetExamListResponse.java new file mode 100644 index 0000000..bb31ad3 --- /dev/null +++ b/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSGetExamListResponse.java @@ -0,0 +1,62 @@ + +package edu.dhu.ws; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + *

WS_GetExamListResponse complex type Java ࡣ + * + *

ģʽƬָڴеԤݡ + * + *

+ * <complexType name="WS_GetExamListResponse">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="return" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "WS_GetExamListResponse", propOrder = { + "_return" +}) +public class WSGetExamListResponse { + + @XmlElement(name = "return") + protected String _return; + + /** + * ȡreturnԵֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getReturn() { + return _return; + } + + /** + * returnԵֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setReturn(String value) { + this._return = value; + } + +} diff --git a/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSGetExamProCatagorys.java b/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSGetExamProCatagorys.java new file mode 100644 index 0000000..0ab693a --- /dev/null +++ b/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSGetExamProCatagorys.java @@ -0,0 +1,106 @@ + +package edu.dhu.ws; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlType; + + +/** + *

WS_GetExamProCatagorys complex type Java ࡣ + * + *

ģʽƬָڴеԤݡ + * + *

+ * <complexType name="WS_GetExamProCatagorys">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="arg0" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="arg1" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="arg2" type="{http://www.w3.org/2001/XMLSchema}int"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "WS_GetExamProCatagorys", propOrder = { + "arg0", + "arg1", + "arg2" +}) +public class WSGetExamProCatagorys { + + protected String arg0; + protected String arg1; + protected int arg2; + + /** + * ȡarg0Եֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getArg0() { + return arg0; + } + + /** + * arg0Եֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArg0(String value) { + this.arg0 = value; + } + + /** + * ȡarg1Եֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getArg1() { + return arg1; + } + + /** + * arg1Եֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArg1(String value) { + this.arg1 = value; + } + + /** + * ȡarg2Եֵ + * + */ + public int getArg2() { + return arg2; + } + + /** + * arg2Եֵ + * + */ + public void setArg2(int value) { + this.arg2 = value; + } + +} diff --git a/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSGetExamProCatagorysResponse.java b/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSGetExamProCatagorysResponse.java new file mode 100644 index 0000000..0924a89 --- /dev/null +++ b/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSGetExamProCatagorysResponse.java @@ -0,0 +1,62 @@ + +package edu.dhu.ws; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + *

WS_GetExamProCatagorysResponse complex type Java ࡣ + * + *

ģʽƬָڴеԤݡ + * + *

+ * <complexType name="WS_GetExamProCatagorysResponse">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="return" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "WS_GetExamProCatagorysResponse", propOrder = { + "_return" +}) +public class WSGetExamProCatagorysResponse { + + @XmlElement(name = "return") + protected String _return; + + /** + * ȡreturnԵֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getReturn() { + return _return; + } + + /** + * returnԵֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setReturn(String value) { + this._return = value; + } + +} diff --git a/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSGetExamProblemStatus.java b/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSGetExamProblemStatus.java new file mode 100644 index 0000000..ab7727a --- /dev/null +++ b/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSGetExamProblemStatus.java @@ -0,0 +1,125 @@ + +package edu.dhu.ws; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlType; + + +/** + *

WS_GetExamProblemStatus complex type Java ࡣ + * + *

ģʽƬָڴеԤݡ + * + *

+ * <complexType name="WS_GetExamProblemStatus">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="arg0" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="arg1" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="arg2" type="{http://www.w3.org/2001/XMLSchema}int"/>
+ *         <element name="arg3" type="{http://www.w3.org/2001/XMLSchema}int"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "WS_GetExamProblemStatus", propOrder = { + "arg0", + "arg1", + "arg2", + "arg3" +}) +public class WSGetExamProblemStatus { + + protected String arg0; + protected String arg1; + protected int arg2; + protected int arg3; + + /** + * ȡarg0Եֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getArg0() { + return arg0; + } + + /** + * arg0Եֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArg0(String value) { + this.arg0 = value; + } + + /** + * ȡarg1Եֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getArg1() { + return arg1; + } + + /** + * arg1Եֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArg1(String value) { + this.arg1 = value; + } + + /** + * ȡarg2Եֵ + * + */ + public int getArg2() { + return arg2; + } + + /** + * arg2Եֵ + * + */ + public void setArg2(int value) { + this.arg2 = value; + } + + /** + * ȡarg3Եֵ + * + */ + public int getArg3() { + return arg3; + } + + /** + * arg3Եֵ + * + */ + public void setArg3(int value) { + this.arg3 = value; + } + +} diff --git a/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSGetExamProblemStatusResponse.java b/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSGetExamProblemStatusResponse.java new file mode 100644 index 0000000..955eeed --- /dev/null +++ b/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSGetExamProblemStatusResponse.java @@ -0,0 +1,62 @@ + +package edu.dhu.ws; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + *

WS_GetExamProblemStatusResponse complex type Java ࡣ + * + *

ģʽƬָڴеԤݡ + * + *

+ * <complexType name="WS_GetExamProblemStatusResponse">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="return" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "WS_GetExamProblemStatusResponse", propOrder = { + "_return" +}) +public class WSGetExamProblemStatusResponse { + + @XmlElement(name = "return") + protected String _return; + + /** + * ȡreturnԵֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getReturn() { + return _return; + } + + /** + * returnԵֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setReturn(String value) { + this._return = value; + } + +} diff --git a/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSGetExamProblems.java b/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSGetExamProblems.java new file mode 100644 index 0000000..c4ce56d --- /dev/null +++ b/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSGetExamProblems.java @@ -0,0 +1,106 @@ + +package edu.dhu.ws; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlType; + + +/** + *

WS_GetExamProblems complex type Java ࡣ + * + *

ģʽƬָڴеԤݡ + * + *

+ * <complexType name="WS_GetExamProblems">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="arg0" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="arg1" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="arg2" type="{http://www.w3.org/2001/XMLSchema}int"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "WS_GetExamProblems", propOrder = { + "arg0", + "arg1", + "arg2" +}) +public class WSGetExamProblems { + + protected String arg0; + protected String arg1; + protected int arg2; + + /** + * ȡarg0Եֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getArg0() { + return arg0; + } + + /** + * arg0Եֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArg0(String value) { + this.arg0 = value; + } + + /** + * ȡarg1Եֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getArg1() { + return arg1; + } + + /** + * arg1Եֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArg1(String value) { + this.arg1 = value; + } + + /** + * ȡarg2Եֵ + * + */ + public int getArg2() { + return arg2; + } + + /** + * arg2Եֵ + * + */ + public void setArg2(int value) { + this.arg2 = value; + } + +} diff --git a/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSGetExamProblemsResponse.java b/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSGetExamProblemsResponse.java new file mode 100644 index 0000000..c045476 --- /dev/null +++ b/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSGetExamProblemsResponse.java @@ -0,0 +1,62 @@ + +package edu.dhu.ws; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + *

WS_GetExamProblemsResponse complex type Java ࡣ + * + *

ģʽƬָڴеԤݡ + * + *

+ * <complexType name="WS_GetExamProblemsResponse">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="return" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "WS_GetExamProblemsResponse", propOrder = { + "_return" +}) +public class WSGetExamProblemsResponse { + + @XmlElement(name = "return") + protected String _return; + + /** + * ȡreturnԵֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getReturn() { + return _return; + } + + /** + * returnԵֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setReturn(String value) { + this._return = value; + } + +} diff --git a/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSGetProblem.java b/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSGetProblem.java new file mode 100644 index 0000000..f4e4c66 --- /dev/null +++ b/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSGetProblem.java @@ -0,0 +1,125 @@ + +package edu.dhu.ws; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlType; + + +/** + *

WS_GetProblem complex type Java ࡣ + * + *

ģʽƬָڴеԤݡ + * + *

+ * <complexType name="WS_GetProblem">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="arg0" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="arg1" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="arg2" type="{http://www.w3.org/2001/XMLSchema}int"/>
+ *         <element name="arg3" type="{http://www.w3.org/2001/XMLSchema}int"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "WS_GetProblem", propOrder = { + "arg0", + "arg1", + "arg2", + "arg3" +}) +public class WSGetProblem { + + protected String arg0; + protected String arg1; + protected int arg2; + protected int arg3; + + /** + * ȡarg0Եֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getArg0() { + return arg0; + } + + /** + * arg0Եֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArg0(String value) { + this.arg0 = value; + } + + /** + * ȡarg1Եֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getArg1() { + return arg1; + } + + /** + * arg1Եֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArg1(String value) { + this.arg1 = value; + } + + /** + * ȡarg2Եֵ + * + */ + public int getArg2() { + return arg2; + } + + /** + * arg2Եֵ + * + */ + public void setArg2(int value) { + this.arg2 = value; + } + + /** + * ȡarg3Եֵ + * + */ + public int getArg3() { + return arg3; + } + + /** + * arg3Եֵ + * + */ + public void setArg3(int value) { + this.arg3 = value; + } + +} diff --git a/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSGetProblem4Judge.java b/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSGetProblem4Judge.java new file mode 100644 index 0000000..ac32539 --- /dev/null +++ b/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSGetProblem4Judge.java @@ -0,0 +1,106 @@ + +package edu.dhu.ws; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlType; + + +/** + *

WS_GetProblem4Judge complex type Java ࡣ + * + *

ģʽƬָڴеԤݡ + * + *

+ * <complexType name="WS_GetProblem4Judge">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="arg0" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="arg1" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="arg2" type="{http://www.w3.org/2001/XMLSchema}int"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "WS_GetProblem4Judge", propOrder = { + "arg0", + "arg1", + "arg2" +}) +public class WSGetProblem4Judge { + + protected String arg0; + protected String arg1; + protected int arg2; + + /** + * ȡarg0Եֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getArg0() { + return arg0; + } + + /** + * arg0Եֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArg0(String value) { + this.arg0 = value; + } + + /** + * ȡarg1Եֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getArg1() { + return arg1; + } + + /** + * arg1Եֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArg1(String value) { + this.arg1 = value; + } + + /** + * ȡarg2Եֵ + * + */ + public int getArg2() { + return arg2; + } + + /** + * arg2Եֵ + * + */ + public void setArg2(int value) { + this.arg2 = value; + } + +} diff --git a/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSGetProblem4JudgeResponse.java b/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSGetProblem4JudgeResponse.java new file mode 100644 index 0000000..13c341f --- /dev/null +++ b/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSGetProblem4JudgeResponse.java @@ -0,0 +1,60 @@ + +package edu.dhu.ws; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + *

WS_GetProblem4JudgeResponse complex type Java ࡣ + * + *

ģʽƬָڴеԤݡ + * + *

+ * <complexType name="WS_GetProblem4JudgeResponse">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="return" type="{http://www.w3.org/2001/XMLSchema}base64Binary" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "WS_GetProblem4JudgeResponse", propOrder = { + "_return" +}) +public class WSGetProblem4JudgeResponse { + + @XmlElement(name = "return") + protected byte[] _return; + + /** + * ȡreturnԵֵ + * + * @return + * possible object is + * byte[] + */ + public byte[] getReturn() { + return _return; + } + + /** + * returnԵֵ + * + * @param value + * allowed object is + * byte[] + */ + public void setReturn(byte[] value) { + this._return = value; + } + +} diff --git a/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSGetProblemResponse.java b/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSGetProblemResponse.java new file mode 100644 index 0000000..cae3cf8 --- /dev/null +++ b/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSGetProblemResponse.java @@ -0,0 +1,60 @@ + +package edu.dhu.ws; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + *

WS_GetProblemResponse complex type Java ࡣ + * + *

ģʽƬָڴеԤݡ + * + *

+ * <complexType name="WS_GetProblemResponse">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="return" type="{http://www.w3.org/2001/XMLSchema}base64Binary" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "WS_GetProblemResponse", propOrder = { + "_return" +}) +public class WSGetProblemResponse { + + @XmlElement(name = "return") + protected byte[] _return; + + /** + * ȡreturnԵֵ + * + * @return + * possible object is + * byte[] + */ + public byte[] getReturn() { + return _return; + } + + /** + * returnԵֵ + * + * @param value + * allowed object is + * byte[] + */ + public void setReturn(byte[] value) { + this._return = value; + } + +} diff --git a/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSGetSolutions.java b/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSGetSolutions.java new file mode 100644 index 0000000..e371d14 --- /dev/null +++ b/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSGetSolutions.java @@ -0,0 +1,106 @@ + +package edu.dhu.ws; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlType; + + +/** + *

WS_GetSolutions complex type Java ࡣ + * + *

ģʽƬָڴеԤݡ + * + *

+ * <complexType name="WS_GetSolutions">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="arg0" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="arg1" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="arg2" type="{http://www.w3.org/2001/XMLSchema}int"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "WS_GetSolutions", propOrder = { + "arg0", + "arg1", + "arg2" +}) +public class WSGetSolutions { + + protected String arg0; + protected String arg1; + protected int arg2; + + /** + * ȡarg0Եֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getArg0() { + return arg0; + } + + /** + * arg0Եֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArg0(String value) { + this.arg0 = value; + } + + /** + * ȡarg1Եֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getArg1() { + return arg1; + } + + /** + * arg1Եֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArg1(String value) { + this.arg1 = value; + } + + /** + * ȡarg2Եֵ + * + */ + public int getArg2() { + return arg2; + } + + /** + * arg2Եֵ + * + */ + public void setArg2(int value) { + this.arg2 = value; + } + +} diff --git a/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSGetSolutionsResponse.java b/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSGetSolutionsResponse.java new file mode 100644 index 0000000..ae19991 --- /dev/null +++ b/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSGetSolutionsResponse.java @@ -0,0 +1,62 @@ + +package edu.dhu.ws; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + *

WS_GetSolutionsResponse complex type Java ࡣ + * + *

ģʽƬָڴеԤݡ + * + *

+ * <complexType name="WS_GetSolutionsResponse">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="return" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "WS_GetSolutionsResponse", propOrder = { + "_return" +}) +public class WSGetSolutionsResponse { + + @XmlElement(name = "return") + protected String _return; + + /** + * ȡreturnԵֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getReturn() { + return _return; + } + + /** + * returnԵֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setReturn(String value) { + this._return = value; + } + +} diff --git a/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSIsPermit.java b/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSIsPermit.java new file mode 100644 index 0000000..3a58d13 --- /dev/null +++ b/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSIsPermit.java @@ -0,0 +1,133 @@ + +package edu.dhu.ws; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlType; + + +/** + *

WS_IsPermit complex type Java ࡣ + * + *

ģʽƬָڴеԤݡ + * + *

+ * <complexType name="WS_IsPermit">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="arg0" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="arg1" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="arg2" type="{http://www.w3.org/2001/XMLSchema}int"/>
+ *         <element name="arg3" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "WS_IsPermit", propOrder = { + "arg0", + "arg1", + "arg2", + "arg3" +}) +public class WSIsPermit { + + protected String arg0; + protected String arg1; + protected int arg2; + protected String arg3; + + /** + * ȡarg0Եֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getArg0() { + return arg0; + } + + /** + * arg0Եֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArg0(String value) { + this.arg0 = value; + } + + /** + * ȡarg1Եֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getArg1() { + return arg1; + } + + /** + * arg1Եֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArg1(String value) { + this.arg1 = value; + } + + /** + * ȡarg2Եֵ + * + */ + public int getArg2() { + return arg2; + } + + /** + * arg2Եֵ + * + */ + public void setArg2(int value) { + this.arg2 = value; + } + + /** + * ȡarg3Եֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getArg3() { + return arg3; + } + + /** + * arg3Եֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArg3(String value) { + this.arg3 = value; + } + +} diff --git a/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSIsPermitResponse.java b/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSIsPermitResponse.java new file mode 100644 index 0000000..7825cae --- /dev/null +++ b/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSIsPermitResponse.java @@ -0,0 +1,62 @@ + +package edu.dhu.ws; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + *

WS_IsPermitResponse complex type Java ࡣ + * + *

ģʽƬָڴеԤݡ + * + *

+ * <complexType name="WS_IsPermitResponse">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="return" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "WS_IsPermitResponse", propOrder = { + "_return" +}) +public class WSIsPermitResponse { + + @XmlElement(name = "return") + protected String _return; + + /** + * ȡreturnԵֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getReturn() { + return _return; + } + + /** + * returnԵֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setReturn(String value) { + this._return = value; + } + +} diff --git a/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSItrainSubmitCode.java b/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSItrainSubmitCode.java new file mode 100644 index 0000000..1d56dc5 --- /dev/null +++ b/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSItrainSubmitCode.java @@ -0,0 +1,133 @@ + +package edu.dhu.ws; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlType; + + +/** + *

WS_ItrainSubmitCode complex type Java ࡣ + * + *

ģʽƬָڴеԤݡ + * + *

+ * <complexType name="WS_ItrainSubmitCode">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="arg0" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="arg1" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="arg2" type="{http://www.w3.org/2001/XMLSchema}int"/>
+ *         <element name="arg3" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "WS_ItrainSubmitCode", propOrder = { + "arg0", + "arg1", + "arg2", + "arg3" +}) +public class WSItrainSubmitCode { + + protected String arg0; + protected String arg1; + protected int arg2; + protected String arg3; + + /** + * ȡarg0Եֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getArg0() { + return arg0; + } + + /** + * arg0Եֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArg0(String value) { + this.arg0 = value; + } + + /** + * ȡarg1Եֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getArg1() { + return arg1; + } + + /** + * arg1Եֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArg1(String value) { + this.arg1 = value; + } + + /** + * ȡarg2Եֵ + * + */ + public int getArg2() { + return arg2; + } + + /** + * arg2Եֵ + * + */ + public void setArg2(int value) { + this.arg2 = value; + } + + /** + * ȡarg3Եֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getArg3() { + return arg3; + } + + /** + * arg3Եֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArg3(String value) { + this.arg3 = value; + } + +} diff --git a/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSItrainSubmitCodeResponse.java b/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSItrainSubmitCodeResponse.java new file mode 100644 index 0000000..1915f09 --- /dev/null +++ b/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSItrainSubmitCodeResponse.java @@ -0,0 +1,62 @@ + +package edu.dhu.ws; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + *

WS_ItrainSubmitCodeResponse complex type Java ࡣ + * + *

ģʽƬָڴеԤݡ + * + *

+ * <complexType name="WS_ItrainSubmitCodeResponse">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="return" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "WS_ItrainSubmitCodeResponse", propOrder = { + "_return" +}) +public class WSItrainSubmitCodeResponse { + + @XmlElement(name = "return") + protected String _return; + + /** + * ȡreturnԵֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getReturn() { + return _return; + } + + /** + * returnԵֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setReturn(String value) { + this._return = value; + } + +} diff --git a/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSItrainSubmitThisProblem.java b/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSItrainSubmitThisProblem.java new file mode 100644 index 0000000..e8e2995 --- /dev/null +++ b/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSItrainSubmitThisProblem.java @@ -0,0 +1,160 @@ + +package edu.dhu.ws; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlType; + + +/** + *

WS_ItrainSubmitThisProblem complex type Java ࡣ + * + *

ģʽƬָڴеԤݡ + * + *

+ * <complexType name="WS_ItrainSubmitThisProblem">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="arg0" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="arg1" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="arg2" type="{http://www.w3.org/2001/XMLSchema}int"/>
+ *         <element name="arg3" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="arg4" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "WS_ItrainSubmitThisProblem", propOrder = { + "arg0", + "arg1", + "arg2", + "arg3", + "arg4" +}) +public class WSItrainSubmitThisProblem { + + protected String arg0; + protected String arg1; + protected int arg2; + protected String arg3; + protected String arg4; + + /** + * ȡarg0Եֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getArg0() { + return arg0; + } + + /** + * arg0Եֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArg0(String value) { + this.arg0 = value; + } + + /** + * ȡarg1Եֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getArg1() { + return arg1; + } + + /** + * arg1Եֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArg1(String value) { + this.arg1 = value; + } + + /** + * ȡarg2Եֵ + * + */ + public int getArg2() { + return arg2; + } + + /** + * arg2Եֵ + * + */ + public void setArg2(int value) { + this.arg2 = value; + } + + /** + * ȡarg3Եֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getArg3() { + return arg3; + } + + /** + * arg3Եֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArg3(String value) { + this.arg3 = value; + } + + /** + * ȡarg4Եֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getArg4() { + return arg4; + } + + /** + * arg4Եֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArg4(String value) { + this.arg4 = value; + } + +} diff --git a/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSItrainSubmitThisProblemResponse.java b/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSItrainSubmitThisProblemResponse.java new file mode 100644 index 0000000..2042a9e --- /dev/null +++ b/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSItrainSubmitThisProblemResponse.java @@ -0,0 +1,62 @@ + +package edu.dhu.ws; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + *

WS_ItrainSubmitThisProblemResponse complex type Java ࡣ + * + *

ģʽƬָڴеԤݡ + * + *

+ * <complexType name="WS_ItrainSubmitThisProblemResponse">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="return" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "WS_ItrainSubmitThisProblemResponse", propOrder = { + "_return" +}) +public class WSItrainSubmitThisProblemResponse { + + @XmlElement(name = "return") + protected String _return; + + /** + * ȡreturnԵֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getReturn() { + return _return; + } + + /** + * returnԵֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setReturn(String value) { + this._return = value; + } + +} diff --git a/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSLogin.java b/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSLogin.java new file mode 100644 index 0000000..fb73f56 --- /dev/null +++ b/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSLogin.java @@ -0,0 +1,87 @@ + +package edu.dhu.ws; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlType; + + +/** + *

WS_Login complex type Java ࡣ + * + *

ģʽƬָڴеԤݡ + * + *

+ * <complexType name="WS_Login">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="arg0" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="arg1" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "WS_Login", propOrder = { + "arg0", + "arg1" +}) +public class WSLogin { + + protected String arg0; + protected String arg1; + + /** + * ȡarg0Եֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getArg0() { + return arg0; + } + + /** + * arg0Եֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArg0(String value) { + this.arg0 = value; + } + + /** + * ȡarg1Եֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getArg1() { + return arg1; + } + + /** + * arg1Եֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArg1(String value) { + this.arg1 = value; + } + +} diff --git a/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSLoginResponse.java b/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSLoginResponse.java new file mode 100644 index 0000000..003d341 --- /dev/null +++ b/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSLoginResponse.java @@ -0,0 +1,62 @@ + +package edu.dhu.ws; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + *

WS_LoginResponse complex type Java ࡣ + * + *

ģʽƬָڴеԤݡ + * + *

+ * <complexType name="WS_LoginResponse">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="return" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "WS_LoginResponse", propOrder = { + "_return" +}) +public class WSLoginResponse { + + @XmlElement(name = "return") + protected String _return; + + /** + * ȡreturnԵֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getReturn() { + return _return; + } + + /** + * returnԵֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setReturn(String value) { + this._return = value; + } + +} diff --git a/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSPassThisCategory.java b/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSPassThisCategory.java new file mode 100644 index 0000000..2572a3a --- /dev/null +++ b/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSPassThisCategory.java @@ -0,0 +1,125 @@ + +package edu.dhu.ws; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlType; + + +/** + *

WS_PassThisCategory complex type Java ࡣ + * + *

ģʽƬָڴеԤݡ + * + *

+ * <complexType name="WS_PassThisCategory">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="arg0" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="arg1" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="arg2" type="{http://www.w3.org/2001/XMLSchema}int"/>
+ *         <element name="arg3" type="{http://www.w3.org/2001/XMLSchema}int"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "WS_PassThisCategory", propOrder = { + "arg0", + "arg1", + "arg2", + "arg3" +}) +public class WSPassThisCategory { + + protected String arg0; + protected String arg1; + protected int arg2; + protected int arg3; + + /** + * ȡarg0Եֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getArg0() { + return arg0; + } + + /** + * arg0Եֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArg0(String value) { + this.arg0 = value; + } + + /** + * ȡarg1Եֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getArg1() { + return arg1; + } + + /** + * arg1Եֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArg1(String value) { + this.arg1 = value; + } + + /** + * ȡarg2Եֵ + * + */ + public int getArg2() { + return arg2; + } + + /** + * arg2Եֵ + * + */ + public void setArg2(int value) { + this.arg2 = value; + } + + /** + * ȡarg3Եֵ + * + */ + public int getArg3() { + return arg3; + } + + /** + * arg3Եֵ + * + */ + public void setArg3(int value) { + this.arg3 = value; + } + +} diff --git a/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSPassThisCategoryResponse.java b/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSPassThisCategoryResponse.java new file mode 100644 index 0000000..6c23661 --- /dev/null +++ b/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSPassThisCategoryResponse.java @@ -0,0 +1,62 @@ + +package edu.dhu.ws; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + *

WS_PassThisCategoryResponse complex type Java ࡣ + * + *

ģʽƬָڴеԤݡ + * + *

+ * <complexType name="WS_PassThisCategoryResponse">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="return" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "WS_PassThisCategoryResponse", propOrder = { + "_return" +}) +public class WSPassThisCategoryResponse { + + @XmlElement(name = "return") + protected String _return; + + /** + * ȡreturnԵֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getReturn() { + return _return; + } + + /** + * returnԵֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setReturn(String value) { + this._return = value; + } + +} diff --git a/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSSkipThisProblem.java b/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSSkipThisProblem.java new file mode 100644 index 0000000..0c332a8 --- /dev/null +++ b/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSSkipThisProblem.java @@ -0,0 +1,144 @@ + +package edu.dhu.ws; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlType; + + +/** + *

WS_SkipThisProblem complex type Java ࡣ + * + *

ģʽƬָڴеԤݡ + * + *

+ * <complexType name="WS_SkipThisProblem">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="arg0" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="arg1" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="arg2" type="{http://www.w3.org/2001/XMLSchema}int"/>
+ *         <element name="arg3" type="{http://www.w3.org/2001/XMLSchema}int"/>
+ *         <element name="arg4" type="{http://www.w3.org/2001/XMLSchema}int"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "WS_SkipThisProblem", propOrder = { + "arg0", + "arg1", + "arg2", + "arg3", + "arg4" +}) +public class WSSkipThisProblem { + + protected String arg0; + protected String arg1; + protected int arg2; + protected int arg3; + protected int arg4; + + /** + * ȡarg0Եֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getArg0() { + return arg0; + } + + /** + * arg0Եֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArg0(String value) { + this.arg0 = value; + } + + /** + * ȡarg1Եֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getArg1() { + return arg1; + } + + /** + * arg1Եֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArg1(String value) { + this.arg1 = value; + } + + /** + * ȡarg2Եֵ + * + */ + public int getArg2() { + return arg2; + } + + /** + * arg2Եֵ + * + */ + public void setArg2(int value) { + this.arg2 = value; + } + + /** + * ȡarg3Եֵ + * + */ + public int getArg3() { + return arg3; + } + + /** + * arg3Եֵ + * + */ + public void setArg3(int value) { + this.arg3 = value; + } + + /** + * ȡarg4Եֵ + * + */ + public int getArg4() { + return arg4; + } + + /** + * arg4Եֵ + * + */ + public void setArg4(int value) { + this.arg4 = value; + } + +} diff --git a/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSSkipThisProblemResponse.java b/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSSkipThisProblemResponse.java new file mode 100644 index 0000000..2f3659f --- /dev/null +++ b/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSSkipThisProblemResponse.java @@ -0,0 +1,62 @@ + +package edu.dhu.ws; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + *

WS_SkipThisProblemResponse complex type Java ࡣ + * + *

ģʽƬָڴеԤݡ + * + *

+ * <complexType name="WS_SkipThisProblemResponse">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="return" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "WS_SkipThisProblemResponse", propOrder = { + "_return" +}) +public class WSSkipThisProblemResponse { + + @XmlElement(name = "return") + protected String _return; + + /** + * ȡreturnԵֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getReturn() { + return _return; + } + + /** + * returnԵֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setReturn(String value) { + this._return = value; + } + +} diff --git a/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSSubmitCode.java b/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSSubmitCode.java new file mode 100644 index 0000000..6f1a4e0 --- /dev/null +++ b/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSSubmitCode.java @@ -0,0 +1,114 @@ + +package edu.dhu.ws; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlType; + + +/** + *

WS_SubmitCode complex type Java ࡣ + * + *

ģʽƬָڴеԤݡ + * + *

+ * <complexType name="WS_SubmitCode">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="arg0" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="arg1" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="arg2" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "WS_SubmitCode", propOrder = { + "arg0", + "arg1", + "arg2" +}) +public class WSSubmitCode { + + protected String arg0; + protected String arg1; + protected String arg2; + + /** + * ȡarg0Եֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getArg0() { + return arg0; + } + + /** + * arg0Եֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArg0(String value) { + this.arg0 = value; + } + + /** + * ȡarg1Եֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getArg1() { + return arg1; + } + + /** + * arg1Եֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArg1(String value) { + this.arg1 = value; + } + + /** + * ȡarg2Եֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getArg2() { + return arg2; + } + + /** + * arg2Եֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArg2(String value) { + this.arg2 = value; + } + +} diff --git a/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSSubmitCodeResponse.java b/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSSubmitCodeResponse.java new file mode 100644 index 0000000..9d5d72f --- /dev/null +++ b/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSSubmitCodeResponse.java @@ -0,0 +1,62 @@ + +package edu.dhu.ws; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + *

WS_SubmitCodeResponse complex type Java ࡣ + * + *

ģʽƬָڴеԤݡ + * + *

+ * <complexType name="WS_SubmitCodeResponse">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="return" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "WS_SubmitCodeResponse", propOrder = { + "_return" +}) +public class WSSubmitCodeResponse { + + @XmlElement(name = "return") + protected String _return; + + /** + * ȡreturnԵֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getReturn() { + return _return; + } + + /** + * returnԵֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setReturn(String value) { + this._return = value; + } + +} diff --git a/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSSubmitHistory.java b/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSSubmitHistory.java new file mode 100644 index 0000000..674b53e --- /dev/null +++ b/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSSubmitHistory.java @@ -0,0 +1,106 @@ + +package edu.dhu.ws; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlType; + + +/** + *

WS_SubmitHistory complex type Java ࡣ + * + *

ģʽƬָڴеԤݡ + * + *

+ * <complexType name="WS_SubmitHistory">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="arg0" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="arg1" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="arg2" type="{http://www.w3.org/2001/XMLSchema}int"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "WS_SubmitHistory", propOrder = { + "arg0", + "arg1", + "arg2" +}) +public class WSSubmitHistory { + + protected String arg0; + protected String arg1; + protected int arg2; + + /** + * ȡarg0Եֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getArg0() { + return arg0; + } + + /** + * arg0Եֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArg0(String value) { + this.arg0 = value; + } + + /** + * ȡarg1Եֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getArg1() { + return arg1; + } + + /** + * arg1Եֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArg1(String value) { + this.arg1 = value; + } + + /** + * ȡarg2Եֵ + * + */ + public int getArg2() { + return arg2; + } + + /** + * arg2Եֵ + * + */ + public void setArg2(int value) { + this.arg2 = value; + } + +} diff --git a/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSSubmitHistoryResponse.java b/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSSubmitHistoryResponse.java new file mode 100644 index 0000000..43547cb --- /dev/null +++ b/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSSubmitHistoryResponse.java @@ -0,0 +1,62 @@ + +package edu.dhu.ws; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + *

WS_SubmitHistoryResponse complex type Java ࡣ + * + *

ģʽƬָڴеԤݡ + * + *

+ * <complexType name="WS_SubmitHistoryResponse">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="return" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "WS_SubmitHistoryResponse", propOrder = { + "_return" +}) +public class WSSubmitHistoryResponse { + + @XmlElement(name = "return") + protected String _return; + + /** + * ȡreturnԵֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getReturn() { + return _return; + } + + /** + * returnԵֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setReturn(String value) { + this._return = value; + } + +} diff --git a/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSSubmitThisProblem.java b/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSSubmitThisProblem.java new file mode 100644 index 0000000..d0149a4 --- /dev/null +++ b/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSSubmitThisProblem.java @@ -0,0 +1,114 @@ + +package edu.dhu.ws; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlType; + + +/** + *

WS_SubmitThisProblem complex type Java ࡣ + * + *

ģʽƬָڴеԤݡ + * + *

+ * <complexType name="WS_SubmitThisProblem">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="arg0" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="arg1" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="arg2" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "WS_SubmitThisProblem", propOrder = { + "arg0", + "arg1", + "arg2" +}) +public class WSSubmitThisProblem { + + protected String arg0; + protected String arg1; + protected String arg2; + + /** + * ȡarg0Եֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getArg0() { + return arg0; + } + + /** + * arg0Եֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArg0(String value) { + this.arg0 = value; + } + + /** + * ȡarg1Եֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getArg1() { + return arg1; + } + + /** + * arg1Եֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArg1(String value) { + this.arg1 = value; + } + + /** + * ȡarg2Եֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getArg2() { + return arg2; + } + + /** + * arg2Եֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArg2(String value) { + this.arg2 = value; + } + +} diff --git a/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSSubmitThisProblemResponse.java b/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSSubmitThisProblemResponse.java new file mode 100644 index 0000000..8db02b9 --- /dev/null +++ b/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSSubmitThisProblemResponse.java @@ -0,0 +1,62 @@ + +package edu.dhu.ws; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + *

WS_SubmitThisProblemResponse complex type Java ࡣ + * + *

ģʽƬָڴеԤݡ + * + *

+ * <complexType name="WS_SubmitThisProblemResponse">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="return" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "WS_SubmitThisProblemResponse", propOrder = { + "_return" +}) +public class WSSubmitThisProblemResponse { + + @XmlElement(name = "return") + protected String _return; + + /** + * ȡreturnԵֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getReturn() { + return _return; + } + + /** + * returnԵֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setReturn(String value) { + this._return = value; + } + +} diff --git a/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSSubmittedCode.java b/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSSubmittedCode.java new file mode 100644 index 0000000..2256f9e --- /dev/null +++ b/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSSubmittedCode.java @@ -0,0 +1,106 @@ + +package edu.dhu.ws; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlType; + + +/** + *

WS_SubmittedCode complex type Java ࡣ + * + *

ģʽƬָڴеԤݡ + * + *

+ * <complexType name="WS_SubmittedCode">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="arg0" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="arg1" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="arg2" type="{http://www.w3.org/2001/XMLSchema}int"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "WS_SubmittedCode", propOrder = { + "arg0", + "arg1", + "arg2" +}) +public class WSSubmittedCode { + + protected String arg0; + protected String arg1; + protected int arg2; + + /** + * ȡarg0Եֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getArg0() { + return arg0; + } + + /** + * arg0Եֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArg0(String value) { + this.arg0 = value; + } + + /** + * ȡarg1Եֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getArg1() { + return arg1; + } + + /** + * arg1Եֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArg1(String value) { + this.arg1 = value; + } + + /** + * ȡarg2Եֵ + * + */ + public int getArg2() { + return arg2; + } + + /** + * arg2Եֵ + * + */ + public void setArg2(int value) { + this.arg2 = value; + } + +} diff --git a/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSSubmittedCodeResponse.java b/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSSubmittedCodeResponse.java new file mode 100644 index 0000000..bb668f9 --- /dev/null +++ b/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSSubmittedCodeResponse.java @@ -0,0 +1,62 @@ + +package edu.dhu.ws; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + *

WS_SubmittedCodeResponse complex type Java ࡣ + * + *

ģʽƬָڴеԤݡ + * + *

+ * <complexType name="WS_SubmittedCodeResponse">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="return" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "WS_SubmittedCodeResponse", propOrder = { + "_return" +}) +public class WSSubmittedCodeResponse { + + @XmlElement(name = "return") + protected String _return; + + /** + * ȡreturnԵֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getReturn() { + return _return; + } + + /** + * returnԵֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setReturn(String value) { + this._return = value; + } + +} diff --git a/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSUpdateResult.java b/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSUpdateResult.java new file mode 100644 index 0000000..402201c --- /dev/null +++ b/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSUpdateResult.java @@ -0,0 +1,112 @@ + +package edu.dhu.ws; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlType; + + +/** + *

WS_UpdateResult complex type Java ࡣ + * + *

ģʽƬָڴеԤݡ + * + *

+ * <complexType name="WS_UpdateResult">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="arg0" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="arg1" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="arg2" type="{http://www.w3.org/2001/XMLSchema}base64Binary" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "WS_UpdateResult", propOrder = { + "arg0", + "arg1", + "arg2" +}) +public class WSUpdateResult { + + protected String arg0; + protected String arg1; + protected byte[] arg2; + + /** + * ȡarg0Եֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getArg0() { + return arg0; + } + + /** + * arg0Եֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArg0(String value) { + this.arg0 = value; + } + + /** + * ȡarg1Եֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getArg1() { + return arg1; + } + + /** + * arg1Եֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArg1(String value) { + this.arg1 = value; + } + + /** + * ȡarg2Եֵ + * + * @return + * possible object is + * byte[] + */ + public byte[] getArg2() { + return arg2; + } + + /** + * arg2Եֵ + * + * @param value + * allowed object is + * byte[] + */ + public void setArg2(byte[] value) { + this.arg2 = value; + } + +} diff --git a/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSUpdateResultResponse.java b/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSUpdateResultResponse.java new file mode 100644 index 0000000..2ec3aa8 --- /dev/null +++ b/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSUpdateResultResponse.java @@ -0,0 +1,62 @@ + +package edu.dhu.ws; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + *

WS_UpdateResultResponse complex type Java ࡣ + * + *

ģʽƬָڴеԤݡ + * + *

+ * <complexType name="WS_UpdateResultResponse">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="return" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "WS_UpdateResultResponse", propOrder = { + "_return" +}) +public class WSUpdateResultResponse { + + @XmlElement(name = "return") + protected String _return; + + /** + * ȡreturnԵֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getReturn() { + return _return; + } + + /** + * returnԵֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setReturn(String value) { + this._return = value; + } + +} diff --git a/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSViewWrongCase.java b/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSViewWrongCase.java new file mode 100644 index 0000000..9b91efc --- /dev/null +++ b/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSViewWrongCase.java @@ -0,0 +1,163 @@ + +package edu.dhu.ws; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlType; + + +/** + *

WS_ViewWrongCase complex type Java ࡣ + * + *

ģʽƬָڴеԤݡ + * + *

+ * <complexType name="WS_ViewWrongCase">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="arg0" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="arg1" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="arg2" type="{http://www.w3.org/2001/XMLSchema}int"/>
+ *         <element name="arg3" type="{http://www.w3.org/2001/XMLSchema}int"/>
+ *         <element name="arg4" type="{http://www.w3.org/2001/XMLSchema}int"/>
+ *         <element name="arg5" type="{http://www.w3.org/2001/XMLSchema}boolean"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "WS_ViewWrongCase", propOrder = { + "arg0", + "arg1", + "arg2", + "arg3", + "arg4", + "arg5" +}) +public class WSViewWrongCase { + + protected String arg0; + protected String arg1; + protected int arg2; + protected int arg3; + protected int arg4; + protected boolean arg5; + + /** + * ȡarg0Եֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getArg0() { + return arg0; + } + + /** + * arg0Եֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArg0(String value) { + this.arg0 = value; + } + + /** + * ȡarg1Եֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getArg1() { + return arg1; + } + + /** + * arg1Եֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArg1(String value) { + this.arg1 = value; + } + + /** + * ȡarg2Եֵ + * + */ + public int getArg2() { + return arg2; + } + + /** + * arg2Եֵ + * + */ + public void setArg2(int value) { + this.arg2 = value; + } + + /** + * ȡarg3Եֵ + * + */ + public int getArg3() { + return arg3; + } + + /** + * arg3Եֵ + * + */ + public void setArg3(int value) { + this.arg3 = value; + } + + /** + * ȡarg4Եֵ + * + */ + public int getArg4() { + return arg4; + } + + /** + * arg4Եֵ + * + */ + public void setArg4(int value) { + this.arg4 = value; + } + + /** + * ȡarg5Եֵ + * + */ + public boolean isArg5() { + return arg5; + } + + /** + * arg5Եֵ + * + */ + public void setArg5(boolean value) { + this.arg5 = value; + } + +} diff --git a/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSViewWrongCaseResponse.java b/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSViewWrongCaseResponse.java new file mode 100644 index 0000000..d882867 --- /dev/null +++ b/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/WSViewWrongCaseResponse.java @@ -0,0 +1,62 @@ + +package edu.dhu.ws; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + *

WS_ViewWrongCaseResponse complex type Java ࡣ + * + *

ģʽƬָڴеԤݡ + * + *

+ * <complexType name="WS_ViewWrongCaseResponse">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="return" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "WS_ViewWrongCaseResponse", propOrder = { + "_return" +}) +public class WSViewWrongCaseResponse { + + @XmlElement(name = "return") + protected String _return; + + /** + * ȡreturnԵֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getReturn() { + return _return; + } + + /** + * returnԵֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setReturn(String value) { + this._return = value; + } + +} diff --git a/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/package-info.java b/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/package-info.java new file mode 100644 index 0000000..b781c2b --- /dev/null +++ b/JuderUI/build/generated-sources/jax-ws/edu/dhu/ws/package-info.java @@ -0,0 +1,2 @@ +@javax.xml.bind.annotation.XmlSchema(namespace = "http://ws.dhu.edu/") +package edu.dhu.ws; diff --git a/JuderUI/build/generated/generated1.iml b/JuderUI/build/generated/generated1.iml new file mode 100644 index 0000000..056329b --- /dev/null +++ b/JuderUI/build/generated/generated1.iml @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/OJWS.java b/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/OJWS.java new file mode 100644 index 0000000..d591daf --- /dev/null +++ b/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/OJWS.java @@ -0,0 +1,519 @@ + +package edu.dhu.ws; + +import javax.jws.WebMethod; +import javax.jws.WebParam; +import javax.jws.WebResult; +import javax.jws.WebService; +import javax.xml.bind.annotation.XmlSeeAlso; +import javax.xml.ws.RequestWrapper; +import javax.xml.ws.ResponseWrapper; + + +/** + * This class was generated by the JAX-WS RI. + * JAX-WS RI 2.2.6-1b01 + * Generated source version: 2.2 + * + */ +@WebService(name = "OJWS", targetNamespace = "http://ws.dhu.edu/") +@XmlSeeAlso({ + ObjectFactory.class +}) +public interface OJWS { + + + /** + * + * @param arg1 + * @param arg0 + * @return + * returns java.lang.String + */ + @WebMethod(operationName = "WS_GetExamList") + @WebResult(targetNamespace = "") + @RequestWrapper(localName = "WS_GetExamList", targetNamespace = "http://ws.dhu.edu/", className = "edu.dhu.ws.WSGetExamList") + @ResponseWrapper(localName = "WS_GetExamListResponse", targetNamespace = "http://ws.dhu.edu/", className = "edu.dhu.ws.WSGetExamListResponse") + public String wsGetExamList( + @WebParam(name = "arg0", targetNamespace = "") + String arg0, + @WebParam(name = "arg1", targetNamespace = "") + String arg1); + + /** + * + * @param arg3 + * @param arg2 + * @param arg1 + * @param arg0 + * @return + * returns byte[] + */ + @WebMethod(operationName = "WS_GetProblem") + @WebResult(targetNamespace = "") + @RequestWrapper(localName = "WS_GetProblem", targetNamespace = "http://ws.dhu.edu/", className = "edu.dhu.ws.WSGetProblem") + @ResponseWrapper(localName = "WS_GetProblemResponse", targetNamespace = "http://ws.dhu.edu/", className = "edu.dhu.ws.WSGetProblemResponse") + public byte[] wsGetProblem( + @WebParam(name = "arg0", targetNamespace = "") + String arg0, + @WebParam(name = "arg1", targetNamespace = "") + String arg1, + @WebParam(name = "arg2", targetNamespace = "") + int arg2, + @WebParam(name = "arg3", targetNamespace = "") + int arg3); + + /** + * + * @param arg2 + * @param arg1 + * @param arg0 + * @return + * returns java.lang.String + */ + @WebMethod(operationName = "WS_SubmitThisProblem") + @WebResult(targetNamespace = "") + @RequestWrapper(localName = "WS_SubmitThisProblem", targetNamespace = "http://ws.dhu.edu/", className = "edu.dhu.ws.WSSubmitThisProblem") + @ResponseWrapper(localName = "WS_SubmitThisProblemResponse", targetNamespace = "http://ws.dhu.edu/", className = "edu.dhu.ws.WSSubmitThisProblemResponse") + public String wsSubmitThisProblem( + @WebParam(name = "arg0", targetNamespace = "") + String arg0, + @WebParam(name = "arg1", targetNamespace = "") + String arg1, + @WebParam(name = "arg2", targetNamespace = "") + String arg2); + + /** + * + * @param arg3 + * @param arg2 + * @param arg1 + * @param arg0 + * @return + * returns byte[] + */ + @WebMethod(operationName = "WS_DrawProblem") + @WebResult(targetNamespace = "") + @RequestWrapper(localName = "WS_DrawProblem", targetNamespace = "http://ws.dhu.edu/", className = "edu.dhu.ws.WSDrawProblem") + @ResponseWrapper(localName = "WS_DrawProblemResponse", targetNamespace = "http://ws.dhu.edu/", className = "edu.dhu.ws.WSDrawProblemResponse") + public byte[] wsDrawProblem( + @WebParam(name = "arg0", targetNamespace = "") + String arg0, + @WebParam(name = "arg1", targetNamespace = "") + String arg1, + @WebParam(name = "arg2", targetNamespace = "") + int arg2, + @WebParam(name = "arg3", targetNamespace = "") + int arg3); + + /** + * + * @param arg2 + * @param arg1 + * @param arg0 + * @return + * returns java.lang.String + */ + @WebMethod(operationName = "WS_SubmittedCode") + @WebResult(targetNamespace = "") + @RequestWrapper(localName = "WS_SubmittedCode", targetNamespace = "http://ws.dhu.edu/", className = "edu.dhu.ws.WSSubmittedCode") + @ResponseWrapper(localName = "WS_SubmittedCodeResponse", targetNamespace = "http://ws.dhu.edu/", className = "edu.dhu.ws.WSSubmittedCodeResponse") + public String wsSubmittedCode( + @WebParam(name = "arg0", targetNamespace = "") + String arg0, + @WebParam(name = "arg1", targetNamespace = "") + String arg1, + @WebParam(name = "arg2", targetNamespace = "") + int arg2); + + /** + * + * @param arg1 + * @param arg0 + * @return + * returns java.lang.String + */ + @WebMethod(operationName = "WS_Login") + @WebResult(targetNamespace = "") + @RequestWrapper(localName = "WS_Login", targetNamespace = "http://ws.dhu.edu/", className = "edu.dhu.ws.WSLogin") + @ResponseWrapper(localName = "WS_LoginResponse", targetNamespace = "http://ws.dhu.edu/", className = "edu.dhu.ws.WSLoginResponse") + public String wsLogin( + @WebParam(name = "arg0", targetNamespace = "") + String arg0, + @WebParam(name = "arg1", targetNamespace = "") + String arg1); + + /** + * + * @param arg3 + * @param arg2 + * @param arg4 + * @param arg1 + * @param arg0 + * @return + * returns java.lang.String + */ + @WebMethod(operationName = "WS_SkipThisProblem") + @WebResult(targetNamespace = "") + @RequestWrapper(localName = "WS_SkipThisProblem", targetNamespace = "http://ws.dhu.edu/", className = "edu.dhu.ws.WSSkipThisProblem") + @ResponseWrapper(localName = "WS_SkipThisProblemResponse", targetNamespace = "http://ws.dhu.edu/", className = "edu.dhu.ws.WSSkipThisProblemResponse") + public String wsSkipThisProblem( + @WebParam(name = "arg0", targetNamespace = "") + String arg0, + @WebParam(name = "arg1", targetNamespace = "") + String arg1, + @WebParam(name = "arg2", targetNamespace = "") + int arg2, + @WebParam(name = "arg3", targetNamespace = "") + int arg3, + @WebParam(name = "arg4", targetNamespace = "") + int arg4); + + /** + * + * @param arg2 + * @param arg1 + * @param arg0 + * @return + * returns java.lang.String + */ + @WebMethod(operationName = "WS_GetSolutions") + @WebResult(targetNamespace = "") + @RequestWrapper(localName = "WS_GetSolutions", targetNamespace = "http://ws.dhu.edu/", className = "edu.dhu.ws.WSGetSolutions") + @ResponseWrapper(localName = "WS_GetSolutionsResponse", targetNamespace = "http://ws.dhu.edu/", className = "edu.dhu.ws.WSGetSolutionsResponse") + public String wsGetSolutions( + @WebParam(name = "arg0", targetNamespace = "") + String arg0, + @WebParam(name = "arg1", targetNamespace = "") + String arg1, + @WebParam(name = "arg2", targetNamespace = "") + int arg2); + + /** + * + * @param arg3 + * @param arg2 + * @param arg1 + * @param arg0 + * @return + * returns java.lang.String + */ + @WebMethod(operationName = "WS_ItrainSubmitCode") + @WebResult(targetNamespace = "") + @RequestWrapper(localName = "WS_ItrainSubmitCode", targetNamespace = "http://ws.dhu.edu/", className = "edu.dhu.ws.WSItrainSubmitCode") + @ResponseWrapper(localName = "WS_ItrainSubmitCodeResponse", targetNamespace = "http://ws.dhu.edu/", className = "edu.dhu.ws.WSItrainSubmitCodeResponse") + public String wsItrainSubmitCode( + @WebParam(name = "arg0", targetNamespace = "") + String arg0, + @WebParam(name = "arg1", targetNamespace = "") + String arg1, + @WebParam(name = "arg2", targetNamespace = "") + int arg2, + @WebParam(name = "arg3", targetNamespace = "") + String arg3); + + /** + * + * @param arg3 + * @param arg2 + * @param arg5 + * @param arg4 + * @param arg1 + * @param arg0 + * @return + * returns java.lang.String + */ + @WebMethod(operationName = "WS_ViewWrongCase") + @WebResult(targetNamespace = "") + @RequestWrapper(localName = "WS_ViewWrongCase", targetNamespace = "http://ws.dhu.edu/", className = "edu.dhu.ws.WSViewWrongCase") + @ResponseWrapper(localName = "WS_ViewWrongCaseResponse", targetNamespace = "http://ws.dhu.edu/", className = "edu.dhu.ws.WSViewWrongCaseResponse") + public String wsViewWrongCase( + @WebParam(name = "arg0", targetNamespace = "") + String arg0, + @WebParam(name = "arg1", targetNamespace = "") + String arg1, + @WebParam(name = "arg2", targetNamespace = "") + int arg2, + @WebParam(name = "arg3", targetNamespace = "") + int arg3, + @WebParam(name = "arg4", targetNamespace = "") + int arg4, + @WebParam(name = "arg5", targetNamespace = "") + boolean arg5); + + /** + * + * @param arg2 + * @param arg1 + * @param arg0 + * @return + * returns java.lang.String + */ + @WebMethod(operationName = "WS_SubmitHistory") + @WebResult(targetNamespace = "") + @RequestWrapper(localName = "WS_SubmitHistory", targetNamespace = "http://ws.dhu.edu/", className = "edu.dhu.ws.WSSubmitHistory") + @ResponseWrapper(localName = "WS_SubmitHistoryResponse", targetNamespace = "http://ws.dhu.edu/", className = "edu.dhu.ws.WSSubmitHistoryResponse") + public String wsSubmitHistory( + @WebParam(name = "arg0", targetNamespace = "") + String arg0, + @WebParam(name = "arg1", targetNamespace = "") + String arg1, + @WebParam(name = "arg2", targetNamespace = "") + int arg2); + + /** + * + * @param arg2 + * @param arg1 + * @param arg0 + * @return + * returns java.lang.String + */ + @WebMethod(operationName = "WS_GetExamById") + @WebResult(targetNamespace = "") + @RequestWrapper(localName = "WS_GetExamById", targetNamespace = "http://ws.dhu.edu/", className = "edu.dhu.ws.WSGetExamById") + @ResponseWrapper(localName = "WS_GetExamByIdResponse", targetNamespace = "http://ws.dhu.edu/", className = "edu.dhu.ws.WSGetExamByIdResponse") + public String wsGetExamById( + @WebParam(name = "arg0", targetNamespace = "") + String arg0, + @WebParam(name = "arg1", targetNamespace = "") + String arg1, + @WebParam(name = "arg2", targetNamespace = "") + int arg2); + + /** + * + * @param arg2 + * @param arg1 + * @param arg0 + * @return + * returns byte[] + */ + @WebMethod(operationName = "WS_GetProblem4Judge") + @WebResult(targetNamespace = "") + @RequestWrapper(localName = "WS_GetProblem4Judge", targetNamespace = "http://ws.dhu.edu/", className = "edu.dhu.ws.WSGetProblem4Judge") + @ResponseWrapper(localName = "WS_GetProblem4JudgeResponse", targetNamespace = "http://ws.dhu.edu/", className = "edu.dhu.ws.WSGetProblem4JudgeResponse") + public byte[] wsGetProblem4Judge( + @WebParam(name = "arg0", targetNamespace = "") + String arg0, + @WebParam(name = "arg1", targetNamespace = "") + String arg1, + @WebParam(name = "arg2", targetNamespace = "") + int arg2); + + /** + * + * @param arg2 + * @param arg1 + * @param arg0 + * @return + * returns java.lang.String + */ + @WebMethod(operationName = "WS_SubmitCode") + @WebResult(targetNamespace = "") + @RequestWrapper(localName = "WS_SubmitCode", targetNamespace = "http://ws.dhu.edu/", className = "edu.dhu.ws.WSSubmitCode") + @ResponseWrapper(localName = "WS_SubmitCodeResponse", targetNamespace = "http://ws.dhu.edu/", className = "edu.dhu.ws.WSSubmitCodeResponse") + public String wsSubmitCode( + @WebParam(name = "arg0", targetNamespace = "") + String arg0, + @WebParam(name = "arg1", targetNamespace = "") + String arg1, + @WebParam(name = "arg2", targetNamespace = "") + String arg2); + + /** + * + * @param arg3 + * @param arg2 + * @param arg1 + * @param arg0 + * @return + * returns java.lang.String + */ + @WebMethod(operationName = "WS_GetExamProblemStatus") + @WebResult(targetNamespace = "") + @RequestWrapper(localName = "WS_GetExamProblemStatus", targetNamespace = "http://ws.dhu.edu/", className = "edu.dhu.ws.WSGetExamProblemStatus") + @ResponseWrapper(localName = "WS_GetExamProblemStatusResponse", targetNamespace = "http://ws.dhu.edu/", className = "edu.dhu.ws.WSGetExamProblemStatusResponse") + public String wsGetExamProblemStatus( + @WebParam(name = "arg0", targetNamespace = "") + String arg0, + @WebParam(name = "arg1", targetNamespace = "") + String arg1, + @WebParam(name = "arg2", targetNamespace = "") + int arg2, + @WebParam(name = "arg3", targetNamespace = "") + int arg3); + + /** + * + * @param arg3 + * @param arg2 + * @param arg1 + * @param arg0 + * @return + * returns java.lang.String + */ + @WebMethod(operationName = "WS_IsPermit") + @WebResult(targetNamespace = "") + @RequestWrapper(localName = "WS_IsPermit", targetNamespace = "http://ws.dhu.edu/", className = "edu.dhu.ws.WSIsPermit") + @ResponseWrapper(localName = "WS_IsPermitResponse", targetNamespace = "http://ws.dhu.edu/", className = "edu.dhu.ws.WSIsPermitResponse") + public String wsIsPermit( + @WebParam(name = "arg0", targetNamespace = "") + String arg0, + @WebParam(name = "arg1", targetNamespace = "") + String arg1, + @WebParam(name = "arg2", targetNamespace = "") + int arg2, + @WebParam(name = "arg3", targetNamespace = "") + String arg3); + + /** + * + * @param arg3 + * @param arg2 + * @param arg1 + * @param arg0 + * @return + * returns java.lang.String + */ + @WebMethod(operationName = "WS_PassThisCategory") + @WebResult(targetNamespace = "") + @RequestWrapper(localName = "WS_PassThisCategory", targetNamespace = "http://ws.dhu.edu/", className = "edu.dhu.ws.WSPassThisCategory") + @ResponseWrapper(localName = "WS_PassThisCategoryResponse", targetNamespace = "http://ws.dhu.edu/", className = "edu.dhu.ws.WSPassThisCategoryResponse") + public String wsPassThisCategory( + @WebParam(name = "arg0", targetNamespace = "") + String arg0, + @WebParam(name = "arg1", targetNamespace = "") + String arg1, + @WebParam(name = "arg2", targetNamespace = "") + int arg2, + @WebParam(name = "arg3", targetNamespace = "") + int arg3); + + /** + * + * @param arg2 + * @param arg1 + * @param arg0 + * @return + * returns java.lang.String + */ + @WebMethod(operationName = "WS_GetExamProblems") + @WebResult(targetNamespace = "") + @RequestWrapper(localName = "WS_GetExamProblems", targetNamespace = "http://ws.dhu.edu/", className = "edu.dhu.ws.WSGetExamProblems") + @ResponseWrapper(localName = "WS_GetExamProblemsResponse", targetNamespace = "http://ws.dhu.edu/", className = "edu.dhu.ws.WSGetExamProblemsResponse") + public String wsGetExamProblems( + @WebParam(name = "arg0", targetNamespace = "") + String arg0, + @WebParam(name = "arg1", targetNamespace = "") + String arg1, + @WebParam(name = "arg2", targetNamespace = "") + int arg2); + + /** + * + * @param arg2 + * @param arg1 + * @param arg0 + * @return + * returns java.lang.String + */ + @WebMethod(operationName = "WS_CanDoCategory") + @WebResult(targetNamespace = "") + @RequestWrapper(localName = "WS_CanDoCategory", targetNamespace = "http://ws.dhu.edu/", className = "edu.dhu.ws.WSCanDoCategory") + @ResponseWrapper(localName = "WS_CanDoCategoryResponse", targetNamespace = "http://ws.dhu.edu/", className = "edu.dhu.ws.WSCanDoCategoryResponse") + public String wsCanDoCategory( + @WebParam(name = "arg0", targetNamespace = "") + String arg0, + @WebParam(name = "arg1", targetNamespace = "") + String arg1, + @WebParam(name = "arg2", targetNamespace = "") + int arg2); + + /** + * + * @param arg2 + * @param arg1 + * @param arg0 + * @return + * returns java.lang.String + */ + @WebMethod(operationName = "WS_UpdateResult") + @WebResult(targetNamespace = "") + @RequestWrapper(localName = "WS_UpdateResult", targetNamespace = "http://ws.dhu.edu/", className = "edu.dhu.ws.WSUpdateResult") + @ResponseWrapper(localName = "WS_UpdateResultResponse", targetNamespace = "http://ws.dhu.edu/", className = "edu.dhu.ws.WSUpdateResultResponse") + public String wsUpdateResult( + @WebParam(name = "arg0", targetNamespace = "") + String arg0, + @WebParam(name = "arg1", targetNamespace = "") + String arg1, + @WebParam(name = "arg2", targetNamespace = "") + byte[] arg2); + + /** + * + * @param arg2 + * @param arg1 + * @param arg0 + * @return + * returns java.lang.String + */ + @WebMethod(operationName = "WS_GetExamProCatagorys") + @WebResult(targetNamespace = "") + @RequestWrapper(localName = "WS_GetExamProCatagorys", targetNamespace = "http://ws.dhu.edu/", className = "edu.dhu.ws.WSGetExamProCatagorys") + @ResponseWrapper(localName = "WS_GetExamProCatagorysResponse", targetNamespace = "http://ws.dhu.edu/", className = "edu.dhu.ws.WSGetExamProCatagorysResponse") + public String wsGetExamProCatagorys( + @WebParam(name = "arg0", targetNamespace = "") + String arg0, + @WebParam(name = "arg1", targetNamespace = "") + String arg1, + @WebParam(name = "arg2", targetNamespace = "") + int arg2); + + /** + * + * @param arg3 + * @param arg2 + * @param arg4 + * @param arg1 + * @param arg0 + * @return + * returns java.lang.String + */ + @WebMethod(operationName = "WS_ItrainSubmitThisProblem") + @WebResult(targetNamespace = "") + @RequestWrapper(localName = "WS_ItrainSubmitThisProblem", targetNamespace = "http://ws.dhu.edu/", className = "edu.dhu.ws.WSItrainSubmitThisProblem") + @ResponseWrapper(localName = "WS_ItrainSubmitThisProblemResponse", targetNamespace = "http://ws.dhu.edu/", className = "edu.dhu.ws.WSItrainSubmitThisProblemResponse") + public String wsItrainSubmitThisProblem( + @WebParam(name = "arg0", targetNamespace = "") + String arg0, + @WebParam(name = "arg1", targetNamespace = "") + String arg1, + @WebParam(name = "arg2", targetNamespace = "") + int arg2, + @WebParam(name = "arg3", targetNamespace = "") + String arg3, + @WebParam(name = "arg4", targetNamespace = "") + String arg4); + + /** + * + * @param arg2 + * @param arg1 + * @param arg0 + * @return + * returns java.lang.String + */ + @WebMethod(operationName = "WS_GetExamDetail") + @WebResult(targetNamespace = "") + @RequestWrapper(localName = "WS_GetExamDetail", targetNamespace = "http://ws.dhu.edu/", className = "edu.dhu.ws.WSGetExamDetail") + @ResponseWrapper(localName = "WS_GetExamDetailResponse", targetNamespace = "http://ws.dhu.edu/", className = "edu.dhu.ws.WSGetExamDetailResponse") + public String wsGetExamDetail( + @WebParam(name = "arg0", targetNamespace = "") + String arg0, + @WebParam(name = "arg1", targetNamespace = "") + String arg1, + @WebParam(name = "arg2", targetNamespace = "") + int arg2); + +} diff --git a/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/OJWS_Service.java b/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/OJWS_Service.java new file mode 100644 index 0000000..6a518c3 --- /dev/null +++ b/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/OJWS_Service.java @@ -0,0 +1,94 @@ + +package edu.dhu.ws; + +import java.net.MalformedURLException; +import java.net.URL; +import javax.xml.namespace.QName; +import javax.xml.ws.Service; +import javax.xml.ws.WebEndpoint; +import javax.xml.ws.WebServiceClient; +import javax.xml.ws.WebServiceException; +import javax.xml.ws.WebServiceFeature; + + +/** + * This class was generated by the JAX-WS RI. + * JAX-WS RI 2.2.6-1b01 + * Generated source version: 2.2 + * + */ +@WebServiceClient(name = "OJWS", targetNamespace = "http://ws.dhu.edu/", wsdlLocation = "http://106.15.36.190:80/oj/webservice/OJWS?wsdl") +public class OJWS_Service + extends Service +{ + + private final static URL OJWS_WSDL_LOCATION; + private final static WebServiceException OJWS_EXCEPTION; + private final static QName OJWS_QNAME = new QName("http://ws.dhu.edu/", "OJWS"); + + static { + URL url = null; + WebServiceException e = null; + try { + url = new URL("http://106.15.36.190:80/oj/webservice/OJWS?wsdl"); + } catch (MalformedURLException ex) { + e = new WebServiceException(ex); + } + OJWS_WSDL_LOCATION = url; + OJWS_EXCEPTION = e; + } + + public OJWS_Service() { + super(__getWsdlLocation(), OJWS_QNAME); + } + + public OJWS_Service(WebServiceFeature... features) { + super(__getWsdlLocation(), OJWS_QNAME, features); + } + + public OJWS_Service(URL wsdlLocation) { + super(wsdlLocation, OJWS_QNAME); + } + + public OJWS_Service(URL wsdlLocation, WebServiceFeature... features) { + super(wsdlLocation, OJWS_QNAME, features); + } + + public OJWS_Service(URL wsdlLocation, QName serviceName) { + super(wsdlLocation, serviceName); + } + + public OJWS_Service(URL wsdlLocation, QName serviceName, WebServiceFeature... features) { + super(wsdlLocation, serviceName, features); + } + + /** + * + * @return + * returns OJWS + */ + @WebEndpoint(name = "OJWSImplPort") + public OJWS getOJWSImplPort() { + return super.getPort(new QName("http://ws.dhu.edu/", "OJWSImplPort"), OJWS.class); + } + + /** + * + * @param features + * A list of {@link javax.xml.ws.WebServiceFeature} to configure on the proxy. Supported features not in the features parameter will have their default values. + * @return + * returns OJWS + */ + @WebEndpoint(name = "OJWSImplPort") + public OJWS getOJWSImplPort(WebServiceFeature... features) { + return super.getPort(new QName("http://ws.dhu.edu/", "OJWSImplPort"), OJWS.class, features); + } + + private static URL __getWsdlLocation() { + if (OJWS_EXCEPTION!= null) { + throw OJWS_EXCEPTION; + } + return OJWS_WSDL_LOCATION; + } + +} diff --git a/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/ObjectFactory.java b/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/ObjectFactory.java new file mode 100644 index 0000000..e4bcffa --- /dev/null +++ b/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/ObjectFactory.java @@ -0,0 +1,863 @@ + +package edu.dhu.ws; + +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlElementDecl; +import javax.xml.bind.annotation.XmlRegistry; +import javax.xml.namespace.QName; + + +/** + * This object contains factory methods for each + * Java content interface and Java element interface + * generated in the edu.dhu.ws package. + *

An ObjectFactory allows you to programatically + * construct new instances of the Java representation + * for XML content. The Java representation of XML + * content can consist of schema derived interfaces + * and classes representing the binding of schema + * type definitions, element declarations and model + * groups. Factory methods for each of these are + * provided in this class. + * + */ +@XmlRegistry +public class ObjectFactory { + + private final static QName _WSGetExamProCatagorysResponse_QNAME = new QName("http://ws.dhu.edu/", "WS_GetExamProCatagorysResponse"); + private final static QName _WSGetExamByIdResponse_QNAME = new QName("http://ws.dhu.edu/", "WS_GetExamByIdResponse"); + private final static QName _WSGetExamList_QNAME = new QName("http://ws.dhu.edu/", "WS_GetExamList"); + private final static QName _WSGetExamProblemsResponse_QNAME = new QName("http://ws.dhu.edu/", "WS_GetExamProblemsResponse"); + private final static QName _WSGetProblem_QNAME = new QName("http://ws.dhu.edu/", "WS_GetProblem"); + private final static QName _WSDrawProblem_QNAME = new QName("http://ws.dhu.edu/", "WS_DrawProblem"); + private final static QName _WSGetProblem4JudgeResponse_QNAME = new QName("http://ws.dhu.edu/", "WS_GetProblem4JudgeResponse"); + private final static QName _WSViewWrongCaseResponse_QNAME = new QName("http://ws.dhu.edu/", "WS_ViewWrongCaseResponse"); + private final static QName _WSItrainSubmitCodeResponse_QNAME = new QName("http://ws.dhu.edu/", "WS_ItrainSubmitCodeResponse"); + private final static QName _WSSubmittedCode_QNAME = new QName("http://ws.dhu.edu/", "WS_SubmittedCode"); + private final static QName _WSSkipThisProblem_QNAME = new QName("http://ws.dhu.edu/", "WS_SkipThisProblem"); + private final static QName _WSUpdateResultResponse_QNAME = new QName("http://ws.dhu.edu/", "WS_UpdateResultResponse"); + private final static QName _WSItrainSubmitCode_QNAME = new QName("http://ws.dhu.edu/", "WS_ItrainSubmitCode"); + private final static QName _WSGetExamById_QNAME = new QName("http://ws.dhu.edu/", "WS_GetExamById"); + private final static QName _WSSubmitCode_QNAME = new QName("http://ws.dhu.edu/", "WS_SubmitCode"); + private final static QName _WSPassThisCategory_QNAME = new QName("http://ws.dhu.edu/", "WS_PassThisCategory"); + private final static QName _WSItrainSubmitThisProblemResponse_QNAME = new QName("http://ws.dhu.edu/", "WS_ItrainSubmitThisProblemResponse"); + private final static QName _WSGetProblemResponse_QNAME = new QName("http://ws.dhu.edu/", "WS_GetProblemResponse"); + private final static QName _WSIsPermitResponse_QNAME = new QName("http://ws.dhu.edu/", "WS_IsPermitResponse"); + private final static QName _WSCanDoCategory_QNAME = new QName("http://ws.dhu.edu/", "WS_CanDoCategory"); + private final static QName _WSUpdateResult_QNAME = new QName("http://ws.dhu.edu/", "WS_UpdateResult"); + private final static QName _WSGetExamProCatagorys_QNAME = new QName("http://ws.dhu.edu/", "WS_GetExamProCatagorys"); + private final static QName _WSItrainSubmitThisProblem_QNAME = new QName("http://ws.dhu.edu/", "WS_ItrainSubmitThisProblem"); + private final static QName _WSCanDoCategoryResponse_QNAME = new QName("http://ws.dhu.edu/", "WS_CanDoCategoryResponse"); + private final static QName _WSSubmitThisProblem_QNAME = new QName("http://ws.dhu.edu/", "WS_SubmitThisProblem"); + private final static QName _WSSubmitThisProblemResponse_QNAME = new QName("http://ws.dhu.edu/", "WS_SubmitThisProblemResponse"); + private final static QName _WSLogin_QNAME = new QName("http://ws.dhu.edu/", "WS_Login"); + private final static QName _WSSubmitHistoryResponse_QNAME = new QName("http://ws.dhu.edu/", "WS_SubmitHistoryResponse"); + private final static QName _WSSubmittedCodeResponse_QNAME = new QName("http://ws.dhu.edu/", "WS_SubmittedCodeResponse"); + private final static QName _WSGetExamDetailResponse_QNAME = new QName("http://ws.dhu.edu/", "WS_GetExamDetailResponse"); + private final static QName _WSGetSolutions_QNAME = new QName("http://ws.dhu.edu/", "WS_GetSolutions"); + private final static QName _WSSubmitCodeResponse_QNAME = new QName("http://ws.dhu.edu/", "WS_SubmitCodeResponse"); + private final static QName _WSPassThisCategoryResponse_QNAME = new QName("http://ws.dhu.edu/", "WS_PassThisCategoryResponse"); + private final static QName _WSGetExamListResponse_QNAME = new QName("http://ws.dhu.edu/", "WS_GetExamListResponse"); + private final static QName _WSLoginResponse_QNAME = new QName("http://ws.dhu.edu/", "WS_LoginResponse"); + private final static QName _WSViewWrongCase_QNAME = new QName("http://ws.dhu.edu/", "WS_ViewWrongCase"); + private final static QName _WSSkipThisProblemResponse_QNAME = new QName("http://ws.dhu.edu/", "WS_SkipThisProblemResponse"); + private final static QName _WSSubmitHistory_QNAME = new QName("http://ws.dhu.edu/", "WS_SubmitHistory"); + private final static QName _WSDrawProblemResponse_QNAME = new QName("http://ws.dhu.edu/", "WS_DrawProblemResponse"); + private final static QName _WSGetProblem4Judge_QNAME = new QName("http://ws.dhu.edu/", "WS_GetProblem4Judge"); + private final static QName _WSGetExamProblemStatus_QNAME = new QName("http://ws.dhu.edu/", "WS_GetExamProblemStatus"); + private final static QName _WSIsPermit_QNAME = new QName("http://ws.dhu.edu/", "WS_IsPermit"); + private final static QName _WSGetExamProblems_QNAME = new QName("http://ws.dhu.edu/", "WS_GetExamProblems"); + private final static QName _WSGetExamProblemStatusResponse_QNAME = new QName("http://ws.dhu.edu/", "WS_GetExamProblemStatusResponse"); + private final static QName _WSGetExamDetail_QNAME = new QName("http://ws.dhu.edu/", "WS_GetExamDetail"); + private final static QName _WSGetSolutionsResponse_QNAME = new QName("http://ws.dhu.edu/", "WS_GetSolutionsResponse"); + + /** + * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: edu.dhu.ws + * + */ + public ObjectFactory() { + } + + /** + * Create an instance of {@link WSSubmitThisProblem } + * + */ + public WSSubmitThisProblem createWSSubmitThisProblem() { + return new WSSubmitThisProblem(); + } + + /** + * Create an instance of {@link WSCanDoCategoryResponse } + * + */ + public WSCanDoCategoryResponse createWSCanDoCategoryResponse() { + return new WSCanDoCategoryResponse(); + } + + /** + * Create an instance of {@link WSSubmitThisProblemResponse } + * + */ + public WSSubmitThisProblemResponse createWSSubmitThisProblemResponse() { + return new WSSubmitThisProblemResponse(); + } + + /** + * Create an instance of {@link WSPassThisCategoryResponse } + * + */ + public WSPassThisCategoryResponse createWSPassThisCategoryResponse() { + return new WSPassThisCategoryResponse(); + } + + /** + * Create an instance of {@link WSGetSolutions } + * + */ + public WSGetSolutions createWSGetSolutions() { + return new WSGetSolutions(); + } + + /** + * Create an instance of {@link WSSubmitCodeResponse } + * + */ + public WSSubmitCodeResponse createWSSubmitCodeResponse() { + return new WSSubmitCodeResponse(); + } + + /** + * Create an instance of {@link WSSkipThisProblemResponse } + * + */ + public WSSkipThisProblemResponse createWSSkipThisProblemResponse() { + return new WSSkipThisProblemResponse(); + } + + /** + * Create an instance of {@link WSSubmitHistory } + * + */ + public WSSubmitHistory createWSSubmitHistory() { + return new WSSubmitHistory(); + } + + /** + * Create an instance of {@link WSGetExamListResponse } + * + */ + public WSGetExamListResponse createWSGetExamListResponse() { + return new WSGetExamListResponse(); + } + + /** + * Create an instance of {@link WSLoginResponse } + * + */ + public WSLoginResponse createWSLoginResponse() { + return new WSLoginResponse(); + } + + /** + * Create an instance of {@link WSViewWrongCase } + * + */ + public WSViewWrongCase createWSViewWrongCase() { + return new WSViewWrongCase(); + } + + /** + * Create an instance of {@link WSLogin } + * + */ + public WSLogin createWSLogin() { + return new WSLogin(); + } + + /** + * Create an instance of {@link WSSubmitHistoryResponse } + * + */ + public WSSubmitHistoryResponse createWSSubmitHistoryResponse() { + return new WSSubmitHistoryResponse(); + } + + /** + * Create an instance of {@link WSSubmittedCodeResponse } + * + */ + public WSSubmittedCodeResponse createWSSubmittedCodeResponse() { + return new WSSubmittedCodeResponse(); + } + + /** + * Create an instance of {@link WSGetExamDetailResponse } + * + */ + public WSGetExamDetailResponse createWSGetExamDetailResponse() { + return new WSGetExamDetailResponse(); + } + + /** + * Create an instance of {@link WSIsPermit } + * + */ + public WSIsPermit createWSIsPermit() { + return new WSIsPermit(); + } + + /** + * Create an instance of {@link WSGetExamProblemStatus } + * + */ + public WSGetExamProblemStatus createWSGetExamProblemStatus() { + return new WSGetExamProblemStatus(); + } + + /** + * Create an instance of {@link WSGetExamProblems } + * + */ + public WSGetExamProblems createWSGetExamProblems() { + return new WSGetExamProblems(); + } + + /** + * Create an instance of {@link WSDrawProblemResponse } + * + */ + public WSDrawProblemResponse createWSDrawProblemResponse() { + return new WSDrawProblemResponse(); + } + + /** + * Create an instance of {@link WSGetProblem4Judge } + * + */ + public WSGetProblem4Judge createWSGetProblem4Judge() { + return new WSGetProblem4Judge(); + } + + /** + * Create an instance of {@link WSGetExamProblemStatusResponse } + * + */ + public WSGetExamProblemStatusResponse createWSGetExamProblemStatusResponse() { + return new WSGetExamProblemStatusResponse(); + } + + /** + * Create an instance of {@link WSGetExamDetail } + * + */ + public WSGetExamDetail createWSGetExamDetail() { + return new WSGetExamDetail(); + } + + /** + * Create an instance of {@link WSGetSolutionsResponse } + * + */ + public WSGetSolutionsResponse createWSGetSolutionsResponse() { + return new WSGetSolutionsResponse(); + } + + /** + * Create an instance of {@link WSDrawProblem } + * + */ + public WSDrawProblem createWSDrawProblem() { + return new WSDrawProblem(); + } + + /** + * Create an instance of {@link WSGetProblem4JudgeResponse } + * + */ + public WSGetProblem4JudgeResponse createWSGetProblem4JudgeResponse() { + return new WSGetProblem4JudgeResponse(); + } + + /** + * Create an instance of {@link WSViewWrongCaseResponse } + * + */ + public WSViewWrongCaseResponse createWSViewWrongCaseResponse() { + return new WSViewWrongCaseResponse(); + } + + /** + * Create an instance of {@link WSGetExamByIdResponse } + * + */ + public WSGetExamByIdResponse createWSGetExamByIdResponse() { + return new WSGetExamByIdResponse(); + } + + /** + * Create an instance of {@link WSGetExamProCatagorysResponse } + * + */ + public WSGetExamProCatagorysResponse createWSGetExamProCatagorysResponse() { + return new WSGetExamProCatagorysResponse(); + } + + /** + * Create an instance of {@link WSGetProblem } + * + */ + public WSGetProblem createWSGetProblem() { + return new WSGetProblem(); + } + + /** + * Create an instance of {@link WSGetExamList } + * + */ + public WSGetExamList createWSGetExamList() { + return new WSGetExamList(); + } + + /** + * Create an instance of {@link WSGetExamProblemsResponse } + * + */ + public WSGetExamProblemsResponse createWSGetExamProblemsResponse() { + return new WSGetExamProblemsResponse(); + } + + /** + * Create an instance of {@link WSUpdateResultResponse } + * + */ + public WSUpdateResultResponse createWSUpdateResultResponse() { + return new WSUpdateResultResponse(); + } + + /** + * Create an instance of {@link WSItrainSubmitCode } + * + */ + public WSItrainSubmitCode createWSItrainSubmitCode() { + return new WSItrainSubmitCode(); + } + + /** + * Create an instance of {@link WSSkipThisProblem } + * + */ + public WSSkipThisProblem createWSSkipThisProblem() { + return new WSSkipThisProblem(); + } + + /** + * Create an instance of {@link WSItrainSubmitCodeResponse } + * + */ + public WSItrainSubmitCodeResponse createWSItrainSubmitCodeResponse() { + return new WSItrainSubmitCodeResponse(); + } + + /** + * Create an instance of {@link WSSubmittedCode } + * + */ + public WSSubmittedCode createWSSubmittedCode() { + return new WSSubmittedCode(); + } + + /** + * Create an instance of {@link WSPassThisCategory } + * + */ + public WSPassThisCategory createWSPassThisCategory() { + return new WSPassThisCategory(); + } + + /** + * Create an instance of {@link WSItrainSubmitThisProblemResponse } + * + */ + public WSItrainSubmitThisProblemResponse createWSItrainSubmitThisProblemResponse() { + return new WSItrainSubmitThisProblemResponse(); + } + + /** + * Create an instance of {@link WSSubmitCode } + * + */ + public WSSubmitCode createWSSubmitCode() { + return new WSSubmitCode(); + } + + /** + * Create an instance of {@link WSGetExamById } + * + */ + public WSGetExamById createWSGetExamById() { + return new WSGetExamById(); + } + + /** + * Create an instance of {@link WSCanDoCategory } + * + */ + public WSCanDoCategory createWSCanDoCategory() { + return new WSCanDoCategory(); + } + + /** + * Create an instance of {@link WSUpdateResult } + * + */ + public WSUpdateResult createWSUpdateResult() { + return new WSUpdateResult(); + } + + /** + * Create an instance of {@link WSGetExamProCatagorys } + * + */ + public WSGetExamProCatagorys createWSGetExamProCatagorys() { + return new WSGetExamProCatagorys(); + } + + /** + * Create an instance of {@link WSItrainSubmitThisProblem } + * + */ + public WSItrainSubmitThisProblem createWSItrainSubmitThisProblem() { + return new WSItrainSubmitThisProblem(); + } + + /** + * Create an instance of {@link WSIsPermitResponse } + * + */ + public WSIsPermitResponse createWSIsPermitResponse() { + return new WSIsPermitResponse(); + } + + /** + * Create an instance of {@link WSGetProblemResponse } + * + */ + public WSGetProblemResponse createWSGetProblemResponse() { + return new WSGetProblemResponse(); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link WSGetExamProCatagorysResponse }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://ws.dhu.edu/", name = "WS_GetExamProCatagorysResponse") + public JAXBElement createWSGetExamProCatagorysResponse(WSGetExamProCatagorysResponse value) { + return new JAXBElement(_WSGetExamProCatagorysResponse_QNAME, WSGetExamProCatagorysResponse.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link WSGetExamByIdResponse }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://ws.dhu.edu/", name = "WS_GetExamByIdResponse") + public JAXBElement createWSGetExamByIdResponse(WSGetExamByIdResponse value) { + return new JAXBElement(_WSGetExamByIdResponse_QNAME, WSGetExamByIdResponse.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link WSGetExamList }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://ws.dhu.edu/", name = "WS_GetExamList") + public JAXBElement createWSGetExamList(WSGetExamList value) { + return new JAXBElement(_WSGetExamList_QNAME, WSGetExamList.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link WSGetExamProblemsResponse }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://ws.dhu.edu/", name = "WS_GetExamProblemsResponse") + public JAXBElement createWSGetExamProblemsResponse(WSGetExamProblemsResponse value) { + return new JAXBElement(_WSGetExamProblemsResponse_QNAME, WSGetExamProblemsResponse.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link WSGetProblem }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://ws.dhu.edu/", name = "WS_GetProblem") + public JAXBElement createWSGetProblem(WSGetProblem value) { + return new JAXBElement(_WSGetProblem_QNAME, WSGetProblem.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link WSDrawProblem }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://ws.dhu.edu/", name = "WS_DrawProblem") + public JAXBElement createWSDrawProblem(WSDrawProblem value) { + return new JAXBElement(_WSDrawProblem_QNAME, WSDrawProblem.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link WSGetProblem4JudgeResponse }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://ws.dhu.edu/", name = "WS_GetProblem4JudgeResponse") + public JAXBElement createWSGetProblem4JudgeResponse(WSGetProblem4JudgeResponse value) { + return new JAXBElement(_WSGetProblem4JudgeResponse_QNAME, WSGetProblem4JudgeResponse.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link WSViewWrongCaseResponse }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://ws.dhu.edu/", name = "WS_ViewWrongCaseResponse") + public JAXBElement createWSViewWrongCaseResponse(WSViewWrongCaseResponse value) { + return new JAXBElement(_WSViewWrongCaseResponse_QNAME, WSViewWrongCaseResponse.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link WSItrainSubmitCodeResponse }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://ws.dhu.edu/", name = "WS_ItrainSubmitCodeResponse") + public JAXBElement createWSItrainSubmitCodeResponse(WSItrainSubmitCodeResponse value) { + return new JAXBElement(_WSItrainSubmitCodeResponse_QNAME, WSItrainSubmitCodeResponse.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link WSSubmittedCode }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://ws.dhu.edu/", name = "WS_SubmittedCode") + public JAXBElement createWSSubmittedCode(WSSubmittedCode value) { + return new JAXBElement(_WSSubmittedCode_QNAME, WSSubmittedCode.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link WSSkipThisProblem }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://ws.dhu.edu/", name = "WS_SkipThisProblem") + public JAXBElement createWSSkipThisProblem(WSSkipThisProblem value) { + return new JAXBElement(_WSSkipThisProblem_QNAME, WSSkipThisProblem.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link WSUpdateResultResponse }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://ws.dhu.edu/", name = "WS_UpdateResultResponse") + public JAXBElement createWSUpdateResultResponse(WSUpdateResultResponse value) { + return new JAXBElement(_WSUpdateResultResponse_QNAME, WSUpdateResultResponse.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link WSItrainSubmitCode }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://ws.dhu.edu/", name = "WS_ItrainSubmitCode") + public JAXBElement createWSItrainSubmitCode(WSItrainSubmitCode value) { + return new JAXBElement(_WSItrainSubmitCode_QNAME, WSItrainSubmitCode.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link WSGetExamById }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://ws.dhu.edu/", name = "WS_GetExamById") + public JAXBElement createWSGetExamById(WSGetExamById value) { + return new JAXBElement(_WSGetExamById_QNAME, WSGetExamById.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link WSSubmitCode }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://ws.dhu.edu/", name = "WS_SubmitCode") + public JAXBElement createWSSubmitCode(WSSubmitCode value) { + return new JAXBElement(_WSSubmitCode_QNAME, WSSubmitCode.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link WSPassThisCategory }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://ws.dhu.edu/", name = "WS_PassThisCategory") + public JAXBElement createWSPassThisCategory(WSPassThisCategory value) { + return new JAXBElement(_WSPassThisCategory_QNAME, WSPassThisCategory.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link WSItrainSubmitThisProblemResponse }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://ws.dhu.edu/", name = "WS_ItrainSubmitThisProblemResponse") + public JAXBElement createWSItrainSubmitThisProblemResponse(WSItrainSubmitThisProblemResponse value) { + return new JAXBElement(_WSItrainSubmitThisProblemResponse_QNAME, WSItrainSubmitThisProblemResponse.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link WSGetProblemResponse }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://ws.dhu.edu/", name = "WS_GetProblemResponse") + public JAXBElement createWSGetProblemResponse(WSGetProblemResponse value) { + return new JAXBElement(_WSGetProblemResponse_QNAME, WSGetProblemResponse.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link WSIsPermitResponse }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://ws.dhu.edu/", name = "WS_IsPermitResponse") + public JAXBElement createWSIsPermitResponse(WSIsPermitResponse value) { + return new JAXBElement(_WSIsPermitResponse_QNAME, WSIsPermitResponse.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link WSCanDoCategory }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://ws.dhu.edu/", name = "WS_CanDoCategory") + public JAXBElement createWSCanDoCategory(WSCanDoCategory value) { + return new JAXBElement(_WSCanDoCategory_QNAME, WSCanDoCategory.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link WSUpdateResult }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://ws.dhu.edu/", name = "WS_UpdateResult") + public JAXBElement createWSUpdateResult(WSUpdateResult value) { + return new JAXBElement(_WSUpdateResult_QNAME, WSUpdateResult.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link WSGetExamProCatagorys }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://ws.dhu.edu/", name = "WS_GetExamProCatagorys") + public JAXBElement createWSGetExamProCatagorys(WSGetExamProCatagorys value) { + return new JAXBElement(_WSGetExamProCatagorys_QNAME, WSGetExamProCatagorys.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link WSItrainSubmitThisProblem }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://ws.dhu.edu/", name = "WS_ItrainSubmitThisProblem") + public JAXBElement createWSItrainSubmitThisProblem(WSItrainSubmitThisProblem value) { + return new JAXBElement(_WSItrainSubmitThisProblem_QNAME, WSItrainSubmitThisProblem.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link WSCanDoCategoryResponse }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://ws.dhu.edu/", name = "WS_CanDoCategoryResponse") + public JAXBElement createWSCanDoCategoryResponse(WSCanDoCategoryResponse value) { + return new JAXBElement(_WSCanDoCategoryResponse_QNAME, WSCanDoCategoryResponse.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link WSSubmitThisProblem }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://ws.dhu.edu/", name = "WS_SubmitThisProblem") + public JAXBElement createWSSubmitThisProblem(WSSubmitThisProblem value) { + return new JAXBElement(_WSSubmitThisProblem_QNAME, WSSubmitThisProblem.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link WSSubmitThisProblemResponse }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://ws.dhu.edu/", name = "WS_SubmitThisProblemResponse") + public JAXBElement createWSSubmitThisProblemResponse(WSSubmitThisProblemResponse value) { + return new JAXBElement(_WSSubmitThisProblemResponse_QNAME, WSSubmitThisProblemResponse.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link WSLogin }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://ws.dhu.edu/", name = "WS_Login") + public JAXBElement createWSLogin(WSLogin value) { + return new JAXBElement(_WSLogin_QNAME, WSLogin.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link WSSubmitHistoryResponse }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://ws.dhu.edu/", name = "WS_SubmitHistoryResponse") + public JAXBElement createWSSubmitHistoryResponse(WSSubmitHistoryResponse value) { + return new JAXBElement(_WSSubmitHistoryResponse_QNAME, WSSubmitHistoryResponse.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link WSSubmittedCodeResponse }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://ws.dhu.edu/", name = "WS_SubmittedCodeResponse") + public JAXBElement createWSSubmittedCodeResponse(WSSubmittedCodeResponse value) { + return new JAXBElement(_WSSubmittedCodeResponse_QNAME, WSSubmittedCodeResponse.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link WSGetExamDetailResponse }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://ws.dhu.edu/", name = "WS_GetExamDetailResponse") + public JAXBElement createWSGetExamDetailResponse(WSGetExamDetailResponse value) { + return new JAXBElement(_WSGetExamDetailResponse_QNAME, WSGetExamDetailResponse.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link WSGetSolutions }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://ws.dhu.edu/", name = "WS_GetSolutions") + public JAXBElement createWSGetSolutions(WSGetSolutions value) { + return new JAXBElement(_WSGetSolutions_QNAME, WSGetSolutions.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link WSSubmitCodeResponse }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://ws.dhu.edu/", name = "WS_SubmitCodeResponse") + public JAXBElement createWSSubmitCodeResponse(WSSubmitCodeResponse value) { + return new JAXBElement(_WSSubmitCodeResponse_QNAME, WSSubmitCodeResponse.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link WSPassThisCategoryResponse }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://ws.dhu.edu/", name = "WS_PassThisCategoryResponse") + public JAXBElement createWSPassThisCategoryResponse(WSPassThisCategoryResponse value) { + return new JAXBElement(_WSPassThisCategoryResponse_QNAME, WSPassThisCategoryResponse.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link WSGetExamListResponse }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://ws.dhu.edu/", name = "WS_GetExamListResponse") + public JAXBElement createWSGetExamListResponse(WSGetExamListResponse value) { + return new JAXBElement(_WSGetExamListResponse_QNAME, WSGetExamListResponse.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link WSLoginResponse }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://ws.dhu.edu/", name = "WS_LoginResponse") + public JAXBElement createWSLoginResponse(WSLoginResponse value) { + return new JAXBElement(_WSLoginResponse_QNAME, WSLoginResponse.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link WSViewWrongCase }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://ws.dhu.edu/", name = "WS_ViewWrongCase") + public JAXBElement createWSViewWrongCase(WSViewWrongCase value) { + return new JAXBElement(_WSViewWrongCase_QNAME, WSViewWrongCase.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link WSSkipThisProblemResponse }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://ws.dhu.edu/", name = "WS_SkipThisProblemResponse") + public JAXBElement createWSSkipThisProblemResponse(WSSkipThisProblemResponse value) { + return new JAXBElement(_WSSkipThisProblemResponse_QNAME, WSSkipThisProblemResponse.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link WSSubmitHistory }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://ws.dhu.edu/", name = "WS_SubmitHistory") + public JAXBElement createWSSubmitHistory(WSSubmitHistory value) { + return new JAXBElement(_WSSubmitHistory_QNAME, WSSubmitHistory.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link WSDrawProblemResponse }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://ws.dhu.edu/", name = "WS_DrawProblemResponse") + public JAXBElement createWSDrawProblemResponse(WSDrawProblemResponse value) { + return new JAXBElement(_WSDrawProblemResponse_QNAME, WSDrawProblemResponse.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link WSGetProblem4Judge }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://ws.dhu.edu/", name = "WS_GetProblem4Judge") + public JAXBElement createWSGetProblem4Judge(WSGetProblem4Judge value) { + return new JAXBElement(_WSGetProblem4Judge_QNAME, WSGetProblem4Judge.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link WSGetExamProblemStatus }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://ws.dhu.edu/", name = "WS_GetExamProblemStatus") + public JAXBElement createWSGetExamProblemStatus(WSGetExamProblemStatus value) { + return new JAXBElement(_WSGetExamProblemStatus_QNAME, WSGetExamProblemStatus.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link WSIsPermit }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://ws.dhu.edu/", name = "WS_IsPermit") + public JAXBElement createWSIsPermit(WSIsPermit value) { + return new JAXBElement(_WSIsPermit_QNAME, WSIsPermit.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link WSGetExamProblems }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://ws.dhu.edu/", name = "WS_GetExamProblems") + public JAXBElement createWSGetExamProblems(WSGetExamProblems value) { + return new JAXBElement(_WSGetExamProblems_QNAME, WSGetExamProblems.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link WSGetExamProblemStatusResponse }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://ws.dhu.edu/", name = "WS_GetExamProblemStatusResponse") + public JAXBElement createWSGetExamProblemStatusResponse(WSGetExamProblemStatusResponse value) { + return new JAXBElement(_WSGetExamProblemStatusResponse_QNAME, WSGetExamProblemStatusResponse.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link WSGetExamDetail }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://ws.dhu.edu/", name = "WS_GetExamDetail") + public JAXBElement createWSGetExamDetail(WSGetExamDetail value) { + return new JAXBElement(_WSGetExamDetail_QNAME, WSGetExamDetail.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link WSGetSolutionsResponse }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://ws.dhu.edu/", name = "WS_GetSolutionsResponse") + public JAXBElement createWSGetSolutionsResponse(WSGetSolutionsResponse value) { + return new JAXBElement(_WSGetSolutionsResponse_QNAME, WSGetSolutionsResponse.class, null, value); + } + +} diff --git a/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSCanDoCategory.java b/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSCanDoCategory.java new file mode 100644 index 0000000..d4d14cd --- /dev/null +++ b/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSCanDoCategory.java @@ -0,0 +1,106 @@ + +package edu.dhu.ws; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlType; + + +/** + *

WS_CanDoCategory complex type Java ࡣ + * + *

ģʽƬָڴеԤݡ + * + *

+ * <complexType name="WS_CanDoCategory">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="arg0" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="arg1" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="arg2" type="{http://www.w3.org/2001/XMLSchema}int"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "WS_CanDoCategory", propOrder = { + "arg0", + "arg1", + "arg2" +}) +public class WSCanDoCategory { + + protected String arg0; + protected String arg1; + protected int arg2; + + /** + * ȡarg0Եֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getArg0() { + return arg0; + } + + /** + * arg0Եֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArg0(String value) { + this.arg0 = value; + } + + /** + * ȡarg1Եֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getArg1() { + return arg1; + } + + /** + * arg1Եֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArg1(String value) { + this.arg1 = value; + } + + /** + * ȡarg2Եֵ + * + */ + public int getArg2() { + return arg2; + } + + /** + * arg2Եֵ + * + */ + public void setArg2(int value) { + this.arg2 = value; + } + +} diff --git a/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSCanDoCategoryResponse.java b/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSCanDoCategoryResponse.java new file mode 100644 index 0000000..a9877a7 --- /dev/null +++ b/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSCanDoCategoryResponse.java @@ -0,0 +1,62 @@ + +package edu.dhu.ws; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + *

WS_CanDoCategoryResponse complex type Java ࡣ + * + *

ģʽƬָڴеԤݡ + * + *

+ * <complexType name="WS_CanDoCategoryResponse">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="return" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "WS_CanDoCategoryResponse", propOrder = { + "_return" +}) +public class WSCanDoCategoryResponse { + + @XmlElement(name = "return") + protected String _return; + + /** + * ȡreturnԵֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getReturn() { + return _return; + } + + /** + * returnԵֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setReturn(String value) { + this._return = value; + } + +} diff --git a/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSDrawProblem.java b/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSDrawProblem.java new file mode 100644 index 0000000..70ac009 --- /dev/null +++ b/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSDrawProblem.java @@ -0,0 +1,125 @@ + +package edu.dhu.ws; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlType; + + +/** + *

WS_DrawProblem complex type Java ࡣ + * + *

ģʽƬָڴеԤݡ + * + *

+ * <complexType name="WS_DrawProblem">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="arg0" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="arg1" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="arg2" type="{http://www.w3.org/2001/XMLSchema}int"/>
+ *         <element name="arg3" type="{http://www.w3.org/2001/XMLSchema}int"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "WS_DrawProblem", propOrder = { + "arg0", + "arg1", + "arg2", + "arg3" +}) +public class WSDrawProblem { + + protected String arg0; + protected String arg1; + protected int arg2; + protected int arg3; + + /** + * ȡarg0Եֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getArg0() { + return arg0; + } + + /** + * arg0Եֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArg0(String value) { + this.arg0 = value; + } + + /** + * ȡarg1Եֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getArg1() { + return arg1; + } + + /** + * arg1Եֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArg1(String value) { + this.arg1 = value; + } + + /** + * ȡarg2Եֵ + * + */ + public int getArg2() { + return arg2; + } + + /** + * arg2Եֵ + * + */ + public void setArg2(int value) { + this.arg2 = value; + } + + /** + * ȡarg3Եֵ + * + */ + public int getArg3() { + return arg3; + } + + /** + * arg3Եֵ + * + */ + public void setArg3(int value) { + this.arg3 = value; + } + +} diff --git a/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSDrawProblemResponse.java b/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSDrawProblemResponse.java new file mode 100644 index 0000000..a18d26d --- /dev/null +++ b/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSDrawProblemResponse.java @@ -0,0 +1,60 @@ + +package edu.dhu.ws; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + *

WS_DrawProblemResponse complex type Java ࡣ + * + *

ģʽƬָڴеԤݡ + * + *

+ * <complexType name="WS_DrawProblemResponse">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="return" type="{http://www.w3.org/2001/XMLSchema}base64Binary" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "WS_DrawProblemResponse", propOrder = { + "_return" +}) +public class WSDrawProblemResponse { + + @XmlElement(name = "return") + protected byte[] _return; + + /** + * ȡreturnԵֵ + * + * @return + * possible object is + * byte[] + */ + public byte[] getReturn() { + return _return; + } + + /** + * returnԵֵ + * + * @param value + * allowed object is + * byte[] + */ + public void setReturn(byte[] value) { + this._return = value; + } + +} diff --git a/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSGetExamById.java b/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSGetExamById.java new file mode 100644 index 0000000..b64d96b --- /dev/null +++ b/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSGetExamById.java @@ -0,0 +1,106 @@ + +package edu.dhu.ws; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlType; + + +/** + *

WS_GetExamById complex type Java ࡣ + * + *

ģʽƬָڴеԤݡ + * + *

+ * <complexType name="WS_GetExamById">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="arg0" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="arg1" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="arg2" type="{http://www.w3.org/2001/XMLSchema}int"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "WS_GetExamById", propOrder = { + "arg0", + "arg1", + "arg2" +}) +public class WSGetExamById { + + protected String arg0; + protected String arg1; + protected int arg2; + + /** + * ȡarg0Եֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getArg0() { + return arg0; + } + + /** + * arg0Եֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArg0(String value) { + this.arg0 = value; + } + + /** + * ȡarg1Եֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getArg1() { + return arg1; + } + + /** + * arg1Եֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArg1(String value) { + this.arg1 = value; + } + + /** + * ȡarg2Եֵ + * + */ + public int getArg2() { + return arg2; + } + + /** + * arg2Եֵ + * + */ + public void setArg2(int value) { + this.arg2 = value; + } + +} diff --git a/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSGetExamByIdResponse.java b/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSGetExamByIdResponse.java new file mode 100644 index 0000000..d6ea0b2 --- /dev/null +++ b/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSGetExamByIdResponse.java @@ -0,0 +1,62 @@ + +package edu.dhu.ws; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + *

WS_GetExamByIdResponse complex type Java ࡣ + * + *

ģʽƬָڴеԤݡ + * + *

+ * <complexType name="WS_GetExamByIdResponse">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="return" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "WS_GetExamByIdResponse", propOrder = { + "_return" +}) +public class WSGetExamByIdResponse { + + @XmlElement(name = "return") + protected String _return; + + /** + * ȡreturnԵֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getReturn() { + return _return; + } + + /** + * returnԵֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setReturn(String value) { + this._return = value; + } + +} diff --git a/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSGetExamDetail.java b/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSGetExamDetail.java new file mode 100644 index 0000000..c2c0090 --- /dev/null +++ b/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSGetExamDetail.java @@ -0,0 +1,106 @@ + +package edu.dhu.ws; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlType; + + +/** + *

WS_GetExamDetail complex type Java ࡣ + * + *

ģʽƬָڴеԤݡ + * + *

+ * <complexType name="WS_GetExamDetail">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="arg0" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="arg1" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="arg2" type="{http://www.w3.org/2001/XMLSchema}int"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "WS_GetExamDetail", propOrder = { + "arg0", + "arg1", + "arg2" +}) +public class WSGetExamDetail { + + protected String arg0; + protected String arg1; + protected int arg2; + + /** + * ȡarg0Եֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getArg0() { + return arg0; + } + + /** + * arg0Եֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArg0(String value) { + this.arg0 = value; + } + + /** + * ȡarg1Եֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getArg1() { + return arg1; + } + + /** + * arg1Եֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArg1(String value) { + this.arg1 = value; + } + + /** + * ȡarg2Եֵ + * + */ + public int getArg2() { + return arg2; + } + + /** + * arg2Եֵ + * + */ + public void setArg2(int value) { + this.arg2 = value; + } + +} diff --git a/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSGetExamDetailResponse.java b/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSGetExamDetailResponse.java new file mode 100644 index 0000000..db02d15 --- /dev/null +++ b/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSGetExamDetailResponse.java @@ -0,0 +1,62 @@ + +package edu.dhu.ws; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + *

WS_GetExamDetailResponse complex type Java ࡣ + * + *

ģʽƬָڴеԤݡ + * + *

+ * <complexType name="WS_GetExamDetailResponse">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="return" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "WS_GetExamDetailResponse", propOrder = { + "_return" +}) +public class WSGetExamDetailResponse { + + @XmlElement(name = "return") + protected String _return; + + /** + * ȡreturnԵֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getReturn() { + return _return; + } + + /** + * returnԵֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setReturn(String value) { + this._return = value; + } + +} diff --git a/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSGetExamList.java b/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSGetExamList.java new file mode 100644 index 0000000..e71f53b --- /dev/null +++ b/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSGetExamList.java @@ -0,0 +1,87 @@ + +package edu.dhu.ws; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlType; + + +/** + *

WS_GetExamList complex type Java ࡣ + * + *

ģʽƬָڴеԤݡ + * + *

+ * <complexType name="WS_GetExamList">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="arg0" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="arg1" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "WS_GetExamList", propOrder = { + "arg0", + "arg1" +}) +public class WSGetExamList { + + protected String arg0; + protected String arg1; + + /** + * ȡarg0Եֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getArg0() { + return arg0; + } + + /** + * arg0Եֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArg0(String value) { + this.arg0 = value; + } + + /** + * ȡarg1Եֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getArg1() { + return arg1; + } + + /** + * arg1Եֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArg1(String value) { + this.arg1 = value; + } + +} diff --git a/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSGetExamListResponse.java b/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSGetExamListResponse.java new file mode 100644 index 0000000..bb31ad3 --- /dev/null +++ b/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSGetExamListResponse.java @@ -0,0 +1,62 @@ + +package edu.dhu.ws; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + *

WS_GetExamListResponse complex type Java ࡣ + * + *

ģʽƬָڴеԤݡ + * + *

+ * <complexType name="WS_GetExamListResponse">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="return" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "WS_GetExamListResponse", propOrder = { + "_return" +}) +public class WSGetExamListResponse { + + @XmlElement(name = "return") + protected String _return; + + /** + * ȡreturnԵֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getReturn() { + return _return; + } + + /** + * returnԵֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setReturn(String value) { + this._return = value; + } + +} diff --git a/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSGetExamProCatagorys.java b/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSGetExamProCatagorys.java new file mode 100644 index 0000000..0ab693a --- /dev/null +++ b/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSGetExamProCatagorys.java @@ -0,0 +1,106 @@ + +package edu.dhu.ws; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlType; + + +/** + *

WS_GetExamProCatagorys complex type Java ࡣ + * + *

ģʽƬָڴеԤݡ + * + *

+ * <complexType name="WS_GetExamProCatagorys">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="arg0" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="arg1" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="arg2" type="{http://www.w3.org/2001/XMLSchema}int"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "WS_GetExamProCatagorys", propOrder = { + "arg0", + "arg1", + "arg2" +}) +public class WSGetExamProCatagorys { + + protected String arg0; + protected String arg1; + protected int arg2; + + /** + * ȡarg0Եֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getArg0() { + return arg0; + } + + /** + * arg0Եֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArg0(String value) { + this.arg0 = value; + } + + /** + * ȡarg1Եֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getArg1() { + return arg1; + } + + /** + * arg1Եֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArg1(String value) { + this.arg1 = value; + } + + /** + * ȡarg2Եֵ + * + */ + public int getArg2() { + return arg2; + } + + /** + * arg2Եֵ + * + */ + public void setArg2(int value) { + this.arg2 = value; + } + +} diff --git a/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSGetExamProCatagorysResponse.java b/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSGetExamProCatagorysResponse.java new file mode 100644 index 0000000..0924a89 --- /dev/null +++ b/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSGetExamProCatagorysResponse.java @@ -0,0 +1,62 @@ + +package edu.dhu.ws; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + *

WS_GetExamProCatagorysResponse complex type Java ࡣ + * + *

ģʽƬָڴеԤݡ + * + *

+ * <complexType name="WS_GetExamProCatagorysResponse">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="return" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "WS_GetExamProCatagorysResponse", propOrder = { + "_return" +}) +public class WSGetExamProCatagorysResponse { + + @XmlElement(name = "return") + protected String _return; + + /** + * ȡreturnԵֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getReturn() { + return _return; + } + + /** + * returnԵֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setReturn(String value) { + this._return = value; + } + +} diff --git a/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSGetExamProblemStatus.java b/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSGetExamProblemStatus.java new file mode 100644 index 0000000..ab7727a --- /dev/null +++ b/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSGetExamProblemStatus.java @@ -0,0 +1,125 @@ + +package edu.dhu.ws; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlType; + + +/** + *

WS_GetExamProblemStatus complex type Java ࡣ + * + *

ģʽƬָڴеԤݡ + * + *

+ * <complexType name="WS_GetExamProblemStatus">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="arg0" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="arg1" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="arg2" type="{http://www.w3.org/2001/XMLSchema}int"/>
+ *         <element name="arg3" type="{http://www.w3.org/2001/XMLSchema}int"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "WS_GetExamProblemStatus", propOrder = { + "arg0", + "arg1", + "arg2", + "arg3" +}) +public class WSGetExamProblemStatus { + + protected String arg0; + protected String arg1; + protected int arg2; + protected int arg3; + + /** + * ȡarg0Եֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getArg0() { + return arg0; + } + + /** + * arg0Եֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArg0(String value) { + this.arg0 = value; + } + + /** + * ȡarg1Եֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getArg1() { + return arg1; + } + + /** + * arg1Եֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArg1(String value) { + this.arg1 = value; + } + + /** + * ȡarg2Եֵ + * + */ + public int getArg2() { + return arg2; + } + + /** + * arg2Եֵ + * + */ + public void setArg2(int value) { + this.arg2 = value; + } + + /** + * ȡarg3Եֵ + * + */ + public int getArg3() { + return arg3; + } + + /** + * arg3Եֵ + * + */ + public void setArg3(int value) { + this.arg3 = value; + } + +} diff --git a/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSGetExamProblemStatusResponse.java b/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSGetExamProblemStatusResponse.java new file mode 100644 index 0000000..955eeed --- /dev/null +++ b/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSGetExamProblemStatusResponse.java @@ -0,0 +1,62 @@ + +package edu.dhu.ws; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + *

WS_GetExamProblemStatusResponse complex type Java ࡣ + * + *

ģʽƬָڴеԤݡ + * + *

+ * <complexType name="WS_GetExamProblemStatusResponse">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="return" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "WS_GetExamProblemStatusResponse", propOrder = { + "_return" +}) +public class WSGetExamProblemStatusResponse { + + @XmlElement(name = "return") + protected String _return; + + /** + * ȡreturnԵֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getReturn() { + return _return; + } + + /** + * returnԵֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setReturn(String value) { + this._return = value; + } + +} diff --git a/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSGetExamProblems.java b/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSGetExamProblems.java new file mode 100644 index 0000000..c4ce56d --- /dev/null +++ b/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSGetExamProblems.java @@ -0,0 +1,106 @@ + +package edu.dhu.ws; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlType; + + +/** + *

WS_GetExamProblems complex type Java ࡣ + * + *

ģʽƬָڴеԤݡ + * + *

+ * <complexType name="WS_GetExamProblems">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="arg0" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="arg1" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="arg2" type="{http://www.w3.org/2001/XMLSchema}int"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "WS_GetExamProblems", propOrder = { + "arg0", + "arg1", + "arg2" +}) +public class WSGetExamProblems { + + protected String arg0; + protected String arg1; + protected int arg2; + + /** + * ȡarg0Եֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getArg0() { + return arg0; + } + + /** + * arg0Եֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArg0(String value) { + this.arg0 = value; + } + + /** + * ȡarg1Եֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getArg1() { + return arg1; + } + + /** + * arg1Եֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArg1(String value) { + this.arg1 = value; + } + + /** + * ȡarg2Եֵ + * + */ + public int getArg2() { + return arg2; + } + + /** + * arg2Եֵ + * + */ + public void setArg2(int value) { + this.arg2 = value; + } + +} diff --git a/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSGetExamProblemsResponse.java b/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSGetExamProblemsResponse.java new file mode 100644 index 0000000..c045476 --- /dev/null +++ b/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSGetExamProblemsResponse.java @@ -0,0 +1,62 @@ + +package edu.dhu.ws; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + *

WS_GetExamProblemsResponse complex type Java ࡣ + * + *

ģʽƬָڴеԤݡ + * + *

+ * <complexType name="WS_GetExamProblemsResponse">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="return" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "WS_GetExamProblemsResponse", propOrder = { + "_return" +}) +public class WSGetExamProblemsResponse { + + @XmlElement(name = "return") + protected String _return; + + /** + * ȡreturnԵֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getReturn() { + return _return; + } + + /** + * returnԵֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setReturn(String value) { + this._return = value; + } + +} diff --git a/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSGetProblem.java b/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSGetProblem.java new file mode 100644 index 0000000..f4e4c66 --- /dev/null +++ b/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSGetProblem.java @@ -0,0 +1,125 @@ + +package edu.dhu.ws; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlType; + + +/** + *

WS_GetProblem complex type Java ࡣ + * + *

ģʽƬָڴеԤݡ + * + *

+ * <complexType name="WS_GetProblem">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="arg0" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="arg1" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="arg2" type="{http://www.w3.org/2001/XMLSchema}int"/>
+ *         <element name="arg3" type="{http://www.w3.org/2001/XMLSchema}int"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "WS_GetProblem", propOrder = { + "arg0", + "arg1", + "arg2", + "arg3" +}) +public class WSGetProblem { + + protected String arg0; + protected String arg1; + protected int arg2; + protected int arg3; + + /** + * ȡarg0Եֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getArg0() { + return arg0; + } + + /** + * arg0Եֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArg0(String value) { + this.arg0 = value; + } + + /** + * ȡarg1Եֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getArg1() { + return arg1; + } + + /** + * arg1Եֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArg1(String value) { + this.arg1 = value; + } + + /** + * ȡarg2Եֵ + * + */ + public int getArg2() { + return arg2; + } + + /** + * arg2Եֵ + * + */ + public void setArg2(int value) { + this.arg2 = value; + } + + /** + * ȡarg3Եֵ + * + */ + public int getArg3() { + return arg3; + } + + /** + * arg3Եֵ + * + */ + public void setArg3(int value) { + this.arg3 = value; + } + +} diff --git a/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSGetProblem4Judge.java b/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSGetProblem4Judge.java new file mode 100644 index 0000000..ac32539 --- /dev/null +++ b/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSGetProblem4Judge.java @@ -0,0 +1,106 @@ + +package edu.dhu.ws; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlType; + + +/** + *

WS_GetProblem4Judge complex type Java ࡣ + * + *

ģʽƬָڴеԤݡ + * + *

+ * <complexType name="WS_GetProblem4Judge">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="arg0" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="arg1" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="arg2" type="{http://www.w3.org/2001/XMLSchema}int"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "WS_GetProblem4Judge", propOrder = { + "arg0", + "arg1", + "arg2" +}) +public class WSGetProblem4Judge { + + protected String arg0; + protected String arg1; + protected int arg2; + + /** + * ȡarg0Եֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getArg0() { + return arg0; + } + + /** + * arg0Եֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArg0(String value) { + this.arg0 = value; + } + + /** + * ȡarg1Եֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getArg1() { + return arg1; + } + + /** + * arg1Եֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArg1(String value) { + this.arg1 = value; + } + + /** + * ȡarg2Եֵ + * + */ + public int getArg2() { + return arg2; + } + + /** + * arg2Եֵ + * + */ + public void setArg2(int value) { + this.arg2 = value; + } + +} diff --git a/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSGetProblem4JudgeResponse.java b/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSGetProblem4JudgeResponse.java new file mode 100644 index 0000000..13c341f --- /dev/null +++ b/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSGetProblem4JudgeResponse.java @@ -0,0 +1,60 @@ + +package edu.dhu.ws; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + *

WS_GetProblem4JudgeResponse complex type Java ࡣ + * + *

ģʽƬָڴеԤݡ + * + *

+ * <complexType name="WS_GetProblem4JudgeResponse">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="return" type="{http://www.w3.org/2001/XMLSchema}base64Binary" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "WS_GetProblem4JudgeResponse", propOrder = { + "_return" +}) +public class WSGetProblem4JudgeResponse { + + @XmlElement(name = "return") + protected byte[] _return; + + /** + * ȡreturnԵֵ + * + * @return + * possible object is + * byte[] + */ + public byte[] getReturn() { + return _return; + } + + /** + * returnԵֵ + * + * @param value + * allowed object is + * byte[] + */ + public void setReturn(byte[] value) { + this._return = value; + } + +} diff --git a/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSGetProblemResponse.java b/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSGetProblemResponse.java new file mode 100644 index 0000000..cae3cf8 --- /dev/null +++ b/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSGetProblemResponse.java @@ -0,0 +1,60 @@ + +package edu.dhu.ws; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + *

WS_GetProblemResponse complex type Java ࡣ + * + *

ģʽƬָڴеԤݡ + * + *

+ * <complexType name="WS_GetProblemResponse">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="return" type="{http://www.w3.org/2001/XMLSchema}base64Binary" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "WS_GetProblemResponse", propOrder = { + "_return" +}) +public class WSGetProblemResponse { + + @XmlElement(name = "return") + protected byte[] _return; + + /** + * ȡreturnԵֵ + * + * @return + * possible object is + * byte[] + */ + public byte[] getReturn() { + return _return; + } + + /** + * returnԵֵ + * + * @param value + * allowed object is + * byte[] + */ + public void setReturn(byte[] value) { + this._return = value; + } + +} diff --git a/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSGetSolutions.java b/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSGetSolutions.java new file mode 100644 index 0000000..e371d14 --- /dev/null +++ b/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSGetSolutions.java @@ -0,0 +1,106 @@ + +package edu.dhu.ws; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlType; + + +/** + *

WS_GetSolutions complex type Java ࡣ + * + *

ģʽƬָڴеԤݡ + * + *

+ * <complexType name="WS_GetSolutions">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="arg0" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="arg1" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="arg2" type="{http://www.w3.org/2001/XMLSchema}int"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "WS_GetSolutions", propOrder = { + "arg0", + "arg1", + "arg2" +}) +public class WSGetSolutions { + + protected String arg0; + protected String arg1; + protected int arg2; + + /** + * ȡarg0Եֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getArg0() { + return arg0; + } + + /** + * arg0Եֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArg0(String value) { + this.arg0 = value; + } + + /** + * ȡarg1Եֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getArg1() { + return arg1; + } + + /** + * arg1Եֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArg1(String value) { + this.arg1 = value; + } + + /** + * ȡarg2Եֵ + * + */ + public int getArg2() { + return arg2; + } + + /** + * arg2Եֵ + * + */ + public void setArg2(int value) { + this.arg2 = value; + } + +} diff --git a/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSGetSolutionsResponse.java b/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSGetSolutionsResponse.java new file mode 100644 index 0000000..ae19991 --- /dev/null +++ b/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSGetSolutionsResponse.java @@ -0,0 +1,62 @@ + +package edu.dhu.ws; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + *

WS_GetSolutionsResponse complex type Java ࡣ + * + *

ģʽƬָڴеԤݡ + * + *

+ * <complexType name="WS_GetSolutionsResponse">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="return" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "WS_GetSolutionsResponse", propOrder = { + "_return" +}) +public class WSGetSolutionsResponse { + + @XmlElement(name = "return") + protected String _return; + + /** + * ȡreturnԵֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getReturn() { + return _return; + } + + /** + * returnԵֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setReturn(String value) { + this._return = value; + } + +} diff --git a/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSIsPermit.java b/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSIsPermit.java new file mode 100644 index 0000000..3a58d13 --- /dev/null +++ b/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSIsPermit.java @@ -0,0 +1,133 @@ + +package edu.dhu.ws; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlType; + + +/** + *

WS_IsPermit complex type Java ࡣ + * + *

ģʽƬָڴеԤݡ + * + *

+ * <complexType name="WS_IsPermit">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="arg0" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="arg1" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="arg2" type="{http://www.w3.org/2001/XMLSchema}int"/>
+ *         <element name="arg3" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "WS_IsPermit", propOrder = { + "arg0", + "arg1", + "arg2", + "arg3" +}) +public class WSIsPermit { + + protected String arg0; + protected String arg1; + protected int arg2; + protected String arg3; + + /** + * ȡarg0Եֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getArg0() { + return arg0; + } + + /** + * arg0Եֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArg0(String value) { + this.arg0 = value; + } + + /** + * ȡarg1Եֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getArg1() { + return arg1; + } + + /** + * arg1Եֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArg1(String value) { + this.arg1 = value; + } + + /** + * ȡarg2Եֵ + * + */ + public int getArg2() { + return arg2; + } + + /** + * arg2Եֵ + * + */ + public void setArg2(int value) { + this.arg2 = value; + } + + /** + * ȡarg3Եֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getArg3() { + return arg3; + } + + /** + * arg3Եֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArg3(String value) { + this.arg3 = value; + } + +} diff --git a/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSIsPermitResponse.java b/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSIsPermitResponse.java new file mode 100644 index 0000000..7825cae --- /dev/null +++ b/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSIsPermitResponse.java @@ -0,0 +1,62 @@ + +package edu.dhu.ws; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + *

WS_IsPermitResponse complex type Java ࡣ + * + *

ģʽƬָڴеԤݡ + * + *

+ * <complexType name="WS_IsPermitResponse">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="return" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "WS_IsPermitResponse", propOrder = { + "_return" +}) +public class WSIsPermitResponse { + + @XmlElement(name = "return") + protected String _return; + + /** + * ȡreturnԵֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getReturn() { + return _return; + } + + /** + * returnԵֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setReturn(String value) { + this._return = value; + } + +} diff --git a/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSItrainSubmitCode.java b/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSItrainSubmitCode.java new file mode 100644 index 0000000..1d56dc5 --- /dev/null +++ b/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSItrainSubmitCode.java @@ -0,0 +1,133 @@ + +package edu.dhu.ws; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlType; + + +/** + *

WS_ItrainSubmitCode complex type Java ࡣ + * + *

ģʽƬָڴеԤݡ + * + *

+ * <complexType name="WS_ItrainSubmitCode">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="arg0" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="arg1" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="arg2" type="{http://www.w3.org/2001/XMLSchema}int"/>
+ *         <element name="arg3" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "WS_ItrainSubmitCode", propOrder = { + "arg0", + "arg1", + "arg2", + "arg3" +}) +public class WSItrainSubmitCode { + + protected String arg0; + protected String arg1; + protected int arg2; + protected String arg3; + + /** + * ȡarg0Եֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getArg0() { + return arg0; + } + + /** + * arg0Եֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArg0(String value) { + this.arg0 = value; + } + + /** + * ȡarg1Եֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getArg1() { + return arg1; + } + + /** + * arg1Եֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArg1(String value) { + this.arg1 = value; + } + + /** + * ȡarg2Եֵ + * + */ + public int getArg2() { + return arg2; + } + + /** + * arg2Եֵ + * + */ + public void setArg2(int value) { + this.arg2 = value; + } + + /** + * ȡarg3Եֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getArg3() { + return arg3; + } + + /** + * arg3Եֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArg3(String value) { + this.arg3 = value; + } + +} diff --git a/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSItrainSubmitCodeResponse.java b/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSItrainSubmitCodeResponse.java new file mode 100644 index 0000000..1915f09 --- /dev/null +++ b/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSItrainSubmitCodeResponse.java @@ -0,0 +1,62 @@ + +package edu.dhu.ws; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + *

WS_ItrainSubmitCodeResponse complex type Java ࡣ + * + *

ģʽƬָڴеԤݡ + * + *

+ * <complexType name="WS_ItrainSubmitCodeResponse">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="return" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "WS_ItrainSubmitCodeResponse", propOrder = { + "_return" +}) +public class WSItrainSubmitCodeResponse { + + @XmlElement(name = "return") + protected String _return; + + /** + * ȡreturnԵֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getReturn() { + return _return; + } + + /** + * returnԵֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setReturn(String value) { + this._return = value; + } + +} diff --git a/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSItrainSubmitThisProblem.java b/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSItrainSubmitThisProblem.java new file mode 100644 index 0000000..e8e2995 --- /dev/null +++ b/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSItrainSubmitThisProblem.java @@ -0,0 +1,160 @@ + +package edu.dhu.ws; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlType; + + +/** + *

WS_ItrainSubmitThisProblem complex type Java ࡣ + * + *

ģʽƬָڴеԤݡ + * + *

+ * <complexType name="WS_ItrainSubmitThisProblem">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="arg0" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="arg1" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="arg2" type="{http://www.w3.org/2001/XMLSchema}int"/>
+ *         <element name="arg3" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="arg4" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "WS_ItrainSubmitThisProblem", propOrder = { + "arg0", + "arg1", + "arg2", + "arg3", + "arg4" +}) +public class WSItrainSubmitThisProblem { + + protected String arg0; + protected String arg1; + protected int arg2; + protected String arg3; + protected String arg4; + + /** + * ȡarg0Եֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getArg0() { + return arg0; + } + + /** + * arg0Եֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArg0(String value) { + this.arg0 = value; + } + + /** + * ȡarg1Եֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getArg1() { + return arg1; + } + + /** + * arg1Եֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArg1(String value) { + this.arg1 = value; + } + + /** + * ȡarg2Եֵ + * + */ + public int getArg2() { + return arg2; + } + + /** + * arg2Եֵ + * + */ + public void setArg2(int value) { + this.arg2 = value; + } + + /** + * ȡarg3Եֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getArg3() { + return arg3; + } + + /** + * arg3Եֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArg3(String value) { + this.arg3 = value; + } + + /** + * ȡarg4Եֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getArg4() { + return arg4; + } + + /** + * arg4Եֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArg4(String value) { + this.arg4 = value; + } + +} diff --git a/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSItrainSubmitThisProblemResponse.java b/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSItrainSubmitThisProblemResponse.java new file mode 100644 index 0000000..2042a9e --- /dev/null +++ b/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSItrainSubmitThisProblemResponse.java @@ -0,0 +1,62 @@ + +package edu.dhu.ws; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + *

WS_ItrainSubmitThisProblemResponse complex type Java ࡣ + * + *

ģʽƬָڴеԤݡ + * + *

+ * <complexType name="WS_ItrainSubmitThisProblemResponse">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="return" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "WS_ItrainSubmitThisProblemResponse", propOrder = { + "_return" +}) +public class WSItrainSubmitThisProblemResponse { + + @XmlElement(name = "return") + protected String _return; + + /** + * ȡreturnԵֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getReturn() { + return _return; + } + + /** + * returnԵֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setReturn(String value) { + this._return = value; + } + +} diff --git a/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSLogin.java b/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSLogin.java new file mode 100644 index 0000000..fb73f56 --- /dev/null +++ b/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSLogin.java @@ -0,0 +1,87 @@ + +package edu.dhu.ws; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlType; + + +/** + *

WS_Login complex type Java ࡣ + * + *

ģʽƬָڴеԤݡ + * + *

+ * <complexType name="WS_Login">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="arg0" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="arg1" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "WS_Login", propOrder = { + "arg0", + "arg1" +}) +public class WSLogin { + + protected String arg0; + protected String arg1; + + /** + * ȡarg0Եֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getArg0() { + return arg0; + } + + /** + * arg0Եֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArg0(String value) { + this.arg0 = value; + } + + /** + * ȡarg1Եֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getArg1() { + return arg1; + } + + /** + * arg1Եֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArg1(String value) { + this.arg1 = value; + } + +} diff --git a/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSLoginResponse.java b/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSLoginResponse.java new file mode 100644 index 0000000..003d341 --- /dev/null +++ b/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSLoginResponse.java @@ -0,0 +1,62 @@ + +package edu.dhu.ws; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + *

WS_LoginResponse complex type Java ࡣ + * + *

ģʽƬָڴеԤݡ + * + *

+ * <complexType name="WS_LoginResponse">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="return" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "WS_LoginResponse", propOrder = { + "_return" +}) +public class WSLoginResponse { + + @XmlElement(name = "return") + protected String _return; + + /** + * ȡreturnԵֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getReturn() { + return _return; + } + + /** + * returnԵֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setReturn(String value) { + this._return = value; + } + +} diff --git a/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSPassThisCategory.java b/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSPassThisCategory.java new file mode 100644 index 0000000..2572a3a --- /dev/null +++ b/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSPassThisCategory.java @@ -0,0 +1,125 @@ + +package edu.dhu.ws; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlType; + + +/** + *

WS_PassThisCategory complex type Java ࡣ + * + *

ģʽƬָڴеԤݡ + * + *

+ * <complexType name="WS_PassThisCategory">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="arg0" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="arg1" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="arg2" type="{http://www.w3.org/2001/XMLSchema}int"/>
+ *         <element name="arg3" type="{http://www.w3.org/2001/XMLSchema}int"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "WS_PassThisCategory", propOrder = { + "arg0", + "arg1", + "arg2", + "arg3" +}) +public class WSPassThisCategory { + + protected String arg0; + protected String arg1; + protected int arg2; + protected int arg3; + + /** + * ȡarg0Եֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getArg0() { + return arg0; + } + + /** + * arg0Եֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArg0(String value) { + this.arg0 = value; + } + + /** + * ȡarg1Եֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getArg1() { + return arg1; + } + + /** + * arg1Եֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArg1(String value) { + this.arg1 = value; + } + + /** + * ȡarg2Եֵ + * + */ + public int getArg2() { + return arg2; + } + + /** + * arg2Եֵ + * + */ + public void setArg2(int value) { + this.arg2 = value; + } + + /** + * ȡarg3Եֵ + * + */ + public int getArg3() { + return arg3; + } + + /** + * arg3Եֵ + * + */ + public void setArg3(int value) { + this.arg3 = value; + } + +} diff --git a/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSPassThisCategoryResponse.java b/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSPassThisCategoryResponse.java new file mode 100644 index 0000000..6c23661 --- /dev/null +++ b/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSPassThisCategoryResponse.java @@ -0,0 +1,62 @@ + +package edu.dhu.ws; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + *

WS_PassThisCategoryResponse complex type Java ࡣ + * + *

ģʽƬָڴеԤݡ + * + *

+ * <complexType name="WS_PassThisCategoryResponse">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="return" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "WS_PassThisCategoryResponse", propOrder = { + "_return" +}) +public class WSPassThisCategoryResponse { + + @XmlElement(name = "return") + protected String _return; + + /** + * ȡreturnԵֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getReturn() { + return _return; + } + + /** + * returnԵֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setReturn(String value) { + this._return = value; + } + +} diff --git a/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSSkipThisProblem.java b/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSSkipThisProblem.java new file mode 100644 index 0000000..0c332a8 --- /dev/null +++ b/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSSkipThisProblem.java @@ -0,0 +1,144 @@ + +package edu.dhu.ws; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlType; + + +/** + *

WS_SkipThisProblem complex type Java ࡣ + * + *

ģʽƬָڴеԤݡ + * + *

+ * <complexType name="WS_SkipThisProblem">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="arg0" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="arg1" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="arg2" type="{http://www.w3.org/2001/XMLSchema}int"/>
+ *         <element name="arg3" type="{http://www.w3.org/2001/XMLSchema}int"/>
+ *         <element name="arg4" type="{http://www.w3.org/2001/XMLSchema}int"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "WS_SkipThisProblem", propOrder = { + "arg0", + "arg1", + "arg2", + "arg3", + "arg4" +}) +public class WSSkipThisProblem { + + protected String arg0; + protected String arg1; + protected int arg2; + protected int arg3; + protected int arg4; + + /** + * ȡarg0Եֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getArg0() { + return arg0; + } + + /** + * arg0Եֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArg0(String value) { + this.arg0 = value; + } + + /** + * ȡarg1Եֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getArg1() { + return arg1; + } + + /** + * arg1Եֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArg1(String value) { + this.arg1 = value; + } + + /** + * ȡarg2Եֵ + * + */ + public int getArg2() { + return arg2; + } + + /** + * arg2Եֵ + * + */ + public void setArg2(int value) { + this.arg2 = value; + } + + /** + * ȡarg3Եֵ + * + */ + public int getArg3() { + return arg3; + } + + /** + * arg3Եֵ + * + */ + public void setArg3(int value) { + this.arg3 = value; + } + + /** + * ȡarg4Եֵ + * + */ + public int getArg4() { + return arg4; + } + + /** + * arg4Եֵ + * + */ + public void setArg4(int value) { + this.arg4 = value; + } + +} diff --git a/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSSkipThisProblemResponse.java b/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSSkipThisProblemResponse.java new file mode 100644 index 0000000..2f3659f --- /dev/null +++ b/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSSkipThisProblemResponse.java @@ -0,0 +1,62 @@ + +package edu.dhu.ws; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + *

WS_SkipThisProblemResponse complex type Java ࡣ + * + *

ģʽƬָڴеԤݡ + * + *

+ * <complexType name="WS_SkipThisProblemResponse">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="return" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "WS_SkipThisProblemResponse", propOrder = { + "_return" +}) +public class WSSkipThisProblemResponse { + + @XmlElement(name = "return") + protected String _return; + + /** + * ȡreturnԵֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getReturn() { + return _return; + } + + /** + * returnԵֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setReturn(String value) { + this._return = value; + } + +} diff --git a/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSSubmitCode.java b/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSSubmitCode.java new file mode 100644 index 0000000..6f1a4e0 --- /dev/null +++ b/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSSubmitCode.java @@ -0,0 +1,114 @@ + +package edu.dhu.ws; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlType; + + +/** + *

WS_SubmitCode complex type Java ࡣ + * + *

ģʽƬָڴеԤݡ + * + *

+ * <complexType name="WS_SubmitCode">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="arg0" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="arg1" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="arg2" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "WS_SubmitCode", propOrder = { + "arg0", + "arg1", + "arg2" +}) +public class WSSubmitCode { + + protected String arg0; + protected String arg1; + protected String arg2; + + /** + * ȡarg0Եֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getArg0() { + return arg0; + } + + /** + * arg0Եֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArg0(String value) { + this.arg0 = value; + } + + /** + * ȡarg1Եֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getArg1() { + return arg1; + } + + /** + * arg1Եֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArg1(String value) { + this.arg1 = value; + } + + /** + * ȡarg2Եֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getArg2() { + return arg2; + } + + /** + * arg2Եֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArg2(String value) { + this.arg2 = value; + } + +} diff --git a/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSSubmitCodeResponse.java b/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSSubmitCodeResponse.java new file mode 100644 index 0000000..9d5d72f --- /dev/null +++ b/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSSubmitCodeResponse.java @@ -0,0 +1,62 @@ + +package edu.dhu.ws; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + *

WS_SubmitCodeResponse complex type Java ࡣ + * + *

ģʽƬָڴеԤݡ + * + *

+ * <complexType name="WS_SubmitCodeResponse">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="return" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "WS_SubmitCodeResponse", propOrder = { + "_return" +}) +public class WSSubmitCodeResponse { + + @XmlElement(name = "return") + protected String _return; + + /** + * ȡreturnԵֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getReturn() { + return _return; + } + + /** + * returnԵֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setReturn(String value) { + this._return = value; + } + +} diff --git a/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSSubmitHistory.java b/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSSubmitHistory.java new file mode 100644 index 0000000..674b53e --- /dev/null +++ b/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSSubmitHistory.java @@ -0,0 +1,106 @@ + +package edu.dhu.ws; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlType; + + +/** + *

WS_SubmitHistory complex type Java ࡣ + * + *

ģʽƬָڴеԤݡ + * + *

+ * <complexType name="WS_SubmitHistory">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="arg0" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="arg1" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="arg2" type="{http://www.w3.org/2001/XMLSchema}int"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "WS_SubmitHistory", propOrder = { + "arg0", + "arg1", + "arg2" +}) +public class WSSubmitHistory { + + protected String arg0; + protected String arg1; + protected int arg2; + + /** + * ȡarg0Եֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getArg0() { + return arg0; + } + + /** + * arg0Եֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArg0(String value) { + this.arg0 = value; + } + + /** + * ȡarg1Եֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getArg1() { + return arg1; + } + + /** + * arg1Եֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArg1(String value) { + this.arg1 = value; + } + + /** + * ȡarg2Եֵ + * + */ + public int getArg2() { + return arg2; + } + + /** + * arg2Եֵ + * + */ + public void setArg2(int value) { + this.arg2 = value; + } + +} diff --git a/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSSubmitHistoryResponse.java b/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSSubmitHistoryResponse.java new file mode 100644 index 0000000..43547cb --- /dev/null +++ b/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSSubmitHistoryResponse.java @@ -0,0 +1,62 @@ + +package edu.dhu.ws; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + *

WS_SubmitHistoryResponse complex type Java ࡣ + * + *

ģʽƬָڴеԤݡ + * + *

+ * <complexType name="WS_SubmitHistoryResponse">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="return" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "WS_SubmitHistoryResponse", propOrder = { + "_return" +}) +public class WSSubmitHistoryResponse { + + @XmlElement(name = "return") + protected String _return; + + /** + * ȡreturnԵֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getReturn() { + return _return; + } + + /** + * returnԵֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setReturn(String value) { + this._return = value; + } + +} diff --git a/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSSubmitThisProblem.java b/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSSubmitThisProblem.java new file mode 100644 index 0000000..d0149a4 --- /dev/null +++ b/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSSubmitThisProblem.java @@ -0,0 +1,114 @@ + +package edu.dhu.ws; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlType; + + +/** + *

WS_SubmitThisProblem complex type Java ࡣ + * + *

ģʽƬָڴеԤݡ + * + *

+ * <complexType name="WS_SubmitThisProblem">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="arg0" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="arg1" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="arg2" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "WS_SubmitThisProblem", propOrder = { + "arg0", + "arg1", + "arg2" +}) +public class WSSubmitThisProblem { + + protected String arg0; + protected String arg1; + protected String arg2; + + /** + * ȡarg0Եֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getArg0() { + return arg0; + } + + /** + * arg0Եֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArg0(String value) { + this.arg0 = value; + } + + /** + * ȡarg1Եֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getArg1() { + return arg1; + } + + /** + * arg1Եֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArg1(String value) { + this.arg1 = value; + } + + /** + * ȡarg2Եֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getArg2() { + return arg2; + } + + /** + * arg2Եֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArg2(String value) { + this.arg2 = value; + } + +} diff --git a/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSSubmitThisProblemResponse.java b/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSSubmitThisProblemResponse.java new file mode 100644 index 0000000..8db02b9 --- /dev/null +++ b/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSSubmitThisProblemResponse.java @@ -0,0 +1,62 @@ + +package edu.dhu.ws; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + *

WS_SubmitThisProblemResponse complex type Java ࡣ + * + *

ģʽƬָڴеԤݡ + * + *

+ * <complexType name="WS_SubmitThisProblemResponse">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="return" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "WS_SubmitThisProblemResponse", propOrder = { + "_return" +}) +public class WSSubmitThisProblemResponse { + + @XmlElement(name = "return") + protected String _return; + + /** + * ȡreturnԵֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getReturn() { + return _return; + } + + /** + * returnԵֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setReturn(String value) { + this._return = value; + } + +} diff --git a/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSSubmittedCode.java b/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSSubmittedCode.java new file mode 100644 index 0000000..2256f9e --- /dev/null +++ b/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSSubmittedCode.java @@ -0,0 +1,106 @@ + +package edu.dhu.ws; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlType; + + +/** + *

WS_SubmittedCode complex type Java ࡣ + * + *

ģʽƬָڴеԤݡ + * + *

+ * <complexType name="WS_SubmittedCode">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="arg0" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="arg1" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="arg2" type="{http://www.w3.org/2001/XMLSchema}int"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "WS_SubmittedCode", propOrder = { + "arg0", + "arg1", + "arg2" +}) +public class WSSubmittedCode { + + protected String arg0; + protected String arg1; + protected int arg2; + + /** + * ȡarg0Եֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getArg0() { + return arg0; + } + + /** + * arg0Եֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArg0(String value) { + this.arg0 = value; + } + + /** + * ȡarg1Եֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getArg1() { + return arg1; + } + + /** + * arg1Եֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArg1(String value) { + this.arg1 = value; + } + + /** + * ȡarg2Եֵ + * + */ + public int getArg2() { + return arg2; + } + + /** + * arg2Եֵ + * + */ + public void setArg2(int value) { + this.arg2 = value; + } + +} diff --git a/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSSubmittedCodeResponse.java b/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSSubmittedCodeResponse.java new file mode 100644 index 0000000..bb668f9 --- /dev/null +++ b/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSSubmittedCodeResponse.java @@ -0,0 +1,62 @@ + +package edu.dhu.ws; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + *

WS_SubmittedCodeResponse complex type Java ࡣ + * + *

ģʽƬָڴеԤݡ + * + *

+ * <complexType name="WS_SubmittedCodeResponse">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="return" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "WS_SubmittedCodeResponse", propOrder = { + "_return" +}) +public class WSSubmittedCodeResponse { + + @XmlElement(name = "return") + protected String _return; + + /** + * ȡreturnԵֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getReturn() { + return _return; + } + + /** + * returnԵֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setReturn(String value) { + this._return = value; + } + +} diff --git a/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSUpdateResult.java b/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSUpdateResult.java new file mode 100644 index 0000000..402201c --- /dev/null +++ b/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSUpdateResult.java @@ -0,0 +1,112 @@ + +package edu.dhu.ws; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlType; + + +/** + *

WS_UpdateResult complex type Java ࡣ + * + *

ģʽƬָڴеԤݡ + * + *

+ * <complexType name="WS_UpdateResult">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="arg0" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="arg1" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="arg2" type="{http://www.w3.org/2001/XMLSchema}base64Binary" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "WS_UpdateResult", propOrder = { + "arg0", + "arg1", + "arg2" +}) +public class WSUpdateResult { + + protected String arg0; + protected String arg1; + protected byte[] arg2; + + /** + * ȡarg0Եֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getArg0() { + return arg0; + } + + /** + * arg0Եֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArg0(String value) { + this.arg0 = value; + } + + /** + * ȡarg1Եֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getArg1() { + return arg1; + } + + /** + * arg1Եֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArg1(String value) { + this.arg1 = value; + } + + /** + * ȡarg2Եֵ + * + * @return + * possible object is + * byte[] + */ + public byte[] getArg2() { + return arg2; + } + + /** + * arg2Եֵ + * + * @param value + * allowed object is + * byte[] + */ + public void setArg2(byte[] value) { + this.arg2 = value; + } + +} diff --git a/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSUpdateResultResponse.java b/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSUpdateResultResponse.java new file mode 100644 index 0000000..2ec3aa8 --- /dev/null +++ b/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSUpdateResultResponse.java @@ -0,0 +1,62 @@ + +package edu.dhu.ws; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + *

WS_UpdateResultResponse complex type Java ࡣ + * + *

ģʽƬָڴеԤݡ + * + *

+ * <complexType name="WS_UpdateResultResponse">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="return" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "WS_UpdateResultResponse", propOrder = { + "_return" +}) +public class WSUpdateResultResponse { + + @XmlElement(name = "return") + protected String _return; + + /** + * ȡreturnԵֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getReturn() { + return _return; + } + + /** + * returnԵֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setReturn(String value) { + this._return = value; + } + +} diff --git a/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSViewWrongCase.java b/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSViewWrongCase.java new file mode 100644 index 0000000..9b91efc --- /dev/null +++ b/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSViewWrongCase.java @@ -0,0 +1,163 @@ + +package edu.dhu.ws; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlType; + + +/** + *

WS_ViewWrongCase complex type Java ࡣ + * + *

ģʽƬָڴеԤݡ + * + *

+ * <complexType name="WS_ViewWrongCase">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="arg0" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="arg1" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="arg2" type="{http://www.w3.org/2001/XMLSchema}int"/>
+ *         <element name="arg3" type="{http://www.w3.org/2001/XMLSchema}int"/>
+ *         <element name="arg4" type="{http://www.w3.org/2001/XMLSchema}int"/>
+ *         <element name="arg5" type="{http://www.w3.org/2001/XMLSchema}boolean"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "WS_ViewWrongCase", propOrder = { + "arg0", + "arg1", + "arg2", + "arg3", + "arg4", + "arg5" +}) +public class WSViewWrongCase { + + protected String arg0; + protected String arg1; + protected int arg2; + protected int arg3; + protected int arg4; + protected boolean arg5; + + /** + * ȡarg0Եֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getArg0() { + return arg0; + } + + /** + * arg0Եֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArg0(String value) { + this.arg0 = value; + } + + /** + * ȡarg1Եֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getArg1() { + return arg1; + } + + /** + * arg1Եֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArg1(String value) { + this.arg1 = value; + } + + /** + * ȡarg2Եֵ + * + */ + public int getArg2() { + return arg2; + } + + /** + * arg2Եֵ + * + */ + public void setArg2(int value) { + this.arg2 = value; + } + + /** + * ȡarg3Եֵ + * + */ + public int getArg3() { + return arg3; + } + + /** + * arg3Եֵ + * + */ + public void setArg3(int value) { + this.arg3 = value; + } + + /** + * ȡarg4Եֵ + * + */ + public int getArg4() { + return arg4; + } + + /** + * arg4Եֵ + * + */ + public void setArg4(int value) { + this.arg4 = value; + } + + /** + * ȡarg5Եֵ + * + */ + public boolean isArg5() { + return arg5; + } + + /** + * arg5Եֵ + * + */ + public void setArg5(boolean value) { + this.arg5 = value; + } + +} diff --git a/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSViewWrongCaseResponse.java b/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSViewWrongCaseResponse.java new file mode 100644 index 0000000..d882867 --- /dev/null +++ b/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/WSViewWrongCaseResponse.java @@ -0,0 +1,62 @@ + +package edu.dhu.ws; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + *

WS_ViewWrongCaseResponse complex type Java ࡣ + * + *

ģʽƬָڴеԤݡ + * + *

+ * <complexType name="WS_ViewWrongCaseResponse">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="return" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "WS_ViewWrongCaseResponse", propOrder = { + "_return" +}) +public class WSViewWrongCaseResponse { + + @XmlElement(name = "return") + protected String _return; + + /** + * ȡreturnԵֵ + * + * @return + * possible object is + * {@link String } + * + */ + public String getReturn() { + return _return; + } + + /** + * returnԵֵ + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setReturn(String value) { + this._return = value; + } + +} diff --git a/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/package-info.java b/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/package-info.java new file mode 100644 index 0000000..b781c2b --- /dev/null +++ b/JuderUI/build/generated/jax-wsCache/OJWS/edu/dhu/ws/package-info.java @@ -0,0 +1,2 @@ +@javax.xml.bind.annotation.XmlSchema(namespace = "http://ws.dhu.edu/") +package edu.dhu.ws; diff --git a/JuderUI/catalog.xml b/JuderUI/catalog.xml new file mode 100644 index 0000000..f1ec77b --- /dev/null +++ b/JuderUI/catalog.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/JuderUI/config/Config.properties b/JuderUI/config/Config.properties new file mode 100644 index 0000000..3baa35a --- /dev/null +++ b/JuderUI/config/Config.properties @@ -0,0 +1,26 @@ +#update config.properties +#Sun Jun 13 11:04:31 CST 2021 +srcDir=G\:\\org\\JuderUI\\test +isCppRelative=true +relativeJavaCompilerDir=C\:\\Program Files\\Java\\jdk1.8.0_40\\bin +Username=felix +cCompilerDir=C\:\\\u65B0\u5EFA\u6587\u4EF6\u5939 +ThreadNumber=1 +distributorPort=80 +exeDir=G\:\\org\\JuderUI\\TMP +MinGWDir=Z\:\\project\\OJ\\client\\MinGW\\bin +relativeCCompilerDir=\\MinGW\\bin +distributorIP=106.15.36.190 +JavaRelative=2 +>>>>>>>=.r76 +isJavaRelative=true +<<<<<<<=.mine +MinGWRelative=3 +relativeCppCompilerDir=\\MinGW\\bin +javaCompilerDir=\\\\vmware-host\\Shared Folders\\\u6587\u7A3F\\NetBeansProjects\\oj\\client\\MinGW\\bin +JavaCompileDir=C\:\\Program Files\\Java\\jdk1.8.0_202\\bin +Debug=1 +URLaddress=10.202.40.190 +StartThreadAuto=true +=\=\=\=\=\=\= +cppCompilerDir=\\\\vmware-host\\Shared Folders\\\u6587\u7A3F\\NetBeansProjects\\oj\\client\\MinGW\\bin diff --git a/JuderUI/config/DBConfig.properties b/JuderUI/config/DBConfig.properties new file mode 100644 index 0000000..26b9459 --- /dev/null +++ b/JuderUI/config/DBConfig.properties @@ -0,0 +1,6 @@ +#update dbConfig.properties +#Sun Nov 06 23:15:44 CST 2016 +hibernate.connection.username=root +hibernate.connection.password=1a2b3c4d +hibernate.connection.url=jdbc\:mysql\://121.42.40.51\:3306/gdoj?useUnicode\=true&characterEncoding\=UTF-8 +hibernate.connection.driver_class=com.mysql.jdbc.Driver diff --git a/JuderUI/dist/JuderUI.jar b/JuderUI/dist/JuderUI.jar new file mode 100644 index 0000000..e5ad898 Binary files /dev/null and b/JuderUI/dist/JuderUI.jar differ diff --git a/JuderUI/dist/README.TXT b/JuderUI/dist/README.TXT new file mode 100644 index 0000000..da47021 --- /dev/null +++ b/JuderUI/dist/README.TXT @@ -0,0 +1,32 @@ +======================== +BUILD OUTPUT DESCRIPTION +======================== + +When you build an Java application project that has a main class, the IDE +automatically copies all of the JAR +files on the projects classpath to your projects dist/lib folder. The IDE +also adds each of the JAR files to the Class-Path element in the application +JAR files manifest file (MANIFEST.MF). + +To run the project from the command line, go to the dist folder and +type the following: + +java -jar "JuderUI.jar" + +To distribute this project, zip up the dist folder (including the lib folder) +and distribute the ZIP file. + +Notes: + +* If two JAR files on the project classpath have the same name, only the first +JAR file is copied to the lib folder. +* Only JAR files are copied to the lib folder. +If the classpath contains other types of files or folders, these files (folders) +are not copied. +* If a library on the projects classpath also has a Class-Path element +specified in the manifest,the content of the Class-Path element has to be on +the projects runtime path. +* To set a main class in a standard Java project, right-click the project node +in the Projects window and choose Properties. Then click Run and enter the +class name in the Main Class field. Alternatively, you can manually type the +class name in the manifest Main-Class element. diff --git a/JuderUI/dist/lib/Common.jar b/JuderUI/dist/lib/Common.jar new file mode 100644 index 0000000..fac8f86 Binary files /dev/null and b/JuderUI/dist/lib/Common.jar differ diff --git a/JuderUI/dist/lib/Judger.jar b/JuderUI/dist/lib/Judger.jar new file mode 100644 index 0000000..9c0417d Binary files /dev/null and b/JuderUI/dist/lib/Judger.jar differ diff --git a/JuderUI/dist/lib/antlr_2.7.6.jar b/JuderUI/dist/lib/antlr_2.7.6.jar new file mode 100644 index 0000000..3702b64 Binary files /dev/null and b/JuderUI/dist/lib/antlr_2.7.6.jar differ diff --git a/JuderUI/dist/lib/asm-all-2.2.3.jar b/JuderUI/dist/lib/asm-all-2.2.3.jar new file mode 100644 index 0000000..34bb1b2 Binary files /dev/null and b/JuderUI/dist/lib/asm-all-2.2.3.jar differ diff --git a/JuderUI/dist/lib/cglib-nodep-2.1.3.jar b/JuderUI/dist/lib/cglib-nodep-2.1.3.jar new file mode 100644 index 0000000..e9b17eb Binary files /dev/null and b/JuderUI/dist/lib/cglib-nodep-2.1.3.jar differ diff --git a/JuderUI/dist/lib/commons-collections-2.1.1.jar b/JuderUI/dist/lib/commons-collections-2.1.1.jar new file mode 100644 index 0000000..3272f2b Binary files /dev/null and b/JuderUI/dist/lib/commons-collections-2.1.1.jar differ diff --git a/JuderUI/dist/lib/commons-logging-1.0.4.jar b/JuderUI/dist/lib/commons-logging-1.0.4.jar new file mode 100644 index 0000000..b73a80f Binary files /dev/null and b/JuderUI/dist/lib/commons-logging-1.0.4.jar differ diff --git a/JuderUI/dist/lib/dom4j-1.6.jar b/JuderUI/dist/lib/dom4j-1.6.jar new file mode 100644 index 0000000..e19f4ce Binary files /dev/null and b/JuderUI/dist/lib/dom4j-1.6.jar differ diff --git a/JuderUI/dist/lib/hibernate3.jar b/JuderUI/dist/lib/hibernate3.jar new file mode 100644 index 0000000..95986f8 Binary files /dev/null and b/JuderUI/dist/lib/hibernate3.jar differ diff --git a/JuderUI/dist/lib/jdom.jar b/JuderUI/dist/lib/jdom.jar new file mode 100644 index 0000000..512cdfb Binary files /dev/null and b/JuderUI/dist/lib/jdom.jar differ diff --git a/JuderUI/dist/lib/jdom2-2.0.5.jar b/JuderUI/dist/lib/jdom2-2.0.5.jar new file mode 100644 index 0000000..b6996c7 Binary files /dev/null and b/JuderUI/dist/lib/jdom2-2.0.5.jar differ diff --git a/JuderUI/dist/lib/jta.jar b/JuderUI/dist/lib/jta.jar new file mode 100644 index 0000000..e0822a9 Binary files /dev/null and b/JuderUI/dist/lib/jta.jar differ diff --git a/JuderUI/dist/lib/mysql-connector-java-5.1.6-bin.jar b/JuderUI/dist/lib/mysql-connector-java-5.1.6-bin.jar new file mode 100644 index 0000000..0539039 Binary files /dev/null and b/JuderUI/dist/lib/mysql-connector-java-5.1.6-bin.jar differ diff --git a/JuderUI/dist/lib/oscache-2.4.1.jar b/JuderUI/dist/lib/oscache-2.4.1.jar new file mode 100644 index 0000000..343e2b5 Binary files /dev/null and b/JuderUI/dist/lib/oscache-2.4.1.jar differ diff --git a/JuderUI/dist/lib/registry.jar b/JuderUI/dist/lib/registry.jar new file mode 100644 index 0000000..2aefa0f Binary files /dev/null and b/JuderUI/dist/lib/registry.jar differ diff --git a/JuderUI/manifest.mf b/JuderUI/manifest.mf new file mode 100644 index 0000000..328e8e5 --- /dev/null +++ b/JuderUI/manifest.mf @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +X-COMMENT: Main-Class will be added automatically by build + diff --git a/JuderUI/nbproject/build-impl.xml b/JuderUI/nbproject/build-impl.xml new file mode 100644 index 0000000..845dce7 --- /dev/null +++ b/JuderUI/nbproject/build-impl.xml @@ -0,0 +1,1452 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set src.dir + Must set test.src.dir + Must set build.dir + Must set dist.dir + Must set build.classes.dir + Must set dist.javadoc.dir + Must set build.test.classes.dir + Must set build.test.results.dir + Must set build.classes.excludes + Must set dist.jar + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No tests executed. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set JVM to use for profiling in profiler.info.jvm + Must set profiler agent JVM arguments in profiler.info.jvmargs.agent + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + To run this application from the command line without Ant, try: + + java -jar "${dist.jar.resolved}" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + Must select one file in the IDE or set run.class + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set debug.class + + + + + Must select one file in the IDE or set debug.class + + + + + Must set fix.includes + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + Must select one file in the IDE or set profile.class + This target only works when run from inside the NetBeans IDE. + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + + + Must select some files in the IDE or set test.includes + + + + + Must select one file in the IDE or set run.class + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + Some tests failed; see details above. + + + + + + + + + Must select some files in the IDE or set test.includes + + + + Some tests failed; see details above. + + + + Must select some files in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + Some tests failed; see details above. + + + + + Must select one file in the IDE or set test.class + + + + Must select one file in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + + + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/JuderUI/nbproject/genfiles.properties b/JuderUI/nbproject/genfiles.properties new file mode 100644 index 0000000..8b913a8 --- /dev/null +++ b/JuderUI/nbproject/genfiles.properties @@ -0,0 +1,8 @@ +build.xml.data.CRC32=dfbf39b8 +build.xml.script.CRC32=1513c9b5 +build.xml.stylesheet.CRC32=8064a381@1.79.1.48 +# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. +# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. +nbproject/build-impl.xml.data.CRC32=dfbf39b8 +nbproject/build-impl.xml.script.CRC32=659c39b3 +nbproject/build-impl.xml.stylesheet.CRC32=05530350@1.79.1.48 diff --git a/JuderUI/nbproject/jax-ws.xml b/JuderUI/nbproject/jax-ws.xml new file mode 100644 index 0000000..22de180 --- /dev/null +++ b/JuderUI/nbproject/jax-ws.xml @@ -0,0 +1,38 @@ + + + + + + http://106.15.36.190:80/oj/webservice/OJWS?wsdl + 106.15.36.190_80/oj/webservice/OJWS.wsdl + edu.dhu.ws + catalog.xml + + + extension + true + + + verbose + true + + + fork + false + + + wsdlLocation + http://106.15.36.190:80/oj/webservice/OJWS?wsdl + + + xnocompile + true + + + xendorsed + true + + + + + diff --git a/JuderUI/nbproject/jaxws-build.xml b/JuderUI/nbproject/jaxws-build.xml new file mode 100644 index 0000000..f412a71 --- /dev/null +++ b/JuderUI/nbproject/jaxws-build.xml @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/JuderUI/nbproject/private/config.properties b/JuderUI/nbproject/private/config.properties new file mode 100644 index 0000000..e69de29 diff --git a/JuderUI/nbproject/private/private.properties b/JuderUI/nbproject/private/private.properties new file mode 100644 index 0000000..d7d7481 --- /dev/null +++ b/JuderUI/nbproject/private/private.properties @@ -0,0 +1,9 @@ +compile.on.save=true +do.depend=false +do.jar=true +file.reference.oscache-2.4.1.jar=Z:\\project\\OJ\\Lib\\oscache-2.4.1.jar +file.reference.registry.jar=Z:\\project\\OJ\\Lib\\registry-3.1.3\\bin\\registry.jar +javac.debug=true +javadoc.preview=true +project.Judger=Z:\\project\\OJ\\Judger +user.properties.file=C:\\Users\\Turbo\\AppData\\Roaming\\NetBeans\\8.1\\build.properties diff --git a/JuderUI/nbproject/private/private.xml b/JuderUI/nbproject/private/private.xml new file mode 100644 index 0000000..4a3a4e2 --- /dev/null +++ b/JuderUI/nbproject/private/private.xml @@ -0,0 +1,34 @@ + + + + + src/connection/Answer.java + + + 24 + + + + + + + + file:/E:/ojNew/JuderUI/src/web/Webservice.java + file:/E:/ojNew/JuderUI/src/myjdom/XmlConvert.java + file:/E:/ojNew/JuderUI/src/swingworker/MySwingWorker.java + file:/E:/ojNew/JuderUI/src/data/JudgeFromQueue.java + file:/E:/ojNew/JuderUI/src/myjdom/XmlToBase.java + file:/E:/ojNew/JuderUI/src/myjdom/XmlToProblemBean.java + file:/E:/ojNew/JuderUI/src/data/MainForNet.java + + + file:/Z:/project/OJ/JuderUI/src/data/MainForNet.java + file:/Z:/project/OJ/JuderUI/src/cache/BaseCache.java + file:/Z:/project/OJ/JuderUI/src/swingworker/MySwingWorker.java + file:/Z:/project/OJ/JuderUI/src/gui/MainFrame.java + file:/Z:/project/OJ/JuderUI/src/data/JudgeFromQueue.java + file:/Z:/project/OJ/JuderUI/src/gui/Control.java + file:/Z:/project/OJ/JuderUI/src/web/Webservice.java + + + diff --git a/JuderUI/nbproject/private/retriever/catalog.xml b/JuderUI/nbproject/private/retriever/catalog.xml new file mode 100644 index 0000000..dbafbaf --- /dev/null +++ b/JuderUI/nbproject/private/retriever/catalog.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/JuderUI/nbproject/private/retriever/schemas.xmlsoap.org/soap/http/index b/JuderUI/nbproject/private/retriever/schemas.xmlsoap.org/soap/http/index new file mode 100644 index 0000000..4e6f164 Binary files /dev/null and b/JuderUI/nbproject/private/retriever/schemas.xmlsoap.org/soap/http/index differ diff --git a/JuderUI/nbproject/private/retriever/schemas.xmlsoap.org/wsdl/index.xsd b/JuderUI/nbproject/private/retriever/schemas.xmlsoap.org/wsdl/index.xsd new file mode 100644 index 0000000..14b5bef --- /dev/null +++ b/JuderUI/nbproject/private/retriever/schemas.xmlsoap.org/wsdl/index.xsd @@ -0,0 +1,310 @@ + + + + + + + + + + + + + + This type is extended by component types to allow them to be documented + + + + + + + + + + + + + This type is extended by component types to allow attributes from other namespaces to be added. + + + + + + + + + + + + + This type is extended by component types to allow elements from other namespaces to be added. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Any top level optional element allowed to appear more then once - any child of definitions element except wsdl:types. Any extensibility element is allowed in any place. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/JuderUI/nbproject/private/retriever/schemas.xmlsoap.org/wsdl/soap/index.xsd b/JuderUI/nbproject/private/retriever/schemas.xmlsoap.org/wsdl/soap/index.xsd new file mode 100644 index 0000000..0458e6c --- /dev/null +++ b/JuderUI/nbproject/private/retriever/schemas.xmlsoap.org/wsdl/soap/index.xsd @@ -0,0 +1,149 @@ + + + + + + + + + + "encodingStyle" indicates any canonicalization conventions followed in the contents of the containing element. For example, the value "http://schemas.xmlsoap.org/soap/encoding/" indicates the pattern described in SOAP specification + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/JuderUI/nbproject/project.properties b/JuderUI/nbproject/project.properties new file mode 100644 index 0000000..a9d9296 --- /dev/null +++ b/JuderUI/nbproject/project.properties @@ -0,0 +1,108 @@ +annotation.processing.enabled=true +annotation.processing.enabled.in.editor=false +annotation.processing.processors.list= +annotation.processing.run.all.processors=true +annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output +application.title=JuderUI +application.vendor=\u6bdb\u6cc9 +build.classes.dir=${build.dir}/classes +build.classes.excludes=**/*.java,**/*.form +# This directory is removed when the project is cleaned: +build.dir=build +build.generated.dir=${build.dir}/generated +build.generated.sources.dir=${build.dir}/generated-sources +# Only compile against the classpath explicitly listed here: +build.sysclasspath=ignore +build.test.classes.dir=${build.dir}/test/classes +build.test.results.dir=${build.dir}/test/results +# Uncomment to specify the preferred debugger connection transport: +#debug.transport=dt_socket +debug.classpath=\ + ${run.classpath} +debug.test.classpath=\ + ${run.test.classpath} +# build.classes.dir \u4e2d\u5e94\u4ece\u5206\u53d1 jar \u4e2d\u6392\u9664\u7684\u6587\u4ef6 +dist.archive.excludes= +# This directory is removed when the project is cleaned: +dist.dir=dist +dist.jar=${dist.dir}/JuderUI.jar +dist.javadoc.dir=${dist.dir}/javadoc +endorsed.classpath= +excludes= +file.reference.antlr_2.7.6.jar=../Lib/antlr_2.7.6.jar +file.reference.asm-all-2.2.3.jar=../Lib/asm-all-2.2.3.jar +file.reference.cglib-nodep-2.1.3.jar=../Lib/cglib-nodep-2.1.3.jar +file.reference.commons-collections-2.1.1.jar=../Lib/commons-collections-2.1.1.jar +file.reference.commons-logging-1.0.4.jar=../Lib/commons-logging-1.0.4.jar +file.reference.dom4j-1.6.jar=../Lib/dom4j-1.6.jar +file.reference.hibernate3.jar=../Lib/hibernate3.jar +file.reference.jdom.jar=../Lib/jdom.jar +file.reference.jdom2-2.0.5.jar=../Lib/jdom2-2.0.5.jar +file.reference.jta.jar=../Lib/jta.jar +file.reference.mysql-connector-java-5.1.6-bin.jar=../Lib/mysql-connector-java-5.1.6-bin.jar +file.reference.oscache-2.4.1.jar=F:\\Java\u5f15\u7528\u5305\\oscache-2.4.1.jar +file.reference.registry.jar=G:\\registry-3.1.3\\bin\\registry.jar +includes=** +jar.compress=false +javac.classpath=\ + ${file.reference.antlr_2.7.6.jar}:\ + ${file.reference.asm-all-2.2.3.jar}:\ + ${file.reference.cglib-nodep-2.1.3.jar}:\ + ${file.reference.commons-collections-2.1.1.jar}:\ + ${file.reference.commons-logging-1.0.4.jar}:\ + ${file.reference.dom4j-1.6.jar}:\ + ${file.reference.hibernate3.jar}:\ + ${file.reference.jdom.jar}:\ + ${file.reference.jdom2-2.0.5.jar}:\ + ${file.reference.jta.jar}:\ + ${file.reference.mysql-connector-java-5.1.6-bin.jar}:\ + ${file.reference.registry.jar}:\ + ${reference.Common.jar}:\ + ${reference.Judger.jar}:\ + ${file.reference.oscache-2.4.1.jar} +# Space-separated list of extra javac options +javac.compilerargs= +javac.deprecation=false +javac.external.vm=true +javac.processorpath=\ + ${javac.classpath} +javac.source=1.8 +javac.target=1.8 +javac.test.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +javac.test.processorpath=\ + ${javac.test.classpath} +javadoc.additionalparam= +javadoc.author=false +javadoc.encoding=${source.encoding} +javadoc.noindex=false +javadoc.nonavbar=false +javadoc.notree=false +javadoc.private=false +javadoc.splitindex=true +javadoc.use=true +javadoc.version=false +javadoc.windowtitle= +main.class=gui.MainFrame +manifest.file=manifest.mf +meta.inf.dir=${src.dir}/META-INF +mkdist.disabled=false +platform.active=default_platform +project.Common=../Common +reference.Common.jar=${project.Common}/dist/Common.jar +reference.Judger.jar=${project.Judger}/dist/Judger.jar +run.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +# Space-separated list of JVM arguments used when running the project. +# You may also define separate properties like run-sys-prop.name=value instead of -Dname=value. +# To set system properties for unit tests define test-sys-prop.name=value: +run.jvmargs= +run.test.classpath=\ + ${javac.test.classpath}:\ + ${build.test.classes.dir} +source.encoding=GBK +src.dir=src +test.src.dir=test +compile.on.save.unsupported.jaxws=true diff --git a/JuderUI/nbproject/project.xml b/JuderUI/nbproject/project.xml new file mode 100644 index 0000000..9b693e5 --- /dev/null +++ b/JuderUI/nbproject/project.xml @@ -0,0 +1,38 @@ + + + org.netbeans.modules.java.j2seproject + + + + + + + + JuderUI + + + + + + + + + + Common + jar + + jar + clean + jar + + + Judger + jar + + jar + clean + jar + + + + diff --git a/JuderUI/src/META-INF/OJWS.xml b/JuderUI/src/META-INF/OJWS.xml new file mode 100644 index 0000000..8e0b545 --- /dev/null +++ b/JuderUI/src/META-INF/OJWS.xml @@ -0,0 +1,571 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/JuderUI/src/META-INF/jax-ws-catalog.xml b/JuderUI/src/META-INF/jax-ws-catalog.xml new file mode 100644 index 0000000..c090d75 --- /dev/null +++ b/JuderUI/src/META-INF/jax-ws-catalog.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/JuderUI/src/META-INF/wsdl/106.15.36.190_80/oj/webservice/OJWS.wsdl b/JuderUI/src/META-INF/wsdl/106.15.36.190_80/oj/webservice/OJWS.wsdl new file mode 100644 index 0000000..e3a5ea8 --- /dev/null +++ b/JuderUI/src/META-INF/wsdl/106.15.36.190_80/oj/webservice/OJWS.wsdl @@ -0,0 +1,878 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/JuderUI/src/META-INF/wsdl/127.0.0.1_8080/oj/webservice/OJWS.wsdl b/JuderUI/src/META-INF/wsdl/127.0.0.1_8080/oj/webservice/OJWS.wsdl new file mode 100644 index 0000000..4a960e8 --- /dev/null +++ b/JuderUI/src/META-INF/wsdl/127.0.0.1_8080/oj/webservice/OJWS.wsdl @@ -0,0 +1,575 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/JuderUI/src/META-INF/wsit-client.xml b/JuderUI/src/META-INF/wsit-client.xml new file mode 100644 index 0000000..d41638b --- /dev/null +++ b/JuderUI/src/META-INF/wsit-client.xml @@ -0,0 +1,9 @@ + + + + diff --git a/JuderUI/src/cache/BaseCache.java b/JuderUI/src/cache/BaseCache.java new file mode 100644 index 0000000..a0c095d --- /dev/null +++ b/JuderUI/src/cache/BaseCache.java @@ -0,0 +1,60 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package cache; + + +import java.util.Date; + +import com.opensymphony.oscache.base.NeedsRefreshException; +import com.opensymphony.oscache.general.GeneralCacheAdministrator; + +public class BaseCache extends GeneralCacheAdministrator { + // ʱ(λΪ); + private int refreshPeriod; + // ؼǰ׺ַ; + private String keyPrefix; + private static final long serialVersionUID = -4397192926052141162L; + + public BaseCache(String keyPrefix, int refreshPeriod) { + super(); + this.keyPrefix = keyPrefix; + this.refreshPeriod = refreshPeriod; + } + + public BaseCache() { + }; + + // ӱĶ; + public void put(String key, Object value) { + this.putInCache(this.keyPrefix + "_" + key, value); + } + + // ɾĶ; + public void remove(String key) { + this.flushEntry(this.keyPrefix + "_" + key); + } + + // ɾбĶ; + public void removeAll(Date date) { + this.flushAll(date); + } + + public void removeAll() { + this.flushAll(); + } + + // ȡĶ; + public Object get(String key) throws Exception { + try { + return this.getFromCache(this.keyPrefix + "_" + key, + this.refreshPeriod); + } catch (NeedsRefreshException e) { + this.cancelUpdate(this.keyPrefix + "_" + key); + throw e; + } + } + +} diff --git a/JuderUI/src/cache/ProblemsCachManager.java b/JuderUI/src/cache/ProblemsCachManager.java new file mode 100644 index 0000000..60eaf81 --- /dev/null +++ b/JuderUI/src/cache/ProblemsCachManager.java @@ -0,0 +1,69 @@ +package cache; + +import java.io.IOException; +import java.io.InputStream; +import java.util.Properties; + +public class ProblemsCachManager { + private boolean update = false; + private BaseCache cache; + private static ProblemsCachManager instance; + private static Object lock = new Object(); + + private ProblemsCachManager() { + // ļʼBaseCache; + Properties prop = new Properties(); + InputStream in = ProblemsCachManager.class + .getResourceAsStream("cache.properties"); + try { + prop.load(in); + String validTime = prop.getProperty("problemsValidTime").trim(); + cache = new BaseCache("Problems", Integer.parseInt(validTime)); + } catch (IOException e) { + e.printStackTrace(); + } + } + + public static ProblemsCachManager getInstance() { + if (instance == null) { + synchronized (lock) { + if (instance == null) { + instance = new ProblemsCachManager(); + } + } + } + return instance; + } + + public void putObject(String key, Object value) { // keyclassId_examId + cache.put(key, value); + } + + public void removeObject(String key) { + cache.remove(key); + } + + public void removeAllObject() { + cache.removeAll(); + } + + public Object getObject(String key) { + try { + // Cacheл + return cache.get(key); + } catch (Exception e) { + // CacheûDBȡ + // ݿжȡ + // ѻȡĶٴδCache + this.putObject(key, null); + update = true; + return null; + } finally { + if (!update) { + // Cacheеݸ³쳣ֹ÷ + cache.cancelUpdate(key); // ȡidĸ + } + } + } + +} diff --git a/JuderUI/src/cache/cache.properties b/JuderUI/src/cache/cache.properties new file mode 100644 index 0000000..4e9fdde --- /dev/null +++ b/JuderUI/src/cache/cache.properties @@ -0,0 +1 @@ +problemsValidTime=1800 diff --git a/JuderUI/src/data/JudgeFromQueue.java b/JuderUI/src/data/JudgeFromQueue.java new file mode 100644 index 0000000..66807c2 --- /dev/null +++ b/JuderUI/src/data/JudgeFromQueue.java @@ -0,0 +1,214 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package data; + +import cache.ProblemsCachManager; +import gui.Control; +import java.awt.EventQueue; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Queue; +import java.util.concurrent.locks.Lock; +import main.Answer; +import myjdom.AnswerToXml; +import myjdom.XmlToProblemBean; +import myjdom.XmlToRequest; +import myjdom.model.ProblemBean; +import myjdom.model.Request; +import myjdom.model.ResultBean; +import myjdom.model.Solution; +import myjdom.model.Solutions; +import persistence.oj_beans.ProblemTestCaseBean; +import swingworker.MySwingWorker; +import log.Log; + +/** + * + * @author 10102 + */ +public class JudgeFromQueue extends Thread { + + private boolean stop = false; + public Queue queue = null; + private Solutions solutions; + private List testCaseBeans = null; + private Map problemBeanMap = null; + private Lock lock; + private int threadNo; + + public JudgeFromQueue(int threadNo) { + this.threadNo = threadNo; + } + + @Override + public void run() { + while (Control.threadCountsManager[threadNo] || !Control.queue.isEmpty() && Control.threadCountsManager[0] == false) { + try { + if (Control.queue.isEmpty()) { + Thread.sleep(1000); + continue; + } + Solution s = null; + synchronized (Control.queue) { + if (!Control.queue.isEmpty()) { + System.out.println("poll"); + s = Control.queue.poll(); + System.out.println("poll"); + //Swing̰߳ȫģinvokeضrun첽ִ + EventQueue.invokeLater(() -> { + Control.setGuiQueueSize("" + Control.queue.size()); + }); + } + } + if (s != null) { + String problemIdString = s.getProblemId(); + System.out.println("ȡpromblem"); + getWebServiceProblems(problemIdString); + System.out.println("ȡpromblem"); + System.out.println("ʼ"); + Judge(s); + System.out.println(""); + } + } catch (Exception ex) { + ex.printStackTrace(); + EventQueue.invokeLater(() -> { + Control.addExceptionInfo(threadNo, ex.toString()); + }); + } + } + Control.threadState[threadNo] = false; + EventQueue.invokeLater(() -> { + Control.setTabbStopTitle(threadNo); + Control.addJudgeInfo(threadNo, "߳" + threadNo + "stop success\n"); + }); + //жϸֹͣ߳Ѿֹͣ + int i = 1; + boolean runFlag = false; + synchronized (Control.threadCountsManager) { + for (; i <= 4; i++) { + if (Control.threadCountsManager[i] == true) { + runFlag = true; + } + if (Control.threadCountsManager[i] != Control.threadState[i]) { + break; + } + } + if (i > 4 && runFlag == true) { + //жϸֹͣ߳Ѿֹͣһ߳ + EventQueue.invokeLater(() -> { + Control.setStartThreadButtontEnable(); + }); + } + } + + //жǷȫֹͣ + int j = 0; + synchronized (Control.threadCountsManager) { + for (; j <= 4; j++) { + if (Control.threadCountsManager[j] == true || Control.threadState[j] == true) { + break; + } + } + if (j > 4) { + EventQueue.invokeLater(() -> { + Control.setStoptxt(); + }); + } + } + } + + public void shutdown() { + this.stop = true; + } + + //Ӷлȡ벢 + public void Judge(Solution s) throws Exception { + String solutionId = s.getSolutionId(); + String problemId = s.getProblemId(); + String language = s.getLangeuage(); + String sourceCode = s.getCode(); + Float timeOut = problemBeanMap.get(problemId).getTimeOut(); + List testCaseBeanList = problemBeanMap.get(problemId).getTestCaseBeanList(); + MySwingWorker myswingworker = new MySwingWorker(threadNo, solutionId, problemId, language, sourceCode, timeOut, testCaseBeanList, this::changeMessage, this::submitAnswer); + myswingworker.execute(); + myswingworker.get(); +// int i =1/0; + } + + private void getWebServiceProblems(String problemId) throws Exception { + problemBeanMap = new HashMap<>(); + ProblemBean problemBean = new ProblemBean(); + XmlToProblemBean xtp = new XmlToProblemBean(); + ProblemsCachManager problemsCachManager = ProblemsCachManager + .getInstance(); + String problem = (String) problemsCachManager + .getObject("problemId" + problemId); + if (problem == null) { + problem = Control.getWebService().getProblem(Integer.parseInt(problemId)); + problemsCachManager.putObject("problemId" + problemId, + problem); + } +// System.out.println(Integer.parseInt(problemId)); + +// System.out.println(xml); + xtp.readXmlString(problem); + problemBean = xtp.convertXML(); + Control.addJudgeInfo(threadNo, "get problemId: " + problemId); + problemBeanMap.put(problemId, problemBean); + } + + // + public void changeMessage(String message) { + Control.addJudgeInfo(threadNo, message); + Log.writeInfo(threadNo + ":" + message); + } + // + + public void submitAnswer(Answer answer) { + System.out.println("ύ"); + String xml = null; + try { + ResultBean rb = new ResultBean(); + rb.setSolutionId(answer.getSolutionId()); + rb.setProblemId(answer.getProblemId()); + rb.setStatus(answer.getStatus()); + rb.setCorrectCaseIds(answer.getCorrectCaseIds()); + rb.setRemark(answer.getRemark()); + rb.setLanguage(answer.getLanguage()); + rb.setSourceCode(answer.getSourceCode()); + List wrongCase = new ArrayList<>(); + List testCaseList = Arrays.asList(answer.getTestCaseId()); + List correctList = Arrays.asList(answer.getCorrectCaseIds().split(",")); + for (int i = 0; i < testCaseList.size(); i++) { + if (!correctList.contains(testCaseList.get(i))) { + ProblemTestCaseBean testCase = new ProblemTestCaseBean(); + testCase.setId(Integer.parseInt(testCaseList.get(i))); + testCase.setOutput(answer.getUsersOutput()[i]); + wrongCase.add(testCase); + } + } + rb.setWrongCase(wrongCase); + AnswerToXml rtx = new AnswerToXml(rb); + xml = rtx.convertXML(); + xml=xml.replace("&#", "&#"); + //System.out.println(xml); + String request = Control.getWebService().updateResult(xml); + //System.out.println(request); + XmlToRequest xtr = new XmlToRequest(); + xtr.readXmlString(request); + Request req = xtr.convertXML(); + System.out.println("ύ"); + Control.addJudgeInfo(threadNo, "server result:" + req.getRspMsg()); +// Control.addJudgeInfo("ok"); + } catch (Exception e) { + e.printStackTrace(); + } + + } +} diff --git a/JuderUI/src/data/MainForNet.java b/JuderUI/src/data/MainForNet.java new file mode 100644 index 0000000..9c6cad7 --- /dev/null +++ b/JuderUI/src/data/MainForNet.java @@ -0,0 +1,222 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package data; + +import gui.Control; +import java.awt.EventQueue; +import java.net.URL; +import java.util.List; +import java.util.Map; +import java.util.concurrent.locks.Lock; +import myjdom.XmlToSolution; +import myjdom.model.Solution; +import myjdom.model.Solutions; +import myjdom.model.ProblemBean; +import persistence.oj_beans.ProblemTestCaseBean; +import web.Webservice; + +/** + * + * @author Administrator + */ +public class MainForNet extends Thread { + + private List testCaseBeans = null; + private Map problemBeanMap = null; +// private ProblemBean problemBean = null; +// private static String serverURL; +// private static IDistributorServer server; + private int previousSId = -1; + public Solutions solutions; + private Lock lock; +// private String ip = "127.0.0.1"; +// private int port = 5000; + + public MainForNet() { + + } + + @Override + public void run() { + while (Control.threadCountsManager[0]) { + try { + if (Control.queue.size() > 2) { + Thread.sleep(500); + continue; + } + System.out.println("ʼȡsolution"); + List list = getWebServiceSolutions(); + System.out.println("ȡslolutin"+list.size()); +// getServerObject(); + if (list.size() == 0) { + Thread.sleep(3000); + } else { + System.out.println("solutionװض"); + listToQueue(list); + System.out.println("solutionװض"); + //Swing̰߳ȫģinvokeضrun첽ִ + EventQueue.invokeLater(() -> { + Control.setGuiQueueSize("" + Control.queue.size()); + }); + } +// judge(); + } catch (Exception ex) { + ex.printStackTrace(); + EventQueue.invokeLater(() -> { + Control.addExceptionInfo(0, ex.toString()); + }); + } + } + Control.threadState[0] = false; + + //жǷȫֹͣ + int i = 0; + synchronized (Control.threadCountsManager) { + for (; i <= 4; i++) { + if (Control.threadCountsManager[i] == true || Control.threadState[i] == true) { + break; + } + } + if (i > 4) { + EventQueue.invokeLater(() -> { + Control.setStoptxt(); + }); + + } + } + } + + private List getWebServiceSolutions() throws Exception { + Control.setWebService(new Webservice(new URL(Control.getUrl()), Control.getQname())); + String xml = Control.getWebService().getSolutions(5); + XmlToSolution xts = new XmlToSolution(); + xts.readXmlString(xml); + + this.solutions = xts.convertXML(); +// Control.addJudgeInfo(" get "+solutions.getSolution().size()+" solutioins "); + if (solutions.getSolution().size() != 0) { + //System.out.println("get " + solutions.getSolution().size() + " solution"); + Control.addJudgeInfo(0, "get " + solutions.getSolution().size() + " solution"); + } else { + Thread.sleep(1000); + } + return solutions.getSolution(); + } + //listԪذlist˳Ž + + public void listToQueue(List s) { + synchronized (Control.queue) { + Control.queue.addAll(s); + } + } + + public void getSolutionFromWeb() throws Exception { + + List s; + s = this.getWebServiceSolutions(); + this.listToQueue(s); + + } +} + +// private void getServerObject() throws Exception{ +// String serverURL = "jdbc://"+ip+":" + port + "/" + "gddoj"; +// try { +// server = (IDistributorServer) Naming.lookup(serverURL); +// } catch (Exception ex) { +// ex.printStackTrace(); +// } +// } +// private void getTestCaseBeans(SolutionBean sbean){ +// Problem p = ProblemCacheManager.getOneProblem(sbean.getProblemId()); +// ProblemBean problemBean = p.getPbean(); +// testCaseBeans = p.getTestcases(); +// +// } +// public void changeMessage(String message){ +// Control.addJudgeInfo(message); +// } +// public void submitAnswer(Answer answer){ +// String xml = null; +// try { +// ResultBean rb = new ResultBean(); +// rb.setSolutionId(answer.getSolutionId()); +// rb.setProblemId(answer.getProblemId()); +// rb.setStatus(answer.getStatus()); +// rb.setCorrectCaseIds(answer.getCorrectCaseIds()); +// rb.setRemark(answer.getRemark()); +// rb.setLanguage(answer.getLanguage()); +// rb.setSourceCode(answer.getSourceCode()); +// List wrongCase = new ArrayList<>(); +// List testCaseList = Arrays.asList(answer.getTestCaseId()); +// List correctList = Arrays.asList(answer.getCorrectCaseIds().split(",")); +// for(int i=0;i list = solutions.getSolution(); +// for(Solution s:list){ +// String problemId = s.getProblemId(); +// +// String language = s.getLangeuage(); +// String sourceCode = s.getCode(); +// +// +// } +// sid = server.getOneSolutionId(); +// +// new Process().Judge(langauge, sourceCode, timeOut, testCaseBeans); +// List slist=SolutionDAO.findMore("id=", sid, 1); +// if (slist.size() != 0) { +// SolutionBean sbean = slist.get(0); +// if ((sbean.getId() < previousSId) || !(sbean.getStatus().equals(Const.STATUS[Const.QUEUE]))) { +// Control.addExceptionInfo("previous SolutionId=" + previousSId + "---this SolutionId" + sid); +// Control.addExceptionInfo("thisSId < previousSId? " + (sbean.getId() < previousSId)); +// Control.addExceptionInfo("sbean.status=" + sbean.getStatus()); +// Control.addExceptionInfo("this status!=QUEUE? " + (!(sbean.getStatus().equals(Const.STATUS[Const.QUEUE])))); +// continue; +// } +// previousSId = sbean.getId(); +// getTestCaseBeans(sbean); +// new Process().Judge(sbean,testCaseBeans,problemBean); +// } else { +// TimeTool.sleep(2000); +// } +// if (this.stop) { +// break; +// } +// } catch (Exception e) { +// e.printStackTrace(); +// Control.addExceptionInfo("SID="+sid+" "+e.toString()); +// } +// } +// } + diff --git a/JuderUI/src/gui/Control.java b/JuderUI/src/gui/Control.java new file mode 100644 index 0000000..cd56601 --- /dev/null +++ b/JuderUI/src/gui/Control.java @@ -0,0 +1,314 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package gui; + +import common.Config; +import data.JudgeFromQueue; +import java.io.File; +import java.io.IOException; +import java.util.Calendar; +import javax.swing.JFileChooser; +import javax.swing.JLabel; + +import data.MainForNet; +import java.awt.EventQueue; +import java.util.ArrayList; +import java.util.LinkedList; +import java.util.List; +import java.util.Queue; +import javax.swing.JEditorPane; +import javax.swing.JOptionPane; +import javax.swing.text.Element; +import javax.xml.namespace.QName; +import myjdom.model.Solution; +import web.Webservice; + +/** + * + * @author Administrator + */ +public class Control { + + private static String url = null; + private static QName qname = null; + private static MainFrame mainFrame = null; + private static MainForNet mainNet = null; + private static JudgeFromQueue judgeFromQueue = null; + public static int runflag = 0; //߳״̬0,̹߳ر״̬,1,߳״̬ + private static Webservice webService = null; + public static Queue queue = null; + public static boolean[] threadCountsManager; //߳Ŀ + public static boolean[] threadState;//߳״̬ + + public static MainFrame getMainFrame() { + return mainFrame; + } + + public static void setMainFrame(MainFrame mainFrame) { + Control.mainFrame = mainFrame; + } + + //߳״̬ʼ + public static void setRunStatus() { + runflag = 1; + } + + //ʼ״̬ + public static void setStateArray() { + + //false ʼر߳ѭ + threadCountsManager = new boolean[5]; + threadCountsManager[0] = false; + threadCountsManager[1] = false; + threadCountsManager[2] = false; + threadCountsManager[3] = false; + threadCountsManager[4] = false; + + //false ̹߳رճɹ + threadState = new boolean[5]; + threadState[0] = false; + threadState[1] = false; + threadState[2] = false; + threadState[3] = false; + threadState[4] = false; + } + + //߳ʵʹ + public static boolean managerThreadCounts(String s) { + for (int i = 1; i <= 4; i++) { + int a = Integer.parseInt(s); + //ԭֹͣҪ + if (i <= a) { + //߳ + if (threadCountsManager[i] == false) { + threadCountsManager[i] = true; + threadState[i] = true; + mainFrame.threadManagerTabb.setTitleAt(i, "߳"); + judgeFromQueue = new JudgeFromQueue(i); + judgeFromQueue.start(); + } + } else //ԭеҪֹͣ + if (threadCountsManager[i] == true) { + threadCountsManager[i] = false; + mainFrame.threadManagerTabb.setTitleAt(i, "ֹ߳ͣ"); + mainFrame.button_StartThread.setEnabled(false); + } + } + return true; + } + + //mainframe + public static void setTabbStopTitle(int n) { + mainFrame.threadManagerTabb.setTitleAt(n, "߳[δ]"); + } + + //ֹͣı + public static void setStoptxt() { + runflag = 0; //߳״̬ر + mainFrame.buttonCompilersConfig.setEnabled(true);//ָðť + mainFrame.buttonCompilersConfig1.setEnabled(true); + mainFrame.jLabel14.setText("ѹر ");//UI״̬ + + } + + public static void setStartThreadButtontEnable() { + mainFrame.button_StartThread.setEnabled(true); + } + + public static void setGuiQueueSize(String s) { + mainFrame.jLabel2.setText(s); + } + + // + public static JEditorPane getJudgeInfoEditorPane(int a) { + switch (a) { + case 1: + return mainFrame.textJudgeInfo1; + default: + return mainFrame.textJudgeInfo0; + } + } + + public static JEditorPane getExceptionEditorPane(int a) { + switch (a) { + case 1: + return mainFrame.textExceptionInfo1; + default: + return mainFrame.textExceptionInfo0; + } + } + + public static boolean stopJudgerForNet() { + int j = 1; + try { + mainFrame.buttonStop.setEnabled(false); + mainFrame.jLabel14.setText(" - -"); + // String s=mainFrame.jComboBox1.getSelectedItem().toString(); + int counts = 1; + threadCountsManager[0] = false; //رջȡtest߳ + + //رղ߳ + for (; j <= 1; j++) { + if (threadCountsManager[j] == true) { + threadCountsManager[j] = false; + mainFrame.threadManagerTabb.setTitleAt(j, "ֹ߳ͣ"); + } + } + return true; + } catch (Exception e) { + Control.addExceptionInfo(j, e.toString()); + return false; + } + } + + @SuppressWarnings("empty-statement") + public static boolean startJudgerForNet(String ip, int port) { + + queue = new LinkedList<>(); + + // mainFrame.jLabel2.setText(""+queue.size()); + // mainNet = new MainForNet(ip, port); + mainNet = new MainForNet();//ȡ⵽ + threadCountsManager[0] = true; + mainNet.start() +; + String a = mainFrame.jComboBox1.getSelectedItem().toString(); + return managerThreadCounts(a); + + } + + public static void addJudgeInfo(int a, String info) { + //ϢϢ2000ԶϴĻ + Element map = getJudgeInfoEditorPane(a).getDocument().getDefaultRootElement(); + if (map.getElementCount() == 2000) { + clearInfo(a); + } + int pos = 1;//λñ + String preInfo = getJudgeInfoEditorPane(a).getText(); + preInfo = getDetailTime() + info + "\n" + preInfo; + //ʹһֱȷڵһеϢ + getJudgeInfoEditorPane(a).setText(preInfo); + getJudgeInfoEditorPane(a).setSelectionStart(pos); + getJudgeInfoEditorPane(a).setSelectionEnd(pos); + } + + public static void clearInfo(int a) { + getJudgeInfoEditorPane(a).setText(""); + getExceptionEditorPane(a).setText(""); + } + + public static void addExceptionInfo(int a, String info) { + //ϢϢ2000ԶϴĻ + Element map = getExceptionEditorPane(a).getDocument().getDefaultRootElement(); + if (map.getElementCount() == 2000) { + clearInfo(a); + } + int pos = 1;//λñ + String preInfo = getExceptionEditorPane(a).getText(); + preInfo = getDetailTime() + preInfo + "\n" + info; + getExceptionEditorPane(a).setText(preInfo); + //ʹȷڵһеϢ + getExceptionEditorPane(a).setSelectionStart(pos); + getExceptionEditorPane(a).setSelectionEnd(pos); + } + + public static String getChooseDirectory() { + return getChooseDirectory("a"); + } + + public static String getChooseDirectory(String lan) { + + try { + String dirName; + while (true) { + JFileChooser fileChooser = new JFileChooser(); + fileChooser.setCurrentDirectory(new File(System.getProperty("user.dir"))); + fileChooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); + fileChooser.showDialog(new JLabel(), ""); + File file = fileChooser.getSelectedFile(); + dirName = file.toString(); + if (lan.equals("c") && dirName.contains(" ")) { + JOptionPane.showConfirmDialog(fileChooser, + "MinGW路径不得包含空格,请重新选择", "测试结果", //ToDo + JOptionPane.DEFAULT_OPTION, + JOptionPane.INFORMATION_MESSAGE + ); + } else { + break; + } + } + return dirName; + } catch (Exception e) { + e.printStackTrace(); + return ""; + } + + } + + private static String getDetailTime() { + Calendar c = Calendar.getInstance(); + String hour = String.valueOf(c.get(Calendar.HOUR_OF_DAY)); + if (hour.length() < 2) { + hour = "0" + hour; + } + String minute = String.valueOf(c.get(Calendar.MINUTE)); + if (minute.length() < 2) { + minute = "0" + minute; + } + String second = String.valueOf(c.get(Calendar.SECOND)); + if (second.length() < 2) { + second = "0" + second; + } + String year = String.valueOf(c.get(Calendar.YEAR)); + String month = String.valueOf(c.get(Calendar.MONTH) + 1); + String day = String.valueOf(c.get(Calendar.DAY_OF_MONTH)); + String logtime = year + "-" + month + "-" + day + " " + hour + ":" + minute + ":" + second; + return logtime; + } + + /** + * @return the webService + */ + public static Webservice getWebService() { + return webService; + } + + /** + * @param aWebService the webService to set + */ + public static void setWebService(Webservice aWebService) { + webService = aWebService; + } + + /** + * @return the url + */ + public static String getUrl() { + return url; + } + + /** + * @param aUrl the url to set + */ + public static void setUrl(String aUrl) { + url = aUrl; + } + + /** + * @return the qname + */ + public static QName getQname() { + return qname; + } + + /** + * @param aQname the qname to set + */ + public static void setQname(QName aQname) { + qname = aQname; + } + +} diff --git a/JuderUI/src/gui/MainFrame.form b/JuderUI/src/gui/MainFrame.form new file mode 100644 index 0000000..5915b9f --- /dev/null +++ b/JuderUI/src/gui/MainFrame.form @@ -0,0 +1,525 @@ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/JuderUI/src/gui/MainFrame.java b/JuderUI/src/gui/MainFrame.java new file mode 100644 index 0000000..f065507 --- /dev/null +++ b/JuderUI/src/gui/MainFrame.java @@ -0,0 +1,593 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package gui; + +import cache.ProblemsCachManager; +import common.Config; +import common.FileFinder; +import java.awt.Component; +import java.awt.event.WindowAdapter; +import java.awt.event.WindowEvent; +import java.io.File; +import javax.swing.JOptionPane; +import javax.xml.namespace.QName; +import share.gui.NewCompileSetting; + +/** + * + * @author Administrator + */ +public class MainFrame extends javax.swing.JFrame { + + /** + * Creates new form MainFrame + */ + public MainFrame() { + initComponents(); + this.button_Start.setEnabled(true); + this.buttonStop.setEnabled(false); + this.button_StartThread.setEnabled(false); + this.setDefaultCloseOperation(DO_NOTHING_ON_CLOSE); + + Control.setMainFrame(this); + Control.setStateArray(); + this.setResizable(false); + + //this.buttonState.set + this.setTitle("JudgerUI"); + this.setLocationRelativeTo(null); + loadConfig(); + //saveConfig(); + this.addWindowListener(new WindowAdapter() { + @Override + public void windowClosing(WindowEvent e) { + if (Control.runflag == 0) { + exit(); + } else { + JOptionPane.showMessageDialog(jTabbedPane1, "ȴ߳ȫֹͣٳԹرճ"); + } + } + }); + this.addWindowListener(new WindowAdapter() { + @Override + public void windowOpened(WindowEvent e) { + // TODO Auto-generated method stub + if (checkAutoStart()) { + button_StartActionPerformed(null); + } + } + }); + } + + /** + * This method is called from within the constructor to initialize the form. + * WARNING: Do NOT modify this code. The content of this method is always + * regenerated by the Form Editor. + */ + @SuppressWarnings("unchecked") + // //GEN-BEGIN:initComponents + private void initComponents() { + + buttonGroup1 = new javax.swing.ButtonGroup(); + jPanel1 = new javax.swing.JPanel(); + jTabbedPane1 = new javax.swing.JTabbedPane(); + jPanel2 = new javax.swing.JPanel(); + button_Start = new javax.swing.JButton(); + jSeparator1 = new javax.swing.JSeparator(); + jSeparator2 = new javax.swing.JSeparator(); + buttonCompilersConfig = new javax.swing.JButton(); + buttonStop = new javax.swing.JButton(); + distributorIP = new javax.swing.JTextField(); + jLabel3 = new javax.swing.JLabel(); + jLabel4 = new javax.swing.JLabel(); + distributorPort = new javax.swing.JTextField(); + jLabel14 = new javax.swing.JLabel(); + jLabel5 = new javax.swing.JLabel(); + jLabel2 = new javax.swing.JLabel(); + jLabel7 = new javax.swing.JLabel(); + jComboBox1 = new javax.swing.JComboBox<>(); + threadManagerTabb = new javax.swing.JTabbedPane(); + jPanel7 = new javax.swing.JPanel(); + jLabel15 = new javax.swing.JLabel(); + jScrollPane7 = new javax.swing.JScrollPane(); + textJudgeInfo0 = new javax.swing.JEditorPane(); + jScrollPane11 = new javax.swing.JScrollPane(); + textExceptionInfo0 = new javax.swing.JEditorPane(); + jLabel16 = new javax.swing.JLabel(); + jPanel6 = new javax.swing.JPanel(); + jScrollPane9 = new javax.swing.JScrollPane(); + textJudgeInfo1 = new javax.swing.JEditorPane(); + jScrollPane12 = new javax.swing.JScrollPane(); + textExceptionInfo1 = new javax.swing.JEditorPane(); + jLabel6 = new javax.swing.JLabel(); + jLabel9 = new javax.swing.JLabel(); + button_StartThread = new javax.swing.JButton(); + jCheckBox1 = new javax.swing.JCheckBox(); + jLabel17 = new javax.swing.JLabel(); + jButton1 = new javax.swing.JButton(); + buttonCompilersConfig1 = new javax.swing.JButton(); + + setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); + + button_Start.setText("ʼ"); + button_Start.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + button_StartActionPerformed(evt); + } + }); + + buttonCompilersConfig.setText("C/C++"); + buttonCompilersConfig.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + buttonCompilersConfigActionPerformed(evt); + } + }); + + buttonStop.setText("ֹͣ"); + buttonStop.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + buttonStopActionPerformed(evt); + } + }); + + jLabel3.setText("IP:"); + + jLabel4.setText("port:"); + + jLabel14.setText(" - - "); + + jLabel5.setText("ǰ:"); + + jLabel2.setText("0"); + + jLabel7.setText("߳:"); + + jComboBox1.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "1", "2", "3", "4" })); + + jLabel15.setText("һϢ:"); + + jScrollPane7.setViewportView(textJudgeInfo0); + + jScrollPane11.setViewportView(textExceptionInfo0); + + jLabel16.setText("쳣Ϣ:"); + + javax.swing.GroupLayout jPanel7Layout = new javax.swing.GroupLayout(jPanel7); + jPanel7.setLayout(jPanel7Layout); + jPanel7Layout.setHorizontalGroup( + jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel7Layout.createSequentialGroup() + .addContainerGap() + .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jScrollPane7, javax.swing.GroupLayout.PREFERRED_SIZE, 379, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(jLabel15)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel7Layout.createSequentialGroup() + .addComponent(jScrollPane11, javax.swing.GroupLayout.DEFAULT_SIZE, 545, Short.MAX_VALUE) + .addContainerGap()) + .addGroup(jPanel7Layout.createSequentialGroup() + .addComponent(jLabel16) + .addGap(35, 501, Short.MAX_VALUE)))) + ); + jPanel7Layout.setVerticalGroup( + jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel7Layout.createSequentialGroup() + .addContainerGap() + .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(jLabel15) + .addComponent(jLabel16)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jScrollPane11, javax.swing.GroupLayout.DEFAULT_SIZE, 352, Short.MAX_VALUE) + .addComponent(jScrollPane7))) + ); + + threadManagerTabb.addTab("", jPanel7); + + jScrollPane9.setViewportView(textJudgeInfo1); + + jScrollPane12.setViewportView(textExceptionInfo1); + + jLabel6.setText("һϢ:"); + + jLabel9.setText("쳣Ϣ:"); + + javax.swing.GroupLayout jPanel6Layout = new javax.swing.GroupLayout(jPanel6); + jPanel6.setLayout(jPanel6Layout); + jPanel6Layout.setHorizontalGroup( + jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel6Layout.createSequentialGroup() + .addContainerGap() + .addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jScrollPane9, javax.swing.GroupLayout.PREFERRED_SIZE, 379, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(jLabel6)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel6Layout.createSequentialGroup() + .addComponent(jLabel9) + .addGap(0, 0, Short.MAX_VALUE)) + .addComponent(jScrollPane12, javax.swing.GroupLayout.DEFAULT_SIZE, 545, Short.MAX_VALUE)) + .addContainerGap()) + ); + jPanel6Layout.setVerticalGroup( + jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel6Layout.createSequentialGroup() + .addContainerGap() + .addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(jLabel6) + .addComponent(jLabel9)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jScrollPane9, javax.swing.GroupLayout.DEFAULT_SIZE, 352, Short.MAX_VALUE) + .addComponent(jScrollPane12))) + ); + + threadManagerTabb.addTab("߳[δ]", jPanel6); + + button_StartThread.setText(""); + button_StartThread.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + button_StartThreadActionPerformed(evt); + } + }); + + jCheckBox1.setFont(new java.awt.Font("", 2, 12)); // NOI18N + jCheckBox1.setForeground(new java.awt.Color(0, 204, 102)); + jCheckBox1.setText("´Զʼ"); + jCheckBox1.setToolTipText("´γʱԶʼ"); + jCheckBox1.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + jCheckBox1ActionPerformed(evt); + } + }); + + jLabel17.setForeground(new java.awt.Color(51, 153, 255)); + jLabel17.setText("Ļ"); + jLabel17.addMouseListener(new java.awt.event.MouseAdapter() { + public void mouseClicked(java.awt.event.MouseEvent evt) { + jLabel17MouseClicked(evt); + } + }); + + jButton1.setText("ջ"); + jButton1.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + jButton1ActionPerformed(evt); + } + }); + + buttonCompilersConfig1.setText("JAVA"); + buttonCompilersConfig1.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + buttonCompilersConfig1ActionPerformed(evt); + } + }); + + javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2); + jPanel2.setLayout(jPanel2Layout); + jPanel2Layout.setHorizontalGroup( + jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jSeparator2) + .addGroup(jPanel2Layout.createSequentialGroup() + .addContainerGap() + .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel2Layout.createSequentialGroup() + .addComponent(buttonCompilersConfig) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(buttonCompilersConfig1) + .addGap(18, 18, 18) + .addComponent(jLabel3) + .addGap(0, 0, Short.MAX_VALUE) + .addComponent(distributorIP, javax.swing.GroupLayout.PREFERRED_SIZE, 211, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(41, 41, 41) + .addComponent(jLabel4) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(distributorPort, javax.swing.GroupLayout.PREFERRED_SIZE, 211, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(207, 207, 207)) + .addGroup(jPanel2Layout.createSequentialGroup() + .addComponent(button_Start) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(jCheckBox1) + .addGap(36, 36, 36) + .addComponent(buttonStop) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(jLabel14) + .addGap(64, 64, 64) + .addComponent(jLabel5) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jLabel2) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addComponent(jButton1) + .addGap(18, 18, 18) + .addComponent(jLabel7) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jComboBox1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(4, 4, 4) + .addComponent(button_StartThread) + .addGap(18, 18, 18) + .addComponent(jLabel17) + .addGap(87, 87, 87)))) + .addGroup(jPanel2Layout.createSequentialGroup() + .addComponent(threadManagerTabb, javax.swing.GroupLayout.PREFERRED_SIZE, 955, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(49, 49, 49) + .addComponent(jSeparator1)) + ); + jPanel2Layout.setVerticalGroup( + jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel2Layout.createSequentialGroup() + .addContainerGap() + .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(buttonCompilersConfig) + .addComponent(distributorIP, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(jLabel3) + .addComponent(buttonCompilersConfig1)) + .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(jLabel4) + .addComponent(distributorPort, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jSeparator2, javax.swing.GroupLayout.PREFERRED_SIZE, 2, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(button_Start) + .addComponent(buttonStop) + .addComponent(jLabel14) + .addComponent(jLabel5) + .addComponent(jLabel2) + .addComponent(jComboBox1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(button_StartThread) + .addComponent(jCheckBox1) + .addComponent(jLabel17) + .addComponent(jLabel7) + .addComponent(jButton1)) + .addGap(18, 18, 18) + .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jSeparator1, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(threadManagerTabb, javax.swing.GroupLayout.PREFERRED_SIZE, 412, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addContainerGap()) + ); + + jLabel7.setVisible(false); + jComboBox1.setVisible(false); + button_StartThread.setVisible(false); + + jTabbedPane1.addTab("л", jPanel2); + + javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1); + jPanel1.setLayout(jPanel1Layout); + jPanel1Layout.setHorizontalGroup( + jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(jPanel1Layout.createSequentialGroup() + .addContainerGap() + .addComponent(jTabbedPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 958, javax.swing.GroupLayout.PREFERRED_SIZE) + .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + ); + jPanel1Layout.setVerticalGroup( + jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jTabbedPane1) + ); + + javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); + getContentPane().setLayout(layout); + layout.setHorizontalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + ); + layout.setVerticalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + ); + + pack(); + }// //GEN-END:initComponents + + private void buttonStopActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_buttonStopActionPerformed + + if (Control.stopJudgerForNet()) { + this.button_Start.setEnabled(true); + this.buttonStop.setEnabled(false); + this.jLabel14.setText("ڹر"); + this.button_StartThread.setEnabled(false); + } + }//GEN-LAST:event_buttonStopActionPerformed + + private void buttonCompilersConfigActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_buttonCompilersConfigActionPerformed + + NewCompileSetting cConfig = new NewCompileSetting("c", this, true); + cConfig.setVisible(true); + Config.freshConfig(); + }//GEN-LAST:event_buttonCompilersConfigActionPerformed + + private void button_StartActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_button_StartActionPerformed + if (!checkForCompile()) { + return; + } + this.saveConfig(); + String ip = this.distributorIP.getText(); + String port = this.distributorPort.getText(); + if (Control.startJudgerForNet(ip, Integer.parseInt(port))) { + this.jLabel14.setText("- -"); + //߳̿ʼ󣬲༭ + this.buttonCompilersConfig.setEnabled(false); + this.buttonCompilersConfig1.setEnabled(false); + + Control.setRunStatus(); + this.button_Start.setEnabled(false); + this.buttonStop.setEnabled(true); + this.button_StartThread.setEnabled(true); + //this.jLabel14.setText(""); + } + }//GEN-LAST:event_button_StartActionPerformed + + private void jCheckBox1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jCheckBox1ActionPerformed + + + }//GEN-LAST:event_jCheckBox1ActionPerformed + + private void jLabel17MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel17MouseClicked + // TODO add your handling code here: + for (int i = 0; i <= 4; i++) { + Control.clearInfo(i); + } + }//GEN-LAST:event_jLabel17MouseClicked + private boolean checkForCompile() { + String tmp = null; + tmp = Config.getCompilerDir("c"); + if (tmp == null || "".equals(tmp) || !FileFinder.isExistFile(tmp + File.separator + "gcc.exe") || !FileFinder.isExistFile(tmp + File.separator + "g++.exe")) { + //ñ + + JOptionPane.showMessageDialog(this, "Cñ"); + NewCompileSetting window = new NewCompileSetting("c", this, true); + window.setVisible(true); + return false; + } + + tmp = Config.getCompilerDir("java"); + if (tmp == null || "".equals(tmp) || !FileFinder.isExistFile(tmp + File.separator + "javac.exe")) { + + JOptionPane.showMessageDialog(this, "Javañ"); + NewCompileSetting window = new NewCompileSetting("java", this, true); + window.setVisible(true); + return false; + } + return true; + } + private void button_StartThreadActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_button_StartThreadActionPerformed + + String s = jComboBox1.getSelectedItem().toString(); + saveConfig(); + Control.managerThreadCounts(s); + }//GEN-LAST:event_button_StartThreadActionPerformed + + private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed + // TODO add your handling code here: + ProblemsCachManager problemsCachManager = ProblemsCachManager.getInstance(); + problemsCachManager.removeAllObject(); + JOptionPane.showMessageDialog(this, "ɹ"); + + }//GEN-LAST:event_jButton1ActionPerformed + + private void buttonCompilersConfig1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_buttonCompilersConfig1ActionPerformed + // TODO add your handling code here: + NewCompileSetting javaConfig = new NewCompileSetting("java", this, true); + javaConfig.setVisible(true); + }//GEN-LAST:event_buttonCompilersConfig1ActionPerformed + + private void loadConfig() { + this.distributorIP.setText(Config.getValue("distributorIP")); + this.distributorPort.setText(Config.getValue("distributorPort")); + + } + + private void saveConfig() { + //Զʼ״̬ + if (jCheckBox1.isSelected()) { + Config.getProp().setProperty("StartThreadAuto", "true"); + } else { + Config.getProp().setProperty("StartThreadAuto", "false"); + } + Config.getProp().setProperty("ThreadNumber", jComboBox1.getSelectedItem().toString());//߳´Զ + Config.getProp().setProperty("distributorIP", this.distributorIP.getText()); + Config.getProp().setProperty("distributorPort", this.distributorPort.getText()); + Control.setUrl(new String("http://" + this.distributorIP.getText() + ":" + this.distributorPort.getText() + "/oj/webservice/OJWS?wsdl")); + Control.setQname(new QName("http://ws.dhu.edu/", "OJWS")); + Config.save(); + } + + //Զʼ + public boolean checkAutoStart() { + if (Config.getValue("StartThreadAuto").equals("true")) { + this.jCheckBox1.setSelected(true); + this.jComboBox1.setSelectedItem(Config.getValue("ThreadNumber")); + return true; + } else { + this.jCheckBox1.setSelected(false); + return false; + } + } + + public void exit() { + this.dispose(); + } + + /** + * @param args the command line arguments + */ + public static void main(String args[]) { + /* Set the Nimbus look and feel */ + // + /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel. + * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html + */ + try { + for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) { + if ("Nimbus".equals(info.getName())) { + javax.swing.UIManager.setLookAndFeel(info.getClassName()); + break; + } + } + } catch (ClassNotFoundException ex) { + java.util.logging.Logger.getLogger(MainFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); + } catch (InstantiationException ex) { + java.util.logging.Logger.getLogger(MainFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); + } catch (IllegalAccessException ex) { + java.util.logging.Logger.getLogger(MainFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); + } catch (javax.swing.UnsupportedLookAndFeelException ex) { + java.util.logging.Logger.getLogger(MainFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); + } + // + + /* Create and display the form */ + java.awt.EventQueue.invokeLater(new Runnable() { + public void run() { + new MainFrame().setVisible(true); + } + }); + } + + + // Variables declaration - do not modify//GEN-BEGIN:variables + javax.swing.JButton buttonCompilersConfig; + javax.swing.JButton buttonCompilersConfig1; + private javax.swing.ButtonGroup buttonGroup1; + javax.swing.JButton buttonStop; + private javax.swing.JButton button_Start; + javax.swing.JButton button_StartThread; + private javax.swing.JTextField distributorIP; + private javax.swing.JTextField distributorPort; + private javax.swing.JButton jButton1; + private javax.swing.JCheckBox jCheckBox1; + javax.swing.JComboBox jComboBox1; + javax.swing.JLabel jLabel14; + private javax.swing.JLabel jLabel15; + private javax.swing.JLabel jLabel16; + private javax.swing.JLabel jLabel17; + javax.swing.JLabel jLabel2; + private javax.swing.JLabel jLabel3; + private javax.swing.JLabel jLabel4; + private javax.swing.JLabel jLabel5; + private javax.swing.JLabel jLabel6; + private javax.swing.JLabel jLabel7; + private javax.swing.JLabel jLabel9; + private javax.swing.JPanel jPanel1; + private javax.swing.JPanel jPanel2; + javax.swing.JPanel jPanel6; + javax.swing.JPanel jPanel7; + private javax.swing.JScrollPane jScrollPane11; + private javax.swing.JScrollPane jScrollPane12; + private javax.swing.JScrollPane jScrollPane7; + private javax.swing.JScrollPane jScrollPane9; + private javax.swing.JSeparator jSeparator1; + private javax.swing.JSeparator jSeparator2; + private javax.swing.JTabbedPane jTabbedPane1; + public javax.swing.JEditorPane textExceptionInfo0; + public javax.swing.JEditorPane textExceptionInfo1; + public javax.swing.JEditorPane textJudgeInfo0; + public javax.swing.JEditorPane textJudgeInfo1; + public javax.swing.JTabbedPane threadManagerTabb; + // End of variables declaration//GEN-END:variables +} diff --git a/JuderUI/src/myjdom/AnswerToXml.java b/JuderUI/src/myjdom/AnswerToXml.java new file mode 100644 index 0000000..b0b5c4f --- /dev/null +++ b/JuderUI/src/myjdom/AnswerToXml.java @@ -0,0 +1,89 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package myjdom; + +import java.util.Date; +import java.util.List; +import myjdom.model.ResultBean; +import org.w3c.dom.Element; +import persistence.oj_beans.ProblemTestCaseBean; + +/** + * + * @author ytxlo + */ +public class AnswerToXml extends XmlToBase implements XmlConvert { + + private ResultBean result; + + public AnswerToXml(ResultBean result) { + super(); + this.result = result; + } + + @Override + public String convertXML() throws Exception { + this.createDocument(); + Element root = doc.createElement("root"); + doc.appendChild(root); + Date date = new Date(); +// root.addElement("time").addText(date.toString()); + Element solution = doc.createElement("solution"); + root.appendChild(solution); +// solution.addElement("language").addText(getResult().getLanguage()); +// solution.addElement("sourceCode").addText(getResult().getSourceCode()); + Element solutionId = doc.createElement("solutionId"); + solution.appendChild(solutionId); + solutionId.setTextContent(getResult().getSolutionId()); + + Element problemId = doc.createElement("problemId"); + solution.appendChild(problemId); + problemId.setTextContent(getResult().getProblemId()); + + Element status = doc.createElement("status"); + solution.appendChild(status); + status.setTextContent(getResult().getStatus()); + + Element correctCaseIds = doc.createElement("correctCaseIds"); + solution.appendChild(correctCaseIds); + correctCaseIds.setTextContent(getResult().getCorrectCaseIds()); + + Element remark = doc.createElement("remark"); + solution.appendChild(remark); + remark.setTextContent(getResult().getRemark()); + + Element wrongCases = doc.createElement("wrongCases"); + solution.appendChild(wrongCases); + List wrongList = getResult().getWrongCase(); + for (int i = 0; i < wrongList.size(); i++) { + Element tcase = doc.createElement("case"); + wrongCases.appendChild(tcase); + Element caseId = doc.createElement("caseId"); + tcase.appendChild(caseId); + caseId.setTextContent(String.valueOf(wrongList.get(i).getId())); + Element output = doc.createElement("output"); + tcase.appendChild(output); + output.setTextContent(wrongList.get(i).getOutput()); + } + + return XmlUtil.DocumentToString(doc, "GBK"); + } + + /** + * @return the result + */ + public ResultBean getResult() { + return result; + } + + /** + * @param result the result to set + */ + public void setResult(ResultBean result) { + this.result = result; + } + +} diff --git a/JuderUI/src/myjdom/XmlConvert.java b/JuderUI/src/myjdom/XmlConvert.java new file mode 100644 index 0000000..afee09f --- /dev/null +++ b/JuderUI/src/myjdom/XmlConvert.java @@ -0,0 +1,14 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package myjdom; + +/** + * + * @author ytxlo + */ +public interface XmlConvert { + public T convertXML() throws Exception; +} diff --git a/JuderUI/src/myjdom/XmlToBase.java b/JuderUI/src/myjdom/XmlToBase.java new file mode 100644 index 0000000..a45c7a9 --- /dev/null +++ b/JuderUI/src/myjdom/XmlToBase.java @@ -0,0 +1,46 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package myjdom; + +import javax.xml.parsers.DocumentBuilder; +import javax.xml.parsers.DocumentBuilderFactory; +import javax.xml.parsers.ParserConfigurationException; +import org.w3c.dom.Document; + +/** + * + * @author ytxlo + */ +public class XmlToBase { + + protected Document doc; + + public void readXmlString(String str) throws Exception { + doc = XmlUtil.readXmlString(str); + } +// public void readXmlFile(String fileName) throws Exception{ +// doc = XmlUtil.readXmlFile(fileName); +// } + public void createDocument() throws ParserConfigurationException { + DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); + DocumentBuilder builder = factory.newDocumentBuilder(); + doc = builder.newDocument(); + } + + /** + * @return the doc + */ + public Document getDoc() { + return doc; + } + + /** + * @param doc the doc to set + */ + public void setDoc(Document doc) { + this.doc = doc; + } +} diff --git a/JuderUI/src/myjdom/XmlToProblemBean.java b/JuderUI/src/myjdom/XmlToProblemBean.java new file mode 100644 index 0000000..96ae7f2 --- /dev/null +++ b/JuderUI/src/myjdom/XmlToProblemBean.java @@ -0,0 +1,45 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package myjdom; + +import java.util.ArrayList; +import java.util.List; +import myjdom.model.ProblemBean; +import persistence.oj_beans.ProblemTestCaseBean; + +import org.w3c.dom.Element; +import org.w3c.dom.Node; +import org.w3c.dom.NodeList; + +/** + * + * @author ytxlo + */ +public class XmlToProblemBean extends XmlToBase implements XmlConvert{ + + @Override + public ProblemBean convertXML() throws Exception { + ProblemBean pb =new ProblemBean(); + List testCaseList = new ArrayList<>(); + String s = doc.getDocumentElement().getElementsByTagName("time_limit").item(0).getTextContent(); + pb.setTimeOut(Float.parseFloat(doc.getDocumentElement().getElementsByTagName("time_limit").item(0).getTextContent())); + NodeList list =doc.getDocumentElement().getElementsByTagName("Case"); + // String ss=XmlUtil.DocumentToString(doc,"gbk"); + for(int i=0;i{ + + @Override + public Request convertXML() throws Exception { + Request req = new Request(); + Element root = doc.getDocumentElement(); + req.setRspMsg(root.getElementsByTagName("rspMsg").item(0).getTextContent()); + req.setTime(root.getElementsByTagName("time").item(0).getTextContent()); + return req; + } + +} diff --git a/JuderUI/src/myjdom/XmlToSolution.java b/JuderUI/src/myjdom/XmlToSolution.java new file mode 100644 index 0000000..bf686e9 --- /dev/null +++ b/JuderUI/src/myjdom/XmlToSolution.java @@ -0,0 +1,60 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package myjdom; + +import java.util.ArrayList; +import java.util.List; +import myjdom.model.Solution; +import myjdom.model.Solutions; +import org.w3c.dom.Element; +import org.w3c.dom.Node; +import org.w3c.dom.NodeList; + +/** + * + * @author ytxlo + */ +public class XmlToSolution extends XmlToBase implements XmlConvert { + + @Override + public Solutions convertXML() throws Exception { + Solutions solutions = new Solutions(); + List solutionList = new ArrayList<>(); + Element rootElement = doc.getDocumentElement(); + solutions.setRspMsg(rootElement.getElementsByTagName("rspMsg").item(0).getTextContent()); + solutions.setTime(rootElement.getElementsByTagName("time").item(0).getTextContent()); +// Node node = doc.getDocumentElement().getElementsByTagName("solution").item(0); +// NodeList list = node.getChildNodes(); + + NodeList list=doc.getDocumentElement().getElementsByTagName("solution"); + for (int i = 0; i < list.getLength(); i++) { + + Element e = (Element)list.item(i); + Solution s = new Solution(); + if (e.getElementsByTagName("solutionId").item(0) != null) { + s.setSolutionId(e.getElementsByTagName("solutionId").item(0).getTextContent()); + } + if (e.getElementsByTagName("problemId").item(0) != null) { + s.setProblemId(e.getElementsByTagName("problemId").item(0).getTextContent()); + } + if (e.getElementsByTagName("submitTime").item(0) != null) { + s.setSubmitTime(e.getElementsByTagName("submitTime").item(0).getTextContent()); + } + if (e.getElementsByTagName("language").item(0) != null) { + s.setLangeuage(e.getElementsByTagName("language").item(0).getTextContent()); + } + if (e.getElementsByTagName("code").item(0) != null) { + s.setCode(e.getElementsByTagName("code").item(0).getTextContent()); + } + solutionList.add(s); + } + if (solutionList.size() == 1 && solutionList.get(0).getProblemId() == null) { + solutionList.remove(0); + } + solutions.setSolution(solutionList); + return solutions; + } +} diff --git a/JuderUI/src/myjdom/XmlUtil.java b/JuderUI/src/myjdom/XmlUtil.java new file mode 100644 index 0000000..255e304 --- /dev/null +++ b/JuderUI/src/myjdom/XmlUtil.java @@ -0,0 +1,63 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package myjdom; + +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.util.logging.Level; +import java.util.logging.Logger; +import javax.xml.parsers.DocumentBuilder; +import javax.xml.parsers.DocumentBuilderFactory; +import javax.xml.parsers.ParserConfigurationException; +import javax.xml.transform.Transformer; +import javax.xml.transform.TransformerFactory; +import javax.xml.transform.dom.DOMSource; +import javax.xml.transform.stream.StreamResult; +import org.w3c.dom.Document; +import org.xml.sax.SAXException; + +/** + * + * @author ytxlo + */ +public class XmlUtil { +// public static Document readXmlFile(String filename) throws Exception{ +// SAXReader reader = new SAXReader(); +// return reader.read(new File(filename)); +// } + + public static String DocumentToString(Document doc, String bm) throws Exception { + String xmlStr = null; + TransformerFactory tf = TransformerFactory.newInstance(); + Transformer t = tf.newTransformer(); + t.setOutputProperty("encoding", bm); + ByteArrayOutputStream bos = new ByteArrayOutputStream(); + t.transform(new DOMSource(doc), new StreamResult(bos)); + xmlStr = bos.toString(); + return xmlStr; + } + + public static Document readXmlString(String source) { + Document document=null; + try { + DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); + DocumentBuilder builder = factory.newDocumentBuilder(); + InputStream is = new ByteArrayInputStream(source.getBytes()); + document = builder.parse(is); + return document; + } catch (ParserConfigurationException ex) { + Logger.getLogger(XmlUtil.class.getName()).log(Level.SEVERE, null, ex); + } catch (SAXException ex) { + Logger.getLogger(XmlUtil.class.getName()).log(Level.SEVERE, null, ex); + } catch (IOException ex) { + Logger.getLogger(XmlUtil.class.getName()).log(Level.SEVERE, null, ex); + } + return document; + } + +} diff --git a/JuderUI/src/myjdom/model/ProblemBean.java b/JuderUI/src/myjdom/model/ProblemBean.java new file mode 100644 index 0000000..757fe76 --- /dev/null +++ b/JuderUI/src/myjdom/model/ProblemBean.java @@ -0,0 +1,48 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package myjdom.model; + +import persistence.oj_beans.ProblemTestCaseBean; +import java.util.List; + +/** + * + * @author ytxlo + */ +public class ProblemBean { + private List testCaseBeanList; + private Float timeOut; + + /** + * @return the testCaseBeanList + */ + public List getTestCaseBeanList() { + return testCaseBeanList; + } + + /** + * @param testCaseBeanList the testCaseBeanList to set + */ + public void setTestCaseBeanList(List testCaseBeanList) { + this.testCaseBeanList = testCaseBeanList; + } + + /** + * @return the timeOut + */ + public Float getTimeOut() { + return timeOut; + } + + /** + * @param timeOut the timeOut to set + */ + public void setTimeOut(Float timeOut) { + this.timeOut = timeOut; + } + + +} diff --git a/JuderUI/src/myjdom/model/Request.java b/JuderUI/src/myjdom/model/Request.java new file mode 100644 index 0000000..016021c --- /dev/null +++ b/JuderUI/src/myjdom/model/Request.java @@ -0,0 +1,44 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package myjdom.model; + +/** + * + * @author ytxlo + */ +public class Request { + private String rspMsg; + private String time; + + /** + * @return the rspMsg + */ + public String getRspMsg() { + return rspMsg; + } + + /** + * @param rspMsg the rspMsg to set + */ + public void setRspMsg(String rspMsg) { + this.rspMsg = rspMsg; + } + + /** + * @return the time + */ + public String getTime() { + return time; + } + + /** + * @param time the time to set + */ + public void setTime(String time) { + this.time = time; + } + +} diff --git a/JuderUI/src/myjdom/model/ResultBean.java b/JuderUI/src/myjdom/model/ResultBean.java new file mode 100644 index 0000000..f21f90f --- /dev/null +++ b/JuderUI/src/myjdom/model/ResultBean.java @@ -0,0 +1,136 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package myjdom.model; + +import java.util.List; +import persistence.oj_beans.ProblemTestCaseBean; + +/** + * + * @author ytxlo + */ +public class ResultBean { + private String language; + private String sourceCode; + private String solutionId; + private String problemId; + private String status; + private String correctCaseIds; + private String remark; + private List wrongCase; + + /** + * @return the solutionId + */ + public String getSolutionId() { + return solutionId; + } + + /** + * @param solutionId the solutionId to set + */ + public void setSolutionId(String solutionId) { + this.solutionId = solutionId; + } + + /** + * @return the problemId + */ + public String getProblemId() { + return problemId; + } + + /** + * @param problemId the problemId to set + */ + public void setProblemId(String problemId) { + this.problemId = problemId; + } + + /** + * @return the status + */ + public String getStatus() { + return status; + } + + /** + * @param status the status to set + */ + public void setStatus(String status) { + this.status = status; + } + + /** + * @return the correctCaseIds + */ + public String getCorrectCaseIds() { + return correctCaseIds; + } + + /** + * @param correctCaseIds the correctCaseIds to set + */ + public void setCorrectCaseIds(String correctCaseIds) { + this.correctCaseIds = correctCaseIds; + } + + /** + * @return the remark + */ + public String getRemark() { + return remark; + } + + /** + * @param remark the remark to set + */ + public void setRemark(String remark) { + this.remark = remark; + } + + /** + * @return the wrongCase + */ + public List getWrongCase() { + return wrongCase; + } + + /** + * @param wrongCase the wrongCase to set + */ + public void setWrongCase(List wrongCase) { + this.wrongCase = wrongCase; + } + + /** + * @return the language + */ + public String getLanguage() { + return language; + } + + /** + * @param language the language to set + */ + public void setLanguage(String language) { + this.language = language; + } + + /** + * @return the sourceCode + */ + public String getSourceCode() { + return sourceCode; + } + + /** + * @param sourceCode the sourceCode to set + */ + public void setSourceCode(String sourceCode) { + this.sourceCode = sourceCode; + } +} \ No newline at end of file diff --git a/JuderUI/src/myjdom/model/Solution.java b/JuderUI/src/myjdom/model/Solution.java new file mode 100644 index 0000000..16898ad --- /dev/null +++ b/JuderUI/src/myjdom/model/Solution.java @@ -0,0 +1,88 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package myjdom.model; + +/** + * + * @author ytxlo + */ +public class Solution { + private String solutionId; + private String problemId; + private String submitTime; + private String langeuage; + private String code; + + /** + * @return the solutionId + */ + public String getSolutionId() { + return solutionId; + } + + /** + * @param solutionId the solutionId to set + */ + public void setSolutionId(String solutionId) { + this.solutionId = solutionId; + } + + /** + * @return the problemId + */ + public String getProblemId() { + return problemId; + } + + /** + * @param problemId the problemId to set + */ + public void setProblemId(String problemId) { + this.problemId = problemId; + } + + /** + * @return the submitTime + */ + public String getSubmitTime() { + return submitTime; + } + + /** + * @param submitTime the submitTime to set + */ + public void setSubmitTime(String submitTime) { + this.submitTime = submitTime; + } + + /** + * @return the code + */ + public String getCode() { + return code; + } + + /** + * @param code the code to set + */ + public void setCode(String code) { + this.code = code; + } + + /** + * @return the langeuage + */ + public String getLangeuage() { + return langeuage; + } + + /** + * @param langeuage the langeuage to set + */ + public void setLangeuage(String langeuage) { + this.langeuage = langeuage; + } +} diff --git a/JuderUI/src/myjdom/model/Solutions.java b/JuderUI/src/myjdom/model/Solutions.java new file mode 100644 index 0000000..93c368e --- /dev/null +++ b/JuderUI/src/myjdom/model/Solutions.java @@ -0,0 +1,61 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package myjdom.model; + +import java.util.List; + +/** + * + * @author ytxlo + */ +public class Solutions { + private String rspMsg; + private String time; + private List solution; + + /** + * @return the rspMsg + */ + public String getRspMsg() { + return rspMsg; + } + + /** + * @param rspMsg the rspMsg to set + */ + public void setRspMsg(String rspMsg) { + this.rspMsg = rspMsg; + } + + /** + * @return the time + */ + public String getTime() { + return time; + } + + /** + * @param time the time to set + */ + public void setTime(String time) { + this.time = time; + } + + /** + * @return the solution + */ + public List getSolution() { + return solution; + } + + /** + * @param solution the solution to set + */ + public void setSolution(List solution) { + this.solution = solution; + } + +} diff --git a/JuderUI/src/myjdom/model/TestCase.java b/JuderUI/src/myjdom/model/TestCase.java new file mode 100644 index 0000000..c63f721 --- /dev/null +++ b/JuderUI/src/myjdom/model/TestCase.java @@ -0,0 +1,73 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package myjdom.model; + +/** + * + * @author ytxlo + */ +public class TestCase { + private Integer id; + private Integer problemId; + private String input; + private String output; + + /** + * @return the id + */ + public Integer getId() { + return id; + } + + /** + * @param id the id to set + */ + public void setId(Integer id) { + this.id = id; + } + + /** + * @return the problemId + */ + public Integer getProblemId() { + return problemId; + } + + /** + * @param problemId the problemId to set + */ + public void setProblemId(Integer problemId) { + this.problemId = problemId; + } + + /** + * @return the input + */ + public String getInput() { + return input; + } + + /** + * @param input the input to set + */ + public void setInput(String input) { + this.input = input; + } + + /** + * @return the output + */ + public String getOutput() { + return output; + } + + /** + * @param output the output to set + */ + public void setOutput(String output) { + this.output = output; + } +} diff --git a/JuderUI/src/swingworker/MySwingWorker.java b/JuderUI/src/swingworker/MySwingWorker.java new file mode 100644 index 0000000..f25a91b --- /dev/null +++ b/JuderUI/src/swingworker/MySwingWorker.java @@ -0,0 +1,185 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package swingworker; + +import java.util.List; +import java.util.concurrent.ExecutionException; +import java.util.function.Consumer; +import javax.swing.SwingWorker; +import main.Answer; +import main.Process; +import persistence.oj_beans.ProblemTestCaseBean; + +/** + * + * @author ytxlo + */ +public class MySwingWorker extends SwingWorker{ + private Consumer con1; + private Consumer con2; + private String solutionId; + private String problemId; + private String language; + private String sourceCode; + private Float timeOut; + private List testCaseList; + public MySwingWorker(int threadNo,String solutionId,String problemId,String language,String sourceCode,Float timeOut,List testCaseList,Consumer changeMessage,Consumer submitResult){ + this.solutionId = solutionId; + this.problemId = problemId; + this.language = language; + this.sourceCode = sourceCode; + this.timeOut = timeOut; + this.testCaseList = testCaseList; + this.con1 = changeMessage; + this.con2 = submitResult; + } + + @Override + protected Answer doInBackground() throws Exception { + return new Process().Judge(getSolutionId(),getProblemId(),getLanguage(), getSourceCode(), timeOut, getTestCaseList(),this::writeToGui); + } + + public void writeToGui(String s){ + //System.out.println(s); + publish(s); + } + + @Override + protected void process(List chunks) { + super.process(chunks); //To change body of generated methods, choose Tools | Templates. + for(int i=0;i getTestCaseList() { + return testCaseList; + } + + /** + * @param testCaseList the testCaseList to set + */ + public void setTestCaseList(List testCaseList) { + this.testCaseList = testCaseList; + } + + /** + * @return the con + */ + + /** + * @return the con1 + */ + public Consumer getCon1() { + return con1; + } + + /** + * @param con1 the con1 to set + */ + public void setCon1(Consumer con1) { + this.con1 = con1; + } + + /** + * @return the con2 + */ + public Consumer getCon2() { + return con2; + } + + /** + * @param con2 the con2 to set + */ + public void setCon2(Consumer con2) { + this.con2 = con2; + } + + /** + * @return the solutionId + */ + public String getSolutionId() { + return solutionId; + } + + /** + * @param solutionId the solutionId to set + */ + public void setSolutionId(String solutionId) { + this.solutionId = solutionId; + } + + /** + * @return the problemId + */ + public String getProblemId() { + return problemId; + } + + /** + * @param problemId the problemId to set + */ + public void setProblemId(String problemId) { + this.problemId = problemId; + } + +} diff --git a/JuderUI/src/util/Decrypt.java b/JuderUI/src/util/Decrypt.java new file mode 100644 index 0000000..0311cca --- /dev/null +++ b/JuderUI/src/util/Decrypt.java @@ -0,0 +1,61 @@ +package util; + + +import java.security.Key; +import java.security.spec.AlgorithmParameterSpec; + +import javax.crypto.Cipher; +import javax.crypto.SecretKeyFactory; +import javax.crypto.spec.DESKeySpec; +import javax.crypto.spec.IvParameterSpec; +import javax.sound.sampled.AudioFormat.Encoding; + +import sun.nio.cs.ext.GBK; + +public class Decrypt { + public static final String ALGORITHM_DES = "DES/CBC/PKCS5Padding"; + public static String decrypt(String key,byte[] data) { + + try { + DESKeySpec dks = new DESKeySpec(key.getBytes()); + SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES"); + Key secretKey = keyFactory.generateSecret(dks); + Cipher cipher = Cipher.getInstance(ALGORITHM_DES); + IvParameterSpec iv = new IvParameterSpec("12345678".getBytes()); + AlgorithmParameterSpec paramSpec = iv; + cipher.init(Cipher.DECRYPT_MODE, secretKey, paramSpec); + return new String(cipher.doFinal(data)); + } catch (Exception e){ + e.printStackTrace(); + return "wrong"; + } + } + /** + * DES㷨 + * + * @param data ַ + * @param key ˽ԿȲܹС8λ + * @return ֽܺ飬һBase64ʹ + * @throws InvalidAlgorithmParameterException + * @throws Exception + */ + public static byte[] encrypt(String key,String data) { + if(data == null) + return new byte[0]; + try{ + DESKeySpec dks = new DESKeySpec(key.getBytes()); + SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES"); + //keyijȲܹС8λֽ + Key secretKey = keyFactory.generateSecret(dks); + Cipher cipher = Cipher.getInstance(ALGORITHM_DES); + IvParameterSpec iv = new IvParameterSpec("12345678".getBytes()); + AlgorithmParameterSpec paramSpec = iv; + cipher.init(Cipher.ENCRYPT_MODE, secretKey,paramSpec); + byte[] bytes = cipher.doFinal(data.getBytes()); + return bytes; + }catch(Exception e){ + e.printStackTrace(); + return new byte[0]; + } + } +} diff --git a/JuderUI/src/web/Webservice.java b/JuderUI/src/web/Webservice.java new file mode 100644 index 0000000..ccd91f1 --- /dev/null +++ b/JuderUI/src/web/Webservice.java @@ -0,0 +1,46 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package web; + +import util.Decrypt; +import edu.dhu.ws.OJWS; +import edu.dhu.ws.OJWS_Service; +import java.io.UnsupportedEncodingException; +import java.net.URL; +import javax.xml.namespace.QName; + +/** + * + * @author ytxlo + */ +public class Webservice { + private OJWS_Service webs; + private OJWS servicePort; + public Webservice(){ + webs = new OJWS_Service(); + servicePort = webs.getOJWSImplPort(); + } + public Webservice(URL url,QName qname){ + webs = new OJWS_Service(url,qname); + servicePort = webs.getOJWSImplPort(); + } + public String getSolutions(int arg0){ + String s =this.servicePort.wsGetSolutions("judge","judge123",arg0); + return s; + } + public String getProblem(int arg){ +// servicePort.wsGetProblem(arg0, arg1, arg, arg) + byte[] soucre = this.servicePort.wsGetProblem4Judge("felix", "felix", arg); + String result = Decrypt.decrypt("felix10000", soucre); + //String prob = result.replaceFirst("GBK", "UTF-8"); + return result; + } + public String updateResult(String arg){ + byte[] data=Decrypt.encrypt("judge123", arg); + String s = servicePort.wsUpdateResult("judge","judge123",data); + return s; + } +} diff --git a/JuderUI/test/output/Main.c b/JuderUI/test/output/Main.c new file mode 100644 index 0000000..fdf35ba --- /dev/null +++ b/JuderUI/test/output/Main.c @@ -0,0 +1,16 @@ +#include +int main() +{ + double a,b,c; + while(scanf("%lf%lf", &a, &b) != EOF) + { + if (b!=0) + { + c=a/b; + printf("%.2f\n", c); + } + else + printf("error\n"); + } + return 0; +} \ No newline at end of file diff --git a/JuderUI/test/output/Main.exe b/JuderUI/test/output/Main.exe new file mode 100644 index 0000000..31e80b6 Binary files /dev/null and b/JuderUI/test/output/Main.exe differ diff --git a/JuderUI/test/output/Main.o b/JuderUI/test/output/Main.o new file mode 100644 index 0000000..987f313 Binary files /dev/null and b/JuderUI/test/output/Main.o differ diff --git a/JuderUI/xml-resources/web-service-references/OJWS/wsdl/106.15.36.190_80/oj/webservice/OJWS.wsdl b/JuderUI/xml-resources/web-service-references/OJWS/wsdl/106.15.36.190_80/oj/webservice/OJWS.wsdl new file mode 100644 index 0000000..e3a5ea8 --- /dev/null +++ b/JuderUI/xml-resources/web-service-references/OJWS/wsdl/106.15.36.190_80/oj/webservice/OJWS.wsdl @@ -0,0 +1,878 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Judger/ICE_JNIRegistry.dll b/Judger/ICE_JNIRegistry.dll new file mode 100644 index 0000000..9729f8c Binary files /dev/null and b/Judger/ICE_JNIRegistry.dll differ diff --git a/Judger/Judger.iml b/Judger/Judger.iml new file mode 100644 index 0000000..12ef387 --- /dev/null +++ b/Judger/Judger.iml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Judger/build.xml b/Judger/build.xml new file mode 100644 index 0000000..b6f3b2b --- /dev/null +++ b/Judger/build.xml @@ -0,0 +1,73 @@ + + + + + + + + + + + Builds, tests, and runs the project Judger. + + + diff --git a/Judger/build/classes/MyCache/Cache.class b/Judger/build/classes/MyCache/Cache.class new file mode 100644 index 0000000..79a5161 Binary files /dev/null and b/Judger/build/classes/MyCache/Cache.class differ diff --git a/Judger/build/classes/MyCache/Problem.class b/Judger/build/classes/MyCache/Problem.class new file mode 100644 index 0000000..4629c17 Binary files /dev/null and b/Judger/build/classes/MyCache/Problem.class differ diff --git a/Judger/build/classes/MyCache/ProblemCacheManager.class b/Judger/build/classes/MyCache/ProblemCacheManager.class new file mode 100644 index 0000000..0857e95 Binary files /dev/null and b/Judger/build/classes/MyCache/ProblemCacheManager.class differ diff --git a/Judger/build/classes/MyCache/Shared.class b/Judger/build/classes/MyCache/Shared.class new file mode 100644 index 0000000..3d44a48 Binary files /dev/null and b/Judger/build/classes/MyCache/Shared.class differ diff --git a/Judger/build/classes/kernel/ExeCommand$Kernel32.class b/Judger/build/classes/kernel/ExeCommand$Kernel32.class new file mode 100644 index 0000000..a02dd88 Binary files /dev/null and b/Judger/build/classes/kernel/ExeCommand$Kernel32.class differ diff --git a/Judger/build/classes/kernel/ExeCommand.class b/Judger/build/classes/kernel/ExeCommand.class new file mode 100644 index 0000000..a8e8d38 Binary files /dev/null and b/Judger/build/classes/kernel/ExeCommand.class differ diff --git a/Judger/build/classes/kernel/Judger.class b/Judger/build/classes/kernel/Judger.class new file mode 100644 index 0000000..25edf82 Binary files /dev/null and b/Judger/build/classes/kernel/Judger.class differ diff --git a/Judger/build/classes/kernel/LimitTime.class b/Judger/build/classes/kernel/LimitTime.class new file mode 100644 index 0000000..44dc7bf Binary files /dev/null and b/Judger/build/classes/kernel/LimitTime.class differ diff --git a/Judger/build/classes/kernel/ReadInfo.class b/Judger/build/classes/kernel/ReadInfo.class new file mode 100644 index 0000000..7826ccd Binary files /dev/null and b/Judger/build/classes/kernel/ReadInfo.class differ diff --git a/Judger/build/classes/kernel/Test.class b/Judger/build/classes/kernel/Test.class new file mode 100644 index 0000000..472788a Binary files /dev/null and b/Judger/build/classes/kernel/Test.class differ diff --git a/Judger/build/classes/kernel/WriteInfo.class b/Judger/build/classes/kernel/WriteInfo.class new file mode 100644 index 0000000..ab0ce97 Binary files /dev/null and b/Judger/build/classes/kernel/WriteInfo.class differ diff --git a/Judger/build/classes/main/Answer.class b/Judger/build/classes/main/Answer.class new file mode 100644 index 0000000..34c3a76 Binary files /dev/null and b/Judger/build/classes/main/Answer.class differ diff --git a/Judger/build/classes/main/Process.class b/Judger/build/classes/main/Process.class new file mode 100644 index 0000000..0c86854 Binary files /dev/null and b/Judger/build/classes/main/Process.class differ diff --git a/Judger/build/classes/resultData/CompileInfo.class b/Judger/build/classes/resultData/CompileInfo.class new file mode 100644 index 0000000..67c28cd Binary files /dev/null and b/Judger/build/classes/resultData/CompileInfo.class differ diff --git a/Judger/build/classes/resultData/JudgerInfo.class b/Judger/build/classes/resultData/JudgerInfo.class new file mode 100644 index 0000000..360e333 Binary files /dev/null and b/Judger/build/classes/resultData/JudgerInfo.class differ diff --git a/Judger/build/classes/resultData/Result.class b/Judger/build/classes/resultData/Result.class new file mode 100644 index 0000000..735a312 Binary files /dev/null and b/Judger/build/classes/resultData/Result.class differ diff --git a/Judger/build/classes/resultData/RunInfo.class b/Judger/build/classes/resultData/RunInfo.class new file mode 100644 index 0000000..9b245ee Binary files /dev/null and b/Judger/build/classes/resultData/RunInfo.class differ diff --git a/Judger/build/classes/scripes/ChangeScore.class b/Judger/build/classes/scripes/ChangeScore.class new file mode 100644 index 0000000..a471524 Binary files /dev/null and b/Judger/build/classes/scripes/ChangeScore.class differ diff --git a/Judger/build/classes/scripes/ProblemSubmit_Null2zero.class b/Judger/build/classes/scripes/ProblemSubmit_Null2zero.class new file mode 100644 index 0000000..8faf0de Binary files /dev/null and b/Judger/build/classes/scripes/ProblemSubmit_Null2zero.class differ diff --git a/Judger/build/classes/scripes/ResetStatus.class b/Judger/build/classes/scripes/ResetStatus.class new file mode 100644 index 0000000..bc711c3 Binary files /dev/null and b/Judger/build/classes/scripes/ResetStatus.class differ diff --git a/Judger/build/classes/share/gui/Compiles.class b/Judger/build/classes/share/gui/Compiles.class new file mode 100644 index 0000000..8f2f817 Binary files /dev/null and b/Judger/build/classes/share/gui/Compiles.class differ diff --git a/Judger/build/classes/share/gui/CompilesInRegisty.class b/Judger/build/classes/share/gui/CompilesInRegisty.class new file mode 100644 index 0000000..c89d45e Binary files /dev/null and b/Judger/build/classes/share/gui/CompilesInRegisty.class differ diff --git a/Judger/build/classes/share/gui/NewCompileSetting$1.class b/Judger/build/classes/share/gui/NewCompileSetting$1.class new file mode 100644 index 0000000..3272e82 Binary files /dev/null and b/Judger/build/classes/share/gui/NewCompileSetting$1.class differ diff --git a/Judger/build/classes/share/gui/NewCompileSetting$10.class b/Judger/build/classes/share/gui/NewCompileSetting$10.class new file mode 100644 index 0000000..204fb34 Binary files /dev/null and b/Judger/build/classes/share/gui/NewCompileSetting$10.class differ diff --git a/Judger/build/classes/share/gui/NewCompileSetting$11.class b/Judger/build/classes/share/gui/NewCompileSetting$11.class new file mode 100644 index 0000000..8b70c0f Binary files /dev/null and b/Judger/build/classes/share/gui/NewCompileSetting$11.class differ diff --git a/Judger/build/classes/share/gui/NewCompileSetting$12.class b/Judger/build/classes/share/gui/NewCompileSetting$12.class new file mode 100644 index 0000000..7338987 Binary files /dev/null and b/Judger/build/classes/share/gui/NewCompileSetting$12.class differ diff --git a/Judger/build/classes/share/gui/NewCompileSetting$13.class b/Judger/build/classes/share/gui/NewCompileSetting$13.class new file mode 100644 index 0000000..3b7dd69 Binary files /dev/null and b/Judger/build/classes/share/gui/NewCompileSetting$13.class differ diff --git a/Judger/build/classes/share/gui/NewCompileSetting$14.class b/Judger/build/classes/share/gui/NewCompileSetting$14.class new file mode 100644 index 0000000..caa2d4e Binary files /dev/null and b/Judger/build/classes/share/gui/NewCompileSetting$14.class differ diff --git a/Judger/build/classes/share/gui/NewCompileSetting$15.class b/Judger/build/classes/share/gui/NewCompileSetting$15.class new file mode 100644 index 0000000..b77502b Binary files /dev/null and b/Judger/build/classes/share/gui/NewCompileSetting$15.class differ diff --git a/Judger/build/classes/share/gui/NewCompileSetting$16$1.class b/Judger/build/classes/share/gui/NewCompileSetting$16$1.class new file mode 100644 index 0000000..3cafc2c Binary files /dev/null and b/Judger/build/classes/share/gui/NewCompileSetting$16$1.class differ diff --git a/Judger/build/classes/share/gui/NewCompileSetting$16.class b/Judger/build/classes/share/gui/NewCompileSetting$16.class new file mode 100644 index 0000000..484a67b Binary files /dev/null and b/Judger/build/classes/share/gui/NewCompileSetting$16.class differ diff --git a/Judger/build/classes/share/gui/NewCompileSetting$2.class b/Judger/build/classes/share/gui/NewCompileSetting$2.class new file mode 100644 index 0000000..5a4efb8 Binary files /dev/null and b/Judger/build/classes/share/gui/NewCompileSetting$2.class differ diff --git a/Judger/build/classes/share/gui/NewCompileSetting$3.class b/Judger/build/classes/share/gui/NewCompileSetting$3.class new file mode 100644 index 0000000..5a5e928 Binary files /dev/null and b/Judger/build/classes/share/gui/NewCompileSetting$3.class differ diff --git a/Judger/build/classes/share/gui/NewCompileSetting$4.class b/Judger/build/classes/share/gui/NewCompileSetting$4.class new file mode 100644 index 0000000..7871b2e Binary files /dev/null and b/Judger/build/classes/share/gui/NewCompileSetting$4.class differ diff --git a/Judger/build/classes/share/gui/NewCompileSetting$5.class b/Judger/build/classes/share/gui/NewCompileSetting$5.class new file mode 100644 index 0000000..1a6684f Binary files /dev/null and b/Judger/build/classes/share/gui/NewCompileSetting$5.class differ diff --git a/Judger/build/classes/share/gui/NewCompileSetting$6.class b/Judger/build/classes/share/gui/NewCompileSetting$6.class new file mode 100644 index 0000000..d60b9e5 Binary files /dev/null and b/Judger/build/classes/share/gui/NewCompileSetting$6.class differ diff --git a/Judger/build/classes/share/gui/NewCompileSetting$7.class b/Judger/build/classes/share/gui/NewCompileSetting$7.class new file mode 100644 index 0000000..0ac1eda Binary files /dev/null and b/Judger/build/classes/share/gui/NewCompileSetting$7.class differ diff --git a/Judger/build/classes/share/gui/NewCompileSetting$8.class b/Judger/build/classes/share/gui/NewCompileSetting$8.class new file mode 100644 index 0000000..cb76096 Binary files /dev/null and b/Judger/build/classes/share/gui/NewCompileSetting$8.class differ diff --git a/Judger/build/classes/share/gui/NewCompileSetting$9.class b/Judger/build/classes/share/gui/NewCompileSetting$9.class new file mode 100644 index 0000000..e20206d Binary files /dev/null and b/Judger/build/classes/share/gui/NewCompileSetting$9.class differ diff --git a/Judger/build/classes/share/gui/NewCompileSetting.class b/Judger/build/classes/share/gui/NewCompileSetting.class new file mode 100644 index 0000000..e218a34 Binary files /dev/null and b/Judger/build/classes/share/gui/NewCompileSetting.class differ diff --git a/Judger/build/classes/tool/ThreadTool.class b/Judger/build/classes/tool/ThreadTool.class new file mode 100644 index 0000000..2b200d6 Binary files /dev/null and b/Judger/build/classes/tool/ThreadTool.class differ diff --git a/Judger/build/classes/tool/Tool.class b/Judger/build/classes/tool/Tool.class new file mode 100644 index 0000000..56be82f Binary files /dev/null and b/Judger/build/classes/tool/Tool.class differ diff --git a/Judger/config/Config.properties b/Judger/config/Config.properties new file mode 100644 index 0000000..f22b0dc --- /dev/null +++ b/Judger/config/Config.properties @@ -0,0 +1,17 @@ +#update config.properties +#Mon Nov 07 22:30:19 CST 2016 +relativeJavaCompilerDir=\\Java\\jdk1.8.0_40\\bin +distributorIP=127.0.0.1 +distributorPort=5000 +relativeCCompilerDir=\\MinGW\\bin +exeDir=\\test +relativeExeDir=\\test +cCompilerDir=/Users/mouizumi/Documents/NetBeansProjects/\u88C1\u5224\u673A20161007/DHUOJJudger/MinGW +title=\u00E8\u00A3\u0081\u00E5\u0088\u00A4\u00E6\u009C\u00BA +srcDir=\\test +isRelative=true +Debug=1 +relativeSrcDir=\\test +relativeCppCompilerDir=\\MinGW\\bin +cppCompilerDir=/Users/mouizumi/Documents/NetBeansProjects/\u88C1\u5224\u673A20161007/DHUOJJudger/MinGW +javaCompilerDir=C\:\\Program Files\\Java\\jdk1.8.0_40\\bin diff --git a/Judger/config/DBConfig.properties b/Judger/config/DBConfig.properties new file mode 100644 index 0000000..26b9459 --- /dev/null +++ b/Judger/config/DBConfig.properties @@ -0,0 +1,6 @@ +#update dbConfig.properties +#Sun Nov 06 23:15:44 CST 2016 +hibernate.connection.username=root +hibernate.connection.password=1a2b3c4d +hibernate.connection.url=jdbc\:mysql\://121.42.40.51\:3306/gdoj?useUnicode\=true&characterEncoding\=UTF-8 +hibernate.connection.driver_class=com.mysql.jdbc.Driver diff --git a/Judger/dist/Judger.jar b/Judger/dist/Judger.jar new file mode 100644 index 0000000..274b5d7 Binary files /dev/null and b/Judger/dist/Judger.jar differ diff --git a/Judger/dist/README.TXT b/Judger/dist/README.TXT new file mode 100644 index 0000000..b81ff3e --- /dev/null +++ b/Judger/dist/README.TXT @@ -0,0 +1,32 @@ +======================== +BUILD OUTPUT DESCRIPTION +======================== + +When you build an Java application project that has a main class, the IDE +automatically copies all of the JAR +files on the projects classpath to your projects dist/lib folder. The IDE +also adds each of the JAR files to the Class-Path element in the application +JAR files manifest file (MANIFEST.MF). + +To run the project from the command line, go to the dist folder and +type the following: + +java -jar "Judger.jar" + +To distribute this project, zip up the dist folder (including the lib folder) +and distribute the ZIP file. + +Notes: + +* If two JAR files on the project classpath have the same name, only the first +JAR file is copied to the lib folder. +* Only JAR files are copied to the lib folder. +If the classpath contains other types of files or folders, these files (folders) +are not copied. +* If a library on the projects classpath also has a Class-Path element +specified in the manifest,the content of the Class-Path element has to be on +the projects runtime path. +* To set a main class in a standard Java project, right-click the project node +in the Projects window and choose Properties. Then click Run and enter the +class name in the Main Class field. Alternatively, you can manually type the +class name in the manifest Main-Class element. diff --git a/Judger/dist/lib/Common.jar b/Judger/dist/lib/Common.jar new file mode 100644 index 0000000..fac8f86 Binary files /dev/null and b/Judger/dist/lib/Common.jar differ diff --git a/Judger/dist/lib/antlr_2.7.6.jar b/Judger/dist/lib/antlr_2.7.6.jar new file mode 100644 index 0000000..3702b64 Binary files /dev/null and b/Judger/dist/lib/antlr_2.7.6.jar differ diff --git a/Judger/dist/lib/asm-all-2.2.3.jar b/Judger/dist/lib/asm-all-2.2.3.jar new file mode 100644 index 0000000..34bb1b2 Binary files /dev/null and b/Judger/dist/lib/asm-all-2.2.3.jar differ diff --git a/Judger/dist/lib/cglib-nodep-2.1.3.jar b/Judger/dist/lib/cglib-nodep-2.1.3.jar new file mode 100644 index 0000000..e9b17eb Binary files /dev/null and b/Judger/dist/lib/cglib-nodep-2.1.3.jar differ diff --git a/Judger/dist/lib/commons-collections-2.1.1.jar b/Judger/dist/lib/commons-collections-2.1.1.jar new file mode 100644 index 0000000..3272f2b Binary files /dev/null and b/Judger/dist/lib/commons-collections-2.1.1.jar differ diff --git a/Judger/dist/lib/commons-logging-1.0.4.jar b/Judger/dist/lib/commons-logging-1.0.4.jar new file mode 100644 index 0000000..b73a80f Binary files /dev/null and b/Judger/dist/lib/commons-logging-1.0.4.jar differ diff --git a/Judger/dist/lib/dom4j-1.6.jar b/Judger/dist/lib/dom4j-1.6.jar new file mode 100644 index 0000000..e19f4ce Binary files /dev/null and b/Judger/dist/lib/dom4j-1.6.jar differ diff --git a/Judger/dist/lib/hibernate3.jar b/Judger/dist/lib/hibernate3.jar new file mode 100644 index 0000000..95986f8 Binary files /dev/null and b/Judger/dist/lib/hibernate3.jar differ diff --git a/Judger/dist/lib/jdom.jar b/Judger/dist/lib/jdom.jar new file mode 100644 index 0000000..512cdfb Binary files /dev/null and b/Judger/dist/lib/jdom.jar differ diff --git a/Judger/dist/lib/jdom2-2.0.5.jar b/Judger/dist/lib/jdom2-2.0.5.jar new file mode 100644 index 0000000..b6996c7 Binary files /dev/null and b/Judger/dist/lib/jdom2-2.0.5.jar differ diff --git a/Judger/dist/lib/jna-platform-4.4.0.jar b/Judger/dist/lib/jna-platform-4.4.0.jar new file mode 100644 index 0000000..4d60212 Binary files /dev/null and b/Judger/dist/lib/jna-platform-4.4.0.jar differ diff --git a/Judger/dist/lib/jna.jar b/Judger/dist/lib/jna.jar new file mode 100644 index 0000000..33461ec Binary files /dev/null and b/Judger/dist/lib/jna.jar differ diff --git a/Judger/dist/lib/jta.jar b/Judger/dist/lib/jta.jar new file mode 100644 index 0000000..e0822a9 Binary files /dev/null and b/Judger/dist/lib/jta.jar differ diff --git a/Judger/dist/lib/mysql-connector-java-5.1.6-bin.jar b/Judger/dist/lib/mysql-connector-java-5.1.6-bin.jar new file mode 100644 index 0000000..0539039 Binary files /dev/null and b/Judger/dist/lib/mysql-connector-java-5.1.6-bin.jar differ diff --git a/Judger/dist/lib/registry.jar b/Judger/dist/lib/registry.jar new file mode 100644 index 0000000..2aefa0f Binary files /dev/null and b/Judger/dist/lib/registry.jar differ diff --git a/Judger/manifest.mf b/Judger/manifest.mf new file mode 100644 index 0000000..328e8e5 --- /dev/null +++ b/Judger/manifest.mf @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +X-COMMENT: Main-Class will be added automatically by build + diff --git a/Judger/nbproject/build-impl.xml b/Judger/nbproject/build-impl.xml new file mode 100644 index 0000000..c3d0382 --- /dev/null +++ b/Judger/nbproject/build-impl.xml @@ -0,0 +1,1788 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set src.dir + Must set test.src.dir + Must set build.dir + Must set dist.dir + Must set build.classes.dir + Must set dist.javadoc.dir + Must set build.test.classes.dir + Must set build.test.results.dir + Must set build.classes.excludes + Must set dist.jar + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No tests executed. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set JVM to use for profiling in profiler.info.jvm + Must set profiler agent JVM arguments in profiler.info.jvmargs.agent + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + To run this application from the command line without Ant, try: + + java -jar "${dist.jar.resolved}" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + Must select one file in the IDE or set run.class + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set debug.class + + + + + Must select one file in the IDE or set debug.class + + + + + Must set fix.includes + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + Must select one file in the IDE or set profile.class + This target only works when run from inside the NetBeans IDE. + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + + + Must select some files in the IDE or set test.includes + + + + + Must select one file in the IDE or set run.class + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + Some tests failed; see details above. + + + + + + + + + Must select some files in the IDE or set test.includes + + + + Some tests failed; see details above. + + + + Must select some files in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + Some tests failed; see details above. + + + + + Must select one file in the IDE or set test.class + + + + Must select one file in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + + + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Judger/nbproject/genfiles.properties b/Judger/nbproject/genfiles.properties new file mode 100644 index 0000000..f4e78fa --- /dev/null +++ b/Judger/nbproject/genfiles.properties @@ -0,0 +1,8 @@ +build.xml.data.CRC32=1eb93202 +build.xml.script.CRC32=ee47f585 +build.xml.stylesheet.CRC32=f85dc8f2@1.91.1.48 +# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. +# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. +nbproject/build-impl.xml.data.CRC32=1eb93202 +nbproject/build-impl.xml.script.CRC32=574e5e74 +nbproject/build-impl.xml.stylesheet.CRC32=f89f7d21@1.95.0.48 diff --git a/Judger/nbproject/private/config.properties b/Judger/nbproject/private/config.properties new file mode 100644 index 0000000..e69de29 diff --git a/Judger/nbproject/private/private.properties b/Judger/nbproject/private/private.properties new file mode 100644 index 0000000..25b83a6 --- /dev/null +++ b/Judger/nbproject/private/private.properties @@ -0,0 +1,11 @@ +compile.on.save=true +do.depend=false +do.jar=true +file.reference.jna-platform-4.4.0.jar=Z:\\project\\OJ\\Lib\\jna-platform-4.4.0.jar +file.reference.jna-platform-4.4.0.jar-1=Z:\\project\\OJ\\Lib\\jna-platform-4.4.0.jar +file.reference.jna.jar=Z:\\project\\OJ\\Lib\\jna.jar +file.reference.jna.jar-1=Z:\\project\\OJ\\Lib\\jna.jar +file.reference.registry.jar=Z:\\project\\OJ\\Lib\\registry-3.1.3\\bin\\registry.jar +javac.debug=true +javadoc.preview=true +user.properties.file=C:\\Users\\tange\\AppData\\Roaming\\NetBeans\\8.0.2\\build.properties diff --git a/Judger/nbproject/private/private.xml b/Judger/nbproject/private/private.xml new file mode 100644 index 0000000..5fb7c77 --- /dev/null +++ b/Judger/nbproject/private/private.xml @@ -0,0 +1,16 @@ + + + + + + file:/E:/ojNew/Judger/src/MyCache/Shared.java + file:/E:/ojNew/Judger/src/MyCache/ProblemCacheManager.java + file:/E:/ojNew/Judger/src/MyCache/Problem.java + + + + file:/K:/OJ/Judger/src/main/Answer.java + file:/K:/OJ/Judger/src/share/gui/NewCompileSetting.java + + + diff --git a/Judger/nbproject/project.properties b/Judger/nbproject/project.properties new file mode 100644 index 0000000..4df1148 --- /dev/null +++ b/Judger/nbproject/project.properties @@ -0,0 +1,148 @@ +annotation.processing.enabled=true +annotation.processing.enabled.in.editor=false +annotation.processing.processors.list= +annotation.processing.run.all.processors=true +annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output +application.title=Judger +application.vendor=Administrator +build.classes.dir=${build.dir}/classes +build.classes.excludes=**/*.java,**/*.form +# This directory is removed when the project is cleaned: +build.dir=build +build.generated.dir=${build.dir}/generated +build.generated.sources.dir=${build.dir}/generated-sources +# Only compile against the classpath explicitly listed here: +build.sysclasspath=ignore +build.test.classes.dir=${build.dir}/test/classes +build.test.results.dir=${build.dir}/test/results +# Uncomment to specify the preferred debugger connection transport: +#debug.transport=dt_socket +debug.classpath=\ + ${run.classpath} +debug.modulepath=\ + ${run.modulepath} +debug.test.classpath=\ + ${run.test.classpath} +debug.test.modulepath=\ + ${run.test.modulepath} +# build.classes.dir \u4e2d\u5e94\u4ece\u5206\u53d1 jar \u4e2d\u6392\u9664\u7684\u6587\u4ef6 +dist.archive.excludes= +# This directory is removed when the project is cleaned: +dist.dir=dist +dist.jar=${dist.dir}/Judger.jar +dist.javadoc.dir=${dist.dir}/javadoc +endorsed.classpath= +excludes= +file.reference.antlr_2.7.6.jar=../Lib/antlr_2.7.6.jar +file.reference.asm-all-2.2.3.jar=../Lib/asm-all-2.2.3.jar +file.reference.cglib-nodep-2.1.3.jar=../Lib/cglib-nodep-2.1.3.jar +file.reference.commons-collections-2.1.1.jar=../Lib/commons-collections-2.1.1.jar +file.reference.commons-logging-1.0.4.jar=../Lib/commons-logging-1.0.4.jar +file.reference.dom4j-1.6.jar=../Lib/dom4j-1.6.jar +file.reference.hibernate3.jar=../Lib/hibernate3.jar +file.reference.jdom.jar=../Lib/jdom.jar +file.reference.jdom2-2.0.5.jar=../Lib/jdom2-2.0.5.jar +file.reference.jna-platform-4.4.0.jar=G:\\Java\u5f15\u7528\u5305\\jna-platform-4.4.0.jar +file.reference.jna-platform-4.4.0.jar-1=F:\\Java\u5f15\u7528\u5305\\jna-platform-4.4.0.jar +file.reference.jna-platform-4.4.0.jar-2=..\\Lib\\jna-platform-4.4.0.jar +file.reference.jna.jar=G:\\Java\u5f15\u7528\u5305\\jna.jar +file.reference.jna.jar-1=F:\\Java\u5f15\u7528\u5305\\jna.jar +file.reference.jna.jar-2=..\\Lib\\jna.jar +file.reference.jta.jar=../Lib/jta.jar +file.reference.mysql-connector-java-5.1.6-bin.jar=../Lib/mysql-connector-java-5.1.6-bin.jar +file.reference.registry.jar=F:\\registry-3.1.3\\bin\\registry.jar +file.reference.registry.jar-1=..\\Lib\\registry-3.1.3\\bin\\registry.jar +includes=** +jar.archive.disabled=${jnlp.enabled} +jar.compress=false +jar.index=${jnlp.enabled} +javac.classpath=\ + ${file.reference.antlr_2.7.6.jar}:\ + ${file.reference.asm-all-2.2.3.jar}:\ + ${file.reference.cglib-nodep-2.1.3.jar}:\ + ${file.reference.commons-collections-2.1.1.jar}:\ + ${file.reference.commons-logging-1.0.4.jar}:\ + ${file.reference.dom4j-1.6.jar}:\ + ${file.reference.hibernate3.jar}:\ + ${file.reference.jdom.jar}:\ + ${file.reference.jdom2-2.0.5.jar}:\ + ${file.reference.jta.jar}:\ + ${file.reference.mysql-connector-java-5.1.6-bin.jar}:\ + ${file.reference.jna-platform-4.4.0.jar}:\ + ${file.reference.jna.jar}:\ + ${file.reference.jna.jar-1}:\ + ${file.reference.jna-platform-4.4.0.jar-1}:\ + ${reference.Common.jar}:\ + ${file.reference.registry.jar}:\ + ${file.reference.jna-platform-4.4.0.jar-2}:\ + ${file.reference.jna.jar-2}:\ + ${file.reference.registry.jar-1} +# Space-separated list of extra javac options +javac.compilerargs= +javac.deprecation=false +javac.external.vm=false +javac.modulepath= +javac.processormodulepath= +javac.processorpath=\ + ${javac.classpath} +javac.source=1.8 +javac.target=1.8 +javac.test.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +javac.test.modulepath=\ + ${javac.modulepath} +javac.test.processorpath=\ + ${javac.test.classpath} +javadoc.additionalparam= +javadoc.author=false +javadoc.encoding=${source.encoding} +javadoc.noindex=false +javadoc.nonavbar=false +javadoc.notree=false +javadoc.private=false +javadoc.splitindex=true +javadoc.use=true +javadoc.version=false +javadoc.windowtitle= +jnlp.codebase.type=no.codebase +jnlp.descriptor=application +jnlp.enabled=false +jnlp.mixed.code=default +jnlp.offline-allowed=false +jnlp.signed=false +jnlp.signing= +jnlp.signing.alias= +jnlp.signing.keystore= +main.class=scripes.ChangeScore +# \u9ed8\u8ba4 Application-Library-Allowable-Codebase \u5c5e\u6027\u7684\u53ef\u9009\u8986\u76d6, \u8be5\u5c5e\u6027\u6807\u8bc6\u9884\u671f\u627e\u5230\u60a8\u7684\u7b7e\u540d RIA \u7684\u4f4d\u7f6e\u3002 +manifest.custom.application.library.allowable.codebase= +# \u9ed8\u8ba4 Caller-Allowable-Codebase \u5c5e\u6027\u7684\u53ef\u9009\u8986\u76d6, \u8be5\u5c5e\u6027\u6807\u8bc6\u5728\u65e0\u5b89\u5168\u63d0\u793a\u7684\u60c5\u51b5\u4e0b JavaScript \u4ee3\u7801\u53ef\u4ee5\u4ece\u4e2d\u5bf9\u60a8\u7684 RIA \u8fdb\u884c\u8c03\u7528\u7684\u57df\u3002 +manifest.custom.caller.allowable.codebase= +# \u53ef\u4ee5\u9009\u62e9\u8986\u76d6\u9ed8\u8ba4\u7684\u4ee3\u7801\u5e93\u6e05\u5355\u5c5e\u6027, \u7528\u4e8e\u9632\u6b62 RIA \u88ab\u7528\u4f5c\u5176\u4ed6\u7528\u9014 +manifest.custom.codebase= +# \u53ef\u4ee5\u9009\u62e9\u8986\u76d6\u9ed8\u8ba4\u7684\u6743\u9650\u6e05\u5355\u5c5e\u6027 (\u652f\u6301\u7684\u503c: sandbox, all-permissions) +manifest.custom.permissions= +manifest.file=manifest.mf +meta.inf.dir=${src.dir}/META-INF +mkdist.disabled=false +platform.active=default_platform +project.Common=../Common +reference.Common.jar=${project.Common}/dist/Common.jar +run.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +# Space-separated list of JVM arguments used when running the project. +# You may also define separate properties like run-sys-prop.name=value instead of -Dname=value. +# To set system properties for unit tests define test-sys-prop.name=value: +run.jvmargs= +run.modulepath=\ + ${javac.modulepath} +run.test.classpath=\ + ${javac.test.classpath}:\ + ${build.test.classes.dir} +run.test.modulepath=\ + ${javac.test.modulepath} +source.encoding=GBK +src.dir=src +test.src.dir=test diff --git a/Judger/nbproject/project.xml b/Judger/nbproject/project.xml new file mode 100644 index 0000000..34aa434 --- /dev/null +++ b/Judger/nbproject/project.xml @@ -0,0 +1,25 @@ + + + org.netbeans.modules.java.j2seproject + + + Judger + + + + + + + + + + Common + jar + + jar + clean + jar + + + + diff --git a/Judger/src/MyCache/Cache.java b/Judger/src/MyCache/Cache.java new file mode 100644 index 0000000..fad0c78 --- /dev/null +++ b/Judger/src/MyCache/Cache.java @@ -0,0 +1,35 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package MyCache; + +import java.util.HashMap; +import java.util.Map; +import java.util.Set; + +public class Cache { + + private static final long livingTime=600000; + + + private static Map problems = new HashMap(); + + public static Problem getOneProblem(Integer problemId) { + return problems.get(problemId); + } + + public static void putOneProblem(Problem p) { + Integer key = p.getProblemId(); + problems.put(key, p); + } + + public static boolean contains(Integer key){ + Set keys=problems.keySet(); + return keys.contains(key); + } + public static Integer getSize(){ + return new Integer(problems.size()); + } +} diff --git a/Judger/src/MyCache/Problem.java b/Judger/src/MyCache/Problem.java new file mode 100644 index 0000000..8a35921 --- /dev/null +++ b/Judger/src/MyCache/Problem.java @@ -0,0 +1,57 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package MyCache; + +import java.util.List; +import persistence.oj_beans.ProblemBean; +import persistence.oj_beans.ProblemTestCaseBean; + + +/** + * + * @author Administrator + */ +public class Problem { + + Integer problemId; + ProblemBean pbean; + List testcases; + long entryTime; + + public Integer getProblemId() { + return problemId; + } + + public void setProblemId(Integer problemId) { + this.problemId = problemId; + } + + public ProblemBean getPbean() { + return pbean; + } + + public void setPbean(ProblemBean pbean) { + this.pbean = pbean; + } + + public List getTestcases() { + return testcases; + } + + public void setTestcases(List testcases) { + this.testcases = testcases; + } + + public long getEntryTime() { + return entryTime; + } + + public void setEntryTime(long entryTime) { + this.entryTime = entryTime; + } + + +} diff --git a/Judger/src/MyCache/ProblemCacheManager.java b/Judger/src/MyCache/ProblemCacheManager.java new file mode 100644 index 0000000..4d3236f --- /dev/null +++ b/Judger/src/MyCache/ProblemCacheManager.java @@ -0,0 +1,60 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package MyCache; + +import persistence.ObjectRelation_interface.ProblemDAO; +import persistence.ObjectRelation_interface.TestcaseDAO; + + +/** + * + * @author Administrator + */ +public class ProblemCacheManager { + public static int count=0; + public static int hitCount=0; + public static int nohitCount=0; + public static int hitButOutdateCount=0; + + + private static Problem generateProblemFromDB(Integer id) { + Problem p = new Problem(); + p.setEntryTime(System.currentTimeMillis()); + p.setProblemId(id); + p.setPbean(ProblemDAO.findOne("id=", id)); + p.setTestcases(TestcaseDAO.findMore("problemId=", id,100)); + return p; + } + + public static Problem getOneProblem(Integer id) { + count++; + +// if (Cache.contains(id)) {//а +// Problem p = Cache.getOneProblem(id); +// //жǷ +// if ((System.currentTimeMillis() - p.getEntryTime()) > 600000) {// +// hitButOutdateCount++; +// //1.» +// Problem new_p = generateProblemFromDB(id); +// Cache.putOneProblem(new_p); +// //2. +// return new_p; +// } else {//ûй +// //ֱӷػеProblem +// hitCount++; +// return Cache.getOneProblem(id); +// } +// +// } else {//û + //1.» + nohitCount++; + Problem new_p = generateProblemFromDB(id); + Cache.putOneProblem(new_p); + //2. + return new_p; + // } + } +} diff --git a/Judger/src/MyCache/Shared.java b/Judger/src/MyCache/Shared.java new file mode 100644 index 0000000..3e2648c --- /dev/null +++ b/Judger/src/MyCache/Shared.java @@ -0,0 +1,17 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package MyCache; + +/** + * + * @author SXZ + */ + +// +public class Shared { + public static long PID=-1; + public static int maxOutputLength=10000; +} diff --git a/Judger/src/kernel/ExeCommand.java b/Judger/src/kernel/ExeCommand.java new file mode 100644 index 0000000..34120bf --- /dev/null +++ b/Judger/src/kernel/ExeCommand.java @@ -0,0 +1,257 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package kernel; + +import MyCache.Shared; +import resultData.RunInfo; +import resultData.CompileInfo; +import common.Config; +import common.Const; +//import gui.Control; +import java.io.InputStream; +import java.io.OutputStream; +import log.Log; +import resultData.Result; +import tool.ThreadTool; +import com.sun.jna.Library; +import com.sun.jna.Native; +import java.lang.reflect.Field; +import resultData.JudgerInfo; + +/** + * + * @author Administrator + */ +public class ExeCommand { + + //ӿڼرkernal32 + public interface Kernel32 extends Library { + + public static Kernel32 INSTANCE = (Kernel32) Native.loadLibrary("kernel32", Kernel32.class); + + public long GetProcessId(Long hProcess); + } + + //ȡProcessӦID + private long getProcessID(Process process) { + + Field field = null; + try { + field = process.getClass().getDeclaredField("handle"); + field.setAccessible(true); + long PID = Kernel32.INSTANCE.GetProcessId((Long) field.get(process)); + return PID; + } catch (IllegalAccessException | IllegalArgumentException | NoSuchFieldException | SecurityException ex) { + Log.writeExceptionLog(ex.getMessage()); + ex.printStackTrace(); + return -1; + } + } + + public int exeCompile(String compileCommand,String env) { + if (Config.DEBUG >= 2) { + System.out.println("compileCommand:" + compileCommand); + } + int result = -1; + Result.status =0; + CompileInfo.init(); + + //볬Ϊʱ + result = getJurgeResult(compileCommand,env, "", 10); + CompileInfo.exitValue = JudgerInfo.exitValue; + CompileInfo.info = JudgerInfo.info; + CompileInfo.errorInfo = JudgerInfo.errorInfo; + CompileInfo.isKilled = JudgerInfo.isKilled; + + if (Result.status == Const.SE) + { + CompileInfo.remark = JudgerInfo.remark; + } + else if (CompileInfo.isKilled == 1) { + Result.status = Const.CE; + CompileInfo.remark = "볬ʱ,ԣ" + CompileInfo.errorInfo; + } else if (result != 0) { + Result.status = Const.CE; + CompileInfo.remark = CompileInfo.errorInfo; + } else { + CompileInfo.remark = ""; + } + if (Config.DEBUG >= 2) { + System.out.println("compile info:" + CompileInfo.info); + System.out.println("compile errinfo:" + CompileInfo.errorInfo); + } + return result; + + + + } + + public int exeLink(String linkCommand,String env) { + if (Config.DEBUG >= 2) { + System.out.println("linkCommand:" + linkCommand); + } + int result = -1; + Result.status =0; + result = getJurgeResult(linkCommand,env, "", 0); + + CompileInfo.exitValue = result; + CompileInfo.info += "\n" + JudgerInfo.info; + CompileInfo.errorInfo += "\n" + JudgerInfo.errorInfo; + + if (Result.status == Const.SE) + { + CompileInfo.remark = JudgerInfo.remark; + } + else if (result != 0) { + Result.status = Const.CE; + CompileInfo.remark = CompileInfo.errorInfo; + } else { + CompileInfo.remark = ""; + } + if (Config.DEBUG >= 2) { + System.out.println("link info:" + CompileInfo.info); + System.out.println("link errinfo:" + CompileInfo.errorInfo); + } + return result; + + + + } + + public int exeRun(String runCommand,String env, String input, long timeLimit) { +// if (Config.DEBUG >= 2) { +// System.out.println("runCommand" + runCommand); +// } + int result = -1; + Result.status = 0; + RunInfo.init(); + result = getJurgeResult(runCommand, env, input, timeLimit); + + RunInfo.exitValue = JudgerInfo.exitValue; + RunInfo.info = JudgerInfo.info; + RunInfo.errorInfo = JudgerInfo.errorInfo; + RunInfo.isKilled = JudgerInfo.isKilled; + + if (Config.DEBUG >= 2) { + System.out.println("run info:" + RunInfo.info); + System.out.println("run errinfo:" + RunInfo.errorInfo); + } + boolean flag = false; + if (flag = ThreadTool.findProcess("WerFault.exe")) { + try { + Runtime.getRuntime().exec("taskkill /f /t /im WerFault.exe").waitFor(); + }catch(Exception e) { + Log.writeExceptionLog("RunCommand line:1:" + e.getMessage() + "\n" + e.getStackTrace()); + } + } + if (Result.status == Const.SE) + { + RunInfo.remark = JudgerInfo.remark; + } + else if (flag) { + RunInfo.remark = "ʱ" + RunInfo.errorInfo; + Result.status = Const.RE; + } else if (RunInfo.isKilled == 1) { + Result.status = Const.TLE; + RunInfo.remark = "гʱ" + RunInfo.errorInfo; + } else if (result != 0) { + Result.status = Const.RE; + RunInfo.remark = "ʱ󣺳ֵΪ" + RunInfo.errorInfo; + } + if (result == 0) { + RunInfo.remark = ""; + } + return result; + + } + + public int getJurgeResult(String command,String env, String input, long timeLimit) { + int result = -1; + + Process p = null; + InputStream in = null; + InputStream err = null; + OutputStream os = null; + ReadInfo infoRead=null; + JudgerInfo.init(); + try { + p = Runtime.getRuntime().exec(command, new String[]{env}); + //ȡ̸ID + long PID = getProcessID(p); + Shared.PID = PID; + + in = p.getInputStream(); + err = p.getErrorStream(); + if (input.equals("") == false) // Ϊ򲻴򿪳 + { + + os = p.getOutputStream(); + infoRead =new ReadInfo(os, input); + infoRead.start(); +// BufferedWriter bw = new BufferedWriter(new OutputStreamWriter( +// os)); +// bw.write(input); +// bw.flush(); +// os.close(); + } + WriteInfo infoWrite = new WriteInfo(in); + WriteInfo errorInfoWrite = new WriteInfo(err); + infoWrite.start(); + errorInfoWrite.start(); + + if (timeLimit == 0) { + JudgerInfo.isRun = p.waitFor(); + result = p.exitValue(); + } else { + LimitTime limit = new LimitTime(); + limit.setProcess(p); + limit.setTimeLimit(timeLimit); + Thread thread = new Thread(limit); + thread.start(); + JudgerInfo.isRun = p.waitFor(); + result = p.exitValue(); + } + //ȷȫɱ + if (Shared.PID != -1 && ThreadTool.findProcess(Shared.PID)) { + Runtime.getRuntime().exec("taskkill /f /t /PID " + Shared.PID).waitFor(); + } + Shared.PID = -1; + infoWrite.join(); + errorInfoWrite.join(); + JudgerInfo.exitValue = result; + JudgerInfo.info = infoWrite.returnInfo(); + JudgerInfo.errorInfo = errorInfoWrite.returnInfo(); + + return result; + } catch (Exception ex) { + ex.printStackTrace(); + Result.status = Const.SE; + JudgerInfo.remark = "ϵͳ,"; + Log.writeExceptionLog("compileCommand line:3:" + ex.getMessage() + "\n" + ex.getStackTrace()); + return -1; + } finally { + try { + //ȷȫɱ + if (Shared.PID != -1 && ThreadTool.findProcess(Shared.PID)) { + Runtime.getRuntime().exec("taskkill /f /t /PID " + Shared.PID).waitFor(); + Shared.PID=-1; + } + if (in != null) { + in.close(); + } + if (err != null) { + err.close(); + } + if (os != null) { + os.close(); + } + } catch (Exception e) { + Log.writeExceptionLog(e.getMessage()); + e.printStackTrace(); + } + } + } +} diff --git a/Judger/src/kernel/Judger.java b/Judger/src/kernel/Judger.java new file mode 100644 index 0000000..37d7159 --- /dev/null +++ b/Judger/src/kernel/Judger.java @@ -0,0 +1,286 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package kernel; + +import MyCache.Shared; +import common.Config; +import resultData.RunInfo; +import common.Const; +//import gui.Control; +import java.io.BufferedWriter; +import java.io.File; +import java.io.FileWriter; +import java.io.IOException; +import java.util.regex.Matcher; +import java.util.regex.Pattern; +import log.Log; +import resultData.CompileInfo; +import resultData.Result; +import tool.ThreadTool; +import log.Log; + +/** + * + * @author Administrator + */ +public class Judger { + + String sourceFile; + ExeCommand exe; + Boolean isFound; + String mainClassName; // + String sourceDir; + + public Judger() { + Config.freshConfig(); + sourceFile = ""; + exe = new ExeCommand(); + isFound = true; + //checkCompiler(); + } + + public Boolean compileFound(){ + return isFound; + } + +// private void checkCompiler() { +// //for c +// File file1 = new File(Config.getCompilerDir("c") + File.separator + "gcc.exe"); +// File file2 = new File(Config.getCompilerDir("c") + File.separator + "gcc.exe"); +// if (!file1.exists() || !file2.exists()) { +// System.out.println("δҵ"); +// isFound = false; +// } +// } + + public Boolean checkForCompiler(){ + + File file1 = new File(Config.getCompilerDir("c") + File.separator + "gcc.exe"); + File file2 = new File(Config.getCompilerDir("c") + File.separator + "gcc.exe"); + if (!file1.exists() || !file2.exists()) { + System.out.println("δҵ"); + isFound = false; + return false; + } + isFound = true; + return true; + } + + private void saveSourceCodeFile(String language, String sourceCode) { + File dir = new File(Config.getSourcePath()); + if (!dir.exists()) { + dir.mkdirs(); + } + dir = new File(Config.getTargetPath()); + if (!dir.exists()) { + dir.mkdirs(); + } + language = language.toLowerCase(); + try { + //String s= Config.getTargetPath(); + sourceDir =Config.getSourcePath()+File.separator+"output" ; + sourceFile =sourceDir+ File.separator + "Main" + + Const.getLatterSuffix(language); + + if(language.equals("java")){ + mainClassName=findMainClassName(sourceCode); + sourceFile = sourceDir+ File.separator + findMainClassName(sourceCode) //TODO + + Const.getLatterSuffix(language); + //System.out.println(sourceFile); + } + File fl =new File(sourceDir); + if(!fl.exists()) { + fl.mkdirs(); + } + BufferedWriter out = new BufferedWriter(new FileWriter(sourceFile)); + out.write(sourceCode); + out.close(); + } catch (IOException e) { + e.printStackTrace(); + Log.writeExceptionLog(e.getMessage()); + } + + } + + private String linkCommand(String language) { + //String language = "c"; + String linkCommand = Config.getCompilerDir(language) + File.separator + "g++ " +"\""+ Config.getTargetPath() +File.separator+"output"+File.separator+ "Main"+".o"+"\"" + " -o " +"\""+ Config.getTargetPath()+File.separator+"output"+File.separator + "Main"+".exe"+"\"\n"; + return linkCommand; + } +//mingw32-g++.exe -Wall -g -c E:\Downloads\aaa\aa.cpp -o obj\Debug\aa.o +//mingw32-g++.exe -o bin\Debug\aaa.exe obj\Debug\aa.o + private String compileCommand(String language) { + String compileCommand = ""; + language = language.toLowerCase(); + if (language.equals("c")) { + compileCommand += "\"" + Config.getCompilerDir(language) + File.separator + "gcc\" -c " + "\""+sourceFile +"\""+ " -o " +"\""+Config.getTargetPath()+ File.separator+"output"+ File.separator + "Main"+".o"+"\"\n"; + } else if (language.equals("java")) { + compileCommand += "\"" + Config.getCompilerDir(language) + File.separator + "javac\" " + sourceFile; //todoļ· + } else if (language.equals("cpp")||language.equals("c++")) { + compileCommand += "\"" + Config.getCompilerDir(language) + File.separator + "g++\" -Wall -g -std=c++0x -c " + + "\""+sourceFile+"\"" + " -o " + "\""+Config.getTargetPath()+ File.separator+"output"+ File.separator + "Main"+".o"+"\"\n"; + } else { + CompileInfo.info = "this programing language is not support!!!"; + } + return compileCommand; + } + + private String runCommand(String language) { + String runCommand = ""; + if (language.equals("c")) { + runCommand +="\""+ Config.getTargetPath()+ File.separator+"output"+File.separator + "Main"+"\""; + + } else if (language.equals("java")) { + runCommand += Config.getCompilerDir(language) + File.separator + "java"+ " -cp " + Config.getSourcePath()+ File.separator+"output"+File.separator+ " "+mainClassName; // TODO ļ· start + //System.err.println(runCommand); + } else if (language.equals("cpp")||language.equals("c++")) { + runCommand += "\""+ Config.getTargetPath()+ File.separator+"output"+File.separator + "Main"+"\""; + } +// System.out.println(runCommand); + return runCommand; + } + + public int compile(String sourceCode, String language) { + int result = -1; + //ǷڷΧ + language = language.toLowerCase(); + if (language.equals("c") || language.equals("cpp")|| language.equals("c++") || language.equals("java")) { + //ok + } else { + Result.status = Const.CE; +// CompileInfo.remark = "಻Ҫ"; + return result; + } + try { + if (Shared.PID!=-1&&ThreadTool.findProcess(Shared.PID)) { //tore0 + Runtime.getRuntime().exec("taskkill /f /t /PID "+Shared.PID).waitFor(); + // System.out.println("ɱ"); +// System.out.println("ɱ"+"taskkill /f /t /PID "+Shared.PID); + } + } catch (IOException | InterruptedException e) { + System.out.println(e.getMessage()); + } + + saveSourceCodeFile(language, sourceCode); + + int repeatTime = 3; + String compileCom = compileCommand(language); + for (int i = 0; i < repeatTime; i++) { + result = exe.exeCompile(compileCom,"Path="+Config.getCompilerDir(language)); + if (result == 0) { + if (language.equals("c") || language.equals("cpp")||language.equals("c++")) { + result = exe.exeLink(linkCommand(language),"Path="+Config.getCompilerDir(language)); + if(result==0){ + break; + } + } else { + break; + } + } + } + return result; + } + + public int run(String language, String input, int timeLimit) { + language = language.toLowerCase(); + return exe.exeRun(runCommand(language), "Path="+Config.getCompilerDir(language), input, timeLimit); + } + + public boolean check(String stdAns) { + String output= preProcess(RunInfo.info); + String stdans = preProcess(stdAns); + + int status = Const.WA; + if (output.equals(stdans)) { + status = Const.AC; + } else { + String output1 = removeSP(output); + String ans1 = removeSP(stdans); + if (output1.equals(ans1)) { + status = Const.PE; + } + + } + Result.status = status; + return (status == Const.AC); + } + + private String removeSP(String s) { + StringBuilder temp = new StringBuilder(); + for (int i = 0; i < s.length();i++) { + if (s.charAt(i) != '\n' && s.charAt(i) != '\t' && s.charAt(i) != '\r' && s.charAt(i) != '\f' && s.charAt(i)!=' '&& s.charAt(i)!='\000') { + temp.append(s.charAt(i)); + } + } + //System.out.println((int)temp.charAt(temp.length()-1)); + return temp.toString(); + } + + public static String replaceBlank(String str) { + String dest = ""; + if (str!=null) { + Pattern p = Pattern.compile("\\s*|\t|\r|\n"); + Matcher m = p.matcher(str); + dest = m.replaceAll(""); + } + char chars[]=dest.toCharArray(); + return dest; + } + + private String preProcess(String s) { + StringBuilder temp = new StringBuilder(); + int len = s.length(); + //\r\n滻Ϊ\n + s = s.replace("\r\n", "\n"); +// for (int i = 0; i < len;) { +// if ((i < len - 1) && s.charAt(i + 1) == '\n' && s.charAt(i) == '\r') { +// temp.append('\n'); +// i = i + 2; +// } else { +// temp.append(s.charAt(i)); +// i = i + 1; +// } +// } + char[] chars=s.toCharArray(); + int lastIndex=chars.length-1; + //ȥĩβ\n + for(int i=chars.length-1;i>=0;i--){ + if(chars[i]=='\n'){ + lastIndex=i-1; + }else{ + break; + } + } + return new String(chars,0,lastIndex+1); + } + + /* + ҵһjavaļаĺmain + */ + static String findMainClassName(String code){ + //1.Ѱһjavaļй + int index=code.indexOf("public class"); + if(index==-1){ + //2.Һmain + int startIndex=code.indexOf("public static void main"); + if(startIndex==-1){ + return null; + } + startIndex=code.lastIndexOf("class",startIndex); + startIndex+=(new String("class")).length(); + int endIndex=code.indexOf('{',startIndex); + String mainClassName=code.substring(startIndex,endIndex); + return mainClassName; + } + + index+=(new String("public class")).length(); + int index1=code.indexOf('{',index); + String mainClassName=code.substring(index, index1); + mainClassName=mainClassName.trim(); + + return mainClassName; + } +} diff --git a/Judger/src/kernel/LimitTime.java b/Judger/src/kernel/LimitTime.java new file mode 100644 index 0000000..a5b059f --- /dev/null +++ b/Judger/src/kernel/LimitTime.java @@ -0,0 +1,43 @@ +package kernel; + +import resultData.JudgerInfo; + + + + class LimitTime implements Runnable { // ڿʱĶ߳ + + private long timeLimit; + private Process p; + + public void setProcess(Process p) { + this.p = p; + } + + public void setTimeLimit(long timeLimit) { + this.timeLimit = timeLimit*1000; + } + + @Override + public void run() { + // TODO Auto-generated method stub + long startTime = System.currentTimeMillis(); + while (true) { + long endTime = System.currentTimeMillis(); + if (JudgerInfo.isRun == 0) { + return; + } + if ((endTime - startTime) > timeLimit) { + p.destroy(); + JudgerInfo.isKilled = 1; + return; + } + try { + Thread.sleep(20); + } catch (InterruptedException e) { + // TODO Auto-generated catch block + // e.printStackTrace(); + } + } + } + + } diff --git a/Judger/src/kernel/ReadInfo.java b/Judger/src/kernel/ReadInfo.java new file mode 100644 index 0000000..c68955f --- /dev/null +++ b/Judger/src/kernel/ReadInfo.java @@ -0,0 +1,48 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package kernel; + +import java.io.BufferedWriter; +import java.io.IOException; +import java.io.OutputStream; +import java.io.OutputStreamWriter; +import java.util.logging.Level; +import java.util.logging.Logger; +import resultData.JudgerInfo; + +/** + * + * @author sxz + */ +public class ReadInfo extends Thread { + + private OutputStream os; + private String input; +// private boolean isStop=false; + public ReadInfo(OutputStream os, String input) { + + this.os = os; + this.input = input; + } + + @Override + public void run() { +// while(!isStop) + try { + BufferedWriter bw = new BufferedWriter(new OutputStreamWriter( + os)); + bw.write(input); + bw.flush(); + os.close(); + } catch (IOException ex) { + System.out.println(ex.getMessage()); + } + } + +// public void shutDown(){ +// this.isStop=true; +// } +} diff --git a/Judger/src/kernel/Test.java b/Judger/src/kernel/Test.java new file mode 100644 index 0000000..b5b4a82 --- /dev/null +++ b/Judger/src/kernel/Test.java @@ -0,0 +1,32 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package kernel; + +/** + * + * @author Administrator + */ +public class Test { + +// public static void main(String[] args){ +// String code="#include\n" + +//"int main(){ // be int\n" + +//" int a, b;\n" + +//" printf(\"你好,笨蛋\");\n" + +//" while (scanf(\"%d %d\", &a, &b)!=EOF){\n" + +//" printf(\"%d\\n\", a + b);\n" + +//" }\n" + +//"\n" + +//" return 0; // must return 0;\n" + +//"}"; +// +// Judger judger=new Judger(); +// judger.compile(code, "c"); +// judger.run("c", "1 2", 1); +// } + + +} diff --git a/Judger/src/kernel/WriteInfo.java b/Judger/src/kernel/WriteInfo.java new file mode 100644 index 0000000..2d6a5a8 --- /dev/null +++ b/Judger/src/kernel/WriteInfo.java @@ -0,0 +1,62 @@ +package kernel; + +import MyCache.Shared; +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; + +public class WriteInfo extends Thread { + + private InputStream is; + private String info; + public int exitFlag = 0; + Thread thread = new Thread(this); + + public WriteInfo(InputStream is) { + this.is = is; + + } + + @Override + public void run() { + + BufferedReader reader = new BufferedReader(new InputStreamReader(is)); + char[] s = new char[512]; + //int c=-1; + int len = -1; + + StringBuffer buffer = new StringBuffer(); + try { + while (((len = reader.read(s, 0, 512)) != -1)) { + if (buffer.length() < 2*Shared.maxOutputLength) { //\rĴڣʹ󣬵ܳmaxoutputlength + buffer.append(s, 0, len); + } + } + + } catch (IOException e) { + e.printStackTrace(); + } +// if(Config.DEBUG){ +// System.out.println("output length:"+buffer.length()); +// } + info = buffer.toString().replace("\r\n", "\n"); + if (info.length() > Shared.maxOutputLength) { + info = info.substring(0, Shared.maxOutputLength) + "(ض,и)"; + } + + try { + if (is != null) { + is.close(); + } + } catch (Exception e) { + e.printStackTrace(); + } + + } + + public String returnInfo() { + return this.info; + } + +} diff --git a/Judger/src/main/Answer.java b/Judger/src/main/Answer.java new file mode 100644 index 0000000..b6db681 --- /dev/null +++ b/Judger/src/main/Answer.java @@ -0,0 +1,206 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package main; + +import java.util.List; +import persistence.oj_beans.ProblemTestCaseBean; + +/** + * + * @author 毛泉 + */ +public class Answer { + private String language; + private String solutionId; + private String problemId; + String[] testCaseId; + String[] usersOutput; + String[] statusOfTestCase; + String status; + String remark; + String correctCaseIds; + private String sourceCode; + int[] result ; + String[] output; + String[] remarks; + private List testCaseBeanList; + public Answer(String solutionId,String problemId,String language,String[] testCaseId, String[] usersOutput, String[] statusOfTestCase, String status, String remark,String correctCaseIds,List testCaseBeanList,String sourceCode) { + this.solutionId = solutionId; + this.problemId = problemId; + this.language = language; + this.testCaseId = testCaseId; + this.usersOutput = usersOutput; + this.statusOfTestCase = statusOfTestCase; + this.status = status; + this.remark = remark; + this.correctCaseIds = correctCaseIds; + this.testCaseBeanList = testCaseBeanList; + this.sourceCode = sourceCode; + } + public Answer(String[] testCaseId, String[] usersOutput, String[] statusOfTestCase, String status, String remark,String correctCaseIds) { + this.testCaseId = testCaseId; + this.usersOutput = usersOutput; + this.statusOfTestCase = statusOfTestCase; + this.status = status; + this.remark = remark; + this.correctCaseIds = correctCaseIds; + } + + public Answer(int[] result,String[] output,String[] remarks,String remark,String correctCaseIds){ + this.result = result; + this.output = output; + this.remarks = remarks; + this.remark = remark; + this.correctCaseIds = correctCaseIds; + } + + + + public String[] getTestCaseId() { + return testCaseId; + } + + public void setTestCaseId(String[] testCaseId) { + this.testCaseId = testCaseId; + } + + public String[] getUsersOutput() { + return usersOutput; + } + + public void setUsersOutput(String[] usersOutput) { + this.usersOutput = usersOutput; + } + + public String[] getStatusOfTestCase() { + return statusOfTestCase; + } + + public void setStatusOfTestCase(String[] statusOfTestCase) { + this.statusOfTestCase = statusOfTestCase; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getCorrectCaseIds() { + return correctCaseIds; + } + + public void setCorrectCaseIds(String correctCaseIds) { + this.correctCaseIds = correctCaseIds; + } + + public int[] getResult() { + return result; + } + + public void setResult(int[] result) { + this.result = result; + } + + public String[] getOutput() { + return output; + } + + public void setOutput(String[] output) { + this.output = output; + } + + public String[] getRemarks() { + return remarks; + } + + public void setRemarks(String[] remarks) { + this.remarks = remarks; + } + + /** + * @return the solutionId + */ + public String getSolutionId() { + return solutionId; + } + + /** + * @param solutionId the solutionId to set + */ + public void setSolutionId(String solutionId) { + this.solutionId = solutionId; + } + + /** + * @return the problemId + */ + public String getProblemId() { + return problemId; + } + + /** + * @param problemId the problemId to set + */ + public void setProblemId(String problemId) { + this.problemId = problemId; + } + + /** + * @return the testCaseBeanList + */ + public List getTestCaseBeanList() { + return testCaseBeanList; + } + + /** + * @param testCaseBeanList the testCaseBeanList to set + */ + public void setTestCaseBeanList(List testCaseBeanList) { + this.testCaseBeanList = testCaseBeanList; + } + + /** + * @return the sourceCode + */ + public String getSourceCode() { + return sourceCode; + } + + /** + * @param sourceCode the sourceCode to set + */ + public void setSourceCode(String sourceCode) { + this.sourceCode = sourceCode; + } + + /** + * @return the language + */ + public String getLanguage() { + return language; + } + + /** + * @param language the language to set + */ + public void setLanguage(String language) { + this.language = language; + } + + + +} \ No newline at end of file diff --git a/Judger/src/main/Process.java b/Judger/src/main/Process.java new file mode 100644 index 0000000..7ce4b1b --- /dev/null +++ b/Judger/src/main/Process.java @@ -0,0 +1,453 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package main; + +import MyCache.Shared; +import java.util.List; +import common.Const; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.function.Consumer; +import jdk.nashorn.internal.parser.TokenType; +import kernel.Judger; +import resultData.RunInfo; +import persistence.oj_beans.ExamDetailBean; +import persistence.oj_beans.ProblemBean; +import persistence.oj_beans.ProblemTestCaseBean; +import persistence.oj_beans.SolutionBean; +import resultData.CompileInfo; +import resultData.Result; + +/** + * + * @author Administrator + */ +public class Process { + + //ӿ + private Consumer con; + + //Դ + private SolutionBean solutionBean = null;//2 + private ProblemBean problemBean = null;//3 + private List testCaseBeans = null;//4 + private ExamDetailBean examDetailBean = null;//6 + private Boolean willCheck = false; + + private int[] result = null; + private String[] output = null; + private String[] remarks = null; + private Judger judger; + private int sumTestcaseNum = 0; + private int correctNum = 0; + private String correctCaseIds = ""; + + //õ + public String GetOutput(String language, String sourceCode, Float timeOut, String testInput) { + this.willCheck = false; + this.judger = new Judger(); + Boolean is = this.judger.checkForCompiler(); + this.solutionBean = new SolutionBean(); + this.problemBean = new ProblemBean(); + this.testCaseBeans = new ArrayList<>(); + + this.solutionBean.setLanguage(language); + this.solutionBean.setSourceCode(sourceCode); + this.problemBean.setTime_limit(timeOut); + ProblemTestCaseBean temp = new ProblemTestCaseBean(); + temp.setInput(testInput); + testCaseBeans.add(temp); + + init(); + judgeForAllTestcase(); + if (result[0] == Const.CE || result[0] == Const.SE) { + return remarks[0]; + } else if (result[0] == Const.RE || result[0] == Const.TLE) { + output[0] = Const.STATUS[result[0]]; + } else if (result[0] == Const.QUEUE) { + output[0] = "гʱʱʱΪ" + timeOut; + } else if (result[0] == Const.NF) { + output[0] = "δҵ"; + } + return output[0]; + } + + //ݿй + public Answer Judge(SolutionBean sbean, List tCase, ProblemBean pBean) { + CompileInfo.init(); + RunInfo.init(); + Result.status = 0; + willCheck = true; + this.judger = new Judger(); + Boolean is = this.judger.checkForCompiler(); + this.problemBean = pBean; + this.solutionBean = sbean; + this.testCaseBeans = tCase; + + init(); + judgeForAllTestcase(); + updateSolution(); + problemBean.setSubmit(problemBean.getSubmit() + 1); + + return new Answer(result, output, remarks, solutionBean.getRemark(), solutionBean.getCorrectCaseIds()); + } + + //WebService + public Answer Judge(String solutionId, String problemId, String language, String sourceCode, Float timeOut, List testCaseBeans, Consumer con) { + CompileInfo.init(); + RunInfo.init(); + this.con = con; + Result.status = 0; + this.willCheck = true; + this.solutionBean = new SolutionBean(); + this.problemBean = new ProblemBean(); + this.testCaseBeans = new ArrayList(); + this.judger = new Judger(); + Boolean is = this.judger.checkForCompiler(); + this.solutionBean.setLanguage(language); + this.solutionBean.setSourceCode(sourceCode); + this.problemBean.setTime_limit(timeOut); + // if(is == false) return ; + int size = testCaseBeans.size(); + String[] testCaseId = new String[size]; + String[] testCaseOut = new String[size]; + for (int j = 0; j < size; j++) { + testCaseId[j] = String.valueOf(testCaseBeans.get(j).getId()); + testCaseOut[j] = testCaseBeans.get(j).getOutput(); + } + this.sumTestcaseNum = size; + this.testCaseBeans = testCaseBeans; + + init(); + judgeForAllTestcase(); + updateSolution(); + + String[] resultTrans = new String[size]; + if (solutionBean.getStatus().equals("NF")) { + output[0] = "NF"; + } else if (solutionBean.getStatus().equals("CE")) { + output[0] = new String().valueOf(remarks[0]); + } + for (int j = 0; j < size; j++) { + resultTrans[j] = Const.STATUS[result[j]]; + } + + if (solutionId == null && problemId == null && con == null) { + return new Answer(testCaseId, output, resultTrans, solutionBean.getStatus(), solutionBean.getRemark(), solutionBean.getCorrectCaseIds()); + } else { + return new Answer(solutionId, problemId, language, testCaseId, output, resultTrans, solutionBean.getStatus(), solutionBean.getRemark(), solutionBean.getCorrectCaseIds(), testCaseBeans, sourceCode); + } + } + + //õн + public Answer Judge(String language, String sourceCode, Float timeOut, List testCaseBeans) { + CompileInfo.init(); + RunInfo.init(); + Result.status = 0; + this.willCheck = true; + this.solutionBean = new SolutionBean(); + this.problemBean = new ProblemBean(); + this.testCaseBeans = new ArrayList(); + this.judger = new Judger(); + //Boolean is = this.judger.checkForCompiler(); + this.solutionBean.setLanguage(language); + this.solutionBean.setSourceCode(sourceCode); + this.problemBean.setTime_limit(timeOut); + // if(is == false) return ; + int size = testCaseBeans.size(); + String[] testCaseId = new String[size]; + String[] testCaseOut = new String[size]; + for (int j = 0; j < size; j++) { + testCaseId[j] = String.valueOf(testCaseBeans.get(j).getId()); + testCaseOut[j] = testCaseBeans.get(j).getOutput(); + } + this.sumTestcaseNum = size; + this.testCaseBeans = testCaseBeans; + + init(); + judgeForAllTestcase(); + updateSolution(); + + String[] resultTrans = new String[size]; + if (solutionBean.getStatus().equals("NF")) { + output[0] = "NF"; + } else if (solutionBean.getStatus().equals("CE")) { + output[0] = new String().valueOf(remarks[0]); + } + for (int j = 0; j < size; j++) { + resultTrans[j] = Const.STATUS[result[j]]; + } + + return new Answer(testCaseId, output, resultTrans, solutionBean.getStatus(), solutionBean.getRemark(), solutionBean.getCorrectCaseIds()); + } + + //step 1 + private void init() { + + HashMap map = new HashMap(); + map.put("userId=", solutionBean.getUserId()); + map.put("examId=", solutionBean.getExamId()); + map.put("problemId=", solutionBean.getProblemId()); + //examDetailBean = ExamDetailDAO.findOne(map); + + result = new int[testCaseBeans.size()]; + output = new String[testCaseBeans.size()]; + remarks = new String[testCaseBeans.size()]; + + sumTestcaseNum = testCaseBeans.size(); + correctNum = 0; + correctCaseIds = ""; + + Result.status = Const.QUEUE; + + //checkHaveNull(); + } +// +// private void init(){ +// +// } + +// private void checkHaveNull() { +// if (solutionBean == null) { +// Log.writeExceptionLog("solutionBean==null File:Process.java Method:checkHaveNull "); +// Control.addExceptionInfo("solutionBean==null File:Process.java Method:checkHaveNull "); +// } +// if (problemBean == null) { +// Log.writeExceptionLog("problemBean==null File:Process.java Method:checkHaveNull "); +// Control.addExceptionInfo("problemBean==null File:Process.java Method:checkHaveNull "); +// } +// if (examDetailBean == null) { +// Log.writeExceptionLog("examDetailBean==null File:Process.java Method:checkHaveNull "); +// Control.addExceptionInfo("examDetailBean==null File:Process.java Method:checkHaveNull "); +// examDetailBean = new ExamDetailBean(); +// examDetailBean.setUserId(solutionBean.getUserId()); +// examDetailBean.setExamId(solutionBean.getExamId()); +// examDetailBean.setProblemId(solutionBean.getProblemId()); +// ExamDetailDAO.add(examDetailBean); +// +// } +// if (problemBean.getSubmit() == null) { +// problemBean.setSubmit(0); +// } +// if (problemBean.getTime_limit() == null) { +// problemBean.setTime_limit(0.12f); +// } +// if(){ +// +// } + // } + //step 2 + private void judgeForAllTestcase() { + + if (judger.compileFound() && 0 == judger.compile(solutionBean.getSourceCode(), solutionBean.getLanguage())) { + for (int i = 0; i < sumTestcaseNum; i++) { + + ProblemTestCaseBean caseBean = (ProblemTestCaseBean) testCaseBeans.get(i); + //todo outputΪ1000000 򳤶ȼ100 + if(caseBean.getOutput().length()==0){ + Shared.maxOutputLength=3000000; + }else{ + Shared.maxOutputLength=caseBean.getOutput().length()+2000; + } + if (judger.run(solutionBean.getLanguage(), caseBean.getInput(), problemBean.getTime_limit().intValue()) == 0) { + if (willCheck) { + judger.check(caseBean.getOutput()); + } else { + Result.status = Const.AC; + } + result[i] = Result.status; + output[i] = RunInfo.info; + remarks[i] = RunInfo.remark; + + String message = "testcase id=" + ((ProblemTestCaseBean) testCaseBeans.get(i)).getId() + " done" + " result:" + Const.STATUS[result[i]]; + if (con != null) { + con.accept(message); + } + } else {//д + result[i] = Result.status; + output[i] = ""; + remarks[i] = RunInfo.remark; + String message = "testcase id=" + ((ProblemTestCaseBean) testCaseBeans.get(i)).getId() + " done" + " result:" + Const.STATUS[result[i]]; + + if (con != null) { + con.accept(message); + } + //жݣеnݷʱIJݲС +// if (result[i] == Const.TLE) { +// break; +// } + } + } + } else if (!judger.compileFound()) { + for (int i = 0; i < sumTestcaseNum; i++) { + result[i] = 11; + output[i] = ""; + remarks[i] = "δҵ"; + String message = "δҵ"; + if (con != null) { + con.accept(message); + } + } + } else {// + for (int i = 0; i < sumTestcaseNum; i++) { + result[i] = Result.status; + output[i] = ""; + remarks[i] = CompileInfo.remark; + String message = "testcase id=" + (testCaseBeans.get(0)).getId() + " done" + " result:" + Const.STATUS[result[0]]; + if (con != null) { + con.accept(message); + } + } + } + + } + + //step 3 ??? +// private void updateWrongCases() { +// for (int i = 0; i < sumTestcaseNum; i++) { +// if (result[i] == Const.AC) { +// correctNum++; +// correctCaseIds += ((ProblemTestCaseBean) testCaseBeans.get(i)).getId() + ","; +// } //µwrongcaseļ¼ +// else if (result[i] == Const.WA || result[i] == Const.PE || result[i] == Const.RE || result[i] == Const.TLE) { +// WrongCaseBean wrongCaseBean = null; +// HashMap map = new HashMap(); +// map.put("solutionId=", solutionBean.getId()); +// map.put("caseId=", (testCaseBeans.get(i)).getId()); +// wrongCaseBean = WrongCaseDAO.findOne(map); +// +// if (wrongCaseBean == null) { +// wrongCaseBean = new WrongCaseBean(); +// wrongCaseBean.setSolutionId(solutionBean.getId()); +// wrongCaseBean.setCaseId((testCaseBeans.get(i)).getId()); +// wrongCaseBean.setOutput("null output"); +// WrongCaseDAO.add(wrongCaseBean); +// } +// +// if (result[i] == Const.WA || result[i] == Const.PE) { +// wrongCaseBean.setOutput(output[i]); +// } else if (result[i] == Const.RE || result[i] == Const.TLE) { +// wrongCaseBean.setOutput(remarks[i]); +// } +// try { +// WrongCaseDAO.update(wrongCaseBean); +// } catch (Exception e) { +// System.out.println(e); +// // Log.writeExceptionLog("wrongcase update error File:Process.java Method:updateWrongCases line:215" + "\n" + e.getMessage() + "\n" + e.getStackTrace()); +// //Control.addExceptionInfo("wrongcase update error File:Process.java Method:updateWrongCases line:215" + "\n" + e.getMessage() + "\n" + e.getStackTrace()); +// } +// +// } +// +// } +// } + //step 4 + private void updateSolution() { + + if (!judger.compileFound()) { + solutionBean.setStatus("NF"); + solutionBean.setRemark("δҵ"); + } else { + for (int i = 0; i < sumTestcaseNum; i++) { + if (result[i] == Const.AC) { + correctNum++; + correctCaseIds += ((ProblemTestCaseBean) testCaseBeans.get(i)).getId() + ","; + } + } + if (sumTestcaseNum == correctNum) { + solutionBean.setStatus("AC"); + } else { + int maxLevelStatus = Const.QUEUE; + int index = 0; + //ѰҴȼߵĽ + for (int i = 0; i < sumTestcaseNum; i++) { + if (result[i] > maxLevelStatus) { + maxLevelStatus = result[i]; + index = i; + } + } + solutionBean.setStatus(Const.STATUS[maxLevelStatus]); + //ߵȼӦϢ + if (maxLevelStatus == Const.CE) { + solutionBean.setRemark(remarks[index]); + } else if (result[index] == Const.WA || result[index] == Const.PE) { +// solutionBean.setRemark(""); + String message = new String(); + for (int i = 0; i < remarks.length; i++) { + message += " " + testCaseBeans.get(i).getId() + "Ϊ " + Const.STATUS[result[i]] + ":"; + message += remarks[i] + "\n"; + } + solutionBean.setRemark(message); + } else {//RE,TLE + String wrongCaseIds = ""; + for (int j = 0; j < sumTestcaseNum; j++) { + if (result[j] == result[index]) { + wrongCaseIds += ((ProblemTestCaseBean) testCaseBeans.get(j)).getId() + ","; + } + } + solutionBean.setRemark("IDΪ" + wrongCaseIds + remarks[index]); + String message = new String(); + for (int i = 0; i < remarks.length; i++) { + message += "\n"; + message += remarks[i]; + } + solutionBean.setRemark(solutionBean.getRemark() + message); + } + } + solutionBean.setCorrectCaseIds(correctCaseIds); + //SolutionDAO.update(solutionBean); + } + } + + //step 5 +// private void updateProblemBean() { +// problemBean.setSubmit(problemBean.getSubmit() + 1); +// try { +// ProblemDAO.update(problemBean); +// } catch (Exception e) { +// System.out.println(e); +// //Log.writeExceptionLog("problem update error File:Process.java Method:updateProblemBean " + "\n" + e.getMessage() + "\n" + e.getStackTrace()); +// //Control.addExceptionInfo("problem update error File:Process.java Method:updateProblemBean " + "\n" + e.getMessage() + "\n" + e.getStackTrace()); +// } +// } +////step 6 +// private void updateStudentExamDetail() { +// try { +// String status = solutionBean.getStatus(); +// int userId = solutionBean.getUserId(); +// int problemId = solutionBean.getProblemId(); +// int examId = solutionBean.getExamId(); +// int solutionId = solutionBean.getId(); +// int count = CommonDAO.updateDetailByHql(status, userId, problemId, examId, solutionId); +// if (count == 0) { +// throw new Exception(); +// } +// } catch (Exception e) { +// String message = " studentExamDetail update error File:Process.java Method:updateExamDetail\n"; +// message += "solutionId:" + solutionBean.getId(); +// System.out.println(message); +// +// } +// } + private void clear() { + //Դ + solutionBean = null;//2 + problemBean = null;//3 + testCaseBeans = null;//4 + + examDetailBean = null;//6 + + result = null; + + sumTestcaseNum = 0; + correctNum = 0; + correctCaseIds = ""; + + output = null; + remarks = null; + } + +} diff --git a/Judger/src/resultData/CompileInfo.java b/Judger/src/resultData/CompileInfo.java new file mode 100644 index 0000000..1753015 --- /dev/null +++ b/Judger/src/resultData/CompileInfo.java @@ -0,0 +1,29 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package resultData; + +/** + * + * @author Administrator + */ +public class CompileInfo { + + public static String info; + public static String errorInfo; + public static int exitValue; + public static long useTime; + public static String remark; + public static int isKilled = 0; + + public static void init() { + info = ""; + errorInfo = ""; + exitValue = 1; + useTime = 0; + remark = ""; + isKilled = 0; + } +} diff --git a/Judger/src/resultData/JudgerInfo.java b/Judger/src/resultData/JudgerInfo.java new file mode 100644 index 0000000..9927fc4 --- /dev/null +++ b/Judger/src/resultData/JudgerInfo.java @@ -0,0 +1,32 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package resultData; + +/** + * + * @author sxz + */ +public class JudgerInfo { + + public static String info; + public static String errorInfo; + public static int exitValue; + public static long useTime; + public static String remark; + public static int isRun = 1; + public static int isKilled = 0; + + public static void init() { + info = ""; + errorInfo = ""; + exitValue = 1; + useTime = 0; + remark = ""; + isKilled = 0; + isRun = 1; + } + +} diff --git a/Judger/src/resultData/Result.java b/Judger/src/resultData/Result.java new file mode 100644 index 0000000..bb8f3c7 --- /dev/null +++ b/Judger/src/resultData/Result.java @@ -0,0 +1,16 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package resultData; + +/** + * + * @author Administrator + */ +public class Result { + + public static int status = 0; + +} diff --git a/Judger/src/resultData/RunInfo.java b/Judger/src/resultData/RunInfo.java new file mode 100644 index 0000000..608e352 --- /dev/null +++ b/Judger/src/resultData/RunInfo.java @@ -0,0 +1,30 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package resultData; + +/** + * + * @author Administrator + */ +public class RunInfo { + + public static String info; + public static String errorInfo; + public static int exitValue; + public static long useTime; + public static String remark; + public static int isKilled = 0; + + public static void init() { + info = ""; + errorInfo = ""; + exitValue = 1; + useTime = 0; + remark = ""; + isKilled = 0; + } + +} diff --git a/Judger/src/scripes/ChangeScore.java b/Judger/src/scripes/ChangeScore.java new file mode 100644 index 0000000..be6c13e --- /dev/null +++ b/Judger/src/scripes/ChangeScore.java @@ -0,0 +1,127 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package scripes; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Set; +import persistence.ObjectRelation_interface.CommonDAO; +import persistence.oj_beans.ExamDetailBean; +import persistence.oj_beans.ExamInfoBean; +import persistence.oj_beans.ExamProblemsBean; +import persistence.oj_beans.UserBean; + +/** + * + * @author Administrator + */ +public class ChangeScore { + + static HashMap> students = new HashMap(); + + static { +// students.put("151320206", 36); +// students.put("151320117", 15); +// students.put("151320225", 31); +// students.put("151320225", 35); +// +// students.put("151320122", 10); +// students.put("151320122", 12); +// +// students.put("151320219", 35); +// +// students.put("151320209", 5); +// students.put("151320209", 7); +// students.put("151320209", 10); +// +// students.put("141210119", 28); +// students.put("141210119", 36); +// +// students.put("151320223", 34); +// +// students.put("151320216", 14); +// +// students.put("151320222", 1); + Set problemSet = new HashSet(); + problemSet.add(28); + problemSet.add(36); + problemSet.add(42); + problemSet.add(43); + problemSet.add(44); + problemSet.add(46); + problemSet.add(48); + problemSet.add(49); + problemSet.add(50); + problemSet.add(51); + problemSet.add(54); + students.put("141210119", problemSet); + + } + + public static void main(String[] args) { + + int count = 0; + Set keys = students.keySet(); + for (String key : keys) { + String studentNo = key; + Set problemIds = students.get(key); + //System.out.println(); + for(Integer playSequence:problemIds){ + updateOneStudent(studentNo, playSequence); + count++; + } + } + //System.out.println("count:" + count); + } + + private static void updateOneStudent(String studentNo, int playSequence) { + + final int examId = 1; + + int userId = 0; + int problemId = 0; + String name = ""; + + //get basic info + HashMap inExamProblems = new HashMap(); + inExamProblems.put("examId=", 1); + inExamProblems.put("displaySequence=", playSequence); + List examProblemsList = CommonDAO.findBeans(ExamProblemsBean.class, 1, inExamProblems); + problemId = ((ExamProblemsBean) (CommonDAO.findBeans(ExamProblemsBean.class, 1, inExamProblems).get(0))).getProblemId(); + HashMap inUser = new HashMap(); + inUser.put("studentNo=", studentNo); + userId = ((UserBean) (CommonDAO.findBeans(UserBean.class, 1, inUser)).get(0)).getId(); + name = ((UserBean) (CommonDAO.findBeans(UserBean.class, 1, inUser)).get(0)).getChineseName(); + +// System.out.println("update student name:" + name + "'s score"); +// System.out.println("userId=" + userId); +// System.out.println("problemId=" + problemId); + //update examDetail + HashMap inExamDetail = new HashMap(); + inExamDetail.put("userId=", userId); + inExamDetail.put("examId=", examId); + inExamDetail.put("problemId=", problemId); + ExamDetailBean examDetailBean = ((ExamDetailBean) (CommonDAO.findBeans(ExamDetailBean.class, 1, inExamDetail)).get(0)); + System.out.println("wrong score:" + examDetailBean.getScore()); + float preScore = examDetailBean.getScore(); + float delta = 1.0f - preScore; + examDetailBean.setScore(1.0f); + CommonDAO.update(examDetailBean); + System.out.println("update " + name + "'s " + "examdetail table success "); + + //update examInfo + HashMap inExamInfo = new HashMap(); + inExamInfo.put("userId=", userId); + inExamInfo.put("examId=", examId); + ExamInfoBean examInfoBean = ((ExamInfoBean) (CommonDAO.findBeans(ExamInfoBean.class, 1, inExamInfo)).get(0)); + System.out.println("before sumScore:" + examInfoBean.getScore()); + examInfoBean.setScore(examInfoBean.getScore() + delta); + CommonDAO.update(examInfoBean); + System.out.println("after update sumScore:" + examInfoBean.getScore()); + + } +} diff --git a/Judger/src/scripes/ProblemSubmit_Null2zero.java b/Judger/src/scripes/ProblemSubmit_Null2zero.java new file mode 100644 index 0000000..e52390c --- /dev/null +++ b/Judger/src/scripes/ProblemSubmit_Null2zero.java @@ -0,0 +1,35 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package scripes; + +import java.util.List; + +/** + * + * @author Administrator + */ +public class ProblemSubmit_Null2zero { +// +// public static void main(String[] args) { +// ProblemDAO pdao = new ProblemDAO(); +// int count = 0; +// while (true) { +// List pbeans = pdao.findProblemSubmit_Null(); +// if (pbeans.size() == 1) { +// ProblemBean pbean = pbeans.get(0); +// pbean.setSubmit(0); +// pdao.updateProblem(pbean); +// System.out.println("update problem id=" + pbean.getId()); +// count++; +// } else { +// break; +// } +// +// } +// System.out.println("count:" + count); +// +// } +} diff --git a/Judger/src/scripes/ResetStatus.java b/Judger/src/scripes/ResetStatus.java new file mode 100644 index 0000000..2154d93 --- /dev/null +++ b/Judger/src/scripes/ResetStatus.java @@ -0,0 +1,36 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package scripes; +import common.Const; +import java.util.List; +import persistence.ObjectRelation_interface.SolutionDAO; +import persistence.oj_beans.SolutionBean; + +/** + * + * @author Administrator + */ +public class ResetStatus { + public static void main(String[] args){ + int count=0; + while(true){ + List sbeans=SolutionDAO.findMore("status!=", "WAIT",10); + if(sbeans.size()!=0){ + SolutionBean sbean=sbeans.get(0); + sbean.setStatus(Const.STATUS[Const.WAIT]); + SolutionDAO.update(sbean); + System.out.println("update solution id="+sbean.getId()); + count++; + }else{ + break; + } + + } + System.out.println("count:"+count); + + } + +} diff --git a/Judger/src/share/gui/Compiles.java b/Judger/src/share/gui/Compiles.java new file mode 100644 index 0000000..97b6436 --- /dev/null +++ b/Judger/src/share/gui/Compiles.java @@ -0,0 +1,43 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package share.gui; + +/** + * + * @author 10102 + */ +public class Compiles { + + private String compileNameString; + private String VersionString; + private String pathString; + + + public String getCompileNameString() { + return compileNameString; + } + + public void setCompileNameString(String compileNameString) { + this.compileNameString = compileNameString; + } + + public String getVersionString() { + return VersionString; + } + + public void setVersionString(String VersionString) { + this.VersionString = VersionString; + } + + public String getPathString() { + return pathString; + } + + public void setPathString(String pathString) { + this.pathString = pathString; + } + +} diff --git a/Judger/src/share/gui/CompilesInRegisty.java b/Judger/src/share/gui/CompilesInRegisty.java new file mode 100644 index 0000000..31491ee --- /dev/null +++ b/Judger/src/share/gui/CompilesInRegisty.java @@ -0,0 +1,94 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package share.gui; + +import com.ice.jni.registry.Registry; +import com.ice.jni.registry.RegistryKey; +import com.ice.jni.registry.NoSuchValueException; +import java.util.ArrayList; +import java.util.Enumeration; +import java.util.List; + +/** + * + * @author sxz + */ +public class CompilesInRegisty { + + private final String compilePath32 = "SOFTWARE\\Wow6432Node\\Microsoft\\Windows\\CurrentVersion\\Uninstall";//32λ· + private final String compilePath64 = "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall";//64λ· + private final String compilePathCurrentUser = "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall";//currentuser· + private final String exceptionString ="ǰע·쳣"; + //עвjdk· + public List getCompilePath(String complieName) { + List result = new ArrayList<>(); + //32λ + try{ + RegistryKey software32 = Registry.HKEY_LOCAL_MACHINE.openSubKey(compilePath32); + getInStalled(software32, result, complieName); + }catch(Exception e){ + log.Log.writeExceptionLog(e.getMessage()+exceptionString+compilePath32); + //쳣ǺԼ· + } + + //64λ + try { + RegistryKey software64 = Registry.HKEY_LOCAL_MACHINE.openSubKey(compilePath64); + getInStalled(software64, result, complieName); + } catch (Exception e) { + log.Log.writeExceptionLog(e.getMessage()+exceptionString+compilePath64); + //쳣ǺԼ· + } + + //currentuserλ + try { + RegistryKey softwareCurrrentUser = Registry.HKEY_CURRENT_USER.openSubKey(compilePathCurrentUser); + getInStalled(softwareCurrrentUser, result, complieName); + } catch (Exception e) { + log.Log.writeExceptionLog(e.getMessage()+exceptionString+compilePathCurrentUser); + } + return result; + } + + //ұ + private void getInStalled(RegistryKey software, List result, String complieName) throws Exception { + String pathString; + String versionString; + RegistryKey subKey=null; + Enumeration enumeration64 = software.keyElements(); + for (; enumeration64.hasMoreElements();) { + try { + //ÿһܺͲļ󣬲DisplayName + subKey = software.openSubKey(enumeration64.nextElement()); + String nameString = subKey.getStringValue("DisplayName"); + + //DisplayNamejdk + if (nameString.contains(complieName)) { + try { + pathString = subKey.getStringValue("InstallLocation"); + } catch (NoSuchValueException e) { //Ҳinstalluninstall + String s = subKey.getStringValue("UninstallString"); + String[] tmp = s.split("\\\\"); + StringBuilder sb = new StringBuilder(); + for (int j = 0; j < tmp.length - 1; j++) { + sb.append(tmp[j]).append("\\"); + } + pathString = sb.toString(); + } + versionString = subKey.getStringValue("DisplayVersion"); + Compiles compiles = new Compiles(); + compiles.setCompileNameString(nameString); + compiles.setVersionString(versionString); + compiles.setPathString(pathString); + result.add(compiles); + } + subKey.closeKey(); + } + catch (Exception ex) { //Ҳkey + } + } + } +} diff --git a/Judger/src/share/gui/NewCompileSetting.form b/Judger/src/share/gui/NewCompileSetting.form new file mode 100644 index 0000000..cee6d31 --- /dev/null +++ b/Judger/src/share/gui/NewCompileSetting.form @@ -0,0 +1,471 @@ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Judger/src/share/gui/NewCompileSetting.java b/Judger/src/share/gui/NewCompileSetting.java new file mode 100644 index 0000000..ee89787 --- /dev/null +++ b/Judger/src/share/gui/NewCompileSetting.java @@ -0,0 +1,964 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package share.gui; + +import common.FileFinder; +import common.Config; +import common.Const; +import java.awt.event.ItemEvent; +import java.awt.event.ItemListener; +import java.io.BufferedReader; +import java.io.File; +import java.io.InputStreamReader; +import java.util.HashMap; +import java.util.Iterator; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; +import javax.swing.JFileChooser; +import javax.swing.JLabel; +import javax.swing.JOptionPane; +import log.Log; + +/** + * + * @author Administrator + */ +public class NewCompileSetting extends javax.swing.JDialog { + + /** + * Creates new form CompileSetting + */ + public NewCompileSetting(String languageString, java.awt.Frame parent, boolean modal) { + super(parent, modal); + initComponents(); + this.setResizable(false); + + this.cSystem.setActionCommand("0"); + this.cRegistry.setActionCommand("1"); + this.cSelf.setActionCommand("2"); + + this.javaSystem.setActionCommand("0"); + this.javaRegistry.setActionCommand("1"); + this.javaSelf.setActionCommand("2"); + + this.jButton2.setVisible(false); + this.cppDir.setVisible(false); + this.jLabel3.setVisible(false); + cDir.setEnabled(false); + cppDir.setEnabled(false); + jButton1.setEnabled(false); + jButton2.setEnabled(false); + cRegistryList.setEnabled(false); + javaDir.setEnabled(false); + jButton3.setEnabled(false); + javaRegistryList.setEnabled(false); + chooseLanguagePanel(languageString); + initRegistryMessage(); + this.loadConfig(); + } + + private void saveConfig() { + try { + //radiobuttonѡжд + if (cSystem.isSelected()) { + //·ΪԴ· + Config.getProp().setProperty(Const.MinGWDir, Config.CompilerDir("c")); + Config.getProp().setProperty(Const.MinGWRelative, "1"); + } else if (cRegistry.isSelected()) { + Config.getProp().setProperty(Const.MinGWDir, lblCRegistryMessage.getText()); + Config.getProp().setProperty(Const.MinGWRelative, "2"); + } else if (cSelf.isSelected()) { + Config.getProp().setProperty(Const.MinGWDir, cDir.getText()); + Config.getProp().setProperty(Const.MinGWRelative, "3"); + } + if (javaSystem.isSelected()) { + Config.getProp().setProperty(Const.JavaCompilerDir, Config.CompilerDir("java")); + Config.getProp().setProperty(Const.JavaRelative, "1"); + } else if (javaRegistry.isSelected()) { + Config.getProp().setProperty(Const.JavaCompilerDir, lblJavaRegistryMessage.getText()); + Config.getProp().setProperty(Const.JavaRelative, "2"); + } else if (javaSelf.isSelected()) { + Config.getProp().setProperty(Const.JavaCompilerDir, javaDir.getText()); + Config.getProp().setProperty(Const.JavaRelative, "3"); + } + Config.save(); + System.out.println("save config success"); + } catch (Exception ex) { + ex.printStackTrace(); + System.out.println("保存编译配置错误 file:Control.java method:saveCompileConfig"); + } + } +//Աѡ + public void chooseLanguagePanel(String languageString) { + languageString = languageString.toLowerCase(); + switch (languageString) { + case "java": + cJPanel.setVisible(false); + javaJPanel.setVisible(true); + break; + case "c": + case "c++": + cJPanel.setVisible(true); + javaJPanel.setVisible(false); + break; + default: + } + } + + private void loadConfig() { + try { + cRegistryList.removeAllItems(); + javaRegistryList.removeAllItems(); + //һȼΪñڶΪעģΪûԶ + String MinGWDir = Config.CompilerDir("c"); + if (!FileFinder.isExistFile(MinGWDir)) { + cSystem.setEnabled(false); + } + HashMap tmpHashtable = CRegistryMessage; + if (tmpHashtable.size() != 0) { + Iterator iter = tmpHashtable.entrySet().iterator(); + while (iter.hasNext()) { + Map.Entry entry = (Map.Entry) iter.next(); + String key = (String) entry.getKey(); + String val = (String) entry.getValue(); + cRegistryList.addItem(key); + } + } else { + lblCRegistryMessage.setText("δļϰװMinGWֶ·"); + setCRegistryGroupEnable(false); + cRegistry.setEnabled(false); + } + + String javaDirString = Config.CompilerDir("java"); // SXZ530 + if (!FileFinder.isExistFile(javaDirString)) { + javaSystem.setEnabled(false); + } + tmpHashtable = JavaRegistryMessage; + if (tmpHashtable.size() != 0) { + Iterator iter = tmpHashtable.entrySet().iterator(); + while (iter.hasNext()) { + Map.Entry entry = (Map.Entry) iter.next(); + String key = (String) entry.getKey(); + String val = (String) entry.getValue(); + javaRegistryList.addItem(key); + } + } else { + lblJavaRegistryMessage.setText("δļϰװJDKֶ·"); + setJavaRegistryGroupEnable(false); + javaRegistry.setEnabled(false); + } + this.cRegistryList.addItemListener(new ItemListener() { + @Override + public void itemStateChanged(ItemEvent e) { + String item = (String) e.getItem(); + int state = e.getStateChange(); + if (state == 1) { + //ıѡ + HashMap tmpHashtable = CRegistryMessage; + Iterator iter = tmpHashtable.entrySet().iterator(); + while (iter.hasNext()) { + Map.Entry entry = (Map.Entry) iter.next(); + String key = (String) entry.getKey(); + String val = (String) entry.getValue(); + if (item.equals(key)) { + lblCRegistryMessage.setText(val); + break; + } + } + } + } + }); + this.javaRegistryList.addItemListener(new ItemListener() { + @Override + public void itemStateChanged(ItemEvent e) { + String item = (String) e.getItem(); + int state = e.getStateChange(); + if (state == 1) { + //ıѡ + HashMap tmpHashtable = JavaRegistryMessage; + Iterator iter = tmpHashtable.entrySet().iterator(); + while (iter.hasNext()) { + Map.Entry entry = (Map.Entry) iter.next(); + String key = (String) entry.getKey(); + String val = (String) entry.getValue(); + if (item.equals(key)) { + lblJavaRegistryMessage.setText(val); + break; + } + } + } + } + }); + this.cRegistryList.setSelectedIndex(-1); + this.javaRegistryList.setSelectedIndex(-1); + //Relativeóʼ + if (Config.MinGWRelative == 1)//Ϊϵͳ + { + cSystem.setSelected(true); + setCFindPathGroupEnable(false); + setCRegistryGroupEnable(false); + } else if (Config.MinGWRelative == 2) { + //ñΪѡעĶ·Ӧеģ + cRegistry.setSelected(true); + MinGWDir = Config.getCompilerDir("c"); + tmpHashtable = CRegistryMessage; + Iterator iter = tmpHashtable.entrySet().iterator(); + while (iter.hasNext()) { + Map.Entry entry = (Map.Entry) iter.next(); + String key = (String) entry.getKey(); + String val = (String) entry.getValue(); + if (val.equals(MinGWDir)) { + cRegistryList.setSelectedItem(key); + } + } + setCFindPathGroupEnable(false); + setCRegistryGroupEnable(true); + lblCRegistryMessage.setText(MinGWDir); + } else if (Config.MinGWRelative == 3) { + cSystem.setSelected(true); + MinGWDir = Config.getCompilerDir("c"); + cDir.setText(MinGWDir); + setCFindPathGroupEnable(true); + setCRegistryGroupEnable(false); + } + + if (Config.JavaRelative == 1) { + javaSystem.setSelected(true); + setJavaFindPathGroupEnable(false); + setJavaRegistryGroupEnable(false); + } else if (Config.JavaRelative == 2) { + javaRegistry.setSelected(true); + javaDirString = Config.getCompilerDir("java"); + tmpHashtable = JavaRegistryMessage; + Iterator iter = tmpHashtable.entrySet().iterator(); + while (iter.hasNext()) { + Map.Entry entry = (Map.Entry) iter.next(); + String key = (String) entry.getKey(); + String val = (String) entry.getValue(); + if (val.equals(javaDirString)) { + javaRegistryList.setSelectedItem(key); + } + } + lblJavaRegistryMessage.setText(javaDirString); + setJavaFindPathGroupEnable(false); + setJavaRegistryGroupEnable(true); + } else if (Config.JavaRelative == 3) { + javaSystem.setSelected(true); + javaDirString = Config.getCompilerDir("java"); + javaDir.setText(javaDirString); + setJavaFindPathGroupEnable(true); + setJavaRegistryGroupEnable(false); + } + //װʱļ· +// String tmp = Config.getProp().getProperty(Const.srcDirIdentify); +// if(tmp != null && !"".equals(tmp)) +// srcDir.setText(tmp); +// String cCompilePath = Config.getProp().getProperty(Const.cCompilerDirIdentify); +// if(cCompilePath.isEmpty()) cCompilePath = Config.CompilerDir("c"); +// this.cDir.setText(cCompilePath); +// +// String cppCompilePath = Config.getProp().getProperty(Const.cppCompilerDirIdentify); +// if(cppCompilePath.isEmpty()) cppCompilePath = Config.CompilerDir("cpp"); +// this.cppDir.setText(cppCompilePath); +// +// String javaCompilePath = Config.getProp().getProperty(Const.javaCompilerDirIdentify); +// if(javaCompilePath.isEmpty()) javaCompilePath = Config.CompilerDir("cpp"); +// this.javaDir.setText(javaCompilePath); +// +// String srcPath = Config.getProp().getProperty(Const.srcDirIdentify); +// if(srcPath.isEmpty()) srcPath = System.getProperty("user.dir") + "\\test";; +// this.srcDir.setText(srcPath); +// +// String isRelativeC = Config.getProp().getProperty("isCppRelative"); +// String isRelativeJ = Config.getProp().getProperty("isJavaRelative"); +// boolean isCppRelative = (isRelativeC.equals("true")) ? true : false; +// boolean isJavaRelative = (isRelativeJ.equals("true")) ? true : false; +// if (isCppRelative) { +// this.cSystem.setSelected(true); +// this.jButton1.setEnabled(false); +// this.jButton2.setEnabled(false); +// this.cDir.setEditable(false); +// this.cDir.setEnabled(false); +// this.cppDir.setEditable(false); +// this.cppDir.setEnabled(false); +// //this.cDir.setText(Config.CompilerDir("c")); +// //this.cppDir.setText(Config.CompilerDir("cpp")); +// } else { +// this.cSelf.setSelected(true); +// this.cDir.setEditable(true); +// this.cDir.setEnabled(true); +// this.cppDir.setEditable(true); +// this.cppDir.setEnabled(true); +// } +// +// if (isJavaRelative) { +// this.javaSystem.setSelected(true); +// this.jButton3.setEnabled(false); +// this.javaDir.setEditable(false); +// this.javaDir.setEnabled(false); +// // this.javaDir.setText(Config.CompilerDir("java")); +// } else { +// this.javaSelf.setSelected(true); +// this.javaDir.setEditable(true); +// this.javaDir.setEnabled(true); +// } + + System.out.println("load config success"); + } catch (Exception e) { + e.printStackTrace(); + } + } + + /** + * This method is called from within the constructor to initialize the form. + * WARNING: Do NOT modify this code. The content of this method is always + * regenerated by the Form Editor. + */ + @SuppressWarnings("unchecked") + // //GEN-BEGIN:initComponents + private void initComponents() { + + buttonGroup1 = new javax.swing.ButtonGroup(); + buttonGroup2 = new javax.swing.ButtonGroup(); + cJPanel = new javax.swing.JPanel(); + jButton2 = new javax.swing.JButton(); + jLabel2 = new javax.swing.JLabel(); + cSystem = new javax.swing.JRadioButton(); + cSelf = new javax.swing.JRadioButton(); + cRegistry = new javax.swing.JRadioButton(); + jLabel1 = new javax.swing.JLabel(); + jLabel3 = new javax.swing.JLabel(); + cDir = new javax.swing.JTextField(); + cppDir = new javax.swing.JTextField(); + jButton1 = new javax.swing.JButton(); + cRegistryList = new javax.swing.JComboBox<>(); + lblCRegistryMessage = new javax.swing.JLabel(); + jButton5 = new javax.swing.JButton(); + javaJPanel = new javax.swing.JPanel(); + javaSystem = new javax.swing.JRadioButton(); + javaDir = new javax.swing.JTextField(); + jLabel4 = new javax.swing.JLabel(); + javaSelf = new javax.swing.JRadioButton(); + jLabel5 = new javax.swing.JLabel(); + jButton3 = new javax.swing.JButton(); + javaRegistry = new javax.swing.JRadioButton(); + javaRegistryList = new javax.swing.JComboBox<>(); + lblJavaRegistryMessage = new javax.swing.JLabel(); + jButton6 = new javax.swing.JButton(); + + setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); + + jButton2.setText("..."); + jButton2.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + jButton2ActionPerformed(evt); + } + }); + + jLabel2.setFont(new java.awt.Font("", 1, 16)); // NOI18N + jLabel2.setText("C/C++"); + + buttonGroup1.add(cSystem); + cSystem.setFont(new java.awt.Font("", 0, 14)); // NOI18N + cSystem.setText("ʹϵͳñ"); + cSystem.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + cSystemActionPerformed(evt); + } + }); + + buttonGroup1.add(cSelf); + cSelf.setFont(new java.awt.Font("", 0, 14)); // NOI18N + cSelf.setText("ָ(gcc.exe/g++.exe)ļ"); + cSelf.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + cSelfActionPerformed(evt); + } + }); + + buttonGroup1.add(cRegistry); + cRegistry.setFont(new java.awt.Font("", 0, 14)); // NOI18N + cRegistry.setText("ʹñעı"); + cRegistry.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + cRegistryActionPerformed(evt); + } + }); + + jLabel1.setText("gcc/g++"); + + jLabel3.setText("C++"); + + jButton1.setText("..."); + jButton1.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + jButton1ActionPerformed(evt); + } + }); + + cRegistryList.setFont(new java.awt.Font("", 0, 14)); // NOI18N + cRegistryList.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" })); + cRegistryList.setSelectedIndex(-1); + cRegistryList.setActionCommand("comboBoxChanged1"); + cRegistryList.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + cRegistryListActionPerformed(evt); + } + }); + + lblCRegistryMessage.setFont(new java.awt.Font("", 0, 14)); // NOI18N + + jButton5.setText(""); + jButton5.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + jButton5ActionPerformed(evt); + } + }); + + javax.swing.GroupLayout cJPanelLayout = new javax.swing.GroupLayout(cJPanel); + cJPanel.setLayout(cJPanelLayout); + cJPanelLayout.setHorizontalGroup( + cJPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(cJPanelLayout.createSequentialGroup() + .addContainerGap() + .addGroup(cJPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(cJPanelLayout.createSequentialGroup() + .addComponent(jLabel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addGap(227, 227, 227)) + .addGroup(cJPanelLayout.createSequentialGroup() + .addGroup(cJPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(cJPanelLayout.createSequentialGroup() + .addComponent(cRegistry) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(cRegistryList, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addComponent(cSystem) + .addComponent(cSelf) + .addGroup(cJPanelLayout.createSequentialGroup() + .addGap(24, 24, 24) + .addComponent(lblCRegistryMessage))) + .addGap(0, 0, Short.MAX_VALUE)))) + .addGroup(cJPanelLayout.createSequentialGroup() + .addGroup(cJPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(cJPanelLayout.createSequentialGroup() + .addGroup(cJPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(cJPanelLayout.createSequentialGroup() + .addGap(38, 38, 38) + .addComponent(jLabel3) + .addGap(38, 38, 38)) + .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, cJPanelLayout.createSequentialGroup() + .addContainerGap() + .addComponent(jLabel1) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED))) + .addGroup(cJPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(cJPanelLayout.createSequentialGroup() + .addComponent(cDir, javax.swing.GroupLayout.PREFERRED_SIZE, 218, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jButton1)) + .addGroup(cJPanelLayout.createSequentialGroup() + .addComponent(cppDir, javax.swing.GroupLayout.PREFERRED_SIZE, 220, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(jButton2)))) + .addGroup(cJPanelLayout.createSequentialGroup() + .addGap(156, 156, 156) + .addComponent(jButton5))) + .addGap(0, 6, Short.MAX_VALUE)) + ); + cJPanelLayout.setVerticalGroup( + cJPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(cJPanelLayout.createSequentialGroup() + .addContainerGap() + .addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(8, 8, 8) + .addComponent(cSystem) + .addGap(18, 18, 18) + .addGroup(cJPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(cRegistry) + .addComponent(cRegistryList, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(lblCRegistryMessage) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 32, Short.MAX_VALUE) + .addComponent(cSelf) + .addGap(7, 7, 7) + .addGroup(cJPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(cDir, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(jButton1) + .addComponent(jLabel1)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addGroup(cJPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(cppDir, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(jLabel3) + .addComponent(jButton2)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jButton5, javax.swing.GroupLayout.PREFERRED_SIZE, 34, javax.swing.GroupLayout.PREFERRED_SIZE)) + ); + + buttonGroup2.add(javaSystem); + javaSystem.setFont(new java.awt.Font("", 0, 14)); // NOI18N + javaSystem.setText("ʹϵͳñ"); + javaSystem.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + javaSystemActionPerformed(evt); + } + }); + + jLabel4.setFont(new java.awt.Font("", 1, 16)); // NOI18N + jLabel4.setText("Java"); + + buttonGroup2.add(javaSelf); + javaSelf.setFont(new java.awt.Font("", 0, 14)); // NOI18N + javaSelf.setText("ָ(javac.exe)ļ"); + javaSelf.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + javaSelfActionPerformed(evt); + } + }); + + jLabel5.setText("javac"); + + jButton3.setText("..."); + jButton3.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + jButton3ActionPerformed(evt); + } + }); + + buttonGroup2.add(javaRegistry); + javaRegistry.setFont(new java.awt.Font("", 0, 14)); // NOI18N + javaRegistry.setText("ʹñעı"); + javaRegistry.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + javaRegistryActionPerformed(evt); + } + }); + + javaRegistryList.setFont(new java.awt.Font("", 0, 14)); // NOI18N + javaRegistryList.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" })); + javaRegistryList.setSelectedIndex(-1); + javaRegistryList.setActionCommand("comboBoxChanged2"); + javaRegistryList.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + javaRegistryListActionPerformed(evt); + } + }); + + lblJavaRegistryMessage.setFont(new java.awt.Font("", 0, 14)); // NOI18N + + jButton6.setText(""); + jButton6.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + jButton6ActionPerformed(evt); + } + }); + + javax.swing.GroupLayout javaJPanelLayout = new javax.swing.GroupLayout(javaJPanel); + javaJPanel.setLayout(javaJPanelLayout); + javaJPanelLayout.setHorizontalGroup( + javaJPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(javaJPanelLayout.createSequentialGroup() + .addContainerGap() + .addGroup(javaJPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(javaJPanelLayout.createSequentialGroup() + .addGap(8, 8, 8) + .addGroup(javaJPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(javaSystem) + .addGroup(javaJPanelLayout.createSequentialGroup() + .addComponent(javaRegistry) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(javaRegistryList, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addGroup(javaJPanelLayout.createSequentialGroup() + .addGap(24, 24, 24) + .addComponent(lblJavaRegistryMessage)) + .addGroup(javaJPanelLayout.createSequentialGroup() + .addGroup(javaJPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(javaJPanelLayout.createSequentialGroup() + .addComponent(javaSelf) + .addGap(0, 0, Short.MAX_VALUE)) + .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, javaJPanelLayout.createSequentialGroup() + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 23, Short.MAX_VALUE) + .addComponent(jLabel5) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(javaDir, javax.swing.GroupLayout.PREFERRED_SIZE, 216, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(18, 18, 18) + .addComponent(jButton3, javax.swing.GroupLayout.PREFERRED_SIZE, 52, javax.swing.GroupLayout.PREFERRED_SIZE))) + .addContainerGap()))) + .addGroup(javaJPanelLayout.createSequentialGroup() + .addComponent(jLabel4, javax.swing.GroupLayout.PREFERRED_SIZE, 131, javax.swing.GroupLayout.PREFERRED_SIZE) + .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))) + .addGroup(javaJPanelLayout.createSequentialGroup() + .addGap(151, 151, 151) + .addComponent(jButton6) + .addGap(0, 0, Short.MAX_VALUE)) + ); + javaJPanelLayout.setVerticalGroup( + javaJPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(javaJPanelLayout.createSequentialGroup() + .addContainerGap() + .addComponent(jLabel4) + .addGap(12, 12, 12) + .addComponent(javaSystem) + .addGap(18, 18, 18) + .addGroup(javaJPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(javaRegistry) + .addComponent(javaRegistryList, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(lblJavaRegistryMessage) + .addGap(32, 32, 32) + .addComponent(javaSelf) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addGroup(javaJPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(jLabel5) + .addComponent(javaDir, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(jButton3)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 16, Short.MAX_VALUE) + .addComponent(jButton6, javax.swing.GroupLayout.PREFERRED_SIZE, 34, javax.swing.GroupLayout.PREFERRED_SIZE)) + ); + + javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); + getContentPane().setLayout(layout); + layout.setHorizontalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addContainerGap() + .addComponent(cJPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(javaJPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addContainerGap(31, Short.MAX_VALUE)) + ); + layout.setVerticalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(cJPanel, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(javaJPanel, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addGap(23, 23, 23)) + ); + + javaJPanel.setVisible(false); + + pack(); + }// //GEN-END:initComponents + + private void javaSystemActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_javaSystemActionPerformed + setJavaFindPathGroupEnable(false); + setJavaRegistryGroupEnable(false); + }//GEN-LAST:event_javaSystemActionPerformed + + private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton3ActionPerformed + this.javaDir.setText(getChooseDirectory("j")); + }//GEN-LAST:event_jButton3ActionPerformed + + private void javaSelfActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_javaSelfActionPerformed + setJavaFindPathGroupEnable(true); + setJavaRegistryGroupEnable(false); + }//GEN-LAST:event_javaSelfActionPerformed + + private void javaRegistryActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_javaRegistryActionPerformed + setJavaRegistryGroupEnable(true); + setJavaFindPathGroupEnable(false); + }//GEN-LAST:event_javaRegistryActionPerformed + + private void javaRegistryListActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_javaRegistryListActionPerformed + // TODO add your handling code here: + }//GEN-LAST:event_javaRegistryListActionPerformed + + private void jButton5ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton5ActionPerformed + this.saveConfig(); + this.dispose(); + }//GEN-LAST:event_jButton5ActionPerformed + + private void cRegistryListActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cRegistryListActionPerformed + + }//GEN-LAST:event_cRegistryListActionPerformed + + private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed + + this.cDir.setText(getChooseDirectory("c")); + }//GEN-LAST:event_jButton1ActionPerformed + + private void cRegistryActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cRegistryActionPerformed + setCFindPathGroupEnable(false); + setCRegistryGroupEnable(true); + }//GEN-LAST:event_cRegistryActionPerformed + + private void cSelfActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cSelfActionPerformed + setCFindPathGroupEnable(true); + setCRegistryGroupEnable(false); + }//GEN-LAST:event_cSelfActionPerformed + + private void cSystemActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cSystemActionPerformed + setCFindPathGroupEnable(false); + setCRegistryGroupEnable(false); + }//GEN-LAST:event_cSystemActionPerformed + + private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton2ActionPerformed + this.cppDir.setText(getChooseDirectory("c")); + }//GEN-LAST:event_jButton2ActionPerformed + + private void jButton6ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton6ActionPerformed + // 水ť¼һ + jButton5ActionPerformed(evt); + }//GEN-LAST:event_jButton6ActionPerformed + + private void setCRegistryGroupEnable(boolean enable) { + this.cRegistryList.setEnabled(enable); + this.lblCRegistryMessage.setEnabled(enable); + } + + private void setJavaRegistryGroupEnable(boolean enable) { + this.javaRegistryList.setEnabled(enable); + this.lblJavaRegistryMessage.setEnabled(enable); + } + + private void setJavaFindPathGroupEnable(boolean enable) { + this.jLabel5.setEnabled(enable); + this.javaDir.setEnabled(enable); + this.jButton3.setEnabled(enable); + } + + private void setCFindPathGroupEnable(boolean enable) { + this.cDir.setEnabled(enable); + this.cppDir.setEnabled(enable); + this.jButton1.setEnabled(enable); + this.jButton2.setEnabled(enable); + this.jLabel1.setEnabled(enable); + this.jLabel3.setEnabled(enable); + } + + /** + * @param args the command line arguments + */ + public static void main(String args[]) { + + java.awt.EventQueue.invokeLater(new Runnable() { + public void run() { + NewCompileSetting dialog = new NewCompileSetting("c",new javax.swing.JFrame(), true); + dialog.addWindowListener(new java.awt.event.WindowAdapter() { + @Override + public void windowClosing(java.awt.event.WindowEvent e) { + System.exit(0); + } + }); + dialog.setVisible(true); + } + }); + } + + public static String getChooseDirectory() { + return getChooseDirectory("a"); + } + + public static String getChooseDirectory(String lan) { + + try { + String dirName; + while (true) { + JFileChooser fileChooser = new JFileChooser(); + fileChooser.setCurrentDirectory(new File(System.getProperty("user.dir"))); + fileChooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); + fileChooser.showDialog(new JLabel(), ""); + File file = fileChooser.getSelectedFile(); + dirName = file.toString(); + if (lan.equals("c") && dirName.contains(" ")) { + JOptionPane.showConfirmDialog(fileChooser, + "MinGW路径不得包含空格,请重新选择", "测试结果", //ToDo + JOptionPane.DEFAULT_OPTION, + JOptionPane.INFORMATION_MESSAGE + ); + } else { + break; + } + } + return dirName; + } catch (Exception e) { + e.printStackTrace(); + return ""; + } + + } + + //ұ + public void initRegistryMessage() { + initCRegistryMessage(); + initJavaRegistryMessage(); + initBin(); + } + + private HashMap CRegistryMessage = new HashMap<>(); + private HashMap JavaRegistryMessage = new HashMap<>(); + + private void initCRegistryMessage() { + try { + CRegistryMessage.clear(); + //ҵmingw + List messageList = execProc("reg query \"HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session Manager\\Environment\""); + String s = "reg query \"HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session Manager\\Environment\""; + for (int k = 0; k < messageList.size(); k++) { + String tmp[] = messageList.get(k).trim().split(" "); + if ("path".equals(tmp[0].toLowerCase())) { + //ȡpath·ֵ + tmp = tmp[2].split(";"); + for (int l = 0; l < tmp.length; l++) { + if (tmp[l].toLowerCase().contains("mingw") && !CRegistryMessage.containsKey("MinGW")) { + CRegistryMessage.put("MinGW", tmp[l]); + break; + } + } + break; + } + } + if (CRegistryMessage.containsKey("MinGW")) { + messageList = execProc("reg query \"HKEY_CURRENT_USER\\Environment\""); + for (int k = 0; k < messageList.size(); k++) { + String tmp[] = messageList.get(k).trim().split(" "); + if ("path".equals(tmp[0].toLowerCase())) { + //ȡpath·ֵ + tmp = tmp[2].split(";"); + for (int l = 0; l < tmp.length; l++) { + if (tmp[l].toLowerCase().contains("mingw") && !CRegistryMessage.containsKey("MinGW")) { + CRegistryMessage.put("MinGW", tmp[l]); + break; + } + } + break; + } + } + } + //ȡdevcpp + CompilesInRegisty compilesInRegisty = new CompilesInRegisty(); + List devcppList = compilesInRegisty.getCompilePath("Dev-C++"); + if (!devcppList.isEmpty()) { + devcppList.stream().forEach((Compiles devcpp) -> { + CRegistryMessage.put(devcpp.getCompileNameString() + "(" + devcpp.getVersionString() + ")", devcpp.getPathString()); + }); + } + //ȡcodeblocks + List codeBlocksList = compilesInRegisty.getCompilePath("CodeBlocks"); + if (!codeBlocksList.isEmpty()) { + codeBlocksList.stream().forEach((Compiles codeBlocks) -> { + CRegistryMessage.put(codeBlocks.getCompileNameString() + "(" + codeBlocks.getVersionString() + ")", codeBlocks.getPathString()); + }); + } + } catch (Exception e) { + Log.writeExceptionLog(e.getClass() + e.getMessage()); + // System.out.println("CRegistryError at CONFIG:" + e.getMessage()); + } finally { + System.out.println("CRegistryMessage:" + CRegistryMessage.size()); + } + } + + private void initJavaRegistryMessage() { + try { + JavaRegistryMessage.clear(); + // 32λ jdk + CompilesInRegisty compilesInRegisty = new CompilesInRegisty(); + List jdk32List = compilesInRegisty.getCompilePath("Java SE"); + for (Compiles jdk : jdk32List) { + String jdkPathString = jdk.getPathString(); + if (jdkPathString.contains("jdk")) { + if (!JavaRegistryMessage.containsValue(jdkPathString)) { + JavaRegistryMessage.put("JDK" + jdk.getVersionString(), jdkPathString); + } + } + } + System.out.println(""); + } catch (Exception ex) { + Log.writeExceptionLog(ex.getClass() + ex.getMessage()); + } finally { + System.out.println("JavaRegistryMessage:" + JavaRegistryMessage.size()); + } + + } + + //ռCRegistryMessageJavaRegistryMessageĿ¼жϲȷbinĿ¼ + private void initBin() { + Iterator iter = CRegistryMessage.entrySet().iterator(); + while (iter.hasNext()) { + Map.Entry entry = (Map.Entry) iter.next(); + String key = (String) entry.getKey(); + String val = (String) entry.getValue(); + List subs = FileFinder.getSubs(val); + boolean has = false; + for (int i = 0; i < subs.size(); i++) { + if (subs.get(i).toLowerCase().contains("mingw")) { + //ȡmingwµbinĿ¼ + String tmp = val + subs.get(i) + File.separator + "bin"; + if (FileFinder.isExistFile(tmp + File.separator + "gcc.exe") && FileFinder.isExistFile(tmp + File.separator + "g++.exe")) { + CRegistryMessage.replace(key, val, tmp); + has = true; + break; + } + } + } + if (!has) { + CRegistryMessage.remove(key); + } + } + iter = JavaRegistryMessage.entrySet().iterator(); + while (iter.hasNext()) { + Map.Entry entry = (Map.Entry) iter.next(); + String key = (String) entry.getKey(); + String val = (String) entry.getValue(); + JavaRegistryMessage.replace(key, val, val + "bin"); + } +// System.out.println("Registry Find End..."); + } + + private List execProc(String Command) { + List messageList = new LinkedList(); + try { + Process ps = null; + ps = Runtime.getRuntime().exec(Command); + ps.getOutputStream().close(); + InputStreamReader i = new InputStreamReader(ps.getInputStream()); + String line; + BufferedReader ir = new BufferedReader(i); + while ((line = ir.readLine()) != null) { +// System.out.println(line); + messageList.add(line); + } + ir.close(); + i.close(); + } catch (Exception e) { + e.printStackTrace(); + Log.writeExceptionLog(e.getClass() + e.getMessage()); + } finally { + + } + return messageList; + } + + // Variables declaration - do not modify//GEN-BEGIN:variables + private javax.swing.ButtonGroup buttonGroup1; + private javax.swing.ButtonGroup buttonGroup2; + private javax.swing.JTextField cDir; + private javax.swing.JPanel cJPanel; + private javax.swing.JRadioButton cRegistry; + private javax.swing.JComboBox cRegistryList; + private javax.swing.JRadioButton cSelf; + private javax.swing.JRadioButton cSystem; + private javax.swing.JTextField cppDir; + private javax.swing.JButton jButton1; + private javax.swing.JButton jButton2; + private javax.swing.JButton jButton3; + private javax.swing.JButton jButton5; + private javax.swing.JButton jButton6; + private javax.swing.JLabel jLabel1; + private javax.swing.JLabel jLabel2; + private javax.swing.JLabel jLabel3; + private javax.swing.JLabel jLabel4; + private javax.swing.JLabel jLabel5; + private javax.swing.JTextField javaDir; + private javax.swing.JPanel javaJPanel; + private javax.swing.JRadioButton javaRegistry; + private javax.swing.JComboBox javaRegistryList; + private javax.swing.JRadioButton javaSelf; + private javax.swing.JRadioButton javaSystem; + private javax.swing.JLabel lblCRegistryMessage; + private javax.swing.JLabel lblJavaRegistryMessage; + // End of variables declaration//GEN-END:variables +} diff --git a/Judger/src/tool/ThreadTool.java b/Judger/src/tool/ThreadTool.java new file mode 100644 index 0000000..4ecb092 --- /dev/null +++ b/Judger/src/tool/ThreadTool.java @@ -0,0 +1,84 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package tool; + +import java.io.BufferedReader; +import java.io.InputStreamReader; + +/** + * + * @author Administrator + */ +public class ThreadTool { + /** + * + * + * @param PID ID] + * * @param processName + * @return ҵtrue,ûҵfalse + */ + public static boolean findProcess(long PID) { + + BufferedReader bufferedReader = null; + + //ݽIDҽ + if (PID > 0) { + try { + Process proc = Runtime.getRuntime().exec("tasklist /fi \"PID eq " + PID + " \""); + //System.err.println("tasklist /fi \"PID eq " + PID + " \""); + bufferedReader = new BufferedReader(new InputStreamReader(proc.getInputStream())); + String line = null; + + while ((line = bufferedReader.readLine()) != null) { + //System.err.println(line); + if (line.contains(".exe")) { + return true; + } + } + } catch (Exception ex) { + ex.printStackTrace(); + return false; + } finally { + if (bufferedReader != null) { + try { + bufferedReader.close(); + } catch (Exception ex) { + } + } + } + } + return false; + } + + public static boolean findProcess(String processName) { + BufferedReader bufferedReader = null; + //ݽ + if (processName.trim().length() > 0) { + try { + Process proc = Runtime.getRuntime().exec("tasklist /fi \"IMAGENAME eq " + processName+"\""); + bufferedReader = new BufferedReader(new InputStreamReader(proc.getInputStream())); + String line = null; + while ((line = bufferedReader.readLine()) != null) { + if (line.contains(processName)) { + return true; + } + } + return false; + } catch (Exception ex) { + ex.printStackTrace(); + return false; + } finally { + if (bufferedReader != null) { + try { + bufferedReader.close(); + } catch (Exception ex) { + } + } + } + } + return false; + } +} diff --git a/Judger/src/tool/Tool.java b/Judger/src/tool/Tool.java new file mode 100644 index 0000000..8a5d3bd --- /dev/null +++ b/Judger/src/tool/Tool.java @@ -0,0 +1,79 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package tool; + +/** + * + * @author Administrator + */ +public class Tool { + + @SuppressWarnings("unchecked") + public static String getFileRealPath(Class cls) { + //ûIJǷΪ + if (cls == null) { + throw new java.lang.IllegalArgumentException("Ϊգ"); + } + ClassLoader loader = cls.getClassLoader(); + //ȫ + String clsName = cls.getName() + ".class"; + //ôڵİ + Package pack = cls.getPackage(); + String path = ""; + //תΪ· + if (pack != null) { + String packName = pack.getName(); + //˴жǷJava⣬ֹûJDKõ + if (packName.startsWith("java.") || packName.startsWith("javax.")) { + throw new java.lang.IllegalArgumentException("Ҫϵͳ࣡"); + } + //УȥIJ֣ļ + clsName = clsName.substring(packName.length() + 1); + //жǷǼ򵥰ǣֱӽתΪ· + if (packName.indexOf(".") < 0) { + path = packName + "/"; + } else {//հɲ֣תΪ· + int start = 0, end = 0; + end = packName.indexOf("."); + while (end != -1) { + path = path + packName.substring(start, end) + "/"; + start = end + 1; + end = packName.indexOf(".", start); + } + path = path + packName.substring(start) + "/"; + } + } + //ClassLoadergetResource·Ϣļ + java.net.URL url = loader.getResource(path + clsName); + //URLлȡ·Ϣ + String realPath = url.getPath(); + //ȥ·ϢеЭ"file:" + int pos = realPath.indexOf("file:"); + if (pos > -1) { + realPath = realPath.substring(pos + 5); + } + //ȥ·ϢļϢIJ֣õڵ· + pos = realPath.indexOf(path + clsName); + realPath = realPath.substring(0, pos - 1); + //ļJARļʱȥӦJARȴļ + if (realPath.endsWith("!")) { + realPath = realPath.substring(0, realPath.lastIndexOf("/")); + } + /*------------------------------------------------------------ + ClassLoadergetResourceʹutf-8·Ϣ˱룬· + дĺͿոʱЩַתõҪ + ʵ·ڴˣURLDecoderdecodeн룬Աõԭʼ + ļո· + -------------------------------------------------------------*/ + try { + realPath = java.net.URLDecoder.decode(realPath, "utf-8"); + } catch (Exception e) { + throw new RuntimeException(e); + } + return realPath; + }//getAppPath + +} \ No newline at end of file diff --git a/Lib/DJNativeSwing-SWT.jar b/Lib/DJNativeSwing-SWT.jar new file mode 100644 index 0000000..07d6b1e Binary files /dev/null and b/Lib/DJNativeSwing-SWT.jar differ diff --git a/Lib/DJNativeSwing.jar b/Lib/DJNativeSwing.jar new file mode 100644 index 0000000..c15cc2c Binary files /dev/null and b/Lib/DJNativeSwing.jar differ diff --git a/Lib/FastInfoset-1.2.12.jar b/Lib/FastInfoset-1.2.12.jar new file mode 100644 index 0000000..b960c26 Binary files /dev/null and b/Lib/FastInfoset-1.2.12.jar differ diff --git a/Lib/Lib.iml b/Lib/Lib.iml new file mode 100644 index 0000000..a93d1ff --- /dev/null +++ b/Lib/Lib.iml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Lib/WHICH_JARS b/Lib/WHICH_JARS new file mode 100644 index 0000000..a46b718 --- /dev/null +++ b/Lib/WHICH_JARS @@ -0,0 +1,137 @@ +This directory includes the CXF jar, the CXF manifest jar, the required +dependencies, and many optional dependencies. The "modules" directory +contains the cxf.jar split up into smaller pieces if you wish to use only +specific parts of CXF. + +The 'manifest jar' is a jar containing only a MANIFEST.MF with a classpath +that calls in all the other jar. + +Jars marked with a [6] at the end are optional for Java 6 (update 4 or +later is supported) as the functionality provided by those jars are +provided in the JDK. + +Some users may prefer to use axis2-saaj.jar rather than saaj-impl.jar. Both are +supported. + +The following jars are required for all CXF usage: +- cxf.jar +- commons-logging.jar +- geronimo-activation.jar (Or the Sun equivalent) [6] +- geronimo-annotation.jar (Or the Sun equivalent) [6] +- geronimo-javamail.jar (Or the Sun equivalent) [6] + (MAY be able to remove javamail if you don't use any MTOM/SAAJ type things) +- geronimo-stax-api.jar (Or the Sun equivalent) [6] +- neethi.jar +- jaxb-api.jar [6] +- jaxb-impl.jar (this is a [6] for normal runtime, but is required for + tooling and the dynamic clients) +- XmlSchema.jar +- woodstox-core-asl.jar [6] or another StAX implementation +- stax2-api-3.0.1.jar [6] for woodstox above +- wsdl4j.jar + +The following jars are required for XML catalog support: +- xml-resolver.jar + +For Java2WSDL and WSDL2Java: +- The above jars +- jaxb-xjc.jar +- velocity.jar +- commons-collections.jar +- commons-lang.jar +- cxf-xjc*.jar (optional, these are xjc extensions for providing enhanced + JAXB code generation) + +For JAX-WS support: +- geronimo-jaxws_2.2_spec-1.0.jar (Or the Sun equivalent) [6] +- saaj-api.jar [6] +- saaj-impl.jar [6] +- asm.jar (semi-optional, helps with performance of wrapper types and is + required when adding JAXB annotations onto the SEI methods and + parameters.) + +For XML Configuration support: +- aopalliance.jar +- spring-beans.jar +- spring-context.jar +- spring-core.jar +- FastInfoset.jar + +For hosting web services within WARs while using Spring-based CXFServlet: +- spring.web.jar + +For standalone HTTP support: +- geronimo-servlet.jar +- jetty-*.jar +- sl4j.jar & sl4j-jdk14.jar (optional - but improves logging) + +For Aegis support: +- jdom.jar (optional, if you want to map xsd:anyType to JDOM) + +For XmlBeans databinding support: +- xmlbeans.jar + +For WS-Security support: +- bcprov-jdk15.jar +- wss4j.jar +- xmlsec.jar +- ehcache-core.jar + +For SAML support in WS-Security +- joda-time.jar +- opensaml.jar +- openws.jar +- xmltooling.jar + +For JAX-RS support: +- abdera* (optional: for AtomPub support, but also needed for the + Management log browser console) +- commons-codec.jar (Needed for Abdera) +- jaxen.jar (Needed for Abdera) +- axiom* (Needed for Abdera) +- javax.ws.rs-apijar +- jettison.jar (Needed for JSON services only) +- oauth*.jar (Needed for OAuth support) + +For JMS transport +- geronimo-jms.jar (Or the Sun equivalent) +- spring-jms.jar +- spring-tx.jar + +For the UDP transport +- mina-core.jar + +For the Async HTTP client transport +- commons-codec.jar +- httpasyncclient.jar +- httpcore.jar +- httpclient.jar +- httpcore-nio-4.2.2.jar + +For CORBA support: +- antlr.jar + +For JavaScript functionality: +- js.jar + +For schema validation with the Aegis data binding. + + - msv-core.jar (version 2010.1) + - xsdlib:jar (version 2010.1) + - isorelax.jar (version 20030108) + - relaxngDatatype.jar (version 20020414) + +For the WS-Notification Service: + - cxf-services-wsn-api.jar + - cxf-services-wsn-core.jar + +For the CXF Security Token Service: + - cxf-services-sts-core.jar + +For the WS-Discovery Service + - cxf-ws-discovery-api.jar + - cxf-ws-discovery-service.jar + + + + diff --git a/Lib/activemq-broker-5.8.0.jar b/Lib/activemq-broker-5.8.0.jar new file mode 100644 index 0000000..185b0db Binary files /dev/null and b/Lib/activemq-broker-5.8.0.jar differ diff --git a/Lib/activemq-client-5.8.0.jar b/Lib/activemq-client-5.8.0.jar new file mode 100644 index 0000000..0e1a473 Binary files /dev/null and b/Lib/activemq-client-5.8.0.jar differ diff --git a/Lib/activemq-openwire-legacy-5.8.0.jar b/Lib/activemq-openwire-legacy-5.8.0.jar new file mode 100644 index 0000000..d80cb3b Binary files /dev/null and b/Lib/activemq-openwire-legacy-5.8.0.jar differ diff --git a/Lib/antlr-2.7.7.jar b/Lib/antlr-2.7.7.jar new file mode 100644 index 0000000..5e5f14b Binary files /dev/null and b/Lib/antlr-2.7.7.jar differ diff --git a/Lib/antlr_2.7.6.jar b/Lib/antlr_2.7.6.jar new file mode 100644 index 0000000..3702b64 Binary files /dev/null and b/Lib/antlr_2.7.6.jar differ diff --git a/Lib/aopalliance-1.0.jar b/Lib/aopalliance-1.0.jar new file mode 100644 index 0000000..578b1a0 Binary files /dev/null and b/Lib/aopalliance-1.0.jar differ diff --git a/Lib/asm-2.1.jar b/Lib/asm-2.1.jar new file mode 100644 index 0000000..4f47899 Binary files /dev/null and b/Lib/asm-2.1.jar differ diff --git a/Lib/asm-3.3.1.jar b/Lib/asm-3.3.1.jar new file mode 100644 index 0000000..f50f03f Binary files /dev/null and b/Lib/asm-3.3.1.jar differ diff --git a/Lib/asm-all-2.2.3.jar b/Lib/asm-all-2.2.3.jar new file mode 100644 index 0000000..34bb1b2 Binary files /dev/null and b/Lib/asm-all-2.2.3.jar differ diff --git a/Lib/asm-all-4.0.jar b/Lib/asm-all-4.0.jar new file mode 100644 index 0000000..dc44f70 Binary files /dev/null and b/Lib/asm-all-4.0.jar differ diff --git a/Lib/asm.jar b/Lib/asm.jar new file mode 100644 index 0000000..6ffa16d Binary files /dev/null and b/Lib/asm.jar differ diff --git a/Lib/cglib-2.1.3.jar b/Lib/cglib-2.1.3.jar new file mode 100644 index 0000000..ddfbdb0 Binary files /dev/null and b/Lib/cglib-2.1.3.jar differ diff --git a/Lib/cglib-2.1.jar b/Lib/cglib-2.1.jar new file mode 100644 index 0000000..2b24a80 Binary files /dev/null and b/Lib/cglib-2.1.jar differ diff --git a/Lib/cglib-nodep-2.1.3.jar b/Lib/cglib-nodep-2.1.3.jar new file mode 100644 index 0000000..e9b17eb Binary files /dev/null and b/Lib/cglib-nodep-2.1.3.jar differ diff --git a/Lib/commons-codec-1.7.jar b/Lib/commons-codec-1.7.jar new file mode 100644 index 0000000..efa7f72 Binary files /dev/null and b/Lib/commons-codec-1.7.jar differ diff --git a/Lib/commons-collections-2.1.1.jar b/Lib/commons-collections-2.1.1.jar new file mode 100644 index 0000000..3272f2b Binary files /dev/null and b/Lib/commons-collections-2.1.1.jar differ diff --git a/Lib/commons-collections-3.2.1.jar b/Lib/commons-collections-3.2.1.jar new file mode 100644 index 0000000..c35fa1f Binary files /dev/null and b/Lib/commons-collections-3.2.1.jar differ diff --git a/Lib/commons-lang-2.6.jar b/Lib/commons-lang-2.6.jar new file mode 100644 index 0000000..98467d3 Binary files /dev/null and b/Lib/commons-lang-2.6.jar differ diff --git a/Lib/commons-logging-1.0.4.jar b/Lib/commons-logging-1.0.4.jar new file mode 100644 index 0000000..b73a80f Binary files /dev/null and b/Lib/commons-logging-1.0.4.jar differ diff --git a/Lib/commons-logging-1.1.1.jar b/Lib/commons-logging-1.1.1.jar new file mode 100644 index 0000000..1deef14 Binary files /dev/null and b/Lib/commons-logging-1.1.1.jar differ diff --git a/Lib/cxf-2.5.1.jar b/Lib/cxf-2.5.1.jar new file mode 100644 index 0000000..8203250 Binary files /dev/null and b/Lib/cxf-2.5.1.jar differ diff --git a/Lib/cxf-2.5.2.jar b/Lib/cxf-2.5.2.jar new file mode 100644 index 0000000..c335002 Binary files /dev/null and b/Lib/cxf-2.5.2.jar differ diff --git a/Lib/cxf-2.7.7.jar b/Lib/cxf-2.7.7.jar new file mode 100644 index 0000000..41cb67e Binary files /dev/null and b/Lib/cxf-2.7.7.jar differ diff --git a/Lib/cxf-manifest.jar b/Lib/cxf-manifest.jar new file mode 100644 index 0000000..17c4aa8 Binary files /dev/null and b/Lib/cxf-manifest.jar differ diff --git a/Lib/cxf-services-sts-core-2.7.7.jar b/Lib/cxf-services-sts-core-2.7.7.jar new file mode 100644 index 0000000..4b0f386 Binary files /dev/null and b/Lib/cxf-services-sts-core-2.7.7.jar differ diff --git a/Lib/cxf-services-ws-discovery-api-2.7.7.jar b/Lib/cxf-services-ws-discovery-api-2.7.7.jar new file mode 100644 index 0000000..59a4cd7 Binary files /dev/null and b/Lib/cxf-services-ws-discovery-api-2.7.7.jar differ diff --git a/Lib/cxf-services-ws-discovery-service-2.7.7.jar b/Lib/cxf-services-ws-discovery-service-2.7.7.jar new file mode 100644 index 0000000..e238013 Binary files /dev/null and b/Lib/cxf-services-ws-discovery-service-2.7.7.jar differ diff --git a/Lib/cxf-services-wsn-api-2.7.7.jar b/Lib/cxf-services-wsn-api-2.7.7.jar new file mode 100644 index 0000000..4933676 Binary files /dev/null and b/Lib/cxf-services-wsn-api-2.7.7.jar differ diff --git a/Lib/cxf-services-wsn-core-2.7.7.jar b/Lib/cxf-services-wsn-core-2.7.7.jar new file mode 100644 index 0000000..8888012 Binary files /dev/null and b/Lib/cxf-services-wsn-core-2.7.7.jar differ diff --git a/Lib/cxf-xjc-boolean-2.6.2.jar b/Lib/cxf-xjc-boolean-2.6.2.jar new file mode 100644 index 0000000..59b3136 Binary files /dev/null and b/Lib/cxf-xjc-boolean-2.6.2.jar differ diff --git a/Lib/cxf-xjc-bug671-2.6.2.jar b/Lib/cxf-xjc-bug671-2.6.2.jar new file mode 100644 index 0000000..e87b9dd Binary files /dev/null and b/Lib/cxf-xjc-bug671-2.6.2.jar differ diff --git a/Lib/cxf-xjc-dv-2.6.2.jar b/Lib/cxf-xjc-dv-2.6.2.jar new file mode 100644 index 0000000..b3e2659 Binary files /dev/null and b/Lib/cxf-xjc-dv-2.6.2.jar differ diff --git a/Lib/cxf-xjc-runtime-2.6.2.jar b/Lib/cxf-xjc-runtime-2.6.2.jar new file mode 100644 index 0000000..5858940 Binary files /dev/null and b/Lib/cxf-xjc-runtime-2.6.2.jar differ diff --git a/Lib/cxf-xjc-ts-2.6.2.jar b/Lib/cxf-xjc-ts-2.6.2.jar new file mode 100644 index 0000000..283ba14 Binary files /dev/null and b/Lib/cxf-xjc-ts-2.6.2.jar differ diff --git a/Lib/dom4j-1.6.jar b/Lib/dom4j-1.6.jar new file mode 100644 index 0000000..e19f4ce Binary files /dev/null and b/Lib/dom4j-1.6.jar differ diff --git a/Lib/ehcache-core-2.5.1.jar b/Lib/ehcache-core-2.5.1.jar new file mode 100644 index 0000000..34b9085 Binary files /dev/null and b/Lib/ehcache-core-2.5.1.jar differ diff --git a/Lib/geronimo-annotation-1.0_spec-1.1.jar b/Lib/geronimo-annotation-1.0_spec-1.1.jar new file mode 100644 index 0000000..7a6f529 Binary files /dev/null and b/Lib/geronimo-annotation-1.0_spec-1.1.jar differ diff --git a/Lib/geronimo-j2ee-management_1.1_spec-1.0.1.jar b/Lib/geronimo-j2ee-management_1.1_spec-1.0.1.jar new file mode 100644 index 0000000..0701ae0 Binary files /dev/null and b/Lib/geronimo-j2ee-management_1.1_spec-1.0.1.jar differ diff --git a/Lib/geronimo-javamail_1.4_spec-1.7.1.jar b/Lib/geronimo-javamail_1.4_spec-1.7.1.jar new file mode 100644 index 0000000..eaa1c4d Binary files /dev/null and b/Lib/geronimo-javamail_1.4_spec-1.7.1.jar differ diff --git a/Lib/geronimo-jaxws_2.2_spec-1.1.jar b/Lib/geronimo-jaxws_2.2_spec-1.1.jar new file mode 100644 index 0000000..1c1c5df Binary files /dev/null and b/Lib/geronimo-jaxws_2.2_spec-1.1.jar differ diff --git a/Lib/geronimo-jms_1.1_spec-1.1.1.jar b/Lib/geronimo-jms_1.1_spec-1.1.1.jar new file mode 100644 index 0000000..4f5e646 Binary files /dev/null and b/Lib/geronimo-jms_1.1_spec-1.1.1.jar differ diff --git a/Lib/geronimo-servlet_3.0_spec-1.0.jar b/Lib/geronimo-servlet_3.0_spec-1.0.jar new file mode 100644 index 0000000..c244412 Binary files /dev/null and b/Lib/geronimo-servlet_3.0_spec-1.0.jar differ diff --git a/Lib/geronimo-stax-api_1.0_spec-1.0.1.jar b/Lib/geronimo-stax-api_1.0_spec-1.0.1.jar new file mode 100644 index 0000000..ab1ee3b Binary files /dev/null and b/Lib/geronimo-stax-api_1.0_spec-1.0.1.jar differ diff --git a/Lib/geronimo-ws-metadata_2.0_spec-1.1.3.jar b/Lib/geronimo-ws-metadata_2.0_spec-1.1.3.jar new file mode 100644 index 0000000..66dc1e2 Binary files /dev/null and b/Lib/geronimo-ws-metadata_2.0_spec-1.1.3.jar differ diff --git a/Lib/hawtbuf-1.9.jar b/Lib/hawtbuf-1.9.jar new file mode 100644 index 0000000..806ee5f Binary files /dev/null and b/Lib/hawtbuf-1.9.jar differ diff --git a/Lib/hibernate3.jar b/Lib/hibernate3.jar new file mode 100644 index 0000000..95986f8 Binary files /dev/null and b/Lib/hibernate3.jar differ diff --git a/Lib/httpasyncclient-4.0-beta3.jar b/Lib/httpasyncclient-4.0-beta3.jar new file mode 100644 index 0000000..dc6b398 Binary files /dev/null and b/Lib/httpasyncclient-4.0-beta3.jar differ diff --git a/Lib/httpclient-4.2.5.jar b/Lib/httpclient-4.2.5.jar new file mode 100644 index 0000000..84fece4 Binary files /dev/null and b/Lib/httpclient-4.2.5.jar differ diff --git a/Lib/httpcore-4.2.4.jar b/Lib/httpcore-4.2.4.jar new file mode 100644 index 0000000..9f45bd9 Binary files /dev/null and b/Lib/httpcore-4.2.4.jar differ diff --git a/Lib/httpcore-nio-4.2.4.jar b/Lib/httpcore-nio-4.2.4.jar new file mode 100644 index 0000000..6f42c71 Binary files /dev/null and b/Lib/httpcore-nio-4.2.4.jar differ diff --git a/Lib/isorelax-20030108.jar b/Lib/isorelax-20030108.jar new file mode 100644 index 0000000..a2ebb76 Binary files /dev/null and b/Lib/isorelax-20030108.jar differ diff --git a/Lib/java-diff-1.1.jar b/Lib/java-diff-1.1.jar new file mode 100644 index 0000000..2104bcc Binary files /dev/null and b/Lib/java-diff-1.1.jar differ diff --git a/Lib/java-diff.jar b/Lib/java-diff.jar new file mode 100644 index 0000000..0cf43ee Binary files /dev/null and b/Lib/java-diff.jar differ diff --git a/Lib/javax.ws.rs-api-2.0-m10.jar b/Lib/javax.ws.rs-api-2.0-m10.jar new file mode 100644 index 0000000..3eda2a8 Binary files /dev/null and b/Lib/javax.ws.rs-api-2.0-m10.jar differ diff --git a/Lib/jaxb-api-2.2.1.jar b/Lib/jaxb-api-2.2.1.jar new file mode 100644 index 0000000..3480c41 Binary files /dev/null and b/Lib/jaxb-api-2.2.1.jar differ diff --git a/Lib/jaxb-api-2.2.6.jar b/Lib/jaxb-api-2.2.6.jar new file mode 100644 index 0000000..8f45754 Binary files /dev/null and b/Lib/jaxb-api-2.2.6.jar differ diff --git a/Lib/jaxb-impl-2.2.1.1.jar b/Lib/jaxb-impl-2.2.1.1.jar new file mode 100644 index 0000000..5dad680 Binary files /dev/null and b/Lib/jaxb-impl-2.2.1.1.jar differ diff --git a/Lib/jaxb-impl-2.2.6.jar b/Lib/jaxb-impl-2.2.6.jar new file mode 100644 index 0000000..cd249e7 Binary files /dev/null and b/Lib/jaxb-impl-2.2.6.jar differ diff --git a/Lib/jaxb-xjc-2.2.6.jar b/Lib/jaxb-xjc-2.2.6.jar new file mode 100644 index 0000000..7f2d807 Binary files /dev/null and b/Lib/jaxb-xjc-2.2.6.jar differ diff --git a/Lib/jdom.jar b/Lib/jdom.jar new file mode 100644 index 0000000..512cdfb Binary files /dev/null and b/Lib/jdom.jar differ diff --git a/Lib/jdom2-2.0.5.jar b/Lib/jdom2-2.0.5.jar new file mode 100644 index 0000000..b6996c7 Binary files /dev/null and b/Lib/jdom2-2.0.5.jar differ diff --git a/Lib/jettison-1.3.4.jar b/Lib/jettison-1.3.4.jar new file mode 100644 index 0000000..fc483f3 Binary files /dev/null and b/Lib/jettison-1.3.4.jar differ diff --git a/Lib/jetty-continuation-8.1.12.v20130726.jar b/Lib/jetty-continuation-8.1.12.v20130726.jar new file mode 100644 index 0000000..f253f0d Binary files /dev/null and b/Lib/jetty-continuation-8.1.12.v20130726.jar differ diff --git a/Lib/jetty-http-8.1.12.v20130726.jar b/Lib/jetty-http-8.1.12.v20130726.jar new file mode 100644 index 0000000..30adfb5 Binary files /dev/null and b/Lib/jetty-http-8.1.12.v20130726.jar differ diff --git a/Lib/jetty-io-8.1.12.v20130726.jar b/Lib/jetty-io-8.1.12.v20130726.jar new file mode 100644 index 0000000..e37e715 Binary files /dev/null and b/Lib/jetty-io-8.1.12.v20130726.jar differ diff --git a/Lib/jetty-security-8.1.12.v20130726.jar b/Lib/jetty-security-8.1.12.v20130726.jar new file mode 100644 index 0000000..fd9ea3e Binary files /dev/null and b/Lib/jetty-security-8.1.12.v20130726.jar differ diff --git a/Lib/jetty-server-8.1.12.v20130726.jar b/Lib/jetty-server-8.1.12.v20130726.jar new file mode 100644 index 0000000..49cdbb0 Binary files /dev/null and b/Lib/jetty-server-8.1.12.v20130726.jar differ diff --git a/Lib/jetty-util-8.1.12.v20130726.jar b/Lib/jetty-util-8.1.12.v20130726.jar new file mode 100644 index 0000000..41a76e0 Binary files /dev/null and b/Lib/jetty-util-8.1.12.v20130726.jar differ diff --git a/Lib/jna-platform-4.4.0.jar b/Lib/jna-platform-4.4.0.jar new file mode 100644 index 0000000..4d60212 Binary files /dev/null and b/Lib/jna-platform-4.4.0.jar differ diff --git a/Lib/jna.jar b/Lib/jna.jar new file mode 100644 index 0000000..33461ec Binary files /dev/null and b/Lib/jna.jar differ diff --git a/Lib/joda-time-1.6.2.jar b/Lib/joda-time-1.6.2.jar new file mode 100644 index 0000000..9b045c3 Binary files /dev/null and b/Lib/joda-time-1.6.2.jar differ diff --git a/Lib/js-1.7R2.jar b/Lib/js-1.7R2.jar new file mode 100644 index 0000000..2369f99 Binary files /dev/null and b/Lib/js-1.7R2.jar differ diff --git a/Lib/jta.jar b/Lib/jta.jar new file mode 100644 index 0000000..e0822a9 Binary files /dev/null and b/Lib/jta.jar differ diff --git a/Lib/mina-core-2.0.7.jar b/Lib/mina-core-2.0.7.jar new file mode 100644 index 0000000..c5f384c Binary files /dev/null and b/Lib/mina-core-2.0.7.jar differ diff --git a/Lib/msv-core-2011.1.jar b/Lib/msv-core-2011.1.jar new file mode 100644 index 0000000..814bc2c Binary files /dev/null and b/Lib/msv-core-2011.1.jar differ diff --git a/Lib/mysql-connector-java-5.1.6-bin.jar b/Lib/mysql-connector-java-5.1.6-bin.jar new file mode 100644 index 0000000..0539039 Binary files /dev/null and b/Lib/mysql-connector-java-5.1.6-bin.jar differ diff --git a/Lib/neethi-3.0.2.jar b/Lib/neethi-3.0.2.jar new file mode 100644 index 0000000..383efde Binary files /dev/null and b/Lib/neethi-3.0.2.jar differ diff --git a/Lib/oauth-20100527.jar b/Lib/oauth-20100527.jar new file mode 100644 index 0000000..e657953 Binary files /dev/null and b/Lib/oauth-20100527.jar differ diff --git a/Lib/oauth-provider-20100527.jar b/Lib/oauth-provider-20100527.jar new file mode 100644 index 0000000..2bece29 Binary files /dev/null and b/Lib/oauth-provider-20100527.jar differ diff --git a/Lib/opensaml-2.5.1-1.jar b/Lib/opensaml-2.5.1-1.jar new file mode 100644 index 0000000..df5bbbf Binary files /dev/null and b/Lib/opensaml-2.5.1-1.jar differ diff --git a/Lib/openws-1.4.2-1.jar b/Lib/openws-1.4.2-1.jar new file mode 100644 index 0000000..5ad1bd5 Binary files /dev/null and b/Lib/openws-1.4.2-1.jar differ diff --git a/Lib/oscache-2.4.1.jar b/Lib/oscache-2.4.1.jar new file mode 100644 index 0000000..343e2b5 Binary files /dev/null and b/Lib/oscache-2.4.1.jar differ diff --git a/Lib/poi-3.2-FINAL.jar b/Lib/poi-3.2-FINAL.jar new file mode 100644 index 0000000..46169a5 Binary files /dev/null and b/Lib/poi-3.2-FINAL.jar differ diff --git a/Lib/poi-contrib-3.2-FINAL.jar b/Lib/poi-contrib-3.2-FINAL.jar new file mode 100644 index 0000000..ddffdd8 Binary files /dev/null and b/Lib/poi-contrib-3.2-FINAL.jar differ diff --git a/Lib/poi-scratchpad-3.2-FINAL.jar b/Lib/poi-scratchpad-3.2-FINAL.jar new file mode 100644 index 0000000..29074f5 Binary files /dev/null and b/Lib/poi-scratchpad-3.2-FINAL.jar differ diff --git a/Lib/registry-3.1.3/DLL/x64/ICE_JNIRegistry.dll b/Lib/registry-3.1.3/DLL/x64/ICE_JNIRegistry.dll new file mode 100644 index 0000000..9729f8c Binary files /dev/null and b/Lib/registry-3.1.3/DLL/x64/ICE_JNIRegistry.dll differ diff --git a/Lib/registry-3.1.3/DLL/x86/ICE_JNIRegistry.dll b/Lib/registry-3.1.3/DLL/x86/ICE_JNIRegistry.dll new file mode 100644 index 0000000..5463a70 Binary files /dev/null and b/Lib/registry-3.1.3/DLL/x86/ICE_JNIRegistry.dll differ diff --git a/Lib/registry-3.1.3/DynamicODBC.java b/Lib/registry-3.1.3/DynamicODBC.java new file mode 100644 index 0000000..9fb8797 --- /dev/null +++ b/Lib/registry-3.1.3/DynamicODBC.java @@ -0,0 +1,130 @@ +package test; + +import java.text.SimpleDateFormat; + +import com.ice.jni.registry.NoSuchKeyException; +import com.ice.jni.registry.RegStringValue; +import com.ice.jni.registry.Registry; +import com.ice.jni.registry.RegistryException; +import com.ice.jni.registry.RegistryKey; + +/** + * 利用开源包registry-3.1.3修改注册表,注意dll的引用,有32位和64位的区别 + * @author E-mail: gulijun2001@163.com + * QQ: 23796788 + * @version 创建时间:2013-10-31 上午10:23:20 + * 类说明 + */ +public class DynamicODBC { + + static SimpleDateFormat shortDateFormat = new SimpleDateFormat("yyyy-MM-dd"); + // 把信息存储到注册表HKEY_LOCAL_MACHINE下的某个节点的某一变量中,有则修改,无则创建 + public static boolean setValue(String folder, String subKeyNode,String subKeyName,String subKeyValue) { + try { + RegistryKey software = Registry.HKEY_LOCAL_MACHINE.openSubKey(folder); + RegistryKey subKey = software.createSubKey(subKeyNode, ""); + subKey.setValue(new RegStringValue(subKey, subKeyName,subKeyValue)); + subKey.closeKey(); + return true; + }catch (Exception e) { + e.printStackTrace(); + } + return false; + } + + // 删除注册表中某节点下的某个变量 + public static boolean deleteValue(String folder, String subKeyNode,String subKeyName) { + try { + RegistryKey software = Registry.HKEY_LOCAL_MACHINE.openSubKey(folder); + RegistryKey subKey = software.createSubKey(subKeyNode, ""); + subKey.deleteValue(subKeyName); + subKey.closeKey(); + return true; + } catch(Exception e) { + e.printStackTrace(); + } + return false; + } + + // 删除注册表中某节点下的某节点 + public static boolean deleteSubKey(String folder, String subKeyNode) { + try { + RegistryKey software = Registry.HKEY_LOCAL_MACHINE.openSubKey(folder); + software.deleteSubKey(subKeyNode); + software.closeKey(); + return true; + } catch (Exception e) { + e.printStackTrace(); + } + return false; + } + // 打开注册表项并读出相应的变量名的值 + public static String getValue(String folder, String subKeyNode, + String subKeyName) { + String value = ""; + try { + RegistryKey software = Registry.HKEY_LOCAL_MACHINE.openSubKey(folder); + RegistryKey subKey = software.openSubKey(subKeyNode); + value = subKey.getStringValue(subKeyName); + subKey.closeKey(); + } catch (Exception e) { + e.printStackTrace(); + } + return value; + } + + public static void creatItem(){ + //创建注册表项并设置相应的值 + try { + RegistryKey software = Registry.HKEY_CURRENT_USER.openSubKey("Software").openSubKey("ODBC").openSubKey("ODBC.INI");//操作权限是通过RegistryKey来获取的。 + RegistryKey subKey = software.createSubKey("dds", ""); + subKey.setValue(new RegStringValue(subKey, "subKey1","subKey1Value")); + subKey.setValue(new RegStringValue(subKey, "subKey2","subKey2Value")); + subKey.closeKey(); + } catch (NoSuchKeyException e) { + e.printStackTrace(); + } catch (RegistryException e) { + e.printStackTrace(); + } + } + + public static void readItem(){ + //打开注册表项并读出相应的值 + try { + RegistryKey software = Registry.HKEY_CURRENT_USER.openSubKey("SOFTWARE"); + RegistryKey subKey = software.openSubKey("SubKeyName"); + String subKey1Value = subKey.getStringValue("subKey1"); + String subKey2Value = subKey.getStringValue("subKey2"); + System.out.println(subKey1Value); + System.out.println(subKey2Value); + subKey.closeKey(); + } catch (NoSuchKeyException e) { + e.printStackTrace(); + } catch (RegistryException e) { + e.printStackTrace(); + } + } + + /** + * @param args + */ + public static void main(String[] str) { + try { + RegistryKey child = Registry.HKEY_CURRENT_USER.openSubKey("Software").openSubKey("ODBC").openSubKey("ODBC.INI").openSubKey("dss",RegistryKey.ACCESS_ALL);//操作权限是通过RegistryKey来获取的。 + String de = "glj"; //我的DBF数据的目录 + //其中,data_0930是我第一次设置的数据源的一个注册表的名称 + System.out.println("StringValue================"+child.getStringValue("LastUser")); + child.setValue(new RegStringValue(child,"LastUser",de)); + System.out.println("getFullName================"+child.getFullName()); + + child = Registry.HKEY_CURRENT_USER.openSubKey("Software").openSubKey("ODBC").openSubKey("ODBC.INI",RegistryKey.ACCESS_ALL);//操作权限是通过RegistryKey来获取的。 + //child.deleteSubKey("dds"); + // child.closeKey(); + // child.createSubKey("dds", "ww"); + child.closeKey(); + creatItem(); + } catch (Exception e) { + e.printStackTrace(); + } + } +} diff --git a/Lib/registry-3.1.3/RegistryKey的方法概要.doc b/Lib/registry-3.1.3/RegistryKey的方法概要.doc new file mode 100644 index 0000000..20b76f3 --- /dev/null +++ b/Lib/registry-3.1.3/RegistryKey的方法概要.doc @@ -0,0 +1,56 @@ + + RegistryKey的方法概要: +|方法 |简短描述 | +|void closeKey() |关闭该subkey。 | +|RegistryKey connectRegistry(java.lang.String |连接远程主机hostName的注册| +|hostName) |表。 | +|RegistryKey createSubKey(java.lang.String subkey, |创建和打开该key的subkey, | +|java.lang.String className) |具有写权限。 | +|RegistryKey createSubKey(java.lang.String subKey, |创建和打开该key的subkey, | +|java.lang.String className, int access) |具有指定的权限。 | +|int decrDoubleWord(java.lang.String valueName) |该方法将消减REG_DWORD的值 | +| |。 | +|void deleteSubKey(java.lang.String subKey) |删除该subkey。 | +|void deleteValue(java.lang.String valueName) |删除一个命名的值。 | +|static java.lang.String |展开exString中的环境变量。| +|expandEnvStrings(java.lang.String exString) | | +|void export(java.io.PrintWriter out, boolean |导出key。 | +|descend) | | +|void finalize() |重载了的finalize()方法,确| +| |保能够关闭key。 | +|void flushKey() |确保这个key被写到磁盘,对 | +| |性能有一定的影响。 | +|java.lang.String getDefaultValue() |得到该key的默认值。 | +|java.lang.String getFullName() |得到key的全名。 | +|int getMaxSubkeyLength() |得到所有subkey名称的最大长| +| |度。 | +|int getMaxValueDataLength() |得到所有subkey值的最大长度| +| |。 | +|int getMaxValueNameLength() |得到所有值的名称的最大长度| +| |。 | +|java.lang.String getName() |得到该key的名称。 | +|int getNumberSubkeys() |得到subkey的数量。 | +|int getNumberValues() |得到值的数量。 | +|java.lang.String getStringValue(java.lang.String |得到REG_SZ或REG_EXPAND_SZ | +|valueName) |的值。 | +|RegistryValue getValue(java.lang.String valueName)|得到valueName的值。 | +|boolean hasDefaultValue() |判断该key是否有默认值。 | +|boolean hasOnlyDefaultValue() |判断该key是否只有默认值。 | +|int incrDoubleWord(java.lang.String valueName) |该方法将增强REG_DWORD的值 | +| |。 | +|java.util.Enumeration keyElements() |枚举该key的subkey的名称。 | +|RegistryKey openSubKey(java.lang.String subkey) |打开该key的subkey,具有写 | +| |权限。 | +|RegistryKey openSubKey(java.lang.String subKey, |打开该key的subkey,具有指 | +|int access) |定的权限。 | +|java.lang.String regEnumKey(int index) |得到该key在index处的subkey| +| |。 | +|java.lang.String regEnumValue(int index) |得到该key在index处的subkey| +| |的值。 | +|void setCreated(boolean created) |设置该key的created状态。 | +|void setValue(RegistryValue value) |设置该key的值。 | +|void setValue(java.lang.String valueName, |设置valueName的值。 | +|RegistryValue value) | | +|java.util.Enumeration valueElements() |枚举该key的值的名称。 | +|boolean wasCreated() |判断该key是被opened还是被c| +| |reated和opened。 | diff --git a/Lib/registry-3.1.3/bin/ICE_JNIRegistry.dll b/Lib/registry-3.1.3/bin/ICE_JNIRegistry.dll new file mode 100644 index 0000000..5463a70 Binary files /dev/null and b/Lib/registry-3.1.3/bin/ICE_JNIRegistry.dll differ diff --git a/Lib/registry-3.1.3/bin/registry.jar b/Lib/registry-3.1.3/bin/registry.jar new file mode 100644 index 0000000..2aefa0f Binary files /dev/null and b/Lib/registry-3.1.3/bin/registry.jar differ diff --git a/Lib/registry-3.1.3/classes/com/ice/jni/registry/HexNumberFormat.class b/Lib/registry-3.1.3/classes/com/ice/jni/registry/HexNumberFormat.class new file mode 100644 index 0000000..1d459d2 Binary files /dev/null and b/Lib/registry-3.1.3/classes/com/ice/jni/registry/HexNumberFormat.class differ diff --git a/Lib/registry-3.1.3/classes/com/ice/jni/registry/NoSuchKeyException.class b/Lib/registry-3.1.3/classes/com/ice/jni/registry/NoSuchKeyException.class new file mode 100644 index 0000000..84e013c Binary files /dev/null and b/Lib/registry-3.1.3/classes/com/ice/jni/registry/NoSuchKeyException.class differ diff --git a/Lib/registry-3.1.3/classes/com/ice/jni/registry/NoSuchValueException.class b/Lib/registry-3.1.3/classes/com/ice/jni/registry/NoSuchValueException.class new file mode 100644 index 0000000..42cab16 Binary files /dev/null and b/Lib/registry-3.1.3/classes/com/ice/jni/registry/NoSuchValueException.class differ diff --git a/Lib/registry-3.1.3/classes/com/ice/jni/registry/RegBinaryValue.class b/Lib/registry-3.1.3/classes/com/ice/jni/registry/RegBinaryValue.class new file mode 100644 index 0000000..ea55407 Binary files /dev/null and b/Lib/registry-3.1.3/classes/com/ice/jni/registry/RegBinaryValue.class differ diff --git a/Lib/registry-3.1.3/classes/com/ice/jni/registry/RegDWordValue.class b/Lib/registry-3.1.3/classes/com/ice/jni/registry/RegDWordValue.class new file mode 100644 index 0000000..24770ce Binary files /dev/null and b/Lib/registry-3.1.3/classes/com/ice/jni/registry/RegDWordValue.class differ diff --git a/Lib/registry-3.1.3/classes/com/ice/jni/registry/RegMultiStringValue.class b/Lib/registry-3.1.3/classes/com/ice/jni/registry/RegMultiStringValue.class new file mode 100644 index 0000000..b56bfc2 Binary files /dev/null and b/Lib/registry-3.1.3/classes/com/ice/jni/registry/RegMultiStringValue.class differ diff --git a/Lib/registry-3.1.3/classes/com/ice/jni/registry/RegStringValue.class b/Lib/registry-3.1.3/classes/com/ice/jni/registry/RegStringValue.class new file mode 100644 index 0000000..e926bdc Binary files /dev/null and b/Lib/registry-3.1.3/classes/com/ice/jni/registry/RegStringValue.class differ diff --git a/Lib/registry-3.1.3/classes/com/ice/jni/registry/Registry.class b/Lib/registry-3.1.3/classes/com/ice/jni/registry/Registry.class new file mode 100644 index 0000000..a301dc6 Binary files /dev/null and b/Lib/registry-3.1.3/classes/com/ice/jni/registry/Registry.class differ diff --git a/Lib/registry-3.1.3/classes/com/ice/jni/registry/RegistryException.class b/Lib/registry-3.1.3/classes/com/ice/jni/registry/RegistryException.class new file mode 100644 index 0000000..975b3a1 Binary files /dev/null and b/Lib/registry-3.1.3/classes/com/ice/jni/registry/RegistryException.class differ diff --git a/Lib/registry-3.1.3/classes/com/ice/jni/registry/RegistryKey$RegistryKeyEnumerator.class b/Lib/registry-3.1.3/classes/com/ice/jni/registry/RegistryKey$RegistryKeyEnumerator.class new file mode 100644 index 0000000..6d74b7a Binary files /dev/null and b/Lib/registry-3.1.3/classes/com/ice/jni/registry/RegistryKey$RegistryKeyEnumerator.class differ diff --git a/Lib/registry-3.1.3/classes/com/ice/jni/registry/RegistryKey$RegistryValueEnumerator.class b/Lib/registry-3.1.3/classes/com/ice/jni/registry/RegistryKey$RegistryValueEnumerator.class new file mode 100644 index 0000000..c2d4cbe Binary files /dev/null and b/Lib/registry-3.1.3/classes/com/ice/jni/registry/RegistryKey$RegistryValueEnumerator.class differ diff --git a/Lib/registry-3.1.3/classes/com/ice/jni/registry/RegistryKey.class b/Lib/registry-3.1.3/classes/com/ice/jni/registry/RegistryKey.class new file mode 100644 index 0000000..c4be81a Binary files /dev/null and b/Lib/registry-3.1.3/classes/com/ice/jni/registry/RegistryKey.class differ diff --git a/Lib/registry-3.1.3/classes/com/ice/jni/registry/RegistryValue.class b/Lib/registry-3.1.3/classes/com/ice/jni/registry/RegistryValue.class new file mode 100644 index 0000000..a600d15 Binary files /dev/null and b/Lib/registry-3.1.3/classes/com/ice/jni/registry/RegistryValue.class differ diff --git a/Lib/registry-3.1.3/source/com/ice/jni/registry/HexNumberFormat.java b/Lib/registry-3.1.3/source/com/ice/jni/registry/HexNumberFormat.java new file mode 100644 index 0000000..983864a --- /dev/null +++ b/Lib/registry-3.1.3/source/com/ice/jni/registry/HexNumberFormat.java @@ -0,0 +1,140 @@ +/* +** Java native interface to the Windows Registry API. +** +** Authored by Timothy Gerard Endres +** +** +** This work has been placed into the public domain. +** You may use this work in any way and for any purpose you wish. +** +** THIS SOFTWARE IS PROVIDED AS-IS WITHOUT WARRANTY OF ANY KIND, +** NOT EVEN THE IMPLIED WARRANTY OF MERCHANTABILITY. THE AUTHOR +** OF THIS SOFTWARE, ASSUMES _NO_ RESPONSIBILITY FOR ANY +** CONSEQUENCE RESULTING FROM THE USE, MODIFICATION, OR +** REDISTRIBUTION OF THIS SOFTWARE. +** +*/ + +package com.ice.jni.registry; + +import java.lang.*; +import java.text.*; +import java.util.*; + +/** + * The HexNumberFormat class implements the code necessary + * to format and parse Hexidecimal integer numbers. + * + * @version 3.1.3 + * + * @author Timothy Gerard Endres, time@ice.com. + * @see java.text.NumberFormat + */ + +public +class HexNumberFormat +extends Format + { + static public final String RCS_ID = "$Id: HexNumberFormat.java,v 1.1 2000/05/20 17:10:15 time Exp $"; + static public final String RCS_REV = "$Revision: 1.1 $"; + + private static char[] lowChars; + private static char[] uprChars; + + private int count; + private String pattern; + private static char[] hexChars; + + static + { + HexNumberFormat.lowChars = new char[20]; + HexNumberFormat.uprChars = new char[20]; + + HexNumberFormat.uprChars[0] = HexNumberFormat.lowChars[0] = '0'; + HexNumberFormat.uprChars[1] = HexNumberFormat.lowChars[1] = '1'; + HexNumberFormat.uprChars[2] = HexNumberFormat.lowChars[2] = '2'; + HexNumberFormat.uprChars[3] = HexNumberFormat.lowChars[3] = '3'; + HexNumberFormat.uprChars[4] = HexNumberFormat.lowChars[4] = '4'; + HexNumberFormat.uprChars[5] = HexNumberFormat.lowChars[5] = '5'; + HexNumberFormat.uprChars[6] = HexNumberFormat.lowChars[6] = '6'; + HexNumberFormat.uprChars[7] = HexNumberFormat.lowChars[7] = '7'; + HexNumberFormat.uprChars[8] = HexNumberFormat.lowChars[8] = '8'; + HexNumberFormat.uprChars[9] = HexNumberFormat.lowChars[9] = '9'; + HexNumberFormat.uprChars[10] = 'A'; HexNumberFormat.lowChars[10] = 'a'; + HexNumberFormat.uprChars[11] = 'B'; HexNumberFormat.lowChars[11] = 'b'; + HexNumberFormat.uprChars[12] = 'C'; HexNumberFormat.lowChars[12] = 'c'; + HexNumberFormat.uprChars[13] = 'D'; HexNumberFormat.lowChars[13] = 'd'; + HexNumberFormat.uprChars[14] = 'E'; HexNumberFormat.lowChars[14] = 'e'; + HexNumberFormat.uprChars[15] = 'F'; HexNumberFormat.lowChars[15] = 'f'; + } + + static public final HexNumberFormat + getInstance() + { + return new HexNumberFormat( "XXXXXXXX" ); + } + + public + HexNumberFormat( String pattern ) + { + super(); + this.pattern = pattern; + this.count = pattern.length(); + this.hexChars = + ( pattern.charAt(0) == 'X' + ? HexNumberFormat.uprChars + : HexNumberFormat.lowChars ); + } + + public String + format( int hexNum ) + throws IllegalArgumentException + { + FieldPosition pos = new FieldPosition(0); + StringBuffer hexBuf = new StringBuffer(8); + + this.format( new Integer( hexNum ), hexBuf, pos ); + + return hexBuf.toString(); + } + + public StringBuffer + format( Object hexInt, StringBuffer appendTo, FieldPosition fieldPos ) + throws IllegalArgumentException + { + char[] hexBuf = new char[16]; + + int end = fieldPos.getEndIndex(); + int beg = fieldPos.getBeginIndex(); + + int hexNum = ((Integer) hexInt).intValue(); + + for ( int i = 7 ; i >= 0 ; --i ) + { + hexBuf[i] = this.hexChars[ (hexNum & 0x0F) ]; + hexNum = hexNum >> 4; + } + + for ( int i = (8 - this.count) ; i < 8 ; ++i ) + { + appendTo.append( hexBuf[i] ); + } + + return appendTo; + } + + public int + parse( String source ) + throws ParseException + { + throw new ParseException( "unimplemented!", 0 ); + } + + public Object + parseObject( String source, ParsePosition pos ) + { + return null; + } + + } + diff --git a/Lib/registry-3.1.3/source/com/ice/jni/registry/META-INF/MANIFEST.MF b/Lib/registry-3.1.3/source/com/ice/jni/registry/META-INF/MANIFEST.MF new file mode 100644 index 0000000..08a8616 --- /dev/null +++ b/Lib/registry-3.1.3/source/com/ice/jni/registry/META-INF/MANIFEST.MF @@ -0,0 +1,12 @@ +Manifest-Version: 1.0 +Created-By: "Tim Endres " +Main-Class: com.ice.jni.registry.Registry +Class-Path: + +Name: com/ice/jni/registry/Registry/ +Specification-Title: "JNI Registry - Windows Registry Package" +Specification-Version: "3.1.3" +Specification-Vendor: "ICE Engineering, Inc.". +Implementation-Title: "com.ice.jni.registry.Registry" +Implementation-Version: "3.1.3" +Implementation-Vendor: "ICE Engineering, Inc." diff --git a/Lib/registry-3.1.3/source/com/ice/jni/registry/NoSuchKeyException.java b/Lib/registry-3.1.3/source/com/ice/jni/registry/NoSuchKeyException.java new file mode 100644 index 0000000..b600b3e --- /dev/null +++ b/Lib/registry-3.1.3/source/com/ice/jni/registry/NoSuchKeyException.java @@ -0,0 +1,56 @@ +/* +** Java native interface to the Windows Registry API. +** +** Authored by Timothy Gerard Endres +** +** +** This work has been placed into the public domain. +** You may use this work in any way and for any purpose you wish. +** +** THIS SOFTWARE IS PROVIDED AS-IS WITHOUT WARRANTY OF ANY KIND, +** NOT EVEN THE IMPLIED WARRANTY OF MERCHANTABILITY. THE AUTHOR +** OF THIS SOFTWARE, ASSUMES _NO_ RESPONSIBILITY FOR ANY +** CONSEQUENCE RESULTING FROM THE USE, MODIFICATION, OR +** REDISTRIBUTION OF THIS SOFTWARE. +** +*/ + +package com.ice.jni.registry; + +/** + * This exception is used to indicate that no such key exists in the registry. + * + * @version 3.1.3 + * + * @author Timothy Gerard Endres, + * time@ice.com. + */ + +public class +NoSuchKeyException extends RegistryException + { + static public final String RCS_ID = "$Id: NoSuchKeyException.java,v 1.1.1.1 1998/02/22 00:37:22 time Exp $"; + static public final String RCS_REV = "$Revision: 1.1.1.1 $"; + static public final String RCS_NAME = "$Name: $"; + + public + NoSuchKeyException() + { + super(); + } + + public + NoSuchKeyException( String msg ) + { + super( msg, Registry.ERROR_FILE_NOT_FOUND ); + } + + public + NoSuchKeyException( String msg, int regErr ) + { + super( msg, regErr ); + } + + } + + diff --git a/Lib/registry-3.1.3/source/com/ice/jni/registry/NoSuchValueException.java b/Lib/registry-3.1.3/source/com/ice/jni/registry/NoSuchValueException.java new file mode 100644 index 0000000..5d2082e --- /dev/null +++ b/Lib/registry-3.1.3/source/com/ice/jni/registry/NoSuchValueException.java @@ -0,0 +1,57 @@ +/* +** Java native interface to the Windows Registry API. +** +** Authored by Timothy Gerard Endres +** +** +** This work has been placed into the public domain. +** You may use this work in any way and for any purpose you wish. +** +** THIS SOFTWARE IS PROVIDED AS-IS WITHOUT WARRANTY OF ANY KIND, +** NOT EVEN THE IMPLIED WARRANTY OF MERCHANTABILITY. THE AUTHOR +** OF THIS SOFTWARE, ASSUMES _NO_ RESPONSIBILITY FOR ANY +** CONSEQUENCE RESULTING FROM THE USE, MODIFICATION, OR +** REDISTRIBUTION OF THIS SOFTWARE. +** +*/ + +package com.ice.jni.registry; + +/** + * This exception is used to indicate that no such key exists in the registry. + * + * @version 3.1.3 + * + * @version $Revision: 1.1.1.1 $ + * @author Timothy Gerard Endres, + * time@ice.com. + */ + +public class +NoSuchValueException extends RegistryException + { + static public final String RCS_ID = "$Id: NoSuchValueException.java,v 1.1.1.1 1998/02/22 00:37:22 time Exp $"; + static public final String RCS_REV = "$Revision: 1.1.1.1 $"; + static public final String RCS_NAME = "$Name: $"; + + public + NoSuchValueException() + { + super(); + } + + public + NoSuchValueException( String msg ) + { + super( msg, Registry.ERROR_FILE_NOT_FOUND ); + } + + public + NoSuchValueException( String msg, int regErr ) + { + super( msg, regErr ); + } + + } + + diff --git a/Lib/registry-3.1.3/source/com/ice/jni/registry/RegBinaryValue.java b/Lib/registry-3.1.3/source/com/ice/jni/registry/RegBinaryValue.java new file mode 100644 index 0000000..1c71d02 --- /dev/null +++ b/Lib/registry-3.1.3/source/com/ice/jni/registry/RegBinaryValue.java @@ -0,0 +1,113 @@ +/* +** Java native interface to the Windows Registry API. +** +** Authored by Timothy Gerard Endres +** +** +** This work has been placed into the public domain. +** You may use this work in any way and for any purpose you wish. +** +** THIS SOFTWARE IS PROVIDED AS-IS WITHOUT WARRANTY OF ANY KIND, +** NOT EVEN THE IMPLIED WARRANTY OF MERCHANTABILITY. THE AUTHOR +** OF THIS SOFTWARE, ASSUMES _NO_ RESPONSIBILITY FOR ANY +** CONSEQUENCE RESULTING FROM THE USE, MODIFICATION, OR +** REDISTRIBUTION OF THIS SOFTWARE. +** +*/ + +package com.ice.jni.registry; + +import java.io.OutputStreamWriter; +import java.io.PrintWriter; + + +/** + * The RegBinaryValue class represents a binary value in the + * registry (REG_BINARY). + * + * @version 3.1.3 + * + * @see com.ice.jni.registry.Registry + * @see com.ice.jni.registry.RegistryKey + */ + +public class +RegBinaryValue extends RegistryValue + { + byte[] data; + int dataLen; + + + public + RegBinaryValue( RegistryKey key, String name ) + { + super( key, name, RegistryValue.REG_BINARY ); + this.data = null; + this.dataLen = 0; + } + + public + RegBinaryValue( RegistryKey key, String name, int type ) + { + super( key, name, type ); + this.data = null; + this.dataLen = 0; + } + + public + RegBinaryValue( RegistryKey key, String name, byte[] data ) + { + super( key, name, RegistryValue.REG_BINARY ); + this.setData( data ); + } + + public byte[] + getData() + { + return this.data; + } + + public int + getLength() + { + return this.dataLen; + } + + public void + setData( byte[] data ) + { + this.data = data; + this.dataLen = data.length; + } + + public byte[] + getByteData() + { + return this.data; + } + + public int + getByteLength() + { + return this.dataLen; + } + + public void + setByteData( byte[] data ) + { + this.data = data; + this.dataLen = data.length; + } + + public void + export( PrintWriter out ) + { + out.println( "\"" + this.getName() + "\"=hex:\\" ); + RegistryValue.exportHexData( out, this.data ); + } + + } + + + + diff --git a/Lib/registry-3.1.3/source/com/ice/jni/registry/RegDWordValue.java b/Lib/registry-3.1.3/source/com/ice/jni/registry/RegDWordValue.java new file mode 100644 index 0000000..15690f0 --- /dev/null +++ b/Lib/registry-3.1.3/source/com/ice/jni/registry/RegDWordValue.java @@ -0,0 +1,128 @@ +/* +** Java native interface to the Windows Registry API. +** +** Authored by Timothy Gerard Endres +** +** +** This work has been placed into the public domain. +** You may use this work in any way and for any purpose you wish. +** +** THIS SOFTWARE IS PROVIDED AS-IS WITHOUT WARRANTY OF ANY KIND, +** NOT EVEN THE IMPLIED WARRANTY OF MERCHANTABILITY. THE AUTHOR +** OF THIS SOFTWARE, ASSUMES _NO_ RESPONSIBILITY FOR ANY +** CONSEQUENCE RESULTING FROM THE USE, MODIFICATION, OR +** REDISTRIBUTION OF THIS SOFTWARE. +** +*/ + +package com.ice.jni.registry; + +import java.io.PrintWriter; + + +/** + * The RegDWordValue class represents a double word, or + * integer, value in the registry (REG_DWORD). + * + * @see com.ice.jni.registry.Registry + * @see com.ice.jni.registry.RegistryKey + * + * @version 3.1.3 + * + */ + +public class +RegDWordValue extends RegistryValue + { + int data; + int dataLen; + + public + RegDWordValue( RegistryKey key, String name ) + { + super( key, name, RegistryValue.REG_DWORD ); + this.data = 0; + this.dataLen = 0; + } + + public + RegDWordValue( RegistryKey key, String name, int type ) + { + super( key, name, type ); + this.data = 0; + this.dataLen = 0; + } + + public + RegDWordValue( RegistryKey key, String name, int type, int data ) + { + super( key, name, RegistryValue.REG_DWORD ); + this.setData( data ); + } + + public int + getData() + { + return this.data; + } + + public int + getLength() + { + return this.dataLen; + } + + public void + setData( int data ) + { + this.data = data; + this.dataLen = 1; + } + + public byte[] + getByteData() + { + byte[] result = new byte[4]; + + result[0] = (byte) ( (this.data >> 24) & 255 ); + result[1] = (byte) ( (this.data >> 16) & 255 ); + result[2] = (byte) ( (this.data >> 8) & 255 ); + result[3] = (byte) ( this.data & 255 ); + + return result; + } + + public int + getByteLength() + { + return 4; + } + + public void + setByteData( byte[] data ) + { + int newValue = + ( (((int) data[0]) << 24) & 0xFF000000 ) + | ( (((int) data[1]) << 16) & 0x00FF0000 ) + | ( (((int) data[2]) << 8) & 0x0000FF00 ) + | ( ((int) data[3]) & 0x000000FF ); + + this.setData( newValue ); + } + + public void + export( PrintWriter out ) + { + out.print( "\"" + this.getName() + "\"=" ); + + HexNumberFormat nFmt = + new HexNumberFormat( "xxxxxxxx" ); + + out.println( "dword:" + nFmt.format( this.getData() ) ); + } + + } + + + + diff --git a/Lib/registry-3.1.3/source/com/ice/jni/registry/RegMultiStringValue.java b/Lib/registry-3.1.3/source/com/ice/jni/registry/RegMultiStringValue.java new file mode 100644 index 0000000..5ab6452 --- /dev/null +++ b/Lib/registry-3.1.3/source/com/ice/jni/registry/RegMultiStringValue.java @@ -0,0 +1,179 @@ +/* +** Java native interface to the Windows Registry API. +** +** Authored by Timothy Gerard Endres +** +** +** This work has been placed into the public domain. +** You may use this work in any way and for any purpose you wish. +** +** THIS SOFTWARE IS PROVIDED AS-IS WITHOUT WARRANTY OF ANY KIND, +** NOT EVEN THE IMPLIED WARRANTY OF MERCHANTABILITY. THE AUTHOR +** OF THIS SOFTWARE, ASSUMES _NO_ RESPONSIBILITY FOR ANY +** CONSEQUENCE RESULTING FROM THE USE, MODIFICATION, OR +** REDISTRIBUTION OF THIS SOFTWARE. +** +*/ + +package com.ice.jni.registry; + +import java.io.PrintWriter; + + +/** + * The RegMultiStringValue class represents a multiple + * string, or string array, value in the registry + * (REG_MULTI_SZ). + * + * @version 3.1.3 + * + * @see com.ice.jni.registry.Registry + * @see com.ice.jni.registry.RegistryKey + */ + +public class +RegMultiStringValue extends RegistryValue + { + String[] data; + int dataLen; + + + public + RegMultiStringValue( RegistryKey key, String name ) + { + super( key, name, RegistryValue.REG_MULTI_SZ ); + this.data = null; + this.dataLen = 0; + } + + public + RegMultiStringValue( RegistryKey key, String name, int type ) + { + super( key, name, type ); + this.data = null; + this.dataLen = 0; + } + + public + RegMultiStringValue( RegistryKey key, String name, String[] data ) + { + super( key, name, RegistryValue.REG_MULTI_SZ ); + this.setData( data ); + } + + public String[] + getData() + { + return this.data; + } + + public int + getLength() + { + return this.dataLen; + } + + public void + setData( String[] data ) + { + this.data = data; + this.dataLen = data.length; + } + + public byte[] + getByteData() + { + int len = this.getByteLength(); + + int ri = 0; + byte[] result = new byte[len]; + for ( int i = 0 ; i < this.dataLen ; ++i ) + { + byte[] strBytes = this.data[i].getBytes(); + + for ( int j = 0 ; j < strBytes.length ; ++j ) + result[ri++] = strBytes[j]; + + result[ri++] = 0; + } + + return result; + } + + public int + getByteLength() + { + int len = 0; + for ( int i = 0 ; i < this.dataLen ; ++i ) + len += this.data[i].length() + 1; + + return len; + } + + public void + setByteData( byte[] data ) + { + int start; + int count = 0; + + for ( int i = 0 ; i < data.length ; ++i ) + { + if ( data[i] == 0 ) + count++; + } + + int si = 0; + String[] newData = new String[ count ]; + for ( int i = start = 0 ; i < data.length ; ++i ) + { + if ( data[i] == 0 ) + { + newData[si] = new String( data, start, (i - start) ); + start = si; + } + } + + this.setData( newData ); + } + + public void + export( PrintWriter out ) + { + byte[] hexData; + int dataLen = 0; + + out.println( "\"" + this.getName() + "\"=hex(7):\\" ); + + for ( int i = 0 ; i < this.data.length ; ++i ) + { + dataLen += this.data[i].length() + 1; + } + + ++dataLen; + + int idx = 0; + hexData = new byte[ dataLen ]; + + for ( int i = 0 ; i < this.data.length ; ++i ) + { + int strLen = this.data[i].length(); + byte[] strBytes = this.data[i].getBytes(); + + System.arraycopy + ( strBytes, 0, hexData, idx, strLen ); + + idx += strLen; + + hexData[ idx++ ] = 0; + } + + hexData[ idx++ ] = 0; + + RegistryValue.exportHexData( out, hexData ); + } + + } + + + + diff --git a/Lib/registry-3.1.3/source/com/ice/jni/registry/RegStringValue.java b/Lib/registry-3.1.3/source/com/ice/jni/registry/RegStringValue.java new file mode 100644 index 0000000..d93e676 --- /dev/null +++ b/Lib/registry-3.1.3/source/com/ice/jni/registry/RegStringValue.java @@ -0,0 +1,115 @@ +/* +** Java native interface to the Windows Registry API. +** +** Authored by Timothy Gerard Endres +** +** +** This work has been placed into the public domain. +** You may use this work in any way and for any purpose you wish. +** +** THIS SOFTWARE IS PROVIDED AS-IS WITHOUT WARRANTY OF ANY KIND, +** NOT EVEN THE IMPLIED WARRANTY OF MERCHANTABILITY. THE AUTHOR +** OF THIS SOFTWARE, ASSUMES _NO_ RESPONSIBILITY FOR ANY +** CONSEQUENCE RESULTING FROM THE USE, MODIFICATION, OR +** REDISTRIBUTION OF THIS SOFTWARE. +** +*/ + +package com.ice.jni.registry; + +import java.io.PrintWriter; + + +/** + * The RegStringValue class represents a string value in the + * registry (REG_SZ, and REG_EXPAND_SZ). + * + * @version 3.1.3 + * + * @see com.ice.jni.registry.Registry + * @see com.ice.jni.registry.RegistryKey + */ + +public class +RegStringValue extends RegistryValue + { + String data; + int dataLen; + + + public + RegStringValue( RegistryKey key, String name ) + { + super( key, name, RegistryValue.REG_SZ ); + this.data = null; + this.dataLen = 0; + } + + public + RegStringValue( RegistryKey key, String name, int type ) + { + super( key, name, type ); + this.data = null; + this.dataLen = 0; + } + + public + RegStringValue( RegistryKey key, String name, String data ) + { + super( key, name, RegistryValue.REG_SZ ); + this.setData( data ); + } + + public String + getData() + { + return this.data; + } + + public int + getLength() + { + return this.dataLen; + } + + public void + setData( String data ) + { + this.data = data; + this.dataLen = data.length(); + } + + public byte[] + getByteData() + { + return this.data.getBytes(); + } + + public int + getByteLength() + { + return this.dataLen; + } + + public void + setByteData( byte[] data ) + { + this.setData( new String( data ) ); + } + + public void + export( PrintWriter out ) + { + if ( this.getName().length() == 0 ) + out.print( "@=" ); + else + out.print( "\"" + this.getName() + "\"=" ); + + out.println( "\"" + this.getData() + "\"" ); + } + + } + + + + diff --git a/Lib/registry-3.1.3/source/com/ice/jni/registry/Registry.java b/Lib/registry-3.1.3/source/com/ice/jni/registry/Registry.java new file mode 100644 index 0000000..2f26e10 --- /dev/null +++ b/Lib/registry-3.1.3/source/com/ice/jni/registry/Registry.java @@ -0,0 +1,1363 @@ +/* +** Java native interface to the Windows Registry API. +** +** Authored by Timothy Gerard Endres +** +** +** This work has been placed into the public domain. +** You may use this work in any way and for any purpose you wish. +** +** THIS SOFTWARE IS PROVIDED AS-IS WITHOUT WARRANTY OF ANY KIND, +** NOT EVEN THE IMPLIED WARRANTY OF MERCHANTABILITY. THE AUTHOR +** OF THIS SOFTWARE, ASSUMES _NO_ RESPONSIBILITY FOR ANY +** CONSEQUENCE RESULTING FROM THE USE, MODIFICATION, OR +** REDISTRIBUTION OF THIS SOFTWARE. +** +*/ + +package com.ice.jni.registry; + +import java.io.*; +import java.util.*; + + +/** + * The Registry class provides is used to load the native + * library DLL, as well as a placeholder for the top level + * keys, error codes, and utility methods. + * + * @version 3.1.3 + * + */ + +public class +Registry + { + /** + * The following statics are the top level keys. + * Without these, there is no way to get "into" + * the registry, since the RegOpenSubkey() call + * requires an existing key which contains the + * subkey. + */ + public static RegistryKey HKEY_CLASSES_ROOT; + public static RegistryKey HKEY_CURRENT_USER; + public static RegistryKey HKEY_LOCAL_MACHINE; + public static RegistryKey HKEY_USERS; + public static RegistryKey HKEY_PERFORMANCE_DATA; + public static RegistryKey HKEY_CURRENT_CONFIG; + public static RegistryKey HKEY_DYN_DATA; + + /** + * This is a key for ICE's testing purposes. + */ + private static RegistryKey HKEY_ICE_TESTKEY = null; + /** + * These are predefined keys ($0-$9) used to make the + * testing program easier to use (less typing). + */ + private static String[] preDefines; + + /** + * These are the Registry API error codes, which can + * be returned via the RegistryException. + */ + public static final int ERROR_SUCCESS = 0; + public static final int ERROR_FILE_NOT_FOUND = 2; + public static final int ERROR_ACCESS_DENIED = 5; + public static final int ERROR_INVALID_HANDLE = 6; + public static final int ERROR_INVALID_PARAMETER = 87; + public static final int ERROR_CALL_NOT_IMPLEMENTED = 120; + public static final int ERROR_INSUFFICIENT_BUFFER = 122; + public static final int ERROR_LOCK_FAILED = 167; + public static final int ERROR_TRANSFER_TOO_LONG = 222; + public static final int ERROR_MORE_DATA = 234; + public static final int ERROR_NO_MORE_ITEMS = 259; + public static final int ERROR_BADDB = 1009; + public static final int ERROR_BADKEY = 1010; + public static final int ERROR_CANTOPEN = 1011; + public static final int ERROR_CANTREAD = 1012; + public static final int ERROR_CANTWRITE = 1013; + public static final int ERROR_REGISTRY_RECOVERED = 1014; + public static final int ERROR_REGISTRY_CORRUPT = 1015; + public static final int ERROR_REGISTRY_IO_FAILED = 1016; + public static final int ERROR_NOT_REGISTRY_FILE = 1017; + public static final int ERROR_KEY_DELETED = 1018; + + /** + * These are used by dumpHex(). + */ + private static final int ROW_BYTES = 16; + private static final int ROW_QTR1 = 3; + private static final int ROW_HALF = 7; + private static final int ROW_QTR2 = 11; + + + /** + * This is the last key used by the test program ($$). + */ + private static String saveKey = null; + /** + * This is a Hashtable which maps nams to the top level keys. + */ + private static Hashtable topLevelKeys = null; + + + /** + * If true, debug the fv parameters and computation. + */ + public boolean debugLevel; + + /** + * Loads the DLL needed for the native methods, creates the + * toplevel keys, fills the hashtable that maps various names + * to the toplevel keys. + */ + + static + { + try { + System.loadLibrary( "ICE_JNIRegistry" ); + } + catch ( UnsatisfiedLinkError e ) + { + System.err.println + ( "ERROR You have not installed the DLL named '" + + "ICE_JNIRegistry.DLL'.\n\t" + e.getMessage() ); + } + catch ( SecurityException e ) + { + System.err.println + ( "ERROR You do not have permission to load the DLL named '" + + "ICE_JNIRegistry.DLL'.\n\t" + e.getMessage() ); + } + + Registry.HKEY_CLASSES_ROOT = + new RegistryKey( 0x80000000, "HKEY_CLASSES_ROOT" ); + + Registry.HKEY_CURRENT_USER = + new RegistryKey( 0x80000001, "HKEY_CURRENT_USER" ); + + Registry.HKEY_LOCAL_MACHINE = + new RegistryKey( 0x80000002, "HKEY_LOCAL_MACHINE" ); + + Registry.HKEY_USERS = + new RegistryKey( 0x80000003, "HKEY_USERS" ); + + Registry.HKEY_PERFORMANCE_DATA = + new RegistryKey( 0x80000004, "HKEY_PERFORMANCE_DATA" ); + + Registry.HKEY_CURRENT_CONFIG = + new RegistryKey( 0x80000005, "HKEY_CURRENT_CONFIG" ); + + Registry.HKEY_DYN_DATA = + new RegistryKey( 0x80000006, "HKEY_DYN_DATA" ); + + + Registry.topLevelKeys = new Hashtable( 16 ); + + topLevelKeys.put( "HKCR", Registry.HKEY_CLASSES_ROOT ); + topLevelKeys.put( "HKEY_CLASSES_ROOT", Registry.HKEY_CLASSES_ROOT ); + + topLevelKeys.put( "HKCU", Registry.HKEY_CURRENT_USER ); + topLevelKeys.put( "HKEY_CURRENT_USER", Registry.HKEY_CURRENT_USER ); + + topLevelKeys.put( "HKLM", Registry.HKEY_LOCAL_MACHINE ); + topLevelKeys.put( "HKEY_LOCAL_MACHINE", Registry.HKEY_LOCAL_MACHINE ); + + topLevelKeys.put( "HKU", Registry.HKEY_USERS ); + topLevelKeys.put( "HKUS", Registry.HKEY_USERS ); + topLevelKeys.put( "HKEY_USERS", Registry.HKEY_USERS ); + + topLevelKeys.put( "HKPD", Registry.HKEY_PERFORMANCE_DATA ); + topLevelKeys.put( "HKEY_PERFORMANCE_DATA", Registry.HKEY_PERFORMANCE_DATA ); + + topLevelKeys.put( "HKCC", Registry.HKEY_PERFORMANCE_DATA ); + topLevelKeys.put( "HKEY_CURRENT_CONFIG", Registry.HKEY_PERFORMANCE_DATA ); + + topLevelKeys.put( "HKDD", Registry.HKEY_PERFORMANCE_DATA ); + topLevelKeys.put( "HKEY_DYN_DATA", Registry.HKEY_PERFORMANCE_DATA ); + } + + /** + * Get a top level key by name using the top level key Hashtable. + * + * @param keyName The name of the top level key. + * @return The top level RegistryKey, or null if unknown keyName. + * + * @see topLevelKeys + */ + + public static RegistryKey + getTopLevelKey( String keyName ) + { + return (RegistryKey) + Registry.topLevelKeys.get( keyName ); + } + + /** + * Open a subkey of a given top level key. + * + * @param topKey The top level key containing the subkey. + * @param keyName The subkey's name. + * @param access The access flag for the newly opened key. + * @return The newly opened RegistryKey. + * + * @see RegistryKey + */ + + public static RegistryKey + openSubkey( RegistryKey topKey, String keyName, int access ) + { + RegistryKey subKey = null; + + try { subKey = topKey.openSubKey( keyName, access ); } + catch ( NoSuchKeyException ex ) + { + subKey = null; + } + catch ( RegistryException ex ) + { + subKey = null; + } + + return subKey; + } + + /** + * Get the description of a Registry error code. + * + * @param errCode The error code from a RegistryException + * @return The description of the error code. + */ + + public static String + getErrorMessage( int errCode ) + { + switch ( errCode ) + { + case ERROR_SUCCESS: return "success"; + case ERROR_FILE_NOT_FOUND: return "key or value not found"; + case ERROR_ACCESS_DENIED: return "access denied"; + case ERROR_INVALID_HANDLE: return "invalid handle"; + case ERROR_INVALID_PARAMETER: return "invalid parameter"; + case ERROR_CALL_NOT_IMPLEMENTED: return "call not implemented"; + case ERROR_INSUFFICIENT_BUFFER: return "insufficient buffer"; + case ERROR_LOCK_FAILED: return "lock failed"; + case ERROR_TRANSFER_TOO_LONG: return "transfer was too long"; + case ERROR_MORE_DATA: return "more data buffer needed"; + case ERROR_NO_MORE_ITEMS: return "no more items"; + case ERROR_BADDB: return "bad database"; + case ERROR_BADKEY: return "bad key"; + case ERROR_CANTOPEN: return "can not open"; + case ERROR_CANTREAD: return "can not read"; + case ERROR_CANTWRITE: return "can not write"; + case ERROR_REGISTRY_RECOVERED: return "registry recovered"; + case ERROR_REGISTRY_CORRUPT: return "registry corrupt"; + case ERROR_REGISTRY_IO_FAILED: return "registry IO failed"; + case ERROR_NOT_REGISTRY_FILE: return "not a registry file"; + case ERROR_KEY_DELETED: return "key has been deleted"; + } + + return "errCode=" + errCode; + } + + /** + * Export the textual definition for a registry key to a file. + * The resulting file can be re-loaded via RegEdit. + * + * @param pathName The pathname of the file into which to export. + * @param key The registry key definition to export. + * @param descend If true, descend and export all subkeys. + * + * @exception NoSuchKeyException Thrown by openSubKey(). + * @exception RegistryException Any other registry API error. + */ + + public static void + exportRegistryKey( String pathName, RegistryKey key, boolean descend ) + throws java.io.IOException, NoSuchKeyException, RegistryException + { + PrintWriter out = + new PrintWriter( + new FileWriter( pathName ) ); + + out.println( "REGEDIT4" ); + out.println( "" ); + + key.export( out, descend ); + + out.flush(); + out.close(); + } + + /** + * The main() method is used to test the Registry package. + */ + + public static void + main( String argv[] ) + { + Registry.preDefines = new String[10]; + + Registry.preDefines[0] = "HKLM\\System\\CurrentControlSet\\control"; + Registry.preDefines[1] = "HKLM\\Software"; + Registry.preDefines[2] = "HKLM\\Software\\Miscrosoft"; + Registry.preDefines[3] = "HKLM\\Software\\Microsoft\\Windows" + + "\\CurrentVersion"; + Registry.preDefines[4] = "HKLM\\Software\\Microsoft\\Windows" + + "\\CurrentVersion\\ProfileList"; + Registry.preDefines[5] = "HKCU\\Software"; + Registry.preDefines[6] = "HKCU\\Software\\Microsoft"; + Registry.preDefines[7] = "HKCU\\AppEvents"; + Registry.preDefines[8] = "HKCU\\AppEvents\\Schemes"; + Registry.preDefines[9] = "HKCU\\AppEvents\\Schemes"; + + try { + Registry.HKEY_ICE_TESTKEY = + Registry.HKEY_CURRENT_USER.openSubKey + ( "Software\\ICE Engineering\\test" ); + } + catch ( NoSuchKeyException ex ) + { + } + catch ( RegistryException ex ) + { + } + + if ( argv.length > 0 ) + { + Registry.subMain( argv ); + } + else + { + String inLine; + String saveLine = null; + BufferedReader input = + new BufferedReader + ( new InputStreamReader( System.in ) ); + + for ( ; ; ) + { + System.out.print( "command: " ); + System.out.flush(); + + try { inLine = input.readLine(); } + catch ( IOException ex ) + { inLine = null; } + + if ( inLine == null || inLine.length() == 0 ) + break; + + if ( inLine.equalsIgnoreCase( "help" ) ) + { + Registry.usage( null ); + continue; + } + + String[] subArgs; + if ( inLine.equals( "!!" ) && saveLine != null ) + { + subArgs = + Registry.parseArgumentString( saveLine ); + } + else + { + subArgs = + Registry.parseArgumentString( inLine ); + saveLine = inLine; + } + + Registry.subMain( subArgs ); + } + } + } + + /** + * Print the usage/help information. + */ + + public static void + usage( String message ) + { + if ( message != null ) + System.err.println( message ); + + System.err.println + ( "keys regKey -- print the key names" ); + System.err.println + ( "values regKey -- print the value names" ); + System.err.println + ( "data regKey subKey -- print the key's data" ); + System.err.println + ( "string regKey subKey -- print REG_SZ key's string" ); + System.err.println + ( "setbin regKey subKey binaryString -- set REG_BINARY" ); + System.err.println + ( "setdw regKey subKey int -- set REG_DWORD" ); + System.err.println + ( "setstr regKey subKey string -- set REG_SZ" ); + System.err.println + ( "setmulti regKey subKey semiColonString -- set REG_MULTI_SZ" ); + System.err.println + ( "delkey regKey subKey -- delete key 'subKey' of regKey" ); + System.err.println + ( "delval regKey subKey -- delete value 'subKey' of regKey" ); + System.err.println + ( "export regKey fileName -- export registry key to fileName" ); + System.err.println + ( "expand regKey valueName -- expand string value" ); + + System.err.println( "" ); + + System.err.println + ( "!! -- repeats last command" ); + System.err.println + ( "$$ -- re-uses previous keyname" ); + System.err.println + ( "Predefined Key Prefixes: (e.g. $0-9)" ); + for ( int idx = 0 ; idx < Registry.preDefines.length ; ++idx ) + System.err.println + ( " $" + idx + "=" + Registry.preDefines[idx] ); + } + + /** + * The actual main method, which is called for each command. + */ + + public static void + subMain( String argv[] ) + { + int index; + RegistryKey key; + RegistryKey subKey; + RegistryKey topKey = null; + boolean isRemote = false; + String topKeyName = null; + String hostName = null; + + if ( argv.length < 1 || argv[0].equals( "help" ) ) + { + Registry.usage( null ); + return; + } + + if ( argv.length < 2 ) + { + Registry.usage( null ); + return; + } + + String keyName = argv[1]; + + if ( Registry.saveKey != null + && keyName.equals( "$$" ) ) + { + keyName = Registry.saveKey; + } + else if ( keyName.equals( "@@" ) ) + { + keyName = "HKCU\\Software\\ICE Engineering\\test"; + } + else + { + char ch1 = keyName.charAt(0); + char ch2 = keyName.charAt(1); + + if ( ch1 == '$' && ch2 >= '0' && ch2 <= '9' ) + { + int pIdx = (ch2 - '0'); + if ( Registry.preDefines[ pIdx ] != null ) + { + if ( keyName.length() < 3 ) + keyName = Registry.preDefines[ pIdx ]; + else + keyName = + Registry.preDefines[ pIdx ] + + keyName.substring( 2 ); + } + else + { + System.err.println + ( "Predefine '" + keyName + "' not defined." ); + return; + } + } + else + { + Registry.saveKey = argv[1]; + } + } + + if ( keyName.startsWith( "\\\\" ) ) + { + isRemote = true; + index = keyName.indexOf( '\\', 2 ); + hostName = keyName.substring( 2, index ); + keyName = keyName.substring( index + 1 ); + } + + index = keyName.indexOf( '\\' ); + + if ( index < 0 ) + { + // + // "topLevelKeyname" + // + topKeyName = keyName; + keyName = null; + } + else if ( index < 4 ) + { + // + // INVALID KEYNAME, topLevelName too short + // + System.err.println + ( "Invalid key '" + keyName + + "', top level key name too short." ); + return; + } + else + { + // + // "topLevelKeyname\subKey\subKey\..." + // + topKeyName = keyName.substring( 0, index ); + + if ( (index + 1) >= keyName.length() ) + keyName = null; + else + keyName = keyName.substring( index + 1 ); + } + + topKey = Registry.getTopLevelKey( topKeyName ); + if ( topKey == null ) + { + System.err.println + ( "ERROR, toplevel key '" + topKeyName + + "' not resolved!" ); + return; + } + + if ( isRemote ) + { + System.err.println + ( "REMOTE Key host='" + hostName + "'" ); + + RegistryKey remoteKey = null; + + try { + remoteKey = topKey.connectRegistry( hostName ); + } + catch ( NoSuchKeyException ex ) + { + System.err.println + ( "ERROR No such key connecting to '" + + hostName + "', " + ex.getMessage() ); + return; + } + catch ( RegistryException ex ) + { + System.err.println + ( "ERROR errCode=" + ex.getErrorCode() + + "' connecting to '" + hostName + + "', " + ex.getMessage() ); + return; + } + + if ( remoteKey != null ) + { + topKey = remoteKey; + } + } + + + // + // P R O C E S S C O M M A N D S + // + + if ( argv[0].equalsIgnoreCase( "create" ) ) + { + Registry.createCommand( topKey, keyName ); + } + else if ( argv[0].equalsIgnoreCase( "setbin" ) ) + { + Registry.setBinaryCommand + ( topKey, keyName, argv[2], argv[3] ); + } + else if ( argv[0].equalsIgnoreCase( "setdw" ) ) + { + Registry.setBinaryCommand + ( topKey, keyName, argv[2], argv[3] ); + } + else if ( argv[0].equalsIgnoreCase( "setstr" ) ) + { + Registry.setStringCommand + ( topKey, keyName, argv[2], argv[3] ); + } + else if ( argv[0].equalsIgnoreCase( "setmulti" ) ) + { + Registry.setMultiStringCommand + ( topKey, keyName, argv[2], argv[3] ); + } + else if ( argv[0].equalsIgnoreCase( "keys" ) ) + { + Registry.listKeysCommand( topKey, keyName ); + } + else if ( argv[0].equalsIgnoreCase( "values" ) ) + { + Registry.listValuesCommand( topKey, keyName ); + } + else if ( argv[0].equalsIgnoreCase( "delkey" ) ) + { + Registry.deleteKeyCommand( topKey, keyName, argv[2] ); + } + else if ( argv[0].equalsIgnoreCase( "delval" ) ) + { + Registry.deleteValueCommand( topKey, keyName, argv[2] ); + } + else if ( argv[0].equalsIgnoreCase( "data" ) ) + { + Registry.getDataCommand( topKey, keyName, argv[2] ); + } + else if ( argv[0].equalsIgnoreCase( "string" ) ) + { + Registry.getStringCommand( topKey, keyName, argv[2] ); + } + else if ( argv[0].equalsIgnoreCase( "export" ) ) + { + Registry.exportKeyCommand( topKey, keyName, argv[2] ); + } + else if ( argv[0].equalsIgnoreCase( "expand" ) ) + { + Registry.expandStringCommand( topKey, keyName, argv[2] ); + } + } + + private static void + exportKeyCommand( + RegistryKey topKey, String keyName, String pathName ) + { + RegistryKey subKey = + Registry.openSubKeyVerbose + ( topKey, keyName, RegistryKey.ACCESS_READ ); + + if ( subKey == null ) + return; + + try { Registry.exportRegistryKey( pathName, subKey, true ); } + catch ( IOException ex ) + { + System.err.println + ( "IO Exception: '" + ex.getMessage() + "'" ); + } + catch ( NoSuchKeyException ex ) + { + System.err.println + ( "Error, encountered non-existent key during export." ); + } + catch ( RegistryException ex ) + { + System.err.println + ( "ERROR registry error=" + ex.getErrorCode() + + ", " + ex.getMessage() ); + } + } + + private static void + getDataCommand( + RegistryKey topKey, String keyName, String valueName ) + { + RegistryKey subKey = + Registry.openSubKeyVerbose + ( topKey, keyName, RegistryKey.ACCESS_READ ); + + if ( subKey == null ) + return; + + RegistryValue data = null; + + try { data = subKey.getValue( valueName ); } + catch ( NoSuchValueException ex ) + { + System.err.println + ( "Value '" + valueName + "' does not exist." ); + return; + } + catch ( RegistryException ex ) + { + System.err.println + ( "ERROR registry error=" + ex.getErrorCode() + + ", " + ex.getMessage() ); + return; + } + + System.err.println + ( "Value '" + valueName + "' is " + data.toString() ); + + if ( data instanceof RegStringValue ) + { + RegStringValue val = (RegStringValue) data; + System.err.println( "REG_SZ '" + val.getData() + "'" ); + } + else if ( data instanceof RegMultiStringValue ) + { + RegMultiStringValue val = (RegMultiStringValue) data; + String[] args = val.getData(); + for ( int idx = 0 ; idx < args.length ; ++idx ) + System.err.println + ( "REG_MULTI_SZ[" + idx + "] '" + + args[idx] + "'" ); + } + else if ( data instanceof RegDWordValue ) + { + RegDWordValue val = (RegDWordValue) data; + + HexNumberFormat xFmt = + new HexNumberFormat( "XXXXXXXX" ); + + System.err.println( + "REG_DWORD" + + ( (RegistryValue.REG_DWORD_BIG_ENDIAN + == val.getType()) + ? "_BIG_ENDIAN" : "" ) + + " '" + val.getData() + "' [x" + + xFmt.format( val.getData() ) + "]" ); + } + else + { + RegBinaryValue val = (RegBinaryValue) data; + /* + System.err.println( "BINARY: len=" + val.getLength() ); + System.err.println( "BINARY: [0]=" + val.getData()[0] ); + System.err.println( "BINARY: [1]=" + val.getData()[1] ); + System.err.println( "BINARY: [2]=" + val.getData()[2] ); + System.err.println( "BINARY: [3]=" + val.getData()[3] ); + */ + Registry.dumpHexData + ( System.err, + "REG_BINARY '" + val.getName() + + "', len=" + val.getLength(), + val.getData(), val.getLength() ); + } + } + + private static void + getStringCommand( + RegistryKey topKey, String keyName, String valueName ) + { + RegistryKey subKey = + Registry.openSubKeyVerbose + ( topKey, keyName, RegistryKey.ACCESS_READ ); + + if ( subKey == null ) + return; + + try { + String value = subKey.getStringValue( valueName ); + System.err.println + ( "String Value " + valueName + "='" + value + "'" ); + } + catch ( RegistryException ex ) + { + System.err.println + ( "ERROR getting value '" + valueName + "', " + + ex.getMessage() ); + return; + } + } + + private static void + expandStringCommand( + RegistryKey topKey, String keyName, String valueName ) + { + RegistryKey subKey = + Registry.openSubKeyVerbose + ( topKey, keyName, RegistryKey.ACCESS_READ ); + + if ( subKey == null ) + return; + + try { + String value = subKey.getStringValue( valueName ); + System.err.println + ( "String Value " + valueName + "='" + value + "'" ); + value = RegistryKey.expandEnvStrings( value ); + System.err.println + ( "Expanded Value " + valueName + "='" + value + "'" ); + } + catch ( RegistryException ex ) + { + System.err.println + ( "ERROR getting value '" + valueName + "', " + + ex.getMessage() ); + return; + } + } + + private static void + deleteKeyCommand( + RegistryKey topKey, String keyName, String deleteKeyName ) + { + RegistryKey subKey = + Registry.openSubKeyVerbose + ( topKey, keyName, RegistryKey.ACCESS_WRITE ); + + if ( subKey == null ) + return; + + try { subKey.deleteSubKey( deleteKeyName ); } + catch ( NoSuchKeyException ex ) + { + System.err.println + ( "Key '" + keyName + "\\" + + deleteKeyName + "' does not exist." ); + return; + } + catch ( RegistryException ex ) + { + System.err.println + ( "ERROR deleting key '" + keyName + + "', " + ex.getMessage() ); + return; + } + } + + private static void + deleteValueCommand( + RegistryKey topKey, String keyName, String valueName ) + { + RegistryKey subKey = + Registry.openSubKeyVerbose + ( topKey, keyName, RegistryKey.ACCESS_WRITE ); + + if ( subKey == null ) + return; + + try { subKey.deleteValue( valueName ); } + catch ( NoSuchValueException ex ) + { + System.err.println + ( "Value '" + valueName + "' does not exist." ); + return; + } + catch ( RegistryException ex ) + { + System.err.println + ( "ERROR deleting value '" + valueName + + "', " + ex.getMessage() ); + return; + } + } + + private static void + listKeysCommand( RegistryKey topKey, String keyName ) + { + RegistryKey subKey = + Registry.openSubKeyVerbose + ( topKey, keyName, RegistryKey.ACCESS_READ ); + + if ( subKey == null ) + return; + + try { + Enumeration enum = subKey.keyElements(); + for ( int kIdx = 0 ; enum.hasMoreElements() ; ++kIdx ) + { + String keyStr = (String) enum.nextElement(); + System.err.println + ( "Subkey[" + kIdx + "] = '" + keyStr + "'" ); + } + } + catch ( RegistryException ex ) + { + System.err.println + ( "ERROR getting key enumerator, " + + ex.getMessage() ); + return; + } + } + + private static void + listValuesCommand( RegistryKey topKey, String keyName ) + { + RegistryKey subKey = + Registry.openSubKeyVerbose + ( topKey, keyName, RegistryKey.ACCESS_READ ); + + if ( subKey == null ) + return; + + try { + Enumeration enum = subKey.valueElements(); + for ( int kIdx = 0 ; enum.hasMoreElements() ; ++kIdx ) + { + String name = (String) enum.nextElement(); + System.err.println + ( "Value Name[" + kIdx + "] = '" + name + "'" ); + } + } + catch ( RegistryException ex ) + { + System.err.println + ( "ERROR getting value enumerator, " + + ex.getMessage() ); + return; + } + } + + private static void + setDWordCommand( + RegistryKey topKey, String keyName, + String valueName, String data ) + { + RegistryKey subKey = + Registry.openSubKeyVerbose + ( topKey, keyName, RegistryKey.ACCESS_WRITE ); + + if ( subKey == null ) + return; + + int anInt; + try { anInt = Integer.parseInt( data ); } + catch ( NumberFormatException ex ) + { + System.err.println + ( "ERROR bad int: '" + ex.getMessage() + "'" ); + return; + } + + RegDWordValue val = new RegDWordValue( subKey, valueName ); + val.setData( anInt ); + + Registry.setValue( subKey, val ); + } + + private static void + setMultiStringCommand( + RegistryKey topKey, String keyName, + String valueName, String data ) + { + RegistryKey subKey = + Registry.openSubKeyVerbose + ( topKey, keyName, RegistryKey.ACCESS_WRITE ); + + if ( subKey == null ) + return; + + String[] strArray = + Registry.splitString( data, ";" ); + + RegMultiStringValue val = + new RegMultiStringValue + ( subKey, valueName, strArray ); + + Registry.setValue( subKey, val ); + } + + private static void + setStringCommand( + RegistryKey topKey, String keyName, + String valueName, String data ) + { + RegistryKey subKey = + Registry.openSubKeyVerbose + ( topKey, keyName, RegistryKey.ACCESS_WRITE ); + + if ( subKey == null ) + return; + + RegStringValue val = + new RegStringValue( subKey, valueName, data ); + + Registry.setValue( subKey, val ); + } + + private static void + setBinaryCommand( + RegistryKey topKey, String keyName, + String valueName, String data ) + { + RegistryKey subKey = + Registry.openSubKeyVerbose + ( topKey, keyName, RegistryKey.ACCESS_WRITE ); + + if ( subKey == null ) + return; + + byte[] binData = data.getBytes(); + + RegBinaryValue val = + new RegBinaryValue( subKey, valueName, binData ); + + Registry.setValue( subKey, val ); + } + + private static void + createCommand( RegistryKey topKey, String keyName ) + { + RegistryKey subKey; + + try { + subKey = + topKey.createSubKey + ( keyName, "", RegistryKey.ACCESS_WRITE ); + } + catch ( RegistryException ex ) + { + subKey = null; + System.err.println + ( "ERROR creating subKey: " + ex.getMessage() ); + } + + if ( subKey != null ) + { + try { + subKey.flushKey(); + subKey.closeKey(); + } + catch ( RegistryException ex ) + { + subKey = null; + System.err.println + ( "ERROR flushing and closing key: " + + ex.getMessage() ); + } + } + + if ( subKey != null ) + { + System.err.println + ( "SUCCEEDED " + + ( subKey.wasCreated() + ? "Creating" : "Opening via create" ) + + " Key '" + keyName + "'" ); + } + else + { + System.err.println + ( "FAILED Creating Key '" + keyName + "'" ); + } + } + + private static RegistryKey + openSubKeyVerbose( RegistryKey topKey, String keyName, int access ) + { + RegistryKey subKey = null; + + try { subKey = topKey.openSubKey( keyName, access ); } + catch ( NoSuchKeyException ex ) + { + subKey = null; + System.err.println + ( "Key '" + keyName + "' does not exist." ); + } + catch ( RegistryException ex ) + { + subKey = null; + System.err.println + ( "ERROR registry error=" + ex.getErrorCode() + + ", " + ex.getMessage() ); + } + + return subKey; + } + + private static void + setValue( RegistryKey subKey, RegistryValue value ) + { + try { + subKey.setValue( value ); + subKey.flushKey(); + } + catch ( RegistryException ex ) + { + System.err.println + ( "ERROR setting MULTI_SZ value '" + + value.getName() + "', " + ex.getMessage() ); + } + } + + public static void + dumpHexData( PrintStream out, String title, byte[] buf, int numBytes ) + { + PrintWriter wrtr = + new PrintWriter( new OutputStreamWriter( out ) ); + + Registry.dumpHexData( wrtr, title, buf, 0, numBytes ); + } + + public static void + dumpHexData( + PrintWriter out, String title, + byte[] buf, int offset, int numBytes ) + { + int rows, residue, i, j; + byte[] save_buf= new byte[ ROW_BYTES+2 ]; + char[] hex_buf = new char[ 4 ]; + char[] idx_buf = new char[ 8 ]; + char[] hex_chars = new char[20]; + + hex_chars[0] = '0'; + hex_chars[1] = '1'; + hex_chars[2] = '2'; + hex_chars[3] = '3'; + hex_chars[4] = '4'; + hex_chars[5] = '5'; + hex_chars[6] = '6'; + hex_chars[7] = '7'; + hex_chars[8] = '8'; + hex_chars[9] = '9'; + hex_chars[10] = 'A'; + hex_chars[11] = 'B'; + hex_chars[12] = 'C'; + hex_chars[13] = 'D'; + hex_chars[14] = 'E'; + hex_chars[15] = 'F'; + + out.println( title + " - " + numBytes + " bytes." ); + + rows = (numBytes + (ROW_BYTES-1)) / ROW_BYTES; + residue = (numBytes % ROW_BYTES); + + for ( i = 0 ; i < rows ; i++ ) + { + int hexVal = (i * ROW_BYTES); + idx_buf[0] = hex_chars[ ((hexVal >> 12) & 15) ]; + idx_buf[1] = hex_chars[ ((hexVal >> 8) & 15) ]; + idx_buf[2] = hex_chars[ ((hexVal >> 4) & 15) ]; + idx_buf[3] = hex_chars[ (hexVal & 15) ]; + + String idxStr = new String( idx_buf, 0, 4 ); + out.print( idxStr + ": " ); + + for ( j = 0 ; j < ROW_BYTES ; j++ ) + { + if ( i == (rows - 1) && j >= residue ) + { + save_buf[j] = ' '; + out.print( " " ); + if ( j == ROW_QTR1 || j == ROW_HALF || j == ROW_QTR2 ) + out.print( ' ' ); + } + else + { + save_buf[j] = buf[ offset + (i * ROW_BYTES) + j ]; + + hex_buf[0] = hex_chars[ (save_buf[j] >> 4) & 0x0F ]; + hex_buf[1] = hex_chars[ save_buf[j] & 0x0F ]; + + out.print( hex_buf[0] ); + out.print( hex_buf[1] ); + out.print( ' ' ); + + if ( j == ROW_QTR1 || j == ROW_HALF || j == ROW_QTR2 ) + out.print( ' ' ); + + if ( save_buf[j] < 0x20 || save_buf[j] > 0x7E ) + save_buf[j] = (byte) '.'; + } + } + + String saveStr = new String( save_buf, 0, j ); + out.println( " | " + saveStr + " |" ); + } + + out.flush(); + } + + /** + * Split a string into a string array containing the substrings + * between the delimiters. + * + * NOTE This method WILL NOT return an empty + * token at the end of the array that is returned, if the string + * ends with the delimiter. If you wish to have a property string + * array that ends with the delimiter return an empty string at + * the end of the array, use vectorString(). + */ + + static public String[] + splitString( String splitStr, String delim ) + { + int i, count; + String[] result; + StringTokenizer toker; + + toker = new StringTokenizer( splitStr, delim ); + + count = toker.countTokens(); + + result = new String[ count ]; + + for ( i = 0 ; i < count ; ++i ) + { + try { result[i] = toker.nextToken(); } + catch ( NoSuchElementException ex ) + { + result = null; + break; + } + } + + return result; + } + + public static String[] + parseArgumentString( String argStr ) + { + String[] result = null; + + Vector vector = Registry.parseArgumentVector( argStr ); + + if ( vector != null && vector.size() > 0 ) + { + result = new String[ vector.size() ]; + vector.copyInto( result ); + } + + return result; + } + + public static Vector + parseArgumentVector( String argStr ) + { + Vector result = new Vector(); + StringBuffer argBuf = new StringBuffer(); + + boolean backSlash = false; + boolean matchSglQuote = false; + boolean matchDblQuote = false; + + for ( int cIdx = 0 ; cIdx < argStr.length() ; ++cIdx ) + { + char ch = argStr.charAt( cIdx ); + + switch ( ch ) + { + // + // W H I T E S P A C E + // + case ' ': + case '\t': + case '\n': + case '\r': + if ( backSlash ) + { + argBuf.append( ch ); + backSlash = false; + } + else if ( matchSglQuote || matchDblQuote ) + { + argBuf.append( ch ); + } + else if ( argBuf.length() > 0 ) + { + result.addElement( argBuf.toString() ); + argBuf.setLength( 0 ); + } + break; + + case '\\': + if ( backSlash ) + { + argBuf.append( "\\" ); + } + backSlash = ! backSlash; + break; + + case '\'': + if ( backSlash ) + { + argBuf.append( "'" ); + backSlash = false; + } + else if ( matchSglQuote ) + { + result.addElement( argBuf.toString() ); + argBuf.setLength( 0 ); + matchSglQuote = false; + } + else if ( ! matchDblQuote ) + { + matchSglQuote = true; + } + break; + + case '"': + if ( backSlash ) + { + argBuf.append( "\"" ); + backSlash = false; + } + else if ( matchDblQuote ) + { + result.addElement( argBuf.toString() ); + argBuf.setLength( 0 ); + matchDblQuote = false; + } + else if ( ! matchSglQuote ) + { + matchDblQuote = true; + } + break; + + default: + if ( backSlash ) + { + switch ( ch ) + { + case 'b': argBuf.append( '\b' ); break; + case 'f': argBuf.append( '\f' ); break; + case 'n': argBuf.append( '\n' ); break; + case 'r': argBuf.append( '\r' ); break; + case 't': argBuf.append( '\t' ); break; + + default: + char ch2 = argStr.charAt( cIdx+1 ); + char ch3 = argStr.charAt( cIdx+2 ); + if ( (ch >= '0' && ch <= '7') + && (ch2 >= '0' && ch2 <= '7') + && (ch3 >= '0' && ch3 <= '7') ) + { + int octal = + ( ( (ch - '0') * 64 ) + + ( (ch2 - '0') * 8 ) + + (ch3 - '0') ); + argBuf.append( (char) octal ); + cIdx += 2; + } + else if ( ch == '0' ) + { + argBuf.append( '\0' ); + } + else + { + argBuf.append( ch ); + } + break; + } + } + else + { + argBuf.append( ch ); + } + + backSlash = false; + break; + } + } + + if ( argBuf.length() > 0 ) + { + result.addElement( argBuf.toString() ); + } + + return result; + } + + } + + + + diff --git a/Lib/registry-3.1.3/source/com/ice/jni/registry/RegistryException.java b/Lib/registry-3.1.3/source/com/ice/jni/registry/RegistryException.java new file mode 100644 index 0000000..ea3ba65 --- /dev/null +++ b/Lib/registry-3.1.3/source/com/ice/jni/registry/RegistryException.java @@ -0,0 +1,75 @@ +/* +** Java native interface to the Windows Registry API. +** +** Authored by Timothy Gerard Endres +** +** +** This work has been placed into the public domain. +** You may use this work in any way and for any purpose you wish. +** +** THIS SOFTWARE IS PROVIDED AS-IS WITHOUT WARRANTY OF ANY KIND, +** NOT EVEN THE IMPLIED WARRANTY OF MERCHANTABILITY. THE AUTHOR +** OF THIS SOFTWARE, ASSUMES _NO_ RESPONSIBILITY FOR ANY +** CONSEQUENCE RESULTING FROM THE USE, MODIFICATION, OR +** REDISTRIBUTION OF THIS SOFTWARE. +** +*/ + +package com.ice.jni.registry; + +/** + * This exception is used to indicate that no such key exists in the registry. + * + * + * @version 3.1.3 + * + * @author Timothy Gerard Endres, + * time@ice.com. + */ + +public class +RegistryException extends Exception + { + static public final String RCS_ID = "$Id: RegistryException.java,v 1.1.1.1 1998/02/22 00:37:22 time Exp $"; + static public final String RCS_REV = "$Revision: 1.1.1.1 $"; + static public final String RCS_NAME = "$Name: $"; + + private int errorCode; + + + public + RegistryException() + { + super(); + this.errorCode = -1; + } + + public + RegistryException( String msg ) + { + super( msg ); + this.errorCode = -1; + } + + public + RegistryException( String msg, int regErr ) + { + super( msg ); + this.errorCode = regErr; + } + + public int + getErrorCode() + { + return this.errorCode; + } + + public void + setErrorCode( int errorCode ) + { + this.errorCode = errorCode; + } + + } + + diff --git a/Lib/registry-3.1.3/source/com/ice/jni/registry/RegistryKey.java b/Lib/registry-3.1.3/source/com/ice/jni/registry/RegistryKey.java new file mode 100644 index 0000000..dbe19a6 --- /dev/null +++ b/Lib/registry-3.1.3/source/com/ice/jni/registry/RegistryKey.java @@ -0,0 +1,697 @@ +/* +** Java native interface to the Windows Registry API. +** +** Authored by Timothy Gerard Endres +** +** +** This work has been placed into the public domain. +** You may use this work in any way and for any purpose you wish. +** +** THIS SOFTWARE IS PROVIDED AS-IS WITHOUT WARRANTY OF ANY KIND, +** NOT EVEN THE IMPLIED WARRANTY OF MERCHANTABILITY. THE AUTHOR +** OF THIS SOFTWARE, ASSUMES _NO_ RESPONSIBILITY FOR ANY +** CONSEQUENCE RESULTING FROM THE USE, MODIFICATION, OR +** REDISTRIBUTION OF THIS SOFTWARE. +** +*/ + +package com.ice.jni.registry; + +import java.io.PrintWriter; +import java.util.*; + +/** + * The RegistryKey class represents a key in the registry. + * The class also provides all of the native interface calls. + * + * You should refer to the Windows Registry API documentation + * for the details of any of the native methods. The native + * implementation performs almost no processing before or after + * a given call, so their behavior should match the API's + * documented behavior precisely. + * + * Note that you can not open a subkey without an existing + * open RegistryKey. Thus, you need to start with one of the + * top level keys defined in the Registry class and open + * relative to that. + * + * @version 3.1.3 + * + * @see com.ice.jni.registry.Registry + * @see com.ice.jni.registry.RegistryValue + */ + + +public class +RegistryKey + { + /** + * Constants used to determine the access level for + * newly opened keys. + */ + public static final int ACCESS_DEFAULT = 0; + public static final int ACCESS_READ = 1; + public static final int ACCESS_WRITE = 2; + public static final int ACCESS_EXECUTE = 3; + public static final int ACCESS_ALL = 4; + + /** + * This is the actual DWORD key that is returned from the + * Registry API. This value is totally opaque + * and should never be referenced. + */ + protected int hKey; + + /** + * The full pathname of this key. + */ + protected String name; + + /** + * Used to indicate whether or not the key was created + * when method createSubKey() is called, otherwise false. + */ + protected boolean created; + + + public + RegistryKey( int hKey, String name ) + { + this.hKey = hKey; + this.name = name; + this.created = false; + } + + public + RegistryKey( int hKey, String name, boolean created ) + { + this.hKey = hKey; + this.name = name; + this.created = created; + } + + /** + * The finalize() override checks to be sure the key is closed. + */ + public void + finalize() + { + // Never close a top level key... + if ( this.name.indexOf( "\\" ) > 0 ) + { + // REVIEW should we have an "open/closed" flag + // to avoid double closes? Or is it better to + // lazily not call closeKey() and let finalize() + // do it all the time? + // + try { this.closeKey(); } + catch ( RegistryException ex ) + { } + } + } + + /** + * Get the name of this key. This is not fully + * qualified, which means that the name will not contain + * any backslashes. + * + * @return The relative name of this key. + */ + + public String + getName() + { + int index = this.name.lastIndexOf( "\\" ); + + if ( index < 0 ) + return this.name; + else + return this.name.substring( index + 1 ); + } + + /** + * Get the full name of the key, from the top level down. + * + * @return The full name of the key. + */ + + public String + getFullName() + { + return this.name; + } + + /** + * Determine if this key was opened or created and opened. + * The result can only be true if createSubKey() was called + * and the key did not exist, and the creation of the new + * subkey succeeded. + * + * @return True if the key was created new, else false. + */ + + public boolean + wasCreated() + { + return this.created; + } + + /** + * Used to set the created state of this key. + * + * @param created The new created state. + */ + + public void + setCreated( boolean created ) + { + this.created = created; + } + + /** + * Open a Registry subkey of this key with READ access. + * + * @param subkey The name of the subkey to open. + * @return The newly opened RegistryKey. + * + * @exception NoSuchKeyException If the subkey does not exist. + * @exception RegistryException Any other registry API error. + */ + + public RegistryKey + openSubKey( String subkey ) + throws NoSuchKeyException, RegistryException + { + return this.openSubKey( subkey, ACCESS_READ ); + } + + /** + * Create, and open, a Registry subkey of this key with WRITE access. + * If the key already exists, it is opened, otherwise it is first + * created and then opened. + * + * @param subkey The name of the subkey to create. + * @param className The className of the created subkey. + * @return The newly created and opened RegistryKey. + * + * @exception RegistryException Any valid registry API error. + */ + + public RegistryKey + createSubKey( String subkey, String className ) + throws RegistryException + { + return this.createSubKey( subkey, "", ACCESS_WRITE ); + } + + /** + * Set the value of this RegistryKey. + * + * @param value The value to set, including the value name. + * + * @exception RegistryException Any valid registry API error. + */ + + public void + setValue( RegistryValue value ) + throws RegistryException + { + this.setValue( value.getName(), value ); + } + + + // + // N A T I V E M E T H O D S + // + + /** + * Open a Registry subkey of this key with the specified access. + * + * @param subkey The name of the subkey to open. + * @param access The access level for the open. + * @return The newly opened RegistryKey. + * + * @exception NoSuchKeyException If the subkey does not exist. + * @exception RegistryException Any other registry API error. + */ + + public native RegistryKey + openSubKey( String subKey, int access ) + throws NoSuchKeyException, RegistryException; + + /** + * Connect to the remote registry on hostName. + * This method will only work when invoked on a toplevel + * key. The returned value will be the same toplevel key + * opened from the remote host's registry. + * + * @param hostName The remote computer's hostname. + * @return The remote top level key identical to this top level key. + * + * @exception NoSuchKeyException If the subkey does not exist. + * @exception RegistryException Any other registry API error. + */ + public native RegistryKey + connectRegistry( String hostName ) + throws NoSuchKeyException, RegistryException; + + /** + * Create a new subkey, or open the existing one. You can + * determine if the subkey was created, or whether an + * existing subkey was opened, via the wasCreated() method. + * + * @param subKey The name of the subkey to create/open. + * @param className The key's class name, or null. + * @param access The access level of the opened subkey. + * @return The newly created or opened subkey. + * + * @exception RegistryException Any valid registry API error. + */ + + public native RegistryKey + createSubKey( String subKey, String className, int access ) + throws RegistryException; + + /** + * Closes this subkey. You may chose to let the finalize() + * method do the close. + * + * @exception RegistryException Any valid registry API error. + */ + + public native void + closeKey() + throws RegistryException; + + /** + * Delete a named subkey. + * + * @param subKey The name of the subkey to delete. + * + * @exception NoSuchKeyException If the subkey does not exist. + * @exception RegistryException Any other registry API error. + */ + + public native void + deleteSubKey( String subKey ) + throws NoSuchKeyException, RegistryException; + + /** + * Delete a named value. + * + * @param valueName The name of the value to delete. + * + * @exception NoSuchValueException If the value does not exist. + * @exception RegistryException Any other registry API error. + */ + + public native void + deleteValue( String valueName ) + throws NoSuchValueException, RegistryException; + + /** + * Guarentees that this key is written to disk. This + * method should be called only when needed, as it has + * a huge performance cost. + * + * @exception RegistryException Any valid registry API error. + */ + + public native void + flushKey() + throws RegistryException; + + /** + * Set the name value to the given data. + * + * @param valueName The name of the value to set. + * @param value The data to set the named value. + * + * @exception RegistryException Any valid registry API error. + */ + + public native void + setValue( String valueName, RegistryValue value ) + throws RegistryException; + + /** + * Get the data of a named value. + * + * @param valueName The name of the value to get. + * @return The data of the named value. + * + * @exception NoSuchValueException If the value does not exist. + * @exception RegistryException Any other registry API error. + */ + + public native RegistryValue + getValue( String valueName ) + throws NoSuchValueException, RegistryException; + + /** + * Get the value of a REG_SZ or REG_EXPAND_SZ value. + * + * @param valueName The name of the value to get. + * @return The string data of the named value. + * + * @exception NoSuchValueException If the value does not exist. + * @exception RegistryException Any other registry API error. + */ + + public native String + getStringValue( String valueName ) + throws NoSuchValueException, RegistryException; + + /** + * Get the data from the default value. + * + * @return The string data of the default value. + * + * @exception NoSuchValueException If the value does not exist. + * @exception RegistryException Any other registry API error. + */ + + public native String + getDefaultValue() + throws NoSuchValueException, RegistryException; + + /** + * Determines if this key has a default value. + * + * @return True if there is a default value, else false. + * + * @exception RegistryException Any valid registry API error. + */ + + public native boolean + hasDefaultValue() + throws RegistryException; + + /** + * Determines if this key has only a default value. + * + * @return True if there is only a default value, else false. + * + * @exception RegistryException Any valid registry API error. + */ + + public native boolean + hasOnlyDefaultValue() + throws RegistryException; + + /** + * Obtains the number of subkeys that this key contains. + * + * @return The number of subkeys that this key contains. + * + * @exception RegistryException Any valid registry API error. + */ + + public native int + getNumberSubkeys() + throws RegistryException; + + /** + * Obtains the maximum length of all of the subkey names. + * + * @return The maximum length of all of the subkey names. + * + * @exception RegistryException Any valid registry API error. + */ + + public native int + getMaxSubkeyLength() + throws RegistryException; + + /** + * Obtains an enumerator for the subkeys of this key. + * + * @return The key enumerator. + * + * @exception RegistryException Any valid registry API error. + */ + + public native String + regEnumKey( int index ) + throws RegistryException; + + /** + * Obtains the number of values that this key contains. + * + * @return The number of values that this key contains. + * + * @exception RegistryException Any valid registry API error. + */ + + public native int + getNumberValues() + throws RegistryException; + + /** + * Obtains the maximum length of all of the value data. + * + * @return The maximum length of all of the value data. + * + * @exception RegistryException Any valid registry API error. + */ + + public native int + getMaxValueDataLength() + throws RegistryException; + + /** + * Obtains the maximum length of all of the value names. + * + * @return The maximum length of all of the value names. + * + * @exception RegistryException Any valid registry API error. + */ + + public native int + getMaxValueNameLength() + throws RegistryException; + + /** + * Obtains an enumerator for the values of this key. + * + * @return The value enumerator. + * + * @exception RegistryException Any valid registry API error. + */ + + public native String + regEnumValue( int index ) + throws RegistryException; + + // + // Convenience routines + // + + /** + * This method will increment the value of a REG_DWORD value. + * + * @param valueName The name of the value to increment. + * + * @exception NoSuchValueException If the value does not exist. + * @exception RegistryException Any other registry API error. + */ + + public native int + incrDoubleWord( String valueName ) + throws NoSuchValueException, RegistryException; + + /** + * This method will decrement the value of a REG_DWORD value. + * + * @param valueName The name of the value to increment. + * + * @exception NoSuchValueException If the value does not exist. + * @exception RegistryException Any other registry API error. + */ + + public native int + decrDoubleWord( String valueName ) + throws NoSuchValueException, RegistryException; + + /** + * This method will expand a string to include the definitions + * of System environment variables that are referenced via the + * %variable% construct. This method invokes EnvExpandStrings(). + * + * @param valueName The name of the value to increment. + */ + + public static native String + expandEnvStrings( String exString ); + + /** + * Returns a new Enumeration that will enumerate the + * names of the subkeys of this key, + * + * @return A new Enumeration to enumerate subkey names. + * + * @exception RegistryException Any valid registry API error. + */ + + public Enumeration + keyElements() + throws RegistryException + { + return this.new RegistryKeyEnumerator( this ); + } + + /** + * Returns a new Enumeration that will enumerate the + * names of the values of this key, + * + * @return A new Enumeration to enumerate value names. + * + * @exception RegistryException Any valid registry API error. + */ + + public Enumeration + valueElements() + throws RegistryException + { + return this.new RegistryValueEnumerator( this ); + } + + /** + * A RegistryKey enumerator class. This enumerator + * is used to enumerate the names of this key's subkeys. + * + * This class should remain opaque to the client, + * which will use the Enumeration interface. + */ + class + RegistryKeyEnumerator implements Enumeration + { + RegistryKey key; + int currIndex; + int numSubKeys; + + public + RegistryKeyEnumerator( RegistryKey key ) + throws RegistryException + { + this.key = key; + this.currIndex = 0; + this.numSubKeys = key.getNumberSubkeys(); + } + + public boolean hasMoreElements() + { + return ( this.currIndex < this.numSubKeys ); + } + + public Object + nextElement() + { + Object result = null; + + try { result = this.key.regEnumKey( this.currIndex++ ); } + catch ( RegistryException ex ) + { + throw new NoSuchElementException( ex.getMessage() ); + } + + return result; + } + } + + /** + * A RegistryValue enumerator class. This enumerator + * is used to enumerate the names of this key's values. + * This will return the default value name as an empty string. + * + * This class should remain opaque to the client. + * It will use the Enumeration interface. + */ + + class + RegistryValueEnumerator implements Enumeration + { + RegistryKey key; + int currIndex; + int numValues; + + public + RegistryValueEnumerator( RegistryKey key ) + throws RegistryException + { + this.key = key; + this.currIndex = 0; + this.numValues = key.getNumberValues(); + } + + public boolean hasMoreElements() + { + return ( this.currIndex < this.numValues ); + } + + public Object + nextElement() + { + Object result = null; + + try { result = this.key.regEnumValue( this.currIndex++ ); } + catch ( RegistryException ex ) + { + throw new NoSuchElementException( ex.getMessage() ); + } + + return result; + } + } + + /** + * Export this key's definition to the provided PrintWriter. + * The resulting file can be imported via RegEdit. + * + * @exception NoSuchKeyException Thrown by openSubKey(). + * @exception NoSuchValueException Thrown by getValue(). + * @exception RegistryException Any other registry API error. + */ + + public void + export( PrintWriter out, boolean descend ) + throws NoSuchKeyException, RegistryException + { + Enumeration enum; + + out.println( "[" + this.getFullName() + "]" ); + + enum = this.valueElements(); + + for ( int idx = 0 ; enum.hasMoreElements() ; ++idx ) + { + String valueName = (String) enum.nextElement(); + + RegistryValue value = this.getValue( valueName ); + + value.export( out ); + } + + out.println( "" ); + + if ( descend ) + { + enum = this.keyElements(); + + for ( int idx = 0 ; enum.hasMoreElements() ; ++idx ) + { + String keyName = (String) enum.nextElement(); + + RegistryKey subKey = this.openSubKey( keyName ); + + subKey.export( out, descend ); + + subKey.closeKey(); + } + } + } + + } + + + diff --git a/Lib/registry-3.1.3/source/com/ice/jni/registry/RegistryValue.java b/Lib/registry-3.1.3/source/com/ice/jni/registry/RegistryValue.java new file mode 100644 index 0000000..fad12ae --- /dev/null +++ b/Lib/registry-3.1.3/source/com/ice/jni/registry/RegistryValue.java @@ -0,0 +1,164 @@ +/* +** Java native interface to the Windows Registry API. +** +** Authored by Timothy Gerard Endres +** +** +** This work has been placed into the public domain. +** You may use this work in any way and for any purpose you wish. +** +** THIS SOFTWARE IS PROVIDED AS-IS WITHOUT WARRANTY OF ANY KIND, +** NOT EVEN THE IMPLIED WARRANTY OF MERCHANTABILITY. THE AUTHOR +** OF THIS SOFTWARE, ASSUMES _NO_ RESPONSIBILITY FOR ANY +** CONSEQUENCE RESULTING FROM THE USE, MODIFICATION, OR +** REDISTRIBUTION OF THIS SOFTWARE. +** +*/ + +package com.ice.jni.registry; + +import java.io.PrintWriter; + +/** + * The RegistryValue class represents a value in the registry. + * This class is abstract, so it can not be instantiated. The + * class is a superclass to all value classes. The common + * abstract methods for getting and setting data must be defined + * by the subclass, but subclasses will almost always provide + * additional methods that get and set the value using the data + * type of the subclass. + * + * @version 3.1.3 + * + * @see com.ice.jni.registry.Registry + * @see com.ice.jni.registry.RegistryKey + */ + +abstract public class +RegistryValue + { + public static final int REG_NONE = 0; + public static final int REG_SZ = 1; + public static final int REG_EXPAND_SZ = 2; + public static final int REG_BINARY = 3; + public static final int REG_DWORD = 4; + public static final int REG_DWORD_LITTLE_ENDIAN = 4; + public static final int REG_DWORD_BIG_ENDIAN = 5; + public static final int REG_LINK = 6; + public static final int REG_MULTI_SZ = 7; + public static final int REG_RESOURCE_LIST = 8; + public static final int REG_FULL_RESOURCE_DESCRIPTOR = 9; + public static final int REG_RESOURCE_REQUIREMENTS_LIST = 10; + + protected static char[] hexChars; + + int type; + String name; + RegistryKey key; + + static + { + RegistryValue.hexChars = new char[20]; + + RegistryValue.hexChars[0] = '0'; + RegistryValue.hexChars[1] = '1'; + RegistryValue.hexChars[2] = '2'; + RegistryValue.hexChars[3] = '3'; + RegistryValue.hexChars[4] = '4'; + RegistryValue.hexChars[5] = '5'; + RegistryValue.hexChars[6] = '6'; + RegistryValue.hexChars[7] = '7'; + RegistryValue.hexChars[8] = '8'; + RegistryValue.hexChars[9] = '9'; + RegistryValue.hexChars[10] = 'a'; + RegistryValue.hexChars[11] = 'b'; + RegistryValue.hexChars[12] = 'c'; + RegistryValue.hexChars[13] = 'd'; + RegistryValue.hexChars[14] = 'e'; + RegistryValue.hexChars[15] = 'f'; + } + + public + RegistryValue( RegistryKey key, String name, int type ) + { + this.key = key; + this.name = name; + this.type = type; + } + + public RegistryKey + getKey() + { + return this.key; + } + + public String + getName() + { + return this.name; + } + + public int + getType() + { + return this.type; + } + + public void + export( PrintWriter out ) + { + out.print( "\"" + this.getName() + "\"=" ); + out.println( "\"ERROR called RegistryValue.export()!\"" ); + } + + public String + toString() + { + return "[type=" + this.type + ",name=" + this.name + "]"; + } + + public static void + exportHexData( PrintWriter out, byte[] data ) + { + int i, cnt; + char ch1, ch2; + int len = data.length; + + for ( i = 0, cnt = 0 ; i < len ; ++i ) + { + byte dByte = data[i]; + + ch2 = RegistryValue.hexChars[ (dByte & 0x0F) ]; + ch1 = RegistryValue.hexChars[ ((dByte >> 4) & 0x0F) ]; + + if ( cnt == 0 ) out.print( " " ); + + out.print( ch1 ); + out.print( ch2 ); + + if ( i < (len - 1) ) + out.print( "," ); + + if ( ++cnt > 15 ) + { + cnt = 0; + if ( i < (len-1) ) + out.println( "\\" ); + } + } + + out.println( "" ); + } + + abstract public byte[] + getByteData(); + + abstract public int + getByteLength(); + + abstract public void + setByteData( byte[] data ); + + } + + diff --git a/Lib/registry-3.1.3/source/com/ice/jni/registry/build.xml b/Lib/registry-3.1.3/source/com/ice/jni/registry/build.xml new file mode 100644 index 0000000..d837cff --- /dev/null +++ b/Lib/registry-3.1.3/source/com/ice/jni/registry/build.xml @@ -0,0 +1,185 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Lib/registry-3.1.3/source/com/ice/jni/registry/doc/LICENSE b/Lib/registry-3.1.3/source/com/ice/jni/registry/doc/LICENSE new file mode 100644 index 0000000..8565393 --- /dev/null +++ b/Lib/registry-3.1.3/source/com/ice/jni/registry/doc/LICENSE @@ -0,0 +1,13 @@ +** +** Authored by Timothy Gerard Endres +** +** +** This work has been placed into the public domain. +** You may use this work in any way and for any purpose you wish. +** +** THIS SOFTWARE IS PROVIDED AS-IS WITHOUT WARRANTY OF ANY KIND, +** NOT EVEN THE IMPLIED WARRANTY OF MERCHANTABILITY. THE AUTHOR +** OF THIS SOFTWARE, ASSUMES _NO_ RESPONSIBILITY FOR ANY +** CONSEQUENCE RESULTING FROM THE USE, MODIFICATION, OR +** REDISTRIBUTION OF THIS SOFTWARE. +** diff --git a/Lib/registry-3.1.3/source/com/ice/jni/registry/doc/License.html b/Lib/registry-3.1.3/source/com/ice/jni/registry/doc/License.html new file mode 100644 index 0000000..4ba1f2e --- /dev/null +++ b/Lib/registry-3.1.3/source/com/ice/jni/registry/doc/License.html @@ -0,0 +1,28 @@ + + + +PUBLIC DOMAIN + + +

Placed into the public domain on April 2, 2001

+ +
+
+Authored by Timothy Gerard Endres
+
+time@gjt.org
+http://www.trustice.com/
+
+This work has been placed into the public domain.
+You may use this work in any way and for any purpose you wish.
+
+THIS SOFTWARE IS PROVIDED AS-IS WITHOUT WARRANTY OF ANY KIND,
+NOT EVEN THE IMPLIED WARRANTY OF MERCHANTABILITY. THE AUTHOR
+OF THIS SOFTWARE, ASSUMES _NO_ RESPONSIBILITY FOR ANY
+CONSEQUENCE RESULTING FROM THE USE, MODIFICATION, OR
+REDISTRIBUTION OF THIS SOFTWARE. 
+
+
+ + + diff --git a/Lib/registry-3.1.3/source/com/ice/jni/registry/doc/README.html b/Lib/registry-3.1.3/source/com/ice/jni/registry/doc/README.html new file mode 100644 index 0000000..baa324d --- /dev/null +++ b/Lib/registry-3.1.3/source/com/ice/jni/registry/doc/README.html @@ -0,0 +1,53 @@ + + + + + + + + + + + +

Windows Registry Native Interface

+ +

+The com.ice.jni.registry package implements a Java native +interface to the Windows Registry API. This package allows +you to access, modify, and export registry resources. The +package includes all source code required to build the +native interface, as well as the DLL required to implement +the native code. + +

+The Registry class provides a main() class method that provides +a simple test program to test the native interface. It is what +I used to test the code. When you run the test program, you +can type the command "help", which will print the commands that +you can use. + +

+com.ice.jni.registry.Registry.main() is also the only "sample code" +that is available. So, if you email asking for sample code, I will +know you have not read this file. :-) + + +


+ +The JNIRegistry Home Page + +will always contain the latest version for +your downloading pleasure. + + +
+ +
+Authored By Timothy Gerard Endres
+JNIRegistry have been placed into the public domain. +
+
+ + + + diff --git a/Lib/registry-3.1.3/source/windows/Debug/ICE_JNIRegistry.dll b/Lib/registry-3.1.3/source/windows/Debug/ICE_JNIRegistry.dll new file mode 100644 index 0000000..f1f1278 Binary files /dev/null and b/Lib/registry-3.1.3/source/windows/Debug/ICE_JNIRegistry.dll differ diff --git a/Lib/registry-3.1.3/source/windows/Debug/ICE_JNIRegistry.exp b/Lib/registry-3.1.3/source/windows/Debug/ICE_JNIRegistry.exp new file mode 100644 index 0000000..d2d1c02 Binary files /dev/null and b/Lib/registry-3.1.3/source/windows/Debug/ICE_JNIRegistry.exp differ diff --git a/Lib/registry-3.1.3/source/windows/Debug/ICE_JNIRegistry.ilk b/Lib/registry-3.1.3/source/windows/Debug/ICE_JNIRegistry.ilk new file mode 100644 index 0000000..1001734 Binary files /dev/null and b/Lib/registry-3.1.3/source/windows/Debug/ICE_JNIRegistry.ilk differ diff --git a/Lib/registry-3.1.3/source/windows/Debug/ICE_JNIRegistry.lib b/Lib/registry-3.1.3/source/windows/Debug/ICE_JNIRegistry.lib new file mode 100644 index 0000000..bb97cfb Binary files /dev/null and b/Lib/registry-3.1.3/source/windows/Debug/ICE_JNIRegistry.lib differ diff --git a/Lib/registry-3.1.3/source/windows/Debug/ICE_JNIRegistry.pdb b/Lib/registry-3.1.3/source/windows/Debug/ICE_JNIRegistry.pdb new file mode 100644 index 0000000..4e5b6a9 Binary files /dev/null and b/Lib/registry-3.1.3/source/windows/Debug/ICE_JNIRegistry.pdb differ diff --git a/Lib/registry-3.1.3/source/windows/Debug/hs_err_pid1120.log b/Lib/registry-3.1.3/source/windows/Debug/hs_err_pid1120.log new file mode 100644 index 0000000..50da753 --- /dev/null +++ b/Lib/registry-3.1.3/source/windows/Debug/hs_err_pid1120.log @@ -0,0 +1,51 @@ + +Unexpected Signal : EXCEPTION_ACCESS_VIOLATION occurred at PC=0x6d44848b +Function name=(N/A) +Library=C:\java\jdk1.3.1\jre\bin\hotspot\jvm.dll + +NOTE: We are unable to locate the function name symbol for the error + just occurred. Please refer to release documentation for possible + reason and solutions. + + + +Current Java thread: + at com.ice.jni.registry.RegistryKey.openSubKey(Native Method) + at com.ice.jni.registry.Registry.openSubKeyVerbose(Registry.java:1046) + at com.ice.jni.registry.Registry.listKeysCommand(Registry.java:854) + at com.ice.jni.registry.Registry.subMain(Registry.java:603) + at com.ice.jni.registry.Registry.main(Registry.java:369) + +Dynamic libraries: +0x00400000 - 0x00405000 C:\java\jdk1.3.1\bin\java.exe +0x77F50000 - 0x77FF7000 C:\WINDOWS\System32\ntdll.dll +0x77E60000 - 0x77F46000 C:\WINDOWS\system32\kernel32.dll +0x77DD0000 - 0x77E5D000 C:\WINDOWS\system32\ADVAPI32.dll +0x78000000 - 0x78086000 C:\WINDOWS\system32\RPCRT4.dll +0x77C10000 - 0x77C63000 C:\WINDOWS\system32\MSVCRT.dll +0x6D420000 - 0x6D4F7000 C:\java\jdk1.3.1\jre\bin\hotspot\jvm.dll +0x77D40000 - 0x77DC6000 C:\WINDOWS\system32\USER32.dll +0x77C70000 - 0x77CB0000 C:\WINDOWS\system32\GDI32.dll +0x76B40000 - 0x76B6C000 C:\WINDOWS\System32\WINMM.dll +0x629C0000 - 0x629C8000 C:\WINDOWS\System32\LPK.DLL +0x72FA0000 - 0x72FFA000 C:\WINDOWS\System32\USP10.dll +0x6D220000 - 0x6D227000 C:\java\jdk1.3.1\jre\bin\hpi.dll +0x6D3B0000 - 0x6D3BD000 C:\java\jdk1.3.1\jre\bin\verify.dll +0x6D250000 - 0x6D266000 C:\java\jdk1.3.1\jre\bin\java.dll +0x6D3C0000 - 0x6D3CD000 C:\java\jdk1.3.1\jre\bin\zip.dll +0x10000000 - 0x1002A000 C:\src\ice\windows\jniregistry\Debug\ICE_JNIRegistry.dll +0x76C90000 - 0x76CB2000 C:\WINDOWS\system32\imagehlp.dll +0x6D510000 - 0x6D58D000 C:\WINDOWS\system32\DBGHELP.dll +0x77C00000 - 0x77C07000 C:\WINDOWS\system32\VERSION.dll +0x76BF0000 - 0x76BFB000 C:\WINDOWS\System32\PSAPI.DLL + +Local Time = Mon Apr 21 12:30:23 2003 +Elapsed Time = 4 +# +# HotSpot Virtual Machine Error : EXCEPTION_ACCESS_VIOLATION +# Error ID : 4F530E43505002BD +# Please report this error at +# http://java.sun.com/cgi-bin/bugreport.cgi +# +# Java VM: Java HotSpot(TM) Client VM (1.3.1_04-b02 mixed mode) +# diff --git a/Lib/registry-3.1.3/source/windows/Debug/hs_err_pid2064.log b/Lib/registry-3.1.3/source/windows/Debug/hs_err_pid2064.log new file mode 100644 index 0000000..041ab54 --- /dev/null +++ b/Lib/registry-3.1.3/source/windows/Debug/hs_err_pid2064.log @@ -0,0 +1,51 @@ + +Unexpected Signal : EXCEPTION_ACCESS_VIOLATION occurred at PC=0x6d44848b +Function name=(N/A) +Library=C:\java\jdk1.3.1\jre\bin\hotspot\jvm.dll + +NOTE: We are unable to locate the function name symbol for the error + just occurred. Please refer to release documentation for possible + reason and solutions. + + + +Current Java thread: + at com.ice.jni.registry.RegistryKey.openSubKey(Native Method) + at com.ice.jni.registry.Registry.openSubKeyVerbose(Registry.java:1046) + at com.ice.jni.registry.Registry.listKeysCommand(Registry.java:854) + at com.ice.jni.registry.Registry.subMain(Registry.java:603) + at com.ice.jni.registry.Registry.main(Registry.java:369) + +Dynamic libraries: +0x00400000 - 0x00405000 C:\java\jdk1.3.1\bin\java.exe +0x77F50000 - 0x77FF7000 C:\WINDOWS\System32\ntdll.dll +0x77E60000 - 0x77F46000 C:\WINDOWS\system32\kernel32.dll +0x77DD0000 - 0x77E5D000 C:\WINDOWS\system32\ADVAPI32.dll +0x78000000 - 0x78086000 C:\WINDOWS\system32\RPCRT4.dll +0x77C10000 - 0x77C63000 C:\WINDOWS\system32\MSVCRT.dll +0x6D420000 - 0x6D4F7000 C:\java\jdk1.3.1\jre\bin\hotspot\jvm.dll +0x77D40000 - 0x77DC6000 C:\WINDOWS\system32\USER32.dll +0x77C70000 - 0x77CB0000 C:\WINDOWS\system32\GDI32.dll +0x76B40000 - 0x76B6C000 C:\WINDOWS\System32\WINMM.dll +0x629C0000 - 0x629C8000 C:\WINDOWS\System32\LPK.DLL +0x72FA0000 - 0x72FFA000 C:\WINDOWS\System32\USP10.dll +0x6D220000 - 0x6D227000 C:\java\jdk1.3.1\jre\bin\hpi.dll +0x6D3B0000 - 0x6D3BD000 C:\java\jdk1.3.1\jre\bin\verify.dll +0x6D250000 - 0x6D266000 C:\java\jdk1.3.1\jre\bin\java.dll +0x6D3C0000 - 0x6D3CD000 C:\java\jdk1.3.1\jre\bin\zip.dll +0x10000000 - 0x1002A000 C:\src\ice\windows\jniregistry\Debug\ICE_JNIRegistry.dll +0x76C90000 - 0x76CB2000 C:\WINDOWS\system32\imagehlp.dll +0x6D510000 - 0x6D58D000 C:\WINDOWS\system32\DBGHELP.dll +0x77C00000 - 0x77C07000 C:\WINDOWS\system32\VERSION.dll +0x76BF0000 - 0x76BFB000 C:\WINDOWS\System32\PSAPI.DLL + +Local Time = Mon Apr 21 12:29:09 2003 +Elapsed Time = 1214 +# +# HotSpot Virtual Machine Error : EXCEPTION_ACCESS_VIOLATION +# Error ID : 4F530E43505002BD +# Please report this error at +# http://java.sun.com/cgi-bin/bugreport.cgi +# +# Java VM: Java HotSpot(TM) Client VM (1.3.1_04-b02 mixed mode) +# diff --git a/Lib/registry-3.1.3/source/windows/Debug/vc50.idb b/Lib/registry-3.1.3/source/windows/Debug/vc50.idb new file mode 100644 index 0000000..bdeaa51 Binary files /dev/null and b/Lib/registry-3.1.3/source/windows/Debug/vc50.idb differ diff --git a/Lib/registry-3.1.3/source/windows/Debug/vc50.pdb b/Lib/registry-3.1.3/source/windows/Debug/vc50.pdb new file mode 100644 index 0000000..9b92a3e Binary files /dev/null and b/Lib/registry-3.1.3/source/windows/Debug/vc50.pdb differ diff --git a/Lib/registry-3.1.3/source/windows/Debug/vc60.idb b/Lib/registry-3.1.3/source/windows/Debug/vc60.idb new file mode 100644 index 0000000..7855028 Binary files /dev/null and b/Lib/registry-3.1.3/source/windows/Debug/vc60.idb differ diff --git a/Lib/registry-3.1.3/source/windows/Debug/vc60.pdb b/Lib/registry-3.1.3/source/windows/Debug/vc60.pdb new file mode 100644 index 0000000..fe3832a Binary files /dev/null and b/Lib/registry-3.1.3/source/windows/Debug/vc60.pdb differ diff --git a/Lib/registry-3.1.3/source/windows/RegistryKey.c b/Lib/registry-3.1.3/source/windows/RegistryKey.c new file mode 100644 index 0000000..f7e29d2 --- /dev/null +++ b/Lib/registry-3.1.3/source/windows/RegistryKey.c @@ -0,0 +1,2086 @@ +/* +** Java native interface to the Windows Registry API. +** +** Authored by Timothy Gerard Endres +** +** +** This work has been placed into the public domain. +** You may use this work in any way and for any purpose you wish. +** +** THIS SOFTWARE IS PROVIDED AS-IS WITHOUT WARRANTY OF ANY KIND, +** NOT EVEN THE IMPLIED WARRANTY OF MERCHANTABILITY. THE AUTHOR +** OF THIS SOFTWARE, ASSUMES _NO_ RESPONSIBILITY FOR ANY +** CONSEQUENCE RESULTING FROM THE USE, MODIFICATION, OR +** REDISTRIBUTION OF THIS SOFTWARE. +** +** Release 3.1.3 +** +*/ + +#include "RegistryKey.h" + +#include +#include +#include +#include +#include + +#include "RegistryKeyProto.h" + + +JNIEXPORT jobject JNICALL +Java_com_ice_jni_registry_RegistryKey_connectRegistry + ( JNIEnv *env, jobject rkObject, jstring jHostName ) + { + LONG regErr; + HKEY hKey; + HKEY remoteKey; + jstring jKeyName; + char *hostName; + jobject result = NULL; + + hKey = getRegistryKey( env, rkObject ); + if ( isThrowing( env ) ) + return NULL; + + jKeyName = getRegistryKeyName( env, rkObject ); + if ( isThrowing( env ) ) + return NULL; + + hostName = jStringToNewAscii( env, jHostName ); + if ( hostName == NULL ) + { + throwOutOfMemoryError( env, "jStringToNewAscii(hostName)" ); + return NULL; + } + + regErr = + RegConnectRegistry + ( hostName, hKey, &remoteKey ); + + if ( regErr != ERROR_SUCCESS ) + { + result = NULL; + throwSpecificRegError + ( env, regErr, "RegConnectRegistry()", NULL, NULL ); + } + else + { + result = newRegistryKey + ( env, remoteKey, jKeyName, FALSE ); + } + + free( hostName ); + + return result; + } + +JNIEXPORT jobject JNICALL +Java_com_ice_jni_registry_RegistryKey_openSubKey + ( JNIEnv *env, jobject rkObject, + jstring subKeyString, jint jAccess ) + { + LONG regErr; + HKEY hKey; + HKEY hSubKey; + DWORD access = (DWORD)jAccess; + jstring keyName; + char *subKeyName; + jobject result = NULL; + + hKey = getRegistryKey( env, rkObject ); + if ( isThrowing( env ) ) + return NULL; + + subKeyName = jStringToNewAscii( env, subKeyString ); + if ( subKeyName == NULL ) + { + throwOutOfMemoryError( env, "jStringToNewAscii" ); + return NULL; + } + + access = + ((jAccess == 0) ? KEY_READ : + ((jAccess == 1) ? KEY_READ : + ((jAccess == 2) ? KEY_WRITE : + ((jAccess == 3) ? KEY_EXECUTE : + ((jAccess == 4) ? KEY_ALL_ACCESS : + KEY_READ + ))))); + + regErr = RegOpenKeyEx( hKey, subKeyName, 0, access, &hSubKey); + + if ( regErr != ERROR_SUCCESS ) + { + result = NULL; + throwSpecificRegError + ( env, regErr, "RegOpenKeyEx()", subKeyName, NULL ); + } + else + { + keyName = buildFullKeyName( env, rkObject, subKeyName ); + if ( isThrowing( env ) ) + result = NULL; + else + { + result = newRegistryKey + ( env, hSubKey, keyName, FALSE ); + } + } + + free( subKeyName ); + + return result; + } + +JNIEXPORT jobject JNICALL +Java_com_ice_jni_registry_RegistryKey_createSubKey + ( JNIEnv *env, jobject rkObject, jstring subKeyString, + jstring jClassName, jint jAccess ) + { + LONG regErr; + HKEY hKey; + HKEY hSubKey; + DWORD disposition; + DWORD access = (DWORD)jAccess; + jstring keyName; + char *className; + char *subKeyName; + jobject result = NULL; + + hKey = getRegistryKey( env, rkObject ); + if ( isThrowing( env ) ) + return NULL; + + subKeyName = jStringToNewAscii( env, subKeyString ); + if ( subKeyName == NULL ) + { + throwOutOfMemoryError( env, "jStringToNewAscii(subKeyName)" ); + return NULL; + } + + className = NULL; + if ( jClassName != NULL ) + className = jStringToNewAscii( env, jClassName ); + + if ( className == NULL ) + { + throwRegErrorException + ( env, ERROR_INVALID_PARAMETER, "null classname" ); + return NULL; + } + + access = + ((jAccess == 0) ? KEY_READ : + ((jAccess == 1) ? KEY_READ : + ((jAccess == 2) ? KEY_WRITE : + ((jAccess == 3) ? KEY_EXECUTE : + ((jAccess == 4) ? KEY_ALL_ACCESS : + KEY_READ + ))))); + + regErr = + RegCreateKeyEx + ( hKey, subKeyName, 0, className, + REG_OPTION_NON_VOLATILE, access, + NULL, &hSubKey, &disposition ); + + if ( regErr != ERROR_SUCCESS ) + { + throwRegErrorException( env, regErr, "RegCreateKeyEx()" ); + result = NULL; + } + else + { + keyName = buildFullKeyName( env, rkObject, subKeyName ); + if ( isThrowing( env ) ) + result = NULL; + else + { + result = + newRegistryKey + ( env, hSubKey, keyName, + (disposition == REG_CREATED_NEW_KEY) ); + } + } + + free( subKeyName ); + + return result; + } + +JNIEXPORT void JNICALL +Java_com_ice_jni_registry_RegistryKey_closeKey + ( JNIEnv *env, jobject rkObject ) + { + HKEY hKey; + LONG regErr; + + hKey = getRegistryKey( env, rkObject ); + if ( isThrowing( env ) ) + return; + + regErr = RegCloseKey( hKey ); + } + +JNIEXPORT void JNICALL +Java_com_ice_jni_registry_RegistryKey_deleteValue + ( JNIEnv *env, jobject rkObject, jstring valueName ) + { + HKEY hKey; + LONG regErr; + char *lpValueName; + + hKey = getRegistryKey( env, rkObject ); + if ( isThrowing( env ) ) + return; + + lpValueName = jStringToNewAscii( env, valueName ); + if ( lpValueName == NULL ) + { + throwOutOfMemoryError( env, "jStringToNewAscii" ); + return; + } + + regErr = RegDeleteValue( hKey, lpValueName ); + if ( regErr != ERROR_SUCCESS ) + { + throwSpecificRegError + ( env, regErr, "RegDeleteValue()", NULL, lpValueName ); + } + + free( lpValueName ); + } + +JNIEXPORT void JNICALL +Java_com_ice_jni_registry_RegistryKey_deleteSubKey + ( JNIEnv *env, jobject rkObject, jstring subKey ) + { + HKEY hKey; + LONG regErr; + char *lpSubKey; + + hKey = getRegistryKey( env, rkObject ); + if ( isThrowing( env ) ) + return; + + lpSubKey = jStringToNewAscii( env, subKey ); + if ( lpSubKey == NULL ) + { + throwOutOfMemoryError( env, "jStringToNewAscii" ); + return; + } + + regErr = RegDeleteKey( hKey, lpSubKey ); + if ( regErr != ERROR_SUCCESS ) + { + throwSpecificRegError + ( env, regErr, "RegDeleteKey()", lpSubKey, NULL ); + } + + free( lpSubKey ); + } + +JNIEXPORT void JNICALL +Java_com_ice_jni_registry_RegistryKey_flushKey + ( JNIEnv *env, jobject rkObject ) + { + HKEY hKey; + LONG regErr; + + hKey = getRegistryKey( env, rkObject ); + if ( isThrowing( env ) ) + return; + + regErr = RegFlushKey( hKey ); + if ( regErr != ERROR_SUCCESS ) + { + throwRegErrorException( env, regErr, "RegDeleteKey()" ); + } + } + +JNIEXPORT jstring JNICALL +Java_com_ice_jni_registry_RegistryKey_getStringValue + ( JNIEnv *env, jobject rkObject, jstring valueName ) + { + HKEY hKey; + LONG regErr; + LPBYTE szBuf; + LPTSTR asciiName; + jstring result = NULL; + LONG lBufSize = 0; + + hKey = getRegistryKey( env, rkObject ); + if ( isThrowing( env ) ) + return NULL; + + asciiName = jStringToNewAscii( env, valueName ); + if ( asciiName == NULL ) + { + throwOutOfMemoryError( env, "getting ascii valueName from Java string" ); + return NULL; + } + + regErr = + RegQueryValueEx + ( hKey, asciiName, NULL, NULL, NULL, &lBufSize ); + + if ( regErr != ERROR_SUCCESS && regErr != ERROR_MORE_DATA ) + { + throwSpecificRegError + ( env, regErr, "RegQueryValueEx()", NULL, asciiName ); + free( asciiName ); + return NULL; + } + + szBuf = malloc( lBufSize + 8 ); + if ( szBuf == NULL ) + { + throwOutOfMemoryError( env, "allocating string buffer" ); + free( asciiName ); + return NULL; + } + + regErr = + RegQueryValueEx + ( hKey, asciiName, NULL, NULL, szBuf, &lBufSize ); + + if ( regErr != ERROR_SUCCESS ) + { + result = NULL; + throwSpecificRegError + ( env, regErr, "RegQueryValueEx()", NULL, asciiName ); + } + else + { + result = asciiToJString( env, szBuf ); + } + + free( szBuf ); + free( asciiName ); + + return result; + } + +JNIEXPORT jstring JNICALL +Java_com_ice_jni_registry_RegistryKey_getDefaultValue + ( JNIEnv *env, jobject rkObject ) + { + HKEY hKey; + LONG regErr; + LONG lBufSize; + LPBYTE lpBuffer; + jstring result = NULL; + + hKey = getRegistryKey( env, rkObject ); + if ( isThrowing( env ) ) + return NULL; + + regErr = + RegQueryValueEx + ( hKey, NULL, NULL, NULL, NULL, &lBufSize); + + if ( regErr != ERROR_SUCCESS && regErr != ERROR_MORE_DATA ) + { + throwSpecificRegError + ( env, regErr, "RegQueryValueEx()", NULL, "(default)" ); + return NULL; + } + + lpBuffer = malloc( lBufSize + 8 ); + + regErr = + RegQueryValueEx + ( hKey, NULL, NULL, NULL, lpBuffer, &lBufSize); + + if ( regErr != ERROR_SUCCESS ) + { + throwSpecificRegError + ( env, regErr, "RegQueryValueEx()", NULL, "(default)" ); + return NULL; + } + + result = asciiToJString( env, lpBuffer ); + if ( result == NULL ) + { + throwOutOfMemoryError( env, "allocating Java string" ); + } + + return result; + } + +JNIEXPORT jboolean JNICALL +Java_com_ice_jni_registry_RegistryKey_hasDefaultValue + ( JNIEnv *env, jobject rkObject ) + { + HKEY hKey; + LONG regErr; + LONG lBufSize = 0; + jboolean result = JNI_FALSE; + + hKey = getRegistryKey( env, rkObject ); + if ( isThrowing( env ) ) + return JNI_FALSE; + + regErr = + RegQueryValueEx + ( hKey, NULL, NULL, NULL, NULL, &lBufSize ); + + if ( regErr != ERROR_SUCCESS ) + { + result = JNI_FALSE; + throwSpecificRegError + ( env, regErr, "RegQueryValueEx()", NULL, "(default)" ); + } + else if ( lBufSize > 1 ) + { + result = JNI_TRUE; + } + + return result; + } + +JNIEXPORT jboolean JNICALL +Java_com_ice_jni_registry_RegistryKey_hasOnlyDefaultValue + ( JNIEnv *env, jobject rkObject ) + { + HKEY hKey; + LONG regErr; + DWORD dwNumValues = 0 ; + + hKey = getRegistryKey( env, rkObject ); + if ( isThrowing( env ) ) + return JNI_FALSE; + + regErr = + RegQueryInfoKey( + hKey, NULL, NULL, NULL, NULL, NULL, NULL, + &dwNumValues, NULL, NULL, NULL, NULL ); + + if ( regErr != ERROR_SUCCESS ) + { + throwSpecificRegError + ( env, regErr, "RegQueryInfoKey()", "(default)", NULL ); + return JNI_FALSE; + } + + if ( dwNumValues != 1 ) + return JNI_FALSE; + + return + Java_com_ice_jni_registry_RegistryKey_hasDefaultValue + ( env, rkObject ); + } + +JNIEXPORT void JNICALL +Java_com_ice_jni_registry_RegistryKey_setValue + ( JNIEnv *env, jobject rkObject, + jstring valueName, jobject valueObject ) + { + HKEY hKey; + DWORD dwType; + char *asciiName; + jboolean result = JNI_FALSE; + + hKey = getRegistryKey( env, rkObject ); + if ( isThrowing( env ) ) + return; + + dwType = getRegistryValueType( env, valueObject ); + if ( isThrowing( env ) ) + return; + + if ( dwType < REG_NONE + || dwType > REG_RESOURCE_REQUIREMENTS_LIST ) + { + throwRegErrorException + ( env, ERROR_INVALID_PARAMETER, "RegistryValue.type" ); + return; + } + + asciiName = jStringToNewAscii( env, valueName ); + if ( asciiName != NULL ) + { + setKeyValue + ( env, hKey, asciiName, dwType, valueObject ); + free( asciiName ); + } + + return; + } + +JNIEXPORT jint JNICALL +Java_com_ice_jni_registry_RegistryKey_getNumberSubkeys + ( JNIEnv *env, jobject rkObject ) + { + HKEY hKey; + LONG regErr; + jint result = 0; + DWORD dwNumSubkeys; + + hKey = getRegistryKey( env, rkObject ); + if ( isThrowing( env ) ) + return 0; + + regErr = + RegQueryInfoKey( + hKey, NULL, NULL, NULL, &dwNumSubkeys, + NULL, NULL, NULL, NULL, NULL, NULL, NULL ); + + if ( regErr != ERROR_SUCCESS ) + { + throwRegErrorException( env, regErr, "RegQueryInfoKey()" ); + return 0; + } + + return (jint) dwNumSubkeys; + } + +JNIEXPORT jint JNICALL +Java_com_ice_jni_registry_RegistryKey_getMaxSubkeyLength + ( JNIEnv *env, jobject rkObject ) + { + HKEY hKey; + LONG regErr; + jint result = 0; + DWORD dwMaxSubkeyLength; + + hKey = getRegistryKey( env, rkObject ); + if ( isThrowing( env ) ) + return 0; + + regErr = maxSubKeyLength( hKey, &dwMaxSubkeyLength ); + + if ( regErr != ERROR_SUCCESS ) + { + throwRegErrorException( env, regErr, "RegQueryInfoKey()" ); + return 0; + } + + return (jint)dwMaxSubkeyLength; + } + +JNIEXPORT jstring JNICALL +Java_com_ice_jni_registry_RegistryKey_regEnumKey + ( JNIEnv *env, jobject rkObject, jint index ) + { + HKEY hKey; + LONG regErr; + LPTSTR keyBuf; + FILETIME lastTime; + DWORD dwIndex = (DWORD) index; + DWORD dwKeyBufSize, maxLen; + jstring result = NULL; + + hKey = getRegistryKey( env, rkObject ); + if ( isThrowing( env ) ) + return NULL; + + regErr = maxSubKeyLength( hKey, &maxLen ); + if ( regErr != ERROR_SUCCESS ) + { + throwRegErrorException( env, regErr, "RegQueryInfoKey()" ); + return NULL; + } + + dwKeyBufSize = maxLen + 2; + keyBuf = malloc( dwKeyBufSize ); + if ( keyBuf == NULL ) + { + throwOutOfMemoryError( env, "allocating key name buffer" ); + return NULL; + } + + regErr = + RegEnumKeyEx + ( hKey, dwIndex, keyBuf, &dwKeyBufSize, + NULL, NULL, NULL, &lastTime ); + + if ( regErr != ERROR_SUCCESS ) + { + throwRegErrorException( env, regErr, "RegEnumKeyEx()" ); + return NULL; + } + + result = asciiToJString( env, keyBuf ); + + free( keyBuf ); + + return result; + } + +JNIEXPORT jstring JNICALL +Java_com_ice_jni_registry_RegistryKey_regEnumValue + ( JNIEnv *env, jobject rkObject, jint index ) + { + HKEY hKey; + jstring result = NULL; + LONG regErr; + char *nameBuf; + DWORD dwNameBufSize, maxLen; + DWORD dwIndex = (DWORD)index; + + hKey = getRegistryKey( env, rkObject ); + if ( isThrowing( env ) ) + return NULL; + + regErr = maxValueNameLength( hKey, &maxLen ); + if ( regErr != ERROR_SUCCESS ) + { + throwRegErrorException( env, regErr, "RegQueryInfoKey()" ); + return NULL; + } + + dwNameBufSize = maxLen + 2; + nameBuf = malloc( dwNameBufSize ); + if ( nameBuf == NULL ) + { + throwOutOfMemoryError( env, "allocating value name buffer" ); + return NULL; + } + + regErr = + RegEnumValue + ( hKey, dwIndex, nameBuf, &dwNameBufSize, + NULL, NULL, NULL, NULL ); + + if ( regErr != ERROR_SUCCESS ) + { + throwRegErrorException( env, regErr, "RegEnumValue()" ); + return NULL; + } + + result = asciiToJString( env, nameBuf ); + + free( nameBuf ); + + return result; + } + +JNIEXPORT jint JNICALL +Java_com_ice_jni_registry_RegistryKey_getNumberValues + ( JNIEnv *env, jobject rkObject ) + { + HKEY hKey; + LONG regErr; + DWORD dwNumValues; + + hKey = getRegistryKey( env, rkObject ); + if ( isThrowing( env ) ) + return 0; + + regErr = + RegQueryInfoKey( + hKey, NULL, NULL, NULL, NULL, NULL, + NULL, &dwNumValues, NULL, NULL, NULL, NULL ); + + if ( regErr != ERROR_SUCCESS ) + { + throwRegErrorException( env, regErr, "RegQueryInfoKey()" ); + return 0; + } + + return (jint) dwNumValues; + } + +JNIEXPORT jint JNICALL +Java_com_ice_jni_registry_RegistryKey_getMaxValueDataLength + ( JNIEnv *env, jobject rkObject ) + { + HKEY hKey; + LONG regErr; + DWORD dwValueLen; + + hKey = getRegistryKey( env, rkObject ); + if ( isThrowing( env ) ) + return 0; + + regErr = + RegQueryInfoKey( + hKey, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, &dwValueLen, NULL, NULL); + + if ( regErr != ERROR_SUCCESS ) + { + throwRegErrorException( env, regErr, "RegQueryInfoKey()" ); + return 0; + } + + return (jint) dwValueLen; + } + +JNIEXPORT jint JNICALL +Java_com_ice_jni_registry_RegistryKey_getMaxValueNameLength + ( JNIEnv *env, jobject rkObject ) + { + HKEY hKey; + LONG regErr; + DWORD dwNameLen; + + hKey = getRegistryKey( env, rkObject ); + if ( isThrowing( env ) ) + return 0; + + regErr = + RegQueryInfoKey( + hKey, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, &dwNameLen, NULL, NULL, NULL); + + if ( regErr != ERROR_SUCCESS ) + { + throwRegErrorException( env, regErr, "RegQueryInfoKey()" ); + return 0; + } + + return (jint) dwNameLen; + } + +JNIEXPORT jint JNICALL +Java_com_ice_jni_registry_RegistryKey_incrDoubleWord + ( JNIEnv *env, jobject rkObject, jstring valueName ) + { + HKEY hKey; + LONG regErr; + jint result = 0; + char *lpValueName; + DWORD dw = 0; + DWORD size = sizeof(dw); + DWORD type = REG_DWORD; + + hKey = getRegistryKey( env, rkObject ); + if ( isThrowing( env ) ) + return 0; + + lpValueName = jStringToNewAscii( env, valueName ); + if ( lpValueName == NULL ) + { + throwOutOfMemoryError + ( env, "allocating valueName ascii string" ); + return 0; + } + + regErr = + RegQueryValueEx + ( hKey, lpValueName, 0, &type, (LPBYTE)&dw, &size ); + + if ( regErr != ERROR_SUCCESS ) + { + throwSpecificRegError + ( env, regErr, "RegQueryValueEx()", NULL, lpValueName ); + free( lpValueName ); + return 0; + } + + // reinitialize dw if is not REG_DWORD or buffer_overflow + if ( type != REG_DWORD ) + dw = 0; + + dw++; + + regErr = + RegSetValueEx + ( hKey, lpValueName, 0, + REG_DWORD, (LPBYTE)&dw, size ); + + if ( regErr != ERROR_SUCCESS ) + { + throwSpecificRegError + ( env, regErr, "RegSetValueEx()", NULL, lpValueName ); + dw = 0; + } + + free( lpValueName ); + + return (jint) dw; + } + +JNIEXPORT jint JNICALL +Java_com_ice_jni_registry_RegistryKey_decrDoubleWord + ( JNIEnv *env, jobject rkObject, jstring valueName ) + { + HKEY hKey; + LONG regErr; + jint result = 0; + char *lpValueName; + DWORD dw = 0; + DWORD size = sizeof(dw); + DWORD type = REG_DWORD; + + hKey = getRegistryKey( env, rkObject ); + if ( isThrowing( env ) ) + return 0; + + lpValueName = jStringToNewAscii( env, valueName ); + if ( lpValueName == NULL ) + { + throwOutOfMemoryError( env, "allocating valueName ascii string" ); + return 0; + } + + regErr = + RegQueryValueEx + ( hKey, lpValueName, 0, + &type, (LPBYTE)&dw, &size ); + + if ( regErr != ERROR_SUCCESS ) + { + throwSpecificRegError + ( env, regErr, "RegQueryValueEx()", NULL, lpValueName ); + free( lpValueName ); + return 0; + } + + if ( type != REG_DWORD ) + dw = 0; + + dw--; + + regErr = + RegSetValueEx + ( hKey, lpValueName, 0, + REG_DWORD, (LPBYTE)&dw, size ); + + if ( regErr != ERROR_SUCCESS ) + { + throwSpecificRegError + ( env, regErr, "RegSetValueEx()", NULL, lpValueName ); + dw = 0; + } + + free( lpValueName ); + + return (jint) dw; + } + +JNIEXPORT jobject JNICALL +Java_com_ice_jni_registry_RegistryKey_getValue + ( JNIEnv *env, jobject rkObject, jstring valueName ) + { + HKEY hKey; + LONG regErr; + jclass valClass; + jarray binData; + jarray stringArray; + jstring dataString; + jmethodID methodID; + jobject newValue; + jobject result = NULL; + char *lpValueName; + char *className; + char *methodSignature; + DWORD type, dwDataSize; + DWORD dwValue; + + hKey = getRegistryKey( env, rkObject ); + if ( isThrowing( env ) ) + return NULL; + + lpValueName = jStringToNewAscii( env, valueName ); + if ( lpValueName == NULL ) + { + throwOutOfMemoryError( env, "allocating valueName ascii string" ); + return NULL; + } + + regErr = + RegQueryValueEx + ( hKey, lpValueName, 0, &type, NULL, &dwDataSize ); + + if ( regErr != ERROR_SUCCESS ) + { + throwSpecificRegError + ( env, regErr, "RegQueryValueEx()", NULL, lpValueName ); + free( lpValueName ); + return NULL; + } + + className = "CLASS_WAS_NEVER_SET"; + methodSignature = "METHOD_SIGNATURE_WAS_NOT_SET"; + switch ( type ) + { + case REG_SZ: + case REG_EXPAND_SZ: + className = "com/ice/jni/registry/RegStringValue"; + methodSignature = "(Ljava/lang/String;)V"; + break; + + case REG_MULTI_SZ: + className = "com/ice/jni/registry/RegMultiStringValue"; + methodSignature = "([Ljava/lang/String;)V"; + break; + + case REG_DWORD: + case REG_DWORD_BIG_ENDIAN: + className = "com/ice/jni/registry/RegDWordValue"; + methodSignature = "(I)V"; + break; + + case REG_BINARY: + className = "com/ice/jni/registry/RegBinaryValue"; + methodSignature = "([B)V"; + break; + } + + valClass = (*env)->FindClass( env, className ); + + if ( valClass == NULL ) + { + throwNoClassDefError( env, className ); + return NULL; + } + + methodID = + (*env)->GetMethodID + ( env, valClass, "setData", methodSignature ); + + if ( methodID == NULL ) + { + throwNoSuchMethodError + ( env, className, "setData", methodSignature ); + return NULL; + } + + newValue = + newRegistryValue + ( env, rkObject, valueName, className, (jint)type ); + + if ( isThrowing( env ) ) + return NULL; + + switch ( type ) + { + case REG_MULTI_SZ: + stringArray = + getMultiStringValueData( env, hKey, lpValueName ); + + if ( isThrowing( env ) ) + return NULL; + + (*env)->CallVoidMethod + ( env, newValue, methodID, stringArray ); + break; + + case REG_SZ: + case REG_EXPAND_SZ: + dataString = + getStringValueData( env, hKey, lpValueName ); + + if ( isThrowing( env ) ) + return NULL; + + (*env)->CallVoidMethod + ( env, newValue, methodID, dataString ); + break; + + case REG_DWORD: + // UNDONE - Do we need to deal with BIG_ENDIAN? + dwValue = getDWordValueData( env, hKey, lpValueName ); + + if ( isThrowing( env ) ) + return NULL; + + (*env)->CallVoidMethod + ( env, newValue, methodID, (jint)dwValue ); + break; + + case REG_BINARY: + binData = getBinaryValueData( env, hKey, lpValueName ); + + if ( isThrowing( env ) ) + return NULL; + + (*env)->CallVoidMethod + ( env, newValue, methodID, binData ); + break; + } + + return newValue; + } + +JNIEXPORT jstring JNICALL +Java_com_ice_jni_registry_RegistryKey_expandEnvStrings + ( JNIEnv *env, jclass rkClass, jstring jExpandStr ) + { + DWORD expLen; + LPTSTR lpExpandStr; + LPTSTR lpExpandResult; + jstring result = NULL; + char countBuf[8]; + + lpExpandStr = jStringToNewAscii( env, jExpandStr ); + if ( lpExpandStr == NULL ) + { + throwOutOfMemoryError( env, "ascii-ifying expand string" ); + return NULL; + } + + expLen = ExpandEnvironmentStrings + ( lpExpandStr, countBuf, 1 ); + + lpExpandResult = malloc( expLen + 8 ); + if ( lpExpandResult == NULL ) + { + throwOutOfMemoryError( env, "allocating expand result" ); + return NULL; + } + + expLen = ExpandEnvironmentStrings + ( lpExpandStr, lpExpandResult, expLen ); + + result = strbufToJString( env, lpExpandResult, (int)expLen ); + + free( lpExpandResult ); + + if ( result == NULL ) + { + throwOutOfMemoryError( env, "allocating jstring result" ); + return NULL; + } + + return result; + } + +HKEY +getRegistryKey( JNIEnv *env, jobject rkObject ) + { + jclass rkClass; + jfieldID jfid; + jint jHKey; + + rkClass = (*env)->GetObjectClass( env, rkObject ); + if ( rkClass == NULL ) + { + throwNoClassDefError( env, "RegistryKey" ); + return 0; + } + + jfid = (*env)->GetFieldID( env, rkClass, "hKey", "I" ); + if ( jfid == 0 ) + { + throwNoSuchFieldError( env, "hKey" ); + return 0; + } + + jHKey = (*env)->GetIntField( env, rkObject, jfid ); + + return (HKEY) jHKey; + } + +jstring +getRegistryKeyName( JNIEnv *env, jobject rkObject ) + { + jfieldID jfid; + jstring jName; + jclass rkClass; + + rkClass = (*env)->GetObjectClass( env, rkObject ); + if ( rkClass == NULL ) + { + throwNoClassDefError( env, "RegistryKey" ); + return NULL; + } + + jfid = + (*env)->GetFieldID + ( env, rkClass, "name", "Ljava/lang/String;" ); + + if ( jfid == 0 ) + { + throwNoSuchFieldError( env, "name" ); + return NULL; + } + + jName = (*env)->GetObjectField( env, rkObject, jfid ); + if ( jName == NULL ) + { + throwOutOfMemoryError( env, "GetObjectField(name)" ); + return NULL; + } + + return jName; + } + +jstring +buildFullKeyName( JNIEnv *env, jobject rkObject, char *subKeyName ) + { + jstring jName; + int dataLen; + jstring result = NULL; + char *namePtr = NULL; + char *newNamePtr = NULL; + + jName = getRegistryKeyName( env, rkObject ); + if ( isThrowing( env ) ) + return NULL; + + namePtr = jStringToNewAscii( env, jName ); + if ( namePtr == NULL ) + { + throwOutOfMemoryError( env, "jStringToNewAscii(name)" ); + return NULL; + } + + dataLen = strlen( namePtr ) + strlen( subKeyName ) + 2; + + newNamePtr = malloc( dataLen ); + if ( newNamePtr == NULL ) + { + throwOutOfMemoryError( env, "malloc(newNamePtr)" ); + } + else + { + sprintf( newNamePtr, "%s\\%s", namePtr, subKeyName ); + result = asciiToJString( env, newNamePtr ); + } + + free( namePtr ); + free( newNamePtr ); + + return result; + } + +DWORD +getRegistryValueType( JNIEnv *env, jobject valueObject ) + { + jfieldID jfid; + jint jType; + jclass valClass; + + valClass = (*env)->GetObjectClass( env, valueObject ); + if ( valClass == NULL ) + { + throwNoClassDefError( env, "RegistryValue" ); + return JNI_FALSE; + } + + jfid = (*env)->GetFieldID( env, valClass, "type", "I" ); + if ( jfid == 0 ) + { + throwNoSuchFieldError( env, "type" ); + return JNI_FALSE; + } + + jType = (*env)->GetIntField( env, valueObject, jfid ); + + return (int) jType; + } + + +void +setKeyValue( + JNIEnv *env, HKEY hKey, char *valueName, + DWORD dwType, jobject valObject ) + { + int i; + LONG regErr; + DWORD dataLen; + DWORD dwValue; + LPBYTE ptr; + LPBYTE dataPtr; + jint jIntVal, numStr, sLen; + jboolean isCopied; + jclass valClass; + jstring jStr; + jfieldID jfid; + jarray jBinArray, jStrArray; + jarray freeArray = NULL; + LPBYTE freePtr = NULL; + char emptyBuf[4]; + + valClass = (*env)->GetObjectClass( env, valObject ); + if ( valClass == NULL ) + { + throwNoClassDefError + ( env, "setKeyValue: getting RegistryValue class" ); + return; + } + + switch ( dwType ) + { + case REG_SZ: + case REG_EXPAND_SZ: + jfid = (*env)->GetFieldID + ( env, valClass, "data", "Ljava/lang/String;" ); + + if ( jfid == 0 ) + { + throwNoSuchFieldError( env, "setKeyValue: String data" ); + return; + } + + jStr = (*env)->GetObjectField( env, valObject, jfid ); + if ( jStr == NULL ) + { + throwOutOfMemoryError( env, "GetObjectField(data)" ); + return; + } + + dataPtr = freePtr = jStringToNewAscii( env, jStr ); + if ( dataPtr == NULL ) + { + throwOutOfMemoryError + ( env, "setKeyValue: jStringToNewAscii" ); + return; + } + dataLen = strlen( dataPtr ) + 1; + break; + + case REG_MULTI_SZ: + jfid = (*env)->GetFieldID + ( env, valClass, "data", "[Ljava/lang/String;" ); + + if ( jfid == 0 ) + { + throwNoSuchFieldError( env, "setKeyValue: String[] data" ); + return; + } + + jStrArray = (jarray) + (*env)->GetObjectField( env, valObject, jfid ); + + if ( jStrArray == NULL ) + { + throwOutOfMemoryError( env, "GetObjectField(data)" ); + return; + } + + numStr = (*env)->GetArrayLength( env, jStrArray ); + for ( dataLen = 0, i = 0 ; i < numStr ; ++i ) + { + jStr = (jstring) + (*env)->GetObjectArrayElement + ( env, jStrArray, i ); + + sLen = (*env)->GetStringLength( env, jStr ); + dataLen += sLen + 1; + } + + dataLen++; // remember double null to terminate array... + + dataPtr = freePtr = malloc( dataLen + 32 ); + if ( dataPtr == NULL ) + { + throwOutOfMemoryError( env, "setKeyValue: dataPtr" ); + return; + } + + for ( ptr = dataPtr, i = 0 ; i < numStr ; ++i ) + { + jStr = (jstring) + (*env)->GetObjectArrayElement + ( env, jStrArray, i ); + + if ( jStr == NULL ) + { + sLen = 0; + } + else + { + sLen = (*env)->GetStringLength( env, jStr ); + jStringToAscii( env, jStr, ptr, (sLen + 1) ); + } + + ptr += sLen; + *ptr++ = '\0'; + } + + *ptr++ = '\0'; // remember double null to terminate... + break; + + case REG_DWORD: + case REG_DWORD_BIG_ENDIAN: + jfid = (*env)->GetFieldID( env, valClass, "data", "I" ); + if ( jfid == 0 ) + { + throwNoSuchFieldError( env, "setKeyValue: int data" ); + return; + } + + jIntVal = (*env)->GetIntField( env, valObject, jfid ); + + dwValue = (DWORD)jIntVal; + dataPtr = (LPBYTE) &dwValue; + dataLen = sizeof( dwValue ); + break; + + case REG_BINARY: + jfid = (*env)->GetFieldID( env, valClass, "data", "[B" ); + if ( jfid == 0 ) + { + throwNoSuchFieldError( env, "setKeyValue: byte[] data" ); + return; + } + + jBinArray = (jarray) + (*env)->GetObjectField( env, valObject, jfid ); + + if ( jBinArray == NULL ) + { + dataLen = 0; + dataPtr = emptyBuf; + } + else + { + freeArray = jBinArray; + dataLen = (*env)->GetArrayLength( env, jBinArray ); + dataPtr = (LPBYTE) + (*env)->GetByteArrayElements + ( env, jBinArray, &isCopied ); + + if ( dataPtr == NULL ) + { + throwOutOfMemoryError + ( env, "setKeyValue: GetByteArrayElements" ); + return; + } + } + break; + } + + regErr = + RegSetValueEx + ( hKey, valueName, 0, dwType, dataPtr, dataLen ); + + if ( freePtr != NULL ) + free( freePtr ); + + if ( freeArray != NULL ) + (*env)->ReleaseByteArrayElements + ( env, freeArray, dataPtr, JNI_ABORT ); + + if ( regErr != ERROR_SUCCESS ) + { + throwSpecificRegError + ( env, regErr, "RegSetValueEx()", NULL, NULL ); + } + } + +BOOL +RegIsHKeyRemote( HKEY hKey ) + { + DWORD dw = (DWORD)hKey; + + if ( (hKey >= HKEY_CLASSES_ROOT) + && (hKey <= HKEY_DYN_DATA) ) + { + return FALSE; // local + } + + return ( ( (~dw) & 1 ) == 0 ); + } + +LONG +maxSubKeyLength( HKEY hKey, DWORD *pdwSubkeyLen ) + { + LONG regErr; + + regErr = + RegQueryInfoKey( + hKey, NULL, NULL, NULL, NULL, + pdwSubkeyLen, NULL, NULL, NULL, + NULL, NULL, NULL ); + + // NOTE + // This algorithm is due to a bug related to remote + // registries in Win95. This fix comes from pp 129-130 + // in the "Inside The Windows 95 Registry" book from + // O'Reilly & Assocvates, First Edition. + // + if ( regErr == ERROR_SUCCESS && RegIsHKeyRemote( hKey ) ) + { + *pdwSubkeyLen = (*pdwSubkeyLen * 2) + 2; + } + + return regErr; + } + +LONG +maxValueNameLength( HKEY hKey, DWORD *pdwNameLen ) + { + LONG regErr; + + regErr = + RegQueryInfoKey( + hKey, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, pdwNameLen, NULL, NULL, NULL ); + + // REVIEW Where does this algorithm come from? + if ( regErr == ERROR_SUCCESS && RegIsHKeyRemote( hKey ) ) + { + *pdwNameLen = (*pdwNameLen * 2) + 2; + } + + return regErr; + } + +DWORD +getDWordValueData( JNIEnv *env, HKEY hKey, char *valueName ) + { + LONG regErr; + DWORD dwType; + DWORD dwValue = 0; + DWORD dwBufSize = sizeof(dwValue); + + regErr = + RegQueryValueEx + ( hKey, valueName, NULL, &dwType, (LPBYTE)&dwValue, &dwBufSize ); + + if ( regErr != ERROR_SUCCESS ) + { + throwSpecificRegError + ( env, regErr, "RegQueryValueEx()", NULL, valueName ); + return 0; + } + + if ( dwType != REG_DWORD || dwType == REG_DWORD_BIG_ENDIAN ) + { + throwRegErrorException + ( env, ERROR_INVALID_PARAMETER, "type is not REG_DWORD" ); + return 0; + } + + return dwValue; + } + +jarray +getMultiStringValueData( JNIEnv *env, HKEY hKey, char *valueName ) + { + jarray result; + int i, start, sLen, count, cnt; + LONG regErr; + char *strData; + char *className; + jstring jStr; + jclass strClass; + DWORD dwType; + DWORD dwBufSize = 0; + + regErr = + RegQueryValueEx + ( hKey, valueName, NULL, &dwType, NULL, &dwBufSize ); + + if ( regErr != ERROR_SUCCESS ) + { + throwSpecificRegError + ( env, regErr, "RegQueryValueEx()", NULL, valueName ); + return NULL; + } + + if ( dwType != REG_MULTI_SZ ) + { + throwRegErrorException + ( env, ERROR_INVALID_PARAMETER, "type is not REG_MULTI_SZ" ); + return NULL; + } + + strData = malloc( dwBufSize + 8 ); + if ( strData == NULL ) + { + throwOutOfMemoryError + ( env, "setKeyValue: getMultiStringValueData: strData" ); + return NULL; + } + + regErr = + RegQueryValueEx + ( hKey, valueName, NULL, &dwType, strData, &dwBufSize ); + + if ( regErr != ERROR_SUCCESS ) + { + throwSpecificRegError + ( env, regErr, "RegQueryValueEx()", NULL, valueName ); + free( strData ); + return NULL; + } + + for ( count = 0, i = 0 ; i < (int)dwBufSize ; ++i ) + { + if ( strData[i] == '\0' ) + { + ++count; + if ( strData[ i + 1 ] == '\0' ) + break; + } + } + + className = "java/lang/String"; + strClass = (*env)->FindClass( env, className ); + if ( strClass == NULL ) + { + throwNoClassDefError( env, className ); + return NULL; + } + + result = + (*env)->NewObjectArray + ( env, (jsize)count, strClass, NULL ); + + if ( result == NULL ) + { + throwOutOfMemoryError + ( env, "getMultiStringValueData: NewObjectArray" ); + return NULL; + } + + for ( cnt = 0, start = 0, i = 0 + ; i < (int)dwBufSize && cnt < count ; ++i ) + { + if ( strData[i] == '\0' ) + { + sLen = (i - start); + + jStr = strbufToJString( env, &strData[start], sLen ); + if ( jStr == NULL ) + { + throwOutOfMemoryError + ( env, "getMultiStringValueData: strbufToJString" ); + return NULL; + } + + (*env)->SetObjectArrayElement + ( env, result, (jsize)cnt++, jStr ); + + start = i + 1; + if ( strData[ start ] == '\0' ) + break; + } + } + + return result; + } + +jstring +getStringValueData( JNIEnv *env, HKEY hKey, char *valueName ) + { + DWORD i; + LONG regErr; + char *strData; + jchar *uniBuf; + jstring result = NULL; + DWORD dwType; + DWORD dwBufSize = 0; + + regErr = + RegQueryValueEx + ( hKey, valueName, NULL, &dwType, NULL, &dwBufSize ); + + if ( regErr != ERROR_SUCCESS ) + { + throwSpecificRegError + ( env, regErr, "RegQueryValueEx()", NULL, valueName ); + return NULL; + } + + if ( dwType != REG_SZ || dwType == REG_EXPAND_SZ ) + { + throwRegErrorException + ( env, ERROR_INVALID_PARAMETER, "type is not REG_SZ" ); + return NULL; + } + + strData = malloc( dwBufSize + 8 ); + if ( strData == NULL ) + { + throwOutOfMemoryError + ( env, "getStringValueData: strData" ); + return NULL; + } + + regErr = + RegQueryValueEx + ( hKey, valueName, NULL, &dwType, strData, &dwBufSize ); + + if ( regErr != ERROR_SUCCESS ) + { + throwSpecificRegError + ( env, regErr, "RegQueryValueEx()", NULL, valueName ); + free( strData ); + return NULL; + } + + uniBuf = (jchar *) + malloc( sizeof(jchar) * (dwBufSize + 2) ); + + if ( uniBuf == NULL ) + { + throwOutOfMemoryError + ( env, "getStringValueData: uniBuf" ); + return NULL; + } + + --dwBufSize; + for ( i = 0 ; i < dwBufSize ; ++i ) + uniBuf[i] = (jchar) strData[i]; + + result = + (*env)->NewString + ( env, uniBuf, (jsize)dwBufSize ); + + free( uniBuf ); + + return result; + } + +jarray +getBinaryValueData( JNIEnv *env, HKEY hKey, char *valueName ) + { + LONG regErr; + char *regData; + jstring result = NULL; + DWORD dwType; + DWORD dwBufSize = 0; + jarray binBytes = NULL; + + regErr = + RegQueryValueEx + ( hKey, valueName, NULL, &dwType, NULL, &dwBufSize ); + + if ( regErr != ERROR_SUCCESS ) + { + throwSpecificRegError + ( env, regErr, "RegQueryValueEx()", NULL, valueName ); + return NULL; + } + + if ( dwType != REG_BINARY ) + { + throwRegErrorException + ( env, ERROR_INVALID_PARAMETER, "type is not REG_BINARY" ); + return NULL; + } + + regData = malloc( dwBufSize + 8 ); + if ( regData == NULL ) + { + throwOutOfMemoryError + ( env, "getBinaryValueData: regData" ); + return NULL; + } + + regErr = + RegQueryValueEx + ( hKey, valueName, NULL, &dwType, regData, &dwBufSize ); + + if ( regErr != ERROR_SUCCESS ) + { + throwSpecificRegError + ( env, regErr, "RegQueryValueEx()", NULL, valueName ); + free( regData ); + return NULL; + } + + binBytes = (*env)->NewByteArray( env, (jsize)dwBufSize ); + if ( regData == NULL ) + { + throwOutOfMemoryError + ( env, "getBinaryValueData: binBytes" ); + return NULL; + } + + (*env)->SetByteArrayRegion + ( env, binBytes, 0, (jsize)dwBufSize, regData ); + + return binBytes; + } + +jstring +asciiToJString( JNIEnv *env, char *asciiStr ) + { + return strbufToJString( env, asciiStr, strlen(asciiStr) ); + } + +jstring +strbufToJString( JNIEnv *env, char *buf, int len ) + { + int i; + jchar *uniBuf; + jstring result = NULL; + + uniBuf = (jchar *) + malloc( sizeof(jchar) * (len + 1) ); + + if ( uniBuf != NULL ) + { + for ( i = 0 ; i < len ; ++i ) + uniBuf[i] = (jchar) buf[i]; + + result = (*env)->NewString( env, uniBuf, (jsize)len ); + + free( uniBuf ); + } + + return result; + } + +char * +jStringToNewAscii( JNIEnv *env, jstring jStr ) + { + int i; + int utfLen; + jboolean isCopy; + char *asciiBuf; + const char *utfBuf; + + utfLen = (*env)->GetStringUTFLength( env, jStr ); + utfBuf = (*env)->GetStringUTFChars( env, jStr, &isCopy ); + + asciiBuf = malloc( utfLen + 2 ); + if ( asciiBuf != NULL ) + { + for ( i = 0 ; i < utfLen ; ++i ) + asciiBuf[i] = utfBuf[i]; + + asciiBuf[i] = '\0'; + + (*env)->ReleaseStringUTFChars( env, jStr, utfBuf ); + } + + return asciiBuf; + } + +void +jStringToAscii + ( JNIEnv *env, jstring jStr, char *asciiBuf, int asciiLen ) + { + int i; + int utfLen; + jboolean isCopy; + const char *utfBuf; + + utfLen = (*env)->GetStringUTFLength( env, jStr ); + utfBuf = (*env)->GetStringUTFChars( env, jStr, &isCopy ); + + if ( utfBuf != NULL ) + { + for ( i = 0 ; i < utfLen && i < (asciiLen - 1) ; ++i ) + asciiBuf[i] = utfBuf[i]; + + asciiBuf[i] = '\0'; + + (*env)->ReleaseStringUTFChars( env, jStr, utfBuf ); + } + } + +jobject +newRegistryKey( JNIEnv *env, HKEY hKey, jstring keyName, BOOL created ) + { + jclass rkClass; + jobject newKey; + jmethodID methodID; + jboolean cFlag = (jboolean) created; + + char *methodName = ""; + char *methodSignature = "(ILjava/lang/String;Z)V"; + char *className = "com/ice/jni/registry/RegistryKey"; + + rkClass = (*env)->FindClass( env, className ); + if ( rkClass == NULL ) + { + throwNoClassDefError( env, (char *)className ); + return NULL; + } + + methodID = + (*env)->GetMethodID + ( env, rkClass, methodName, methodSignature ); + + if ( methodID == NULL ) + { + throwNoSuchMethodError + ( env, className, methodName, methodSignature ); + return NULL; + } + + newKey = + (*env)->NewObject + ( env, rkClass, methodID, + (jint)hKey, keyName, (jboolean)cFlag ); + + return newKey; + } + +jobject +newRegistryValue( + JNIEnv *env, jobject rkObject, + jstring valueName, char *className, int type ) + { + jclass rkClass; + jobject newValue; + jmethodID methodID; + + char *methodName = ""; + char *methodSignature = + "(Lcom/ice/jni/registry/RegistryKey;Ljava/lang/String;I)V"; + + rkClass = (*env)->FindClass( env, className ); + if ( rkClass == NULL ) + { + throwNoClassDefError( env, className ); + return NULL; + } + + methodID = + (*env)->GetMethodID + ( env, rkClass, methodName, methodSignature ); + + if ( methodID == NULL ) + { + throwNoSuchMethodError + ( env, className, methodName, methodSignature ); + return NULL; + } + + newValue = + (*env)->NewObject + ( env, rkClass, methodID, rkObject, valueName, (jint)type ); + + return newValue; + } + +BOOL +isThrowing( JNIEnv *env ) + { + return ( (*env)->ExceptionOccurred(env) != NULL ); + } + +jint +throwNoSuchKeyException( JNIEnv *env, char *message ) + { + jclass exClass; + char *className = + "com/ice/jni/registry/NoSuchKeyException"; + + exClass = (*env)->FindClass( env, className ); + if ( exClass == NULL ) + { + return throwNoClassDefError( env, className ); + } + + return (*env)->ThrowNew( env, exClass, message ); + } + +jint +throwNoSuchValueException( JNIEnv *env, char *message ) + { + jclass exClass; + char *className = + "com/ice/jni/registry/NoSuchValueException"; + + exClass = (*env)->FindClass( env, className ); + if ( exClass == NULL ) + { + return throwNoClassDefError( env, className ); + } + + return (*env)->ThrowNew( env, exClass, message ); + } + +void +throwSpecificRegError + ( JNIEnv *env, LONG regErr, char *message, + char *keyName, char *valueName ) + { + char msgBuf[512]; + + if ( regErr != ERROR_FILE_NOT_FOUND + || ( keyName == NULL && valueName == NULL ) ) + { + throwRegErrorException( env, regErr, message ); + } + else if ( keyName != NULL ) + { + sprintf( msgBuf, "%.200s, key='%.200s'", message, keyName ); + throwNoSuchKeyException( env, msgBuf ); + } + else + { + sprintf( msgBuf, "%.200s, value='%.200s'", message, valueName ); + throwNoSuchValueException( env, msgBuf ); + } + } + +jint +throwRegErrorException( JNIEnv *env, LONG regErr, char *message ) + { + jclass exClass; + jmethodID methodID; + jobject exObject; + jstring jMsgString; + char strBuf[512]; + char *regDescription = ""; + char *className = "com/ice/jni/registry/RegistryException"; + char *methodSignature = "(Ljava/lang/String;I)V"; + + exClass = (*env)->FindClass( env, className ); + if ( exClass == NULL ) + { + return throwNoClassDefError( env, className ); + } + + methodID = + (*env)->GetMethodID + ( env, exClass, "", methodSignature ); + + if ( methodID == NULL ) + { + return throwNoSuchMethodError + ( env, className, "", methodSignature ); + } + + jMsgString = strbufToJString( env, message, strlen(message) ); + if ( jMsgString == NULL ) + { + return throwOutOfMemoryError + ( env, "throwRegErrorException: creating message string" ); + } + + exObject = + (*env)->NewObject + ( env, exClass, methodID, jMsgString, (jint)regErr ); + + switch ( regErr ) + { + case ERROR_FILE_NOT_FOUND: + regDescription = "not found"; + break; + case ERROR_ACCESS_DENIED: + regDescription = "access denied"; + break; + case ERROR_INVALID_HANDLE: + regDescription = "invalid handle"; + break; + case ERROR_INVALID_PARAMETER: + regDescription = "invalid parameter"; + break; + case ERROR_CALL_NOT_IMPLEMENTED: + regDescription = "call not implemented"; + break; + case ERROR_INSUFFICIENT_BUFFER: + regDescription = "insufficient buffer"; + break; + case ERROR_LOCK_FAILED: + regDescription = "lock failed"; + break; + case ERROR_MORE_DATA: + regDescription = "more data"; + break; + case ERROR_NO_MORE_ITEMS: + regDescription = "no more items"; + break; + case ERROR_BADDB: + regDescription = "bad DB"; + break; + case ERROR_BADKEY: + regDescription = "bad key"; + break; + case ERROR_CANTOPEN: + regDescription = "can not open"; + break; + case ERROR_CANTREAD: + regDescription = "can not read"; + break; + case ERROR_CANTWRITE: + regDescription = "can not write"; + break; + case ERROR_REGISTRY_RECOVERED: + regDescription = "registry recovered"; + break; + case ERROR_REGISTRY_CORRUPT: + regDescription = "registry corrupt"; + break; + case ERROR_REGISTRY_IO_FAILED: + regDescription = "registry IO failed"; + break; + case ERROR_NOT_REGISTRY_FILE: + regDescription = "not a registry file"; + break; + case ERROR_KEY_DELETED: + regDescription = "key has been deleted"; + break; + } + + sprintf( strBuf, + "Registry API Error %d, '%.128s' - '%.256s'", + regErr, regDescription, message ); + + return (*env)->ThrowNew( env, exClass, strBuf ); + } + +jint +throwNoClassDefError( JNIEnv *env, char *message ) + { + jclass exClass; + char *className = "java/lang/NoClassDefFoundError"; + + exClass = (*env)->FindClass( env, className ); + if ( exClass == NULL ) + { + return throwNoClassDefError( env, className ); + } + + return (*env)->ThrowNew( env, exClass, message ); + } + +jint +throwNoSuchMethodError( + JNIEnv *env, char *className, char *methodName, char *signature ) + { + jclass exClass; + char *exClassName = "java/lang/NoSuchMethodError"; + LPTSTR msgBuf; + + exClass = (*env)->FindClass( env, exClassName ); + if ( exClass == NULL ) + { + return throwNoClassDefError( env, exClassName ); + } + + msgBuf = malloc( strlen(className) + strlen(methodName) + + strlen(signature) + 8 ); + if ( msgBuf == NULL ) + { + return throwOutOfMemoryError + ( env, "throwNoSuchMethodError: allocatinf msgBuf" ); + } + + strcpy( msgBuf, className ); + strcat( msgBuf, "." ); + strcat( msgBuf, methodName ); + strcat( msgBuf, "." ); + strcat( msgBuf, signature ); + + return (*env)->ThrowNew( env, exClass, msgBuf ); + } + +jint +throwNoSuchFieldError( JNIEnv *env, char *message ) + { + jclass exClass; + char *className = "java/lang/NoSuchFieldError"; + + exClass = (*env)->FindClass( env, className ); + if ( exClass == NULL ) + { + return throwNoClassDefError( env, className ); + } + + return (*env)->ThrowNew( env, exClass, message ); + } + +jint +throwOutOfMemoryError( JNIEnv *env, char *message ) + { + jclass exClass; + char *className = "java/lang/OutOfMemoryError"; + + exClass = (*env)->FindClass( env, className ); + if ( exClass == NULL ) + { + return throwNoClassDefError( env, className ); + } + + return (*env)->ThrowNew( env, exClass, message ); + } + + + diff --git a/Lib/registry-3.1.3/source/windows/RegistryKey.h b/Lib/registry-3.1.3/source/windows/RegistryKey.h new file mode 100644 index 0000000..cdd86d1 --- /dev/null +++ b/Lib/registry-3.1.3/source/windows/RegistryKey.h @@ -0,0 +1,197 @@ +/* DO NOT EDIT THIS FILE - it is machine generated */ +#include +/* Header for class com_ice_jni_registry_RegistryKey */ + +#ifndef _Included_com_ice_jni_registry_RegistryKey +#define _Included_com_ice_jni_registry_RegistryKey +#ifdef __cplusplus +extern "C" { +#endif +/* + * Class: com_ice_jni_registry_RegistryKey + * Method: openSubKey + * Signature: (Ljava/lang/String;I)Lcom/ice/jni/registry/RegistryKey; + */ +JNIEXPORT jobject JNICALL Java_com_ice_jni_registry_RegistryKey_openSubKey + (JNIEnv *, jobject, jstring, jint); + +/* + * Class: com_ice_jni_registry_RegistryKey + * Method: connectRegistry + * Signature: (Ljava/lang/String;Ljava/lang/String;)Lcom/ice/jni/registry/RegistryKey; + */ +JNIEXPORT jobject JNICALL Java_com_ice_jni_registry_RegistryKey_connectRegistry + (JNIEnv *, jclass, jstring); + +/* + * Class: com_ice_jni_registry_RegistryKey + * Method: createSubKey + * Signature: (Ljava/lang/String;Ljava/lang/String;I)Lcom/ice/jni/registry/RegistryKey; + */ +JNIEXPORT jobject JNICALL Java_com_ice_jni_registry_RegistryKey_createSubKey + (JNIEnv *, jobject, jstring, jstring, jint); + +/* + * Class: com_ice_jni_registry_RegistryKey + * Method: closeKey + * Signature: ()V + */ +JNIEXPORT void JNICALL Java_com_ice_jni_registry_RegistryKey_closeKey + (JNIEnv *, jobject); + +/* + * Class: com_ice_jni_registry_RegistryKey + * Method: deleteSubKey + * Signature: (Ljava/lang/String;)V + */ +JNIEXPORT void JNICALL Java_com_ice_jni_registry_RegistryKey_deleteSubKey + (JNIEnv *, jobject, jstring); + +/* + * Class: com_ice_jni_registry_RegistryKey + * Method: deleteValue + * Signature: (Ljava/lang/String;)V + */ +JNIEXPORT void JNICALL Java_com_ice_jni_registry_RegistryKey_deleteValue + (JNIEnv *, jobject, jstring); + +/* + * Class: com_ice_jni_registry_RegistryKey + * Method: flushKey + * Signature: ()V + */ +JNIEXPORT void JNICALL Java_com_ice_jni_registry_RegistryKey_flushKey + (JNIEnv *, jobject); + +/* + * Class: com_ice_jni_registry_RegistryKey + * Method: getValue + * Signature: (Ljava/lang/String;)Lcom/ice/jni/registry/RegistryValue; + */ +JNIEXPORT jobject JNICALL Java_com_ice_jni_registry_RegistryKey_getValue + (JNIEnv *, jobject, jstring); + +/* + * Class: com_ice_jni_registry_RegistryKey + * Method: setValue + * Signature: (Ljava/lang/String;Lcom/ice/jni/registry/RegistryValue;)Z + */ +JNIEXPORT void JNICALL Java_com_ice_jni_registry_RegistryKey_setValue + (JNIEnv *, jobject, jstring, jobject); + +/* + * Class: com_ice_jni_registry_RegistryKey + * Method: getStringValue + * Signature: (Ljava/lang/String;)Ljava/lang/String; + */ +JNIEXPORT jstring JNICALL Java_com_ice_jni_registry_RegistryKey_getStringValue + (JNIEnv *, jobject, jstring); + +/* + * Class: com_ice_jni_registry_RegistryKey + * Method: getDefaultValue + * Signature: ()Ljava/lang/String; + */ +JNIEXPORT jstring JNICALL Java_com_ice_jni_registry_RegistryKey_getDefaultValue + (JNIEnv *, jobject); + +/* + * Class: com_ice_jni_registry_RegistryKey + * Method: hasDefaultValue + * Signature: ()Z + */ +JNIEXPORT jboolean JNICALL Java_com_ice_jni_registry_RegistryKey_hasDefaultValue + (JNIEnv *, jobject); + +/* + * Class: com_ice_jni_registry_RegistryKey + * Method: hasOnlyDefaultValue + * Signature: ()Z + */ +JNIEXPORT jboolean JNICALL Java_com_ice_jni_registry_RegistryKey_hasOnlyDefaultValue + (JNIEnv *, jobject); + +/* + * Class: com_ice_jni_registry_RegistryKey + * Method: getNumberSubkeys + * Signature: ()I + */ +JNIEXPORT jint JNICALL Java_com_ice_jni_registry_RegistryKey_getNumberSubkeys + (JNIEnv *, jobject); + +/* + * Class: com_ice_jni_registry_RegistryKey + * Method: getMaxSubkeyLength + * Signature: ()I + */ +JNIEXPORT jint JNICALL Java_com_ice_jni_registry_RegistryKey_getMaxSubkeyLength + (JNIEnv *, jobject); + +/* + * Class: com_ice_jni_registry_RegistryKey + * Method: regEnumKey + * Signature: (I)Ljava/lang/String; + */ +JNIEXPORT jstring JNICALL Java_com_ice_jni_registry_RegistryKey_regEnumKey + (JNIEnv *, jobject, jint); + +/* + * Class: com_ice_jni_registry_RegistryKey + * Method: getNumberValues + * Signature: ()I + */ +JNIEXPORT jint JNICALL Java_com_ice_jni_registry_RegistryKey_getNumberValues + (JNIEnv *, jobject); + +/* + * Class: com_ice_jni_registry_RegistryKey + * Method: getMaxValueDataLength + * Signature: ()I + */ +JNIEXPORT jint JNICALL Java_com_ice_jni_registry_RegistryKey_getMaxValueDataLength + (JNIEnv *, jobject); + +/* + * Class: com_ice_jni_registry_RegistryKey + * Method: getMaxValueNameLength + * Signature: ()I + */ +JNIEXPORT jint JNICALL Java_com_ice_jni_registry_RegistryKey_getMaxValueNameLength + (JNIEnv *, jobject); + +/* + * Class: com_ice_jni_registry_RegistryKey + * Method: regEnumValue + * Signature: (I)Ljava/lang/String; + */ +JNIEXPORT jstring JNICALL Java_com_ice_jni_registry_RegistryKey_regEnumValue + (JNIEnv *, jobject, jint); + +/* + * Class: com_ice_jni_registry_RegistryKey + * Method: incrDoubleWord + * Signature: (Ljava/lang/String;)I + */ +JNIEXPORT jint JNICALL Java_com_ice_jni_registry_RegistryKey_incrDoubleWord + (JNIEnv *, jobject, jstring); + +/* + * Class: com_ice_jni_registry_RegistryKey + * Method: decrDoubleWord + * Signature: (Ljava/lang/String;)I + */ +JNIEXPORT jint JNICALL Java_com_ice_jni_registry_RegistryKey_decrDoubleWord + (JNIEnv *, jobject, jstring); + +/* + * Class: com_ice_jni_registry_RegistryKey + * Method: expandEnvStrings + * Signature: (Ljava/lang/String;)Ljava/lang/String; + */ +JNIEXPORT jstring JNICALL Java_com_ice_jni_registry_RegistryKey_expandEnvStrings + (JNIEnv *, jobject, jstring); + +#ifdef __cplusplus +} +#endif +#endif diff --git a/Lib/registry-3.1.3/source/windows/RegistryKeyProto.h b/Lib/registry-3.1.3/source/windows/RegistryKeyProto.h new file mode 100644 index 0000000..e5cc2d6 --- /dev/null +++ b/Lib/registry-3.1.3/source/windows/RegistryKeyProto.h @@ -0,0 +1,130 @@ +/* +** Java native interface to the Windows Registry API. +** +** Authored by Timothy Gerard Endres +** +** +** This work has been placed into the public domain. +** You may use this work in any way and for any purpose you wish. +** +** THIS SOFTWARE IS PROVIDED AS-IS WITHOUT WARRANTY OF ANY KIND, +** NOT EVEN THE IMPLIED WARRANTY OF MERCHANTABILITY. THE AUTHOR +** OF THIS SOFTWARE, ASSUMES _NO_ RESPONSIBILITY FOR ANY +** CONSEQUENCE RESULTING FROM THE USE, MODIFICATION, OR +** REDISTRIBUTION OF THIS SOFTWARE. +** +** Release 3.1.3 +** +*/ + +LONG +maxSubKeyLength + ( HKEY hKey, DWORD *pdwSubkeyLen ); + +LONG +maxValueNameLength + ( HKEY hKey, DWORD *pdwNameLen ); + +DWORD +getDWordValueData + ( JNIEnv *env, HKEY hKey, char *valueName ); + +jstring +getStringValueData + ( JNIEnv *env, HKEY hKey, char *valueName ); + +jarray +getMultiStringValueData + ( JNIEnv *env, HKEY hKey, char *valueName ); + +jarray +getBinaryValueData + ( JNIEnv *env, HKEY hKey, char *valueName ); + +void +setKeyValue + ( JNIEnv *env, HKEY hKey, char *valueName, + DWORD dwType, jobject valObject ); + +jstring +buildFullKeyName + ( JNIEnv *env, jobject rkObject, char *subKeyName ); + +jstring +asciiToJString + ( JNIEnv *env, char *asciiStr ); + +jstring +strbufToJString + ( JNIEnv *env, char *buf, int len ); + +void +jStringToAscii + ( JNIEnv *env, jstring jStr, char *asciiBuf, int asciiLen ); + +char * +jStringToNewAscii + ( JNIEnv *env, jstring jStr ); + +jobject +newRegistryValue + ( JNIEnv *env, jobject rkObject, + jstring valueName, char *className, int type ); + +jobject +newRegistryKey + ( JNIEnv *env, HKEY hKey, jstring name, BOOL created ); + +HKEY +getRegistryKey + ( JNIEnv *env, jobject rkObject ); + +DWORD +getRegistryValueType + ( JNIEnv *env, jobject valueObject ); + +jstring +getRegistryKeyName( JNIEnv *env, jobject rkObject ); + +BOOL +RegIsHKeyRemote + ( HKEY hKey ); + +BOOL +isThrowing + ( JNIEnv *env ); + +jint +throwNoSuchKeyException + ( JNIEnv *env, char *message ); + +jint +throwNoSuchValueException + ( JNIEnv *env, char *message ); + +jint +throwNoClassDefError + ( JNIEnv *env, char *message ); + +jint +throwNoSuchMethodError + ( JNIEnv *env, char *className, + char *methodName, char *methodSignature ); + +jint +throwNoSuchFieldError + ( JNIEnv *env, char *message ); + +jint +throwOutOfMemoryError + ( JNIEnv *env, char *message ); + +void +throwSpecificRegError + ( JNIEnv *env, LONG regErr, char *message, + char *keyName, char *valueName ); + +jint +throwRegErrorException + ( JNIEnv *env, LONG regErr, char *message ); + diff --git a/Lib/registry-3.1.3/source/windows/Release/ICE_JNIRegistry.dll b/Lib/registry-3.1.3/source/windows/Release/ICE_JNIRegistry.dll new file mode 100644 index 0000000..fd983b3 Binary files /dev/null and b/Lib/registry-3.1.3/source/windows/Release/ICE_JNIRegistry.dll differ diff --git a/Lib/registry-3.1.3/source/windows/Release/ICE_JNIRegistry.exp b/Lib/registry-3.1.3/source/windows/Release/ICE_JNIRegistry.exp new file mode 100644 index 0000000..c68c8ab Binary files /dev/null and b/Lib/registry-3.1.3/source/windows/Release/ICE_JNIRegistry.exp differ diff --git a/Lib/registry-3.1.3/source/windows/Release/ICE_JNIRegistry.lib b/Lib/registry-3.1.3/source/windows/Release/ICE_JNIRegistry.lib new file mode 100644 index 0000000..a576e8a Binary files /dev/null and b/Lib/registry-3.1.3/source/windows/Release/ICE_JNIRegistry.lib differ diff --git a/Lib/registry-3.1.3/source/windows/Release/RegistryKey.obj b/Lib/registry-3.1.3/source/windows/Release/RegistryKey.obj new file mode 100644 index 0000000..d07036b Binary files /dev/null and b/Lib/registry-3.1.3/source/windows/Release/RegistryKey.obj differ diff --git a/Lib/registry-3.1.3/source/windows/Release/vc50.idb b/Lib/registry-3.1.3/source/windows/Release/vc50.idb new file mode 100644 index 0000000..1d582ca Binary files /dev/null and b/Lib/registry-3.1.3/source/windows/Release/vc50.idb differ diff --git a/Lib/registry-3.1.3/source/windows/Release/vc60.idb b/Lib/registry-3.1.3/source/windows/Release/vc60.idb new file mode 100644 index 0000000..7aae725 Binary files /dev/null and b/Lib/registry-3.1.3/source/windows/Release/vc60.idb differ diff --git a/Lib/registry-3.1.3/source/windows/jniregistry.001 b/Lib/registry-3.1.3/source/windows/jniregistry.001 new file mode 100644 index 0000000..7a904b3 --- /dev/null +++ b/Lib/registry-3.1.3/source/windows/jniregistry.001 @@ -0,0 +1,114 @@ +# Microsoft Developer Studio Project File - Name="jniregistry" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 5.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102 + +CFG=jniregistry - Win32 Release +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "jniregistry.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "jniregistry.mak" CFG="jniregistry - Win32 Release" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "jniregistry - Win32 Release" (based on\ + "Win32 (x86) Dynamic-Link Library") +!MESSAGE "jniregistry - Win32 Debug" (based on\ + "Win32 (x86) Dynamic-Link Library") +!MESSAGE + +# Begin Project +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +MTL=midl.exe +RSC=rc.exe + +!IF "$(CFG)" == "jniregistry - Win32 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir ".\Release" +# PROP BASE Intermediate_Dir ".\Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir ".\Release" +# PROP Intermediate_Dir ".\Release" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c +# ADD CPP /nologo /MT /W3 /GX /O2 /I "D:\jdk\include" /I "D:\jdk\include\win32" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c +# ADD BASE MTL /nologo /D "NDEBUG" /win32 +# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386 +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386 /out:".\Release\ICE_JNIRegistry.dll" + +!ELSEIF "$(CFG)" == "jniregistry - Win32 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir ".\Debug" +# PROP BASE Intermediate_Dir ".\Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir ".\Debug" +# PROP Intermediate_Dir ".\Debug" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /c +# ADD CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /I "D:\jdk\include" /I "D:\jdk\include\win32" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c +# ADD BASE MTL /nologo /D "_DEBUG" /win32 +# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 +# ADD BASE RSC /l 0x409 /d "_DEBUG" +# ADD RSC /l 0x409 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386 +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386 /out:".\Debug\ICE_JNIRegistry.dll" + +!ENDIF + +# Begin Target + +# Name "jniregistry - Win32 Release" +# Name "jniregistry - Win32 Debug" +# Begin Group "Source Files" + +# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;hpj;bat;for;f90" +# Begin Source File + +SOURCE=.\RegistryKey.c +# End Source File +# End Group +# Begin Group "Header Files" + +# PROP Default_Filter "h;hpp;hxx;hm;inl;fi;fd" +# Begin Source File + +SOURCE=.\RegistryKey.h +# End Source File +# Begin Source File + +SOURCE=.\RegistryKeyProto.h +# End Source File +# End Group +# Begin Group "Resource Files" + +# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;cnt;rtf;gif;jpg;jpeg;jpe" +# End Group +# End Target +# End Project diff --git a/Lib/registry-3.1.3/source/windows/jniregistry.002 b/Lib/registry-3.1.3/source/windows/jniregistry.002 new file mode 100644 index 0000000..7a904b3 --- /dev/null +++ b/Lib/registry-3.1.3/source/windows/jniregistry.002 @@ -0,0 +1,114 @@ +# Microsoft Developer Studio Project File - Name="jniregistry" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 5.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102 + +CFG=jniregistry - Win32 Release +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "jniregistry.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "jniregistry.mak" CFG="jniregistry - Win32 Release" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "jniregistry - Win32 Release" (based on\ + "Win32 (x86) Dynamic-Link Library") +!MESSAGE "jniregistry - Win32 Debug" (based on\ + "Win32 (x86) Dynamic-Link Library") +!MESSAGE + +# Begin Project +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +MTL=midl.exe +RSC=rc.exe + +!IF "$(CFG)" == "jniregistry - Win32 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir ".\Release" +# PROP BASE Intermediate_Dir ".\Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir ".\Release" +# PROP Intermediate_Dir ".\Release" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c +# ADD CPP /nologo /MT /W3 /GX /O2 /I "D:\jdk\include" /I "D:\jdk\include\win32" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c +# ADD BASE MTL /nologo /D "NDEBUG" /win32 +# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386 +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386 /out:".\Release\ICE_JNIRegistry.dll" + +!ELSEIF "$(CFG)" == "jniregistry - Win32 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir ".\Debug" +# PROP BASE Intermediate_Dir ".\Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir ".\Debug" +# PROP Intermediate_Dir ".\Debug" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /c +# ADD CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /I "D:\jdk\include" /I "D:\jdk\include\win32" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c +# ADD BASE MTL /nologo /D "_DEBUG" /win32 +# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 +# ADD BASE RSC /l 0x409 /d "_DEBUG" +# ADD RSC /l 0x409 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386 +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386 /out:".\Debug\ICE_JNIRegistry.dll" + +!ENDIF + +# Begin Target + +# Name "jniregistry - Win32 Release" +# Name "jniregistry - Win32 Debug" +# Begin Group "Source Files" + +# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;hpj;bat;for;f90" +# Begin Source File + +SOURCE=.\RegistryKey.c +# End Source File +# End Group +# Begin Group "Header Files" + +# PROP Default_Filter "h;hpp;hxx;hm;inl;fi;fd" +# Begin Source File + +SOURCE=.\RegistryKey.h +# End Source File +# Begin Source File + +SOURCE=.\RegistryKeyProto.h +# End Source File +# End Group +# Begin Group "Resource Files" + +# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;cnt;rtf;gif;jpg;jpeg;jpe" +# End Group +# End Target +# End Project diff --git a/Lib/registry-3.1.3/source/windows/jniregistry.bak b/Lib/registry-3.1.3/source/windows/jniregistry.bak new file mode 100644 index 0000000..bf109de --- /dev/null +++ b/Lib/registry-3.1.3/source/windows/jniregistry.bak @@ -0,0 +1,214 @@ +# Microsoft Developer Studio Generated NMAKE File, Format Version 4.20 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102 + +!IF "$(CFG)" == "" +CFG=jniregistry - Win32 Debug +!MESSAGE No configuration specified. Defaulting to jniregistry - Win32 Debug. +!ENDIF + +!IF "$(CFG)" != "jniregistry - Win32 Release" && "$(CFG)" !=\ + "jniregistry - Win32 Debug" +!MESSAGE Invalid configuration "$(CFG)" specified. +!MESSAGE You can specify a configuration when running NMAKE on this makefile +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "jniregistry.mak" CFG="jniregistry - Win32 Debug" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "jniregistry - Win32 Release" (based on\ + "Win32 (x86) Dynamic-Link Library") +!MESSAGE "jniregistry - Win32 Debug" (based on\ + "Win32 (x86) Dynamic-Link Library") +!MESSAGE +!ERROR An invalid configuration is specified. +!ENDIF + +!IF "$(OS)" == "Windows_NT" +NULL= +!ELSE +NULL=nul +!ENDIF +################################################################################ +# Begin Project +# PROP Target_Last_Scanned "jniregistry - Win32 Debug" +CPP=cl.exe +RSC=rc.exe +MTL=mktyplib.exe + +!IF "$(CFG)" == "jniregistry - Win32 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release" +# PROP BASE Intermediate_Dir "Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "Release" +# PROP Intermediate_Dir "Release" +# PROP Target_Dir "" +OUTDIR=.\Release +INTDIR=.\Release + +ALL : "$(OUTDIR)\ICE_JNIRegistry.dll" + +CLEAN : + -@erase "$(INTDIR)\RegistryKey.obj" + -@erase "$(OUTDIR)\ICE_JNIRegistry.dll" + -@erase "$(OUTDIR)\ICE_JNIRegistry.exp" + -@erase "$(OUTDIR)\ICE_JNIRegistry.lib" + +"$(OUTDIR)" : + if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)" + +# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c +# ADD CPP /nologo /MT /W3 /GX /O2 /I "D:\jdk1.1.4\include" /I "D:\jdk1.1.4\include\win32" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c +CPP_PROJ=/nologo /MT /W3 /GX /O2 /I "D:\jdk1.1.4\include" /I\ + "D:\jdk1.1.4\include\win32" /D "WIN32" /D "NDEBUG" /D "_WINDOWS"\ + /Fp"$(INTDIR)/jniregistry.pch" /YX /Fo"$(INTDIR)/" /c +CPP_OBJS=.\Release/ +CPP_SBRS=.\. +# ADD BASE MTL /nologo /D "NDEBUG" /win32 +# ADD MTL /nologo /D "NDEBUG" /win32 +MTL_PROJ=/nologo /D "NDEBUG" /win32 +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +BSC32_FLAGS=/nologo /o"$(OUTDIR)/jniregistry.bsc" +BSC32_SBRS= \ + +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386 +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386 /out:"Release\ICE_JNIRegistry.dll" +LINK32_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib\ + advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib\ + odbccp32.lib /nologo /subsystem:windows /dll /incremental:no\ + /pdb:"$(OUTDIR)/ICE_JNIRegistry.pdb" /machine:I386\ + /out:"$(OUTDIR)/ICE_JNIRegistry.dll" /implib:"$(OUTDIR)/ICE_JNIRegistry.lib" +LINK32_OBJS= \ + "$(INTDIR)\RegistryKey.obj" + +"$(OUTDIR)\ICE_JNIRegistry.dll" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS) + $(LINK32) @<< + $(LINK32_FLAGS) $(LINK32_OBJS) +<< + +!ELSEIF "$(CFG)" == "jniregistry - Win32 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "Debug" +# PROP BASE Intermediate_Dir "Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "Debug" +# PROP Intermediate_Dir "Debug" +# PROP Target_Dir "" +OUTDIR=.\Debug +INTDIR=.\Debug + +ALL : "$(OUTDIR)\ICE_JNIRegistry.dll" + +CLEAN : + -@erase "$(INTDIR)\RegistryKey.obj" + -@erase "$(INTDIR)\vc40.idb" + -@erase "$(INTDIR)\vc40.pdb" + -@erase "$(OUTDIR)\ICE_JNIRegistry.dll" + -@erase "$(OUTDIR)\ICE_JNIRegistry.exp" + -@erase "$(OUTDIR)\ICE_JNIRegistry.ilk" + -@erase "$(OUTDIR)\ICE_JNIRegistry.lib" + -@erase "$(OUTDIR)\ICE_JNIRegistry.pdb" + +"$(OUTDIR)" : + if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)" + +# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /c +# ADD CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /I "D:\jdk1.1.4\include" /I "D:\jdk1.1.4\include\win32" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /c +CPP_PROJ=/nologo /MTd /W3 /Gm /GX /Zi /Od /I "D:\jdk1.1.4\include" /I\ + "D:\jdk1.1.4\include\win32" /D "WIN32" /D "_DEBUG" /D "_WINDOWS"\ + /Fp"$(INTDIR)/jniregistry.pch" /YX /Fo"$(INTDIR)/" /Fd"$(INTDIR)/" /c +CPP_OBJS=.\Debug/ +CPP_SBRS=.\. +# ADD BASE MTL /nologo /D "_DEBUG" /win32 +# ADD MTL /nologo /D "_DEBUG" /win32 +MTL_PROJ=/nologo /D "_DEBUG" /win32 +# ADD BASE RSC /l 0x409 /d "_DEBUG" +# ADD RSC /l 0x409 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +BSC32_FLAGS=/nologo /o"$(OUTDIR)/jniregistry.bsc" +BSC32_SBRS= \ + +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386 +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386 /out:"Debug\ICE_JNIRegistry.dll" +LINK32_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib\ + advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib\ + odbccp32.lib /nologo /subsystem:windows /dll /incremental:yes\ + /pdb:"$(OUTDIR)/ICE_JNIRegistry.pdb" /debug /machine:I386\ + /out:"$(OUTDIR)/ICE_JNIRegistry.dll" /implib:"$(OUTDIR)/ICE_JNIRegistry.lib" +LINK32_OBJS= \ + "$(INTDIR)\RegistryKey.obj" + +"$(OUTDIR)\ICE_JNIRegistry.dll" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS) + $(LINK32) @<< + $(LINK32_FLAGS) $(LINK32_OBJS) +<< + +!ENDIF + +.c{$(CPP_OBJS)}.obj: + $(CPP) $(CPP_PROJ) $< + +.cpp{$(CPP_OBJS)}.obj: + $(CPP) $(CPP_PROJ) $< + +.cxx{$(CPP_OBJS)}.obj: + $(CPP) $(CPP_PROJ) $< + +.c{$(CPP_SBRS)}.sbr: + $(CPP) $(CPP_PROJ) $< + +.cpp{$(CPP_SBRS)}.sbr: + $(CPP) $(CPP_PROJ) $< + +.cxx{$(CPP_SBRS)}.sbr: + $(CPP) $(CPP_PROJ) $< + +################################################################################ +# Begin Target + +# Name "jniregistry - Win32 Release" +# Name "jniregistry - Win32 Debug" + +!IF "$(CFG)" == "jniregistry - Win32 Release" + +!ELSEIF "$(CFG)" == "jniregistry - Win32 Debug" + +!ENDIF + +################################################################################ +# Begin Source File + +SOURCE=.\RegistryKey.c +DEP_CPP_REGIS=\ + ".\RegistryKey.h"\ + ".\RegistryKeyProto.h"\ + "D:\jdk1.1.4\include\jni.h"\ + "D:\jdk1.1.4\include\win32\jni_md.h"\ + + +"$(INTDIR)\RegistryKey.obj" : $(SOURCE) $(DEP_CPP_REGIS) "$(INTDIR)" + + +# End Source File +# End Target +# End Project +################################################################################ diff --git a/Lib/registry-3.1.3/source/windows/jniregistry.dsp b/Lib/registry-3.1.3/source/windows/jniregistry.dsp new file mode 100644 index 0000000..b5db430 --- /dev/null +++ b/Lib/registry-3.1.3/source/windows/jniregistry.dsp @@ -0,0 +1,115 @@ +# Microsoft Developer Studio Project File - Name="jniregistry" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102 + +CFG=jniregistry - Win32 Release +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "jniregistry.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "jniregistry.mak" CFG="jniregistry - Win32 Release" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "jniregistry - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library") +!MESSAGE "jniregistry - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +MTL=midl.exe +RSC=rc.exe + +!IF "$(CFG)" == "jniregistry - Win32 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir ".\Release" +# PROP BASE Intermediate_Dir ".\Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir ".\Release" +# PROP Intermediate_Dir ".\Release" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c +# ADD CPP /nologo /MT /W3 /GX /O2 /I "C:\java\jdk1.3.1\include" /I "C:\java\jdk1.3.1\include\win32" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /FD /c +# SUBTRACT CPP /YX +# ADD BASE MTL /nologo /D "NDEBUG" /win32 +# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386 +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386 /out:".\Release\ICE_JNIRegistry.dll" + +!ELSEIF "$(CFG)" == "jniregistry - Win32 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir ".\Debug" +# PROP BASE Intermediate_Dir ".\Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir ".\Debug" +# PROP Intermediate_Dir ".\Debug" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /c +# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "C:\java\jdk1.3.1\include" /I "C:\java\jdk1.3.1\include\win32" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /FD /c +# SUBTRACT CPP /YX +# ADD BASE MTL /nologo /D "_DEBUG" /win32 +# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 +# ADD BASE RSC /l 0x409 /d "_DEBUG" +# ADD RSC /l 0x409 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386 +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386 /out:".\Debug\ICE_JNIRegistry.dll" + +!ENDIF + +# Begin Target + +# Name "jniregistry - Win32 Release" +# Name "jniregistry - Win32 Debug" +# Begin Group "Source Files" + +# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;hpj;bat;for;f90" +# Begin Source File + +SOURCE=.\RegistryKey.c +# End Source File +# End Group +# Begin Group "Header Files" + +# PROP Default_Filter "h;hpp;hxx;hm;inl;fi;fd" +# Begin Source File + +SOURCE=.\RegistryKey.h +# End Source File +# Begin Source File + +SOURCE=.\RegistryKeyProto.h +# End Source File +# End Group +# Begin Group "Resource Files" + +# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;cnt;rtf;gif;jpg;jpeg;jpe" +# End Group +# End Target +# End Project diff --git a/Lib/registry-3.1.3/source/windows/jniregistry.dsw b/Lib/registry-3.1.3/source/windows/jniregistry.dsw new file mode 100644 index 0000000..0b53cc9 --- /dev/null +++ b/Lib/registry-3.1.3/source/windows/jniregistry.dsw @@ -0,0 +1,29 @@ +Microsoft Developer Studio Workspace File, Format Version 6.00 +# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! + +############################################################################### + +Project: "jniregistry"=.\jniregistry.dsp - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ +}}} + +############################################################################### + +Global: + +Package=<5> +{{{ +}}} + +Package=<3> +{{{ +}}} + +############################################################################### + diff --git a/Lib/registry-3.1.3/source/windows/jniregistry.mak b/Lib/registry-3.1.3/source/windows/jniregistry.mak new file mode 100644 index 0000000..bf109de --- /dev/null +++ b/Lib/registry-3.1.3/source/windows/jniregistry.mak @@ -0,0 +1,214 @@ +# Microsoft Developer Studio Generated NMAKE File, Format Version 4.20 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102 + +!IF "$(CFG)" == "" +CFG=jniregistry - Win32 Debug +!MESSAGE No configuration specified. Defaulting to jniregistry - Win32 Debug. +!ENDIF + +!IF "$(CFG)" != "jniregistry - Win32 Release" && "$(CFG)" !=\ + "jniregistry - Win32 Debug" +!MESSAGE Invalid configuration "$(CFG)" specified. +!MESSAGE You can specify a configuration when running NMAKE on this makefile +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "jniregistry.mak" CFG="jniregistry - Win32 Debug" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "jniregistry - Win32 Release" (based on\ + "Win32 (x86) Dynamic-Link Library") +!MESSAGE "jniregistry - Win32 Debug" (based on\ + "Win32 (x86) Dynamic-Link Library") +!MESSAGE +!ERROR An invalid configuration is specified. +!ENDIF + +!IF "$(OS)" == "Windows_NT" +NULL= +!ELSE +NULL=nul +!ENDIF +################################################################################ +# Begin Project +# PROP Target_Last_Scanned "jniregistry - Win32 Debug" +CPP=cl.exe +RSC=rc.exe +MTL=mktyplib.exe + +!IF "$(CFG)" == "jniregistry - Win32 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release" +# PROP BASE Intermediate_Dir "Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "Release" +# PROP Intermediate_Dir "Release" +# PROP Target_Dir "" +OUTDIR=.\Release +INTDIR=.\Release + +ALL : "$(OUTDIR)\ICE_JNIRegistry.dll" + +CLEAN : + -@erase "$(INTDIR)\RegistryKey.obj" + -@erase "$(OUTDIR)\ICE_JNIRegistry.dll" + -@erase "$(OUTDIR)\ICE_JNIRegistry.exp" + -@erase "$(OUTDIR)\ICE_JNIRegistry.lib" + +"$(OUTDIR)" : + if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)" + +# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c +# ADD CPP /nologo /MT /W3 /GX /O2 /I "D:\jdk1.1.4\include" /I "D:\jdk1.1.4\include\win32" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c +CPP_PROJ=/nologo /MT /W3 /GX /O2 /I "D:\jdk1.1.4\include" /I\ + "D:\jdk1.1.4\include\win32" /D "WIN32" /D "NDEBUG" /D "_WINDOWS"\ + /Fp"$(INTDIR)/jniregistry.pch" /YX /Fo"$(INTDIR)/" /c +CPP_OBJS=.\Release/ +CPP_SBRS=.\. +# ADD BASE MTL /nologo /D "NDEBUG" /win32 +# ADD MTL /nologo /D "NDEBUG" /win32 +MTL_PROJ=/nologo /D "NDEBUG" /win32 +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +BSC32_FLAGS=/nologo /o"$(OUTDIR)/jniregistry.bsc" +BSC32_SBRS= \ + +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386 +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386 /out:"Release\ICE_JNIRegistry.dll" +LINK32_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib\ + advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib\ + odbccp32.lib /nologo /subsystem:windows /dll /incremental:no\ + /pdb:"$(OUTDIR)/ICE_JNIRegistry.pdb" /machine:I386\ + /out:"$(OUTDIR)/ICE_JNIRegistry.dll" /implib:"$(OUTDIR)/ICE_JNIRegistry.lib" +LINK32_OBJS= \ + "$(INTDIR)\RegistryKey.obj" + +"$(OUTDIR)\ICE_JNIRegistry.dll" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS) + $(LINK32) @<< + $(LINK32_FLAGS) $(LINK32_OBJS) +<< + +!ELSEIF "$(CFG)" == "jniregistry - Win32 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "Debug" +# PROP BASE Intermediate_Dir "Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "Debug" +# PROP Intermediate_Dir "Debug" +# PROP Target_Dir "" +OUTDIR=.\Debug +INTDIR=.\Debug + +ALL : "$(OUTDIR)\ICE_JNIRegistry.dll" + +CLEAN : + -@erase "$(INTDIR)\RegistryKey.obj" + -@erase "$(INTDIR)\vc40.idb" + -@erase "$(INTDIR)\vc40.pdb" + -@erase "$(OUTDIR)\ICE_JNIRegistry.dll" + -@erase "$(OUTDIR)\ICE_JNIRegistry.exp" + -@erase "$(OUTDIR)\ICE_JNIRegistry.ilk" + -@erase "$(OUTDIR)\ICE_JNIRegistry.lib" + -@erase "$(OUTDIR)\ICE_JNIRegistry.pdb" + +"$(OUTDIR)" : + if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)" + +# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /c +# ADD CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /I "D:\jdk1.1.4\include" /I "D:\jdk1.1.4\include\win32" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /c +CPP_PROJ=/nologo /MTd /W3 /Gm /GX /Zi /Od /I "D:\jdk1.1.4\include" /I\ + "D:\jdk1.1.4\include\win32" /D "WIN32" /D "_DEBUG" /D "_WINDOWS"\ + /Fp"$(INTDIR)/jniregistry.pch" /YX /Fo"$(INTDIR)/" /Fd"$(INTDIR)/" /c +CPP_OBJS=.\Debug/ +CPP_SBRS=.\. +# ADD BASE MTL /nologo /D "_DEBUG" /win32 +# ADD MTL /nologo /D "_DEBUG" /win32 +MTL_PROJ=/nologo /D "_DEBUG" /win32 +# ADD BASE RSC /l 0x409 /d "_DEBUG" +# ADD RSC /l 0x409 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +BSC32_FLAGS=/nologo /o"$(OUTDIR)/jniregistry.bsc" +BSC32_SBRS= \ + +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386 +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386 /out:"Debug\ICE_JNIRegistry.dll" +LINK32_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib\ + advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib\ + odbccp32.lib /nologo /subsystem:windows /dll /incremental:yes\ + /pdb:"$(OUTDIR)/ICE_JNIRegistry.pdb" /debug /machine:I386\ + /out:"$(OUTDIR)/ICE_JNIRegistry.dll" /implib:"$(OUTDIR)/ICE_JNIRegistry.lib" +LINK32_OBJS= \ + "$(INTDIR)\RegistryKey.obj" + +"$(OUTDIR)\ICE_JNIRegistry.dll" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS) + $(LINK32) @<< + $(LINK32_FLAGS) $(LINK32_OBJS) +<< + +!ENDIF + +.c{$(CPP_OBJS)}.obj: + $(CPP) $(CPP_PROJ) $< + +.cpp{$(CPP_OBJS)}.obj: + $(CPP) $(CPP_PROJ) $< + +.cxx{$(CPP_OBJS)}.obj: + $(CPP) $(CPP_PROJ) $< + +.c{$(CPP_SBRS)}.sbr: + $(CPP) $(CPP_PROJ) $< + +.cpp{$(CPP_SBRS)}.sbr: + $(CPP) $(CPP_PROJ) $< + +.cxx{$(CPP_SBRS)}.sbr: + $(CPP) $(CPP_PROJ) $< + +################################################################################ +# Begin Target + +# Name "jniregistry - Win32 Release" +# Name "jniregistry - Win32 Debug" + +!IF "$(CFG)" == "jniregistry - Win32 Release" + +!ELSEIF "$(CFG)" == "jniregistry - Win32 Debug" + +!ENDIF + +################################################################################ +# Begin Source File + +SOURCE=.\RegistryKey.c +DEP_CPP_REGIS=\ + ".\RegistryKey.h"\ + ".\RegistryKeyProto.h"\ + "D:\jdk1.1.4\include\jni.h"\ + "D:\jdk1.1.4\include\win32\jni_md.h"\ + + +"$(INTDIR)\RegistryKey.obj" : $(SOURCE) $(DEP_CPP_REGIS) "$(INTDIR)" + + +# End Source File +# End Target +# End Project +################################################################################ diff --git a/Lib/registry-3.1.3/source/windows/jniregistry.mdp b/Lib/registry-3.1.3/source/windows/jniregistry.mdp new file mode 100644 index 0000000..9d26a3e Binary files /dev/null and b/Lib/registry-3.1.3/source/windows/jniregistry.mdp differ diff --git a/Lib/registry-3.1.3/source/windows/jniregistry.ncb b/Lib/registry-3.1.3/source/windows/jniregistry.ncb new file mode 100644 index 0000000..ebd32cb Binary files /dev/null and b/Lib/registry-3.1.3/source/windows/jniregistry.ncb differ diff --git a/Lib/registry-3.1.3/source/windows/jniregistry.opt b/Lib/registry-3.1.3/source/windows/jniregistry.opt new file mode 100644 index 0000000..2f0e615 Binary files /dev/null and b/Lib/registry-3.1.3/source/windows/jniregistry.opt differ diff --git a/Lib/registry-3.1.3/source/windows/jniregistry.plg b/Lib/registry-3.1.3/source/windows/jniregistry.plg new file mode 100644 index 0000000..4f17201 --- /dev/null +++ b/Lib/registry-3.1.3/source/windows/jniregistry.plg @@ -0,0 +1,33 @@ + + +
+

Build Log

+

+--------------------Configuration: jniregistry - Win32 Release-------------------- +

+

Command Lines

+Creating temporary file "C:\DOCUME~1\time\LOCALS~1\Temp\RSPA.tmp" with contents +[ +/nologo /MT /W3 /GX /O2 /I "C:\java\jdk1.3.1\include" /I "C:\java\jdk1.3.1\include\win32" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /Fo".\Release/" /Fd".\Release/" /FD /c +"C:\src\ice\windows\jniregistry\RegistryKey.c" +] +Creating command line "cl.exe @C:\DOCUME~1\time\LOCALS~1\Temp\RSPA.tmp" +Creating temporary file "C:\DOCUME~1\time\LOCALS~1\Temp\RSPB.tmp" with contents +[ +kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:".\Release/ICE_JNIRegistry.pdb" /machine:I386 /out:".\Release\ICE_JNIRegistry.dll" /implib:".\Release/ICE_JNIRegistry.lib" +.\Release\RegistryKey.obj +] +Creating command line "link.exe @C:\DOCUME~1\time\LOCALS~1\Temp\RSPB.tmp" +

Output Window

+Compiling... +RegistryKey.c +Linking... + Creating library .\Release/ICE_JNIRegistry.lib and object .\Release/ICE_JNIRegistry.exp + + + +

Results

+ICE_JNIRegistry.dll - 0 error(s), 0 warning(s) +
+ + diff --git a/Lib/registry-3.1.3/说明.txt b/Lib/registry-3.1.3/说明.txt new file mode 100644 index 0000000..d6d5d5e --- /dev/null +++ b/Lib/registry-3.1.3/说明.txt @@ -0,0 +1,26 @@ +How to install ice_jniregistry.dll: + +Copy file ice_jniregistry.dll to the installation directory of the program that is requesting ice_jniregistry.dll. +If that doesn't work, you will have to copy ice_jniregistry.dll to your system directory. By default, this is: +Windows 95/98/Me - C:\Windows\System +Windows NT/2000 - C:\WINNT\System32 +Windows XP, Vista, 7 - C:\Windows\System32 +If you use a 64-bit version of Windows, you should also copy ice_jniregistry.dll to C:\Windows\SysWOW64\ +Make a backup copy of the original files +Overwrite any existing files +Reboot your computer. +If the problem still occurs, try the following: +Open Windows Start menu and select "Run...". +Type CMD and press Enter (or if you use Windows ME, type COMMAND) +Type regsvr32 ice_jniregistry.dll and press Enter. + +If you can't find windows directory try the following: +Open Windows Start menu and select "Run...". +Type CMD and press Enter (or if you use Windows ME, type COMMAND) +Type %WINDIR% and press Enter. + +Other versions of this file: +ice_jniregistry (2).dll 01.05.2012 + + + diff --git a/Lib/relaxngDatatype-20020414.jar b/Lib/relaxngDatatype-20020414.jar new file mode 100644 index 0000000..db9206f Binary files /dev/null and b/Lib/relaxngDatatype-20020414.jar differ diff --git a/Lib/rsyntaxtextarea.jar b/Lib/rsyntaxtextarea.jar new file mode 100644 index 0000000..53ce775 Binary files /dev/null and b/Lib/rsyntaxtextarea.jar differ diff --git a/Lib/slf4j-api-1.7.5.jar b/Lib/slf4j-api-1.7.5.jar new file mode 100644 index 0000000..8f004d3 Binary files /dev/null and b/Lib/slf4j-api-1.7.5.jar differ diff --git a/Lib/slf4j-jdk14-1.7.5.jar b/Lib/slf4j-jdk14-1.7.5.jar new file mode 100644 index 0000000..050fbd8 Binary files /dev/null and b/Lib/slf4j-jdk14-1.7.5.jar differ diff --git a/Lib/spring-aop-3.0.7.RELEASE.jar b/Lib/spring-aop-3.0.7.RELEASE.jar new file mode 100644 index 0000000..7e888ab Binary files /dev/null and b/Lib/spring-aop-3.0.7.RELEASE.jar differ diff --git a/Lib/spring-asm-3.0.7.RELEASE.jar b/Lib/spring-asm-3.0.7.RELEASE.jar new file mode 100644 index 0000000..a5d578d Binary files /dev/null and b/Lib/spring-asm-3.0.7.RELEASE.jar differ diff --git a/Lib/spring-beans-3.0.7.RELEASE.jar b/Lib/spring-beans-3.0.7.RELEASE.jar new file mode 100644 index 0000000..3d39319 Binary files /dev/null and b/Lib/spring-beans-3.0.7.RELEASE.jar differ diff --git a/Lib/spring-context-3.0.7.RELEASE.jar b/Lib/spring-context-3.0.7.RELEASE.jar new file mode 100644 index 0000000..c99132f Binary files /dev/null and b/Lib/spring-context-3.0.7.RELEASE.jar differ diff --git a/Lib/spring-core-3.0.7.RELEASE.jar b/Lib/spring-core-3.0.7.RELEASE.jar new file mode 100644 index 0000000..778d035 Binary files /dev/null and b/Lib/spring-core-3.0.7.RELEASE.jar differ diff --git a/Lib/spring-expression-3.0.7.RELEASE.jar b/Lib/spring-expression-3.0.7.RELEASE.jar new file mode 100644 index 0000000..57f8a28 Binary files /dev/null and b/Lib/spring-expression-3.0.7.RELEASE.jar differ diff --git a/Lib/spring-jms-3.0.7.RELEASE.jar b/Lib/spring-jms-3.0.7.RELEASE.jar new file mode 100644 index 0000000..5119813 Binary files /dev/null and b/Lib/spring-jms-3.0.7.RELEASE.jar differ diff --git a/Lib/spring-tx-3.0.7.RELEASE.jar b/Lib/spring-tx-3.0.7.RELEASE.jar new file mode 100644 index 0000000..87f6af1 Binary files /dev/null and b/Lib/spring-tx-3.0.7.RELEASE.jar differ diff --git a/Lib/spring-web-3.0.7.RELEASE.jar b/Lib/spring-web-3.0.7.RELEASE.jar new file mode 100644 index 0000000..63f9c8b Binary files /dev/null and b/Lib/spring-web-3.0.7.RELEASE.jar differ diff --git a/Lib/stax2-api-3.1.1.jar b/Lib/stax2-api-3.1.1.jar new file mode 100644 index 0000000..63a8a06 Binary files /dev/null and b/Lib/stax2-api-3.1.1.jar differ diff --git a/Lib/swt_32/swt.jar b/Lib/swt_32/swt.jar new file mode 100644 index 0000000..bccb67d Binary files /dev/null and b/Lib/swt_32/swt.jar differ diff --git a/Lib/swt_64/swt.jar b/Lib/swt_64/swt.jar new file mode 100644 index 0000000..916306b Binary files /dev/null and b/Lib/swt_64/swt.jar differ diff --git a/Lib/velocity-1.7.jar b/Lib/velocity-1.7.jar new file mode 100644 index 0000000..ae936d3 Binary files /dev/null and b/Lib/velocity-1.7.jar differ diff --git a/Lib/woodstox-core-asl-4.2.0.jar b/Lib/woodstox-core-asl-4.2.0.jar new file mode 100644 index 0000000..8ca96d5 Binary files /dev/null and b/Lib/woodstox-core-asl-4.2.0.jar differ diff --git a/Lib/wsdl4j-1.6.2.jar b/Lib/wsdl4j-1.6.2.jar new file mode 100644 index 0000000..b9ffc36 Binary files /dev/null and b/Lib/wsdl4j-1.6.2.jar differ diff --git a/Lib/wsdl4j-1.6.3.jar b/Lib/wsdl4j-1.6.3.jar new file mode 100644 index 0000000..b9c10b9 Binary files /dev/null and b/Lib/wsdl4j-1.6.3.jar differ diff --git a/Lib/wss4j-1.6.12.jar b/Lib/wss4j-1.6.12.jar new file mode 100644 index 0000000..1a03fc0 Binary files /dev/null and b/Lib/wss4j-1.6.12.jar differ diff --git a/Lib/wstx-asl-3.2.9.jar b/Lib/wstx-asl-3.2.9.jar new file mode 100644 index 0000000..ffdbd1f Binary files /dev/null and b/Lib/wstx-asl-3.2.9.jar differ diff --git a/Lib/xml-resolver-1.2.jar b/Lib/xml-resolver-1.2.jar new file mode 100644 index 0000000..e535bdc Binary files /dev/null and b/Lib/xml-resolver-1.2.jar differ diff --git a/Lib/xmlbeans-2.6.0.jar b/Lib/xmlbeans-2.6.0.jar new file mode 100644 index 0000000..d1b6627 Binary files /dev/null and b/Lib/xmlbeans-2.6.0.jar differ diff --git a/Lib/xmlschema-core-2.0.3.jar b/Lib/xmlschema-core-2.0.3.jar new file mode 100644 index 0000000..c15ca90 Binary files /dev/null and b/Lib/xmlschema-core-2.0.3.jar differ diff --git a/Lib/xmlschema-core-2.0.jar b/Lib/xmlschema-core-2.0.jar new file mode 100644 index 0000000..ec561bf Binary files /dev/null and b/Lib/xmlschema-core-2.0.jar differ diff --git a/Lib/xmlsec-1.5.5.jar b/Lib/xmlsec-1.5.5.jar new file mode 100644 index 0000000..6e7ecc8 Binary files /dev/null and b/Lib/xmlsec-1.5.5.jar differ diff --git a/Lib/xmltooling-1.3.2-1.jar b/Lib/xmltooling-1.3.2-1.jar new file mode 100644 index 0000000..8de8076 Binary files /dev/null and b/Lib/xmltooling-1.3.2-1.jar differ diff --git a/Lib/xsdlib-2010.1.jar b/Lib/xsdlib-2010.1.jar new file mode 100644 index 0000000..ce380df Binary files /dev/null and b/Lib/xsdlib-2010.1.jar differ diff --git a/build.xml b/build.xml new file mode 100644 index 0000000..da800a7 --- /dev/null +++ b/build.xml @@ -0,0 +1,73 @@ + + + + + + + + + + + Builds, tests, and runs the project client. + + + diff --git a/clientUpdater/README.TXT b/clientUpdater/README.TXT new file mode 100644 index 0000000..fa03689 --- /dev/null +++ b/clientUpdater/README.TXT @@ -0,0 +1,32 @@ +======================== +BUILD OUTPUT DESCRIPTION +======================== + +When you build an Java application project that has a main class, the IDE +automatically copies all of the JAR +files on the projects classpath to your projects dist/lib folder. The IDE +also adds each of the JAR files to the Class-Path element in the application +JAR files manifest file (MANIFEST.MF). + +To run the project from the command line, go to the dist folder and +type the following: + +java -jar "clientUpdater.jar" + +To distribute this project, zip up the dist folder (including the lib folder) +and distribute the ZIP file. + +Notes: + +* If two JAR files on the project classpath have the same name, only the first +JAR file is copied to the lib folder. +* Only JAR files are copied to the lib folder. +If the classpath contains other types of files or folders, these files (folders) +are not copied. +* If a library on the projects classpath also has a Class-Path element +specified in the manifest,the content of the Class-Path element has to be on +the projects runtime path. +* To set a main class in a standard Java project, right-click the project node +in the Projects window and choose Properties. Then click Run and enter the +class name in the Main Class field. Alternatively, you can manually type the +class name in the manifest Main-Class element. diff --git a/clientUpdater/build.xml b/clientUpdater/build.xml new file mode 100644 index 0000000..8f2161d --- /dev/null +++ b/clientUpdater/build.xml @@ -0,0 +1,73 @@ + + + + + + + + + + + Builds, tests, and runs the project clientUpdater. + + + diff --git a/clientUpdater/build/classes/clientupdater/ClientUpdater.class b/clientUpdater/build/classes/clientupdater/ClientUpdater.class new file mode 100644 index 0000000..60830ba Binary files /dev/null and b/clientUpdater/build/classes/clientupdater/ClientUpdater.class differ diff --git a/clientUpdater/build/classes/clientupdater/TestStart.class b/clientUpdater/build/classes/clientupdater/TestStart.class new file mode 100644 index 0000000..b2ed8db Binary files /dev/null and b/clientUpdater/build/classes/clientupdater/TestStart.class differ diff --git a/clientUpdater/build/classes/clientupdater/UpdaterFrame$1.class b/clientUpdater/build/classes/clientupdater/UpdaterFrame$1.class new file mode 100644 index 0000000..2384aac Binary files /dev/null and b/clientUpdater/build/classes/clientupdater/UpdaterFrame$1.class differ diff --git a/clientUpdater/build/classes/clientupdater/UpdaterFrame$2.class b/clientUpdater/build/classes/clientupdater/UpdaterFrame$2.class new file mode 100644 index 0000000..76c4c25 Binary files /dev/null and b/clientUpdater/build/classes/clientupdater/UpdaterFrame$2.class differ diff --git a/clientUpdater/build/classes/clientupdater/UpdaterFrame$3.class b/clientUpdater/build/classes/clientupdater/UpdaterFrame$3.class new file mode 100644 index 0000000..0c555cc Binary files /dev/null and b/clientUpdater/build/classes/clientupdater/UpdaterFrame$3.class differ diff --git a/clientUpdater/build/classes/clientupdater/UpdaterFrame.class b/clientUpdater/build/classes/clientupdater/UpdaterFrame.class new file mode 100644 index 0000000..416ba9c Binary files /dev/null and b/clientUpdater/build/classes/clientupdater/UpdaterFrame.class differ diff --git a/clientUpdater/build/classes/shared/Share.class b/clientUpdater/build/classes/shared/Share.class new file mode 100644 index 0000000..125313b Binary files /dev/null and b/clientUpdater/build/classes/shared/Share.class differ diff --git a/clientUpdater/clientUpdater.iml b/clientUpdater/clientUpdater.iml new file mode 100644 index 0000000..38f1d65 --- /dev/null +++ b/clientUpdater/clientUpdater.iml @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/clientUpdater/clientUpdater.jar b/clientUpdater/clientUpdater.jar new file mode 100644 index 0000000..162e05e Binary files /dev/null and b/clientUpdater/clientUpdater.jar differ diff --git a/clientUpdater/config/Config.properties b/clientUpdater/config/Config.properties new file mode 100644 index 0000000..00a5ae6 --- /dev/null +++ b/clientUpdater/config/Config.properties @@ -0,0 +1,24 @@ +#update Config.properties +#Wed Jul 18 00:28:57 CST 2018 +URLip=47.95.22.126 +srcDir=D\:\\Java\\OJClient\\client\\TMP +isCppRelative=true +relativeJavaCompilerDir=C\:\\Program Files\\Java\\jdk1.8.0_40\\bin +Username=felix +URLport=8080 +cCompilerDir=C\:\\\u65B0\u5EFA\u6587\u4EF6\u5939 +exeDir=D\:\\Java\\OJClient\\client\\TMP +MinGWDir=C\:\\org\\client\\MinGW\\bin +relativeCCompilerDir=\\MinGW\\bin +JavaRelative=1 +>>>>>>>=.r139 +isJavaRelative=true +<<<<<<<=.mine +MinGWRelative=1 +relativeCppCompilerDir=\\MinGW\\bin +javaCompilerDir=\\\\vmware-host\\Shared Folders\\\u6587\u7A3F\\NetBeansProjects\\oj\\client\\MinGW\\bin +JavaCompileDir=C\:\\Program Files\\Java\\jdk1.8.0_131\\bin +Debug=1 +URLaddress=218.193.156.209 +cppCompilerDir=\\\\vmware-host\\Shared Folders\\\u6587\u7A3F\\NetBeansProjects\\oj\\client\\MinGW\\bin +=\=\=\=\=\=\= diff --git a/clientUpdater/config/DBConfig.properties b/clientUpdater/config/DBConfig.properties new file mode 100644 index 0000000..26b9459 --- /dev/null +++ b/clientUpdater/config/DBConfig.properties @@ -0,0 +1,6 @@ +#update dbConfig.properties +#Sun Nov 06 23:15:44 CST 2016 +hibernate.connection.username=root +hibernate.connection.password=1a2b3c4d +hibernate.connection.url=jdbc\:mysql\://121.42.40.51\:3306/gdoj?useUnicode\=true&characterEncoding\=UTF-8 +hibernate.connection.driver_class=com.mysql.jdbc.Driver diff --git a/clientUpdater/dist/clientUpdater.jar b/clientUpdater/dist/clientUpdater.jar new file mode 100644 index 0000000..c90400a Binary files /dev/null and b/clientUpdater/dist/clientUpdater.jar differ diff --git a/clientUpdater/lib/Common.jar b/clientUpdater/lib/Common.jar new file mode 100644 index 0000000..6876ba3 Binary files /dev/null and b/clientUpdater/lib/Common.jar differ diff --git a/clientUpdater/lib/DJNativeSwing-SWT.jar b/clientUpdater/lib/DJNativeSwing-SWT.jar new file mode 100644 index 0000000..07d6b1e Binary files /dev/null and b/clientUpdater/lib/DJNativeSwing-SWT.jar differ diff --git a/clientUpdater/lib/DJNativeSwing.jar b/clientUpdater/lib/DJNativeSwing.jar new file mode 100644 index 0000000..c15cc2c Binary files /dev/null and b/clientUpdater/lib/DJNativeSwing.jar differ diff --git a/clientUpdater/lib/Distributor.jar b/clientUpdater/lib/Distributor.jar new file mode 100644 index 0000000..08b10be Binary files /dev/null and b/clientUpdater/lib/Distributor.jar differ diff --git a/clientUpdater/lib/FastInfoset-1.2.12.jar b/clientUpdater/lib/FastInfoset-1.2.12.jar new file mode 100644 index 0000000..b960c26 Binary files /dev/null and b/clientUpdater/lib/FastInfoset-1.2.12.jar differ diff --git a/clientUpdater/lib/JuderUI.jar b/clientUpdater/lib/JuderUI.jar new file mode 100644 index 0000000..4a435fb Binary files /dev/null and b/clientUpdater/lib/JuderUI.jar differ diff --git a/clientUpdater/lib/Judger.jar b/clientUpdater/lib/Judger.jar new file mode 100644 index 0000000..5831232 Binary files /dev/null and b/clientUpdater/lib/Judger.jar differ diff --git a/clientUpdater/lib/activemq-broker-5.8.0.jar b/clientUpdater/lib/activemq-broker-5.8.0.jar new file mode 100644 index 0000000..185b0db Binary files /dev/null and b/clientUpdater/lib/activemq-broker-5.8.0.jar differ diff --git a/clientUpdater/lib/activemq-client-5.8.0.jar b/clientUpdater/lib/activemq-client-5.8.0.jar new file mode 100644 index 0000000..0e1a473 Binary files /dev/null and b/clientUpdater/lib/activemq-client-5.8.0.jar differ diff --git a/clientUpdater/lib/activemq-openwire-legacy-5.8.0.jar b/clientUpdater/lib/activemq-openwire-legacy-5.8.0.jar new file mode 100644 index 0000000..d80cb3b Binary files /dev/null and b/clientUpdater/lib/activemq-openwire-legacy-5.8.0.jar differ diff --git a/clientUpdater/lib/antlr-2.7.7.jar b/clientUpdater/lib/antlr-2.7.7.jar new file mode 100644 index 0000000..5e5f14b Binary files /dev/null and b/clientUpdater/lib/antlr-2.7.7.jar differ diff --git a/clientUpdater/lib/antlr_2.7.6.jar b/clientUpdater/lib/antlr_2.7.6.jar new file mode 100644 index 0000000..3702b64 Binary files /dev/null and b/clientUpdater/lib/antlr_2.7.6.jar differ diff --git a/clientUpdater/lib/aopalliance-1.0.jar b/clientUpdater/lib/aopalliance-1.0.jar new file mode 100644 index 0000000..578b1a0 Binary files /dev/null and b/clientUpdater/lib/aopalliance-1.0.jar differ diff --git a/clientUpdater/lib/asm-2.1.jar b/clientUpdater/lib/asm-2.1.jar new file mode 100644 index 0000000..4f47899 Binary files /dev/null and b/clientUpdater/lib/asm-2.1.jar differ diff --git a/clientUpdater/lib/asm-3.3.1.jar b/clientUpdater/lib/asm-3.3.1.jar new file mode 100644 index 0000000..f50f03f Binary files /dev/null and b/clientUpdater/lib/asm-3.3.1.jar differ diff --git a/clientUpdater/lib/asm-all-2.2.3.jar b/clientUpdater/lib/asm-all-2.2.3.jar new file mode 100644 index 0000000..34bb1b2 Binary files /dev/null and b/clientUpdater/lib/asm-all-2.2.3.jar differ diff --git a/clientUpdater/lib/asm-all-4.0.jar b/clientUpdater/lib/asm-all-4.0.jar new file mode 100644 index 0000000..dc44f70 Binary files /dev/null and b/clientUpdater/lib/asm-all-4.0.jar differ diff --git a/clientUpdater/lib/asm.jar b/clientUpdater/lib/asm.jar new file mode 100644 index 0000000..6ffa16d Binary files /dev/null and b/clientUpdater/lib/asm.jar differ diff --git a/clientUpdater/lib/cglib-2.1.3.jar b/clientUpdater/lib/cglib-2.1.3.jar new file mode 100644 index 0000000..ddfbdb0 Binary files /dev/null and b/clientUpdater/lib/cglib-2.1.3.jar differ diff --git a/clientUpdater/lib/cglib-2.1.jar b/clientUpdater/lib/cglib-2.1.jar new file mode 100644 index 0000000..2b24a80 Binary files /dev/null and b/clientUpdater/lib/cglib-2.1.jar differ diff --git a/clientUpdater/lib/cglib-nodep-2.1.3.jar b/clientUpdater/lib/cglib-nodep-2.1.3.jar new file mode 100644 index 0000000..e9b17eb Binary files /dev/null and b/clientUpdater/lib/cglib-nodep-2.1.3.jar differ diff --git a/clientUpdater/lib/client.jar b/clientUpdater/lib/client.jar new file mode 100644 index 0000000..ed6992f Binary files /dev/null and b/clientUpdater/lib/client.jar differ diff --git a/clientUpdater/lib/commons-codec-1.7.jar b/clientUpdater/lib/commons-codec-1.7.jar new file mode 100644 index 0000000..efa7f72 Binary files /dev/null and b/clientUpdater/lib/commons-codec-1.7.jar differ diff --git a/clientUpdater/lib/commons-collections-2.1.1.jar b/clientUpdater/lib/commons-collections-2.1.1.jar new file mode 100644 index 0000000..3272f2b Binary files /dev/null and b/clientUpdater/lib/commons-collections-2.1.1.jar differ diff --git a/clientUpdater/lib/commons-collections-3.2.1.jar b/clientUpdater/lib/commons-collections-3.2.1.jar new file mode 100644 index 0000000..c35fa1f Binary files /dev/null and b/clientUpdater/lib/commons-collections-3.2.1.jar differ diff --git a/clientUpdater/lib/commons-lang-2.6.jar b/clientUpdater/lib/commons-lang-2.6.jar new file mode 100644 index 0000000..98467d3 Binary files /dev/null and b/clientUpdater/lib/commons-lang-2.6.jar differ diff --git a/clientUpdater/lib/commons-logging-1.0.4.jar b/clientUpdater/lib/commons-logging-1.0.4.jar new file mode 100644 index 0000000..b73a80f Binary files /dev/null and b/clientUpdater/lib/commons-logging-1.0.4.jar differ diff --git a/clientUpdater/lib/commons-logging-1.1.1.jar b/clientUpdater/lib/commons-logging-1.1.1.jar new file mode 100644 index 0000000..1deef14 Binary files /dev/null and b/clientUpdater/lib/commons-logging-1.1.1.jar differ diff --git a/clientUpdater/lib/cxf-2.5.1.jar b/clientUpdater/lib/cxf-2.5.1.jar new file mode 100644 index 0000000..8203250 Binary files /dev/null and b/clientUpdater/lib/cxf-2.5.1.jar differ diff --git a/clientUpdater/lib/cxf-2.5.2.jar b/clientUpdater/lib/cxf-2.5.2.jar new file mode 100644 index 0000000..c335002 Binary files /dev/null and b/clientUpdater/lib/cxf-2.5.2.jar differ diff --git a/clientUpdater/lib/cxf-2.7.7.jar b/clientUpdater/lib/cxf-2.7.7.jar new file mode 100644 index 0000000..41cb67e Binary files /dev/null and b/clientUpdater/lib/cxf-2.7.7.jar differ diff --git a/clientUpdater/lib/cxf-manifest.jar b/clientUpdater/lib/cxf-manifest.jar new file mode 100644 index 0000000..eae54c8 Binary files /dev/null and b/clientUpdater/lib/cxf-manifest.jar differ diff --git a/clientUpdater/lib/cxf-services-sts-core-2.7.7.jar b/clientUpdater/lib/cxf-services-sts-core-2.7.7.jar new file mode 100644 index 0000000..4b0f386 Binary files /dev/null and b/clientUpdater/lib/cxf-services-sts-core-2.7.7.jar differ diff --git a/clientUpdater/lib/cxf-services-ws-discovery-api-2.7.7.jar b/clientUpdater/lib/cxf-services-ws-discovery-api-2.7.7.jar new file mode 100644 index 0000000..59a4cd7 Binary files /dev/null and b/clientUpdater/lib/cxf-services-ws-discovery-api-2.7.7.jar differ diff --git a/clientUpdater/lib/cxf-services-ws-discovery-service-2.7.7.jar b/clientUpdater/lib/cxf-services-ws-discovery-service-2.7.7.jar new file mode 100644 index 0000000..e238013 Binary files /dev/null and b/clientUpdater/lib/cxf-services-ws-discovery-service-2.7.7.jar differ diff --git a/clientUpdater/lib/cxf-services-wsn-api-2.7.7.jar b/clientUpdater/lib/cxf-services-wsn-api-2.7.7.jar new file mode 100644 index 0000000..4933676 Binary files /dev/null and b/clientUpdater/lib/cxf-services-wsn-api-2.7.7.jar differ diff --git a/clientUpdater/lib/cxf-services-wsn-core-2.7.7.jar b/clientUpdater/lib/cxf-services-wsn-core-2.7.7.jar new file mode 100644 index 0000000..8888012 Binary files /dev/null and b/clientUpdater/lib/cxf-services-wsn-core-2.7.7.jar differ diff --git a/clientUpdater/lib/cxf-xjc-boolean-2.6.2.jar b/clientUpdater/lib/cxf-xjc-boolean-2.6.2.jar new file mode 100644 index 0000000..59b3136 Binary files /dev/null and b/clientUpdater/lib/cxf-xjc-boolean-2.6.2.jar differ diff --git a/clientUpdater/lib/cxf-xjc-bug671-2.6.2.jar b/clientUpdater/lib/cxf-xjc-bug671-2.6.2.jar new file mode 100644 index 0000000..e87b9dd Binary files /dev/null and b/clientUpdater/lib/cxf-xjc-bug671-2.6.2.jar differ diff --git a/clientUpdater/lib/cxf-xjc-dv-2.6.2.jar b/clientUpdater/lib/cxf-xjc-dv-2.6.2.jar new file mode 100644 index 0000000..b3e2659 Binary files /dev/null and b/clientUpdater/lib/cxf-xjc-dv-2.6.2.jar differ diff --git a/clientUpdater/lib/cxf-xjc-runtime-2.6.2.jar b/clientUpdater/lib/cxf-xjc-runtime-2.6.2.jar new file mode 100644 index 0000000..5858940 Binary files /dev/null and b/clientUpdater/lib/cxf-xjc-runtime-2.6.2.jar differ diff --git a/clientUpdater/lib/cxf-xjc-ts-2.6.2.jar b/clientUpdater/lib/cxf-xjc-ts-2.6.2.jar new file mode 100644 index 0000000..283ba14 Binary files /dev/null and b/clientUpdater/lib/cxf-xjc-ts-2.6.2.jar differ diff --git a/clientUpdater/lib/dom4j-1.6.jar b/clientUpdater/lib/dom4j-1.6.jar new file mode 100644 index 0000000..e19f4ce Binary files /dev/null and b/clientUpdater/lib/dom4j-1.6.jar differ diff --git a/clientUpdater/lib/ehcache-core-2.5.1.jar b/clientUpdater/lib/ehcache-core-2.5.1.jar new file mode 100644 index 0000000..34b9085 Binary files /dev/null and b/clientUpdater/lib/ehcache-core-2.5.1.jar differ diff --git a/clientUpdater/lib/geronimo-annotation-1.0_spec-1.1.jar b/clientUpdater/lib/geronimo-annotation-1.0_spec-1.1.jar new file mode 100644 index 0000000..7a6f529 Binary files /dev/null and b/clientUpdater/lib/geronimo-annotation-1.0_spec-1.1.jar differ diff --git a/clientUpdater/lib/geronimo-j2ee-management_1.1_spec-1.0.1.jar b/clientUpdater/lib/geronimo-j2ee-management_1.1_spec-1.0.1.jar new file mode 100644 index 0000000..0701ae0 Binary files /dev/null and b/clientUpdater/lib/geronimo-j2ee-management_1.1_spec-1.0.1.jar differ diff --git a/clientUpdater/lib/geronimo-javamail_1.4_spec-1.7.1.jar b/clientUpdater/lib/geronimo-javamail_1.4_spec-1.7.1.jar new file mode 100644 index 0000000..eaa1c4d Binary files /dev/null and b/clientUpdater/lib/geronimo-javamail_1.4_spec-1.7.1.jar differ diff --git a/clientUpdater/lib/geronimo-jaxws_2.2_spec-1.1.jar b/clientUpdater/lib/geronimo-jaxws_2.2_spec-1.1.jar new file mode 100644 index 0000000..1c1c5df Binary files /dev/null and b/clientUpdater/lib/geronimo-jaxws_2.2_spec-1.1.jar differ diff --git a/clientUpdater/lib/geronimo-jms_1.1_spec-1.1.1.jar b/clientUpdater/lib/geronimo-jms_1.1_spec-1.1.1.jar new file mode 100644 index 0000000..4f5e646 Binary files /dev/null and b/clientUpdater/lib/geronimo-jms_1.1_spec-1.1.1.jar differ diff --git a/clientUpdater/lib/geronimo-servlet_3.0_spec-1.0.jar b/clientUpdater/lib/geronimo-servlet_3.0_spec-1.0.jar new file mode 100644 index 0000000..c244412 Binary files /dev/null and b/clientUpdater/lib/geronimo-servlet_3.0_spec-1.0.jar differ diff --git a/clientUpdater/lib/geronimo-stax-api_1.0_spec-1.0.1.jar b/clientUpdater/lib/geronimo-stax-api_1.0_spec-1.0.1.jar new file mode 100644 index 0000000..ab1ee3b Binary files /dev/null and b/clientUpdater/lib/geronimo-stax-api_1.0_spec-1.0.1.jar differ diff --git a/clientUpdater/lib/geronimo-ws-metadata_2.0_spec-1.1.3.jar b/clientUpdater/lib/geronimo-ws-metadata_2.0_spec-1.1.3.jar new file mode 100644 index 0000000..66dc1e2 Binary files /dev/null and b/clientUpdater/lib/geronimo-ws-metadata_2.0_spec-1.1.3.jar differ diff --git a/clientUpdater/lib/hawtbuf-1.9.jar b/clientUpdater/lib/hawtbuf-1.9.jar new file mode 100644 index 0000000..806ee5f Binary files /dev/null and b/clientUpdater/lib/hawtbuf-1.9.jar differ diff --git a/clientUpdater/lib/hibernate3.jar b/clientUpdater/lib/hibernate3.jar new file mode 100644 index 0000000..95986f8 Binary files /dev/null and b/clientUpdater/lib/hibernate3.jar differ diff --git a/clientUpdater/lib/httpasyncclient-4.0-beta3.jar b/clientUpdater/lib/httpasyncclient-4.0-beta3.jar new file mode 100644 index 0000000..dc6b398 Binary files /dev/null and b/clientUpdater/lib/httpasyncclient-4.0-beta3.jar differ diff --git a/clientUpdater/lib/httpclient-4.2.5.jar b/clientUpdater/lib/httpclient-4.2.5.jar new file mode 100644 index 0000000..84fece4 Binary files /dev/null and b/clientUpdater/lib/httpclient-4.2.5.jar differ diff --git a/clientUpdater/lib/httpcore-4.2.4.jar b/clientUpdater/lib/httpcore-4.2.4.jar new file mode 100644 index 0000000..9f45bd9 Binary files /dev/null and b/clientUpdater/lib/httpcore-4.2.4.jar differ diff --git a/clientUpdater/lib/httpcore-nio-4.2.4.jar b/clientUpdater/lib/httpcore-nio-4.2.4.jar new file mode 100644 index 0000000..6f42c71 Binary files /dev/null and b/clientUpdater/lib/httpcore-nio-4.2.4.jar differ diff --git a/clientUpdater/lib/isorelax-20030108.jar b/clientUpdater/lib/isorelax-20030108.jar new file mode 100644 index 0000000..a2ebb76 Binary files /dev/null and b/clientUpdater/lib/isorelax-20030108.jar differ diff --git a/clientUpdater/lib/java-diff-1.1.jar b/clientUpdater/lib/java-diff-1.1.jar new file mode 100644 index 0000000..2104bcc Binary files /dev/null and b/clientUpdater/lib/java-diff-1.1.jar differ diff --git a/clientUpdater/lib/java-diff.jar b/clientUpdater/lib/java-diff.jar new file mode 100644 index 0000000..0cf43ee Binary files /dev/null and b/clientUpdater/lib/java-diff.jar differ diff --git a/clientUpdater/lib/javax.ws.rs-api-2.0-m10.jar b/clientUpdater/lib/javax.ws.rs-api-2.0-m10.jar new file mode 100644 index 0000000..3eda2a8 Binary files /dev/null and b/clientUpdater/lib/javax.ws.rs-api-2.0-m10.jar differ diff --git a/clientUpdater/lib/jaxb-api-2.2.1.jar b/clientUpdater/lib/jaxb-api-2.2.1.jar new file mode 100644 index 0000000..3480c41 Binary files /dev/null and b/clientUpdater/lib/jaxb-api-2.2.1.jar differ diff --git a/clientUpdater/lib/jaxb-api-2.2.6.jar b/clientUpdater/lib/jaxb-api-2.2.6.jar new file mode 100644 index 0000000..8f45754 Binary files /dev/null and b/clientUpdater/lib/jaxb-api-2.2.6.jar differ diff --git a/clientUpdater/lib/jaxb-impl-2.2.1.1.jar b/clientUpdater/lib/jaxb-impl-2.2.1.1.jar new file mode 100644 index 0000000..5dad680 Binary files /dev/null and b/clientUpdater/lib/jaxb-impl-2.2.1.1.jar differ diff --git a/clientUpdater/lib/jaxb-impl-2.2.6.jar b/clientUpdater/lib/jaxb-impl-2.2.6.jar new file mode 100644 index 0000000..cd249e7 Binary files /dev/null and b/clientUpdater/lib/jaxb-impl-2.2.6.jar differ diff --git a/clientUpdater/lib/jaxb-xjc-2.2.6.jar b/clientUpdater/lib/jaxb-xjc-2.2.6.jar new file mode 100644 index 0000000..7f2d807 Binary files /dev/null and b/clientUpdater/lib/jaxb-xjc-2.2.6.jar differ diff --git a/clientUpdater/lib/jdom.jar b/clientUpdater/lib/jdom.jar new file mode 100644 index 0000000..512cdfb Binary files /dev/null and b/clientUpdater/lib/jdom.jar differ diff --git a/clientUpdater/lib/jdom2-2.0.5.jar b/clientUpdater/lib/jdom2-2.0.5.jar new file mode 100644 index 0000000..b6996c7 Binary files /dev/null and b/clientUpdater/lib/jdom2-2.0.5.jar differ diff --git a/clientUpdater/lib/jettison-1.3.4.jar b/clientUpdater/lib/jettison-1.3.4.jar new file mode 100644 index 0000000..fc483f3 Binary files /dev/null and b/clientUpdater/lib/jettison-1.3.4.jar differ diff --git a/clientUpdater/lib/jetty-continuation-8.1.12.v20130726.jar b/clientUpdater/lib/jetty-continuation-8.1.12.v20130726.jar new file mode 100644 index 0000000..f253f0d Binary files /dev/null and b/clientUpdater/lib/jetty-continuation-8.1.12.v20130726.jar differ diff --git a/clientUpdater/lib/jetty-http-8.1.12.v20130726.jar b/clientUpdater/lib/jetty-http-8.1.12.v20130726.jar new file mode 100644 index 0000000..30adfb5 Binary files /dev/null and b/clientUpdater/lib/jetty-http-8.1.12.v20130726.jar differ diff --git a/clientUpdater/lib/jetty-io-8.1.12.v20130726.jar b/clientUpdater/lib/jetty-io-8.1.12.v20130726.jar new file mode 100644 index 0000000..e37e715 Binary files /dev/null and b/clientUpdater/lib/jetty-io-8.1.12.v20130726.jar differ diff --git a/clientUpdater/lib/jetty-security-8.1.12.v20130726.jar b/clientUpdater/lib/jetty-security-8.1.12.v20130726.jar new file mode 100644 index 0000000..fd9ea3e Binary files /dev/null and b/clientUpdater/lib/jetty-security-8.1.12.v20130726.jar differ diff --git a/clientUpdater/lib/jetty-server-8.1.12.v20130726.jar b/clientUpdater/lib/jetty-server-8.1.12.v20130726.jar new file mode 100644 index 0000000..49cdbb0 Binary files /dev/null and b/clientUpdater/lib/jetty-server-8.1.12.v20130726.jar differ diff --git a/clientUpdater/lib/jetty-util-8.1.12.v20130726.jar b/clientUpdater/lib/jetty-util-8.1.12.v20130726.jar new file mode 100644 index 0000000..41a76e0 Binary files /dev/null and b/clientUpdater/lib/jetty-util-8.1.12.v20130726.jar differ diff --git a/clientUpdater/lib/joda-time-1.6.2.jar b/clientUpdater/lib/joda-time-1.6.2.jar new file mode 100644 index 0000000..9b045c3 Binary files /dev/null and b/clientUpdater/lib/joda-time-1.6.2.jar differ diff --git a/clientUpdater/lib/js-1.7R2.jar b/clientUpdater/lib/js-1.7R2.jar new file mode 100644 index 0000000..2369f99 Binary files /dev/null and b/clientUpdater/lib/js-1.7R2.jar differ diff --git a/clientUpdater/lib/jta.jar b/clientUpdater/lib/jta.jar new file mode 100644 index 0000000..e0822a9 Binary files /dev/null and b/clientUpdater/lib/jta.jar differ diff --git a/clientUpdater/lib/junit-4.12.jar b/clientUpdater/lib/junit-4.12.jar new file mode 100644 index 0000000..e703cde Binary files /dev/null and b/clientUpdater/lib/junit-4.12.jar differ diff --git a/clientUpdater/lib/mina-core-2.0.7.jar b/clientUpdater/lib/mina-core-2.0.7.jar new file mode 100644 index 0000000..c5f384c Binary files /dev/null and b/clientUpdater/lib/mina-core-2.0.7.jar differ diff --git a/clientUpdater/lib/msv-core-2011.1.jar b/clientUpdater/lib/msv-core-2011.1.jar new file mode 100644 index 0000000..814bc2c Binary files /dev/null and b/clientUpdater/lib/msv-core-2011.1.jar differ diff --git a/clientUpdater/lib/mysql-connector-java-5.1.6-bin.jar b/clientUpdater/lib/mysql-connector-java-5.1.6-bin.jar new file mode 100644 index 0000000..0539039 Binary files /dev/null and b/clientUpdater/lib/mysql-connector-java-5.1.6-bin.jar differ diff --git a/clientUpdater/lib/neethi-3.0.2.jar b/clientUpdater/lib/neethi-3.0.2.jar new file mode 100644 index 0000000..383efde Binary files /dev/null and b/clientUpdater/lib/neethi-3.0.2.jar differ diff --git a/clientUpdater/lib/oauth-20100527.jar b/clientUpdater/lib/oauth-20100527.jar new file mode 100644 index 0000000..e657953 Binary files /dev/null and b/clientUpdater/lib/oauth-20100527.jar differ diff --git a/clientUpdater/lib/oauth-provider-20100527.jar b/clientUpdater/lib/oauth-provider-20100527.jar new file mode 100644 index 0000000..2bece29 Binary files /dev/null and b/clientUpdater/lib/oauth-provider-20100527.jar differ diff --git a/clientUpdater/lib/opensaml-2.5.1-1.jar b/clientUpdater/lib/opensaml-2.5.1-1.jar new file mode 100644 index 0000000..df5bbbf Binary files /dev/null and b/clientUpdater/lib/opensaml-2.5.1-1.jar differ diff --git a/clientUpdater/lib/openws-1.4.2-1.jar b/clientUpdater/lib/openws-1.4.2-1.jar new file mode 100644 index 0000000..5ad1bd5 Binary files /dev/null and b/clientUpdater/lib/openws-1.4.2-1.jar differ diff --git a/clientUpdater/lib/poi-3.2-FINAL.jar b/clientUpdater/lib/poi-3.2-FINAL.jar new file mode 100644 index 0000000..46169a5 Binary files /dev/null and b/clientUpdater/lib/poi-3.2-FINAL.jar differ diff --git a/clientUpdater/lib/poi-contrib-3.2-FINAL.jar b/clientUpdater/lib/poi-contrib-3.2-FINAL.jar new file mode 100644 index 0000000..ddffdd8 Binary files /dev/null and b/clientUpdater/lib/poi-contrib-3.2-FINAL.jar differ diff --git a/clientUpdater/lib/poi-scratchpad-3.2-FINAL.jar b/clientUpdater/lib/poi-scratchpad-3.2-FINAL.jar new file mode 100644 index 0000000..29074f5 Binary files /dev/null and b/clientUpdater/lib/poi-scratchpad-3.2-FINAL.jar differ diff --git a/clientUpdater/lib/registry.jar b/clientUpdater/lib/registry.jar new file mode 100644 index 0000000..2aefa0f Binary files /dev/null and b/clientUpdater/lib/registry.jar differ diff --git a/clientUpdater/lib/relaxngDatatype-20020414.jar b/clientUpdater/lib/relaxngDatatype-20020414.jar new file mode 100644 index 0000000..db9206f Binary files /dev/null and b/clientUpdater/lib/relaxngDatatype-20020414.jar differ diff --git a/clientUpdater/lib/rsyntaxtextarea.jar b/clientUpdater/lib/rsyntaxtextarea.jar new file mode 100644 index 0000000..53ce775 Binary files /dev/null and b/clientUpdater/lib/rsyntaxtextarea.jar differ diff --git a/clientUpdater/lib/slf4j-api-1.7.5.jar b/clientUpdater/lib/slf4j-api-1.7.5.jar new file mode 100644 index 0000000..8f004d3 Binary files /dev/null and b/clientUpdater/lib/slf4j-api-1.7.5.jar differ diff --git a/clientUpdater/lib/slf4j-jdk14-1.7.5.jar b/clientUpdater/lib/slf4j-jdk14-1.7.5.jar new file mode 100644 index 0000000..050fbd8 Binary files /dev/null and b/clientUpdater/lib/slf4j-jdk14-1.7.5.jar differ diff --git a/clientUpdater/lib/spring-aop-3.0.7.RELEASE.jar b/clientUpdater/lib/spring-aop-3.0.7.RELEASE.jar new file mode 100644 index 0000000..7e888ab Binary files /dev/null and b/clientUpdater/lib/spring-aop-3.0.7.RELEASE.jar differ diff --git a/clientUpdater/lib/spring-asm-3.0.7.RELEASE.jar b/clientUpdater/lib/spring-asm-3.0.7.RELEASE.jar new file mode 100644 index 0000000..a5d578d Binary files /dev/null and b/clientUpdater/lib/spring-asm-3.0.7.RELEASE.jar differ diff --git a/clientUpdater/lib/spring-beans-3.0.7.RELEASE.jar b/clientUpdater/lib/spring-beans-3.0.7.RELEASE.jar new file mode 100644 index 0000000..3d39319 Binary files /dev/null and b/clientUpdater/lib/spring-beans-3.0.7.RELEASE.jar differ diff --git a/clientUpdater/lib/spring-context-3.0.7.RELEASE.jar b/clientUpdater/lib/spring-context-3.0.7.RELEASE.jar new file mode 100644 index 0000000..c99132f Binary files /dev/null and b/clientUpdater/lib/spring-context-3.0.7.RELEASE.jar differ diff --git a/clientUpdater/lib/spring-core-3.0.7.RELEASE.jar b/clientUpdater/lib/spring-core-3.0.7.RELEASE.jar new file mode 100644 index 0000000..778d035 Binary files /dev/null and b/clientUpdater/lib/spring-core-3.0.7.RELEASE.jar differ diff --git a/clientUpdater/lib/spring-expression-3.0.7.RELEASE.jar b/clientUpdater/lib/spring-expression-3.0.7.RELEASE.jar new file mode 100644 index 0000000..57f8a28 Binary files /dev/null and b/clientUpdater/lib/spring-expression-3.0.7.RELEASE.jar differ diff --git a/clientUpdater/lib/spring-jms-3.0.7.RELEASE.jar b/clientUpdater/lib/spring-jms-3.0.7.RELEASE.jar new file mode 100644 index 0000000..5119813 Binary files /dev/null and b/clientUpdater/lib/spring-jms-3.0.7.RELEASE.jar differ diff --git a/clientUpdater/lib/spring-tx-3.0.7.RELEASE.jar b/clientUpdater/lib/spring-tx-3.0.7.RELEASE.jar new file mode 100644 index 0000000..87f6af1 Binary files /dev/null and b/clientUpdater/lib/spring-tx-3.0.7.RELEASE.jar differ diff --git a/clientUpdater/lib/spring-web-3.0.7.RELEASE.jar b/clientUpdater/lib/spring-web-3.0.7.RELEASE.jar new file mode 100644 index 0000000..63f9c8b Binary files /dev/null and b/clientUpdater/lib/spring-web-3.0.7.RELEASE.jar differ diff --git a/clientUpdater/lib/stax2-api-3.1.1.jar b/clientUpdater/lib/stax2-api-3.1.1.jar new file mode 100644 index 0000000..63a8a06 Binary files /dev/null and b/clientUpdater/lib/stax2-api-3.1.1.jar differ diff --git a/clientUpdater/lib/swt.jar b/clientUpdater/lib/swt.jar new file mode 100644 index 0000000..916306b Binary files /dev/null and b/clientUpdater/lib/swt.jar differ diff --git a/clientUpdater/lib/velocity-1.7.jar b/clientUpdater/lib/velocity-1.7.jar new file mode 100644 index 0000000..ae936d3 Binary files /dev/null and b/clientUpdater/lib/velocity-1.7.jar differ diff --git a/clientUpdater/lib/woodstox-core-asl-4.2.0.jar b/clientUpdater/lib/woodstox-core-asl-4.2.0.jar new file mode 100644 index 0000000..8ca96d5 Binary files /dev/null and b/clientUpdater/lib/woodstox-core-asl-4.2.0.jar differ diff --git a/clientUpdater/lib/wsdl4j-1.6.2.jar b/clientUpdater/lib/wsdl4j-1.6.2.jar new file mode 100644 index 0000000..b9ffc36 Binary files /dev/null and b/clientUpdater/lib/wsdl4j-1.6.2.jar differ diff --git a/clientUpdater/lib/wsdl4j-1.6.3.jar b/clientUpdater/lib/wsdl4j-1.6.3.jar new file mode 100644 index 0000000..b9c10b9 Binary files /dev/null and b/clientUpdater/lib/wsdl4j-1.6.3.jar differ diff --git a/clientUpdater/lib/wss4j-1.6.12.jar b/clientUpdater/lib/wss4j-1.6.12.jar new file mode 100644 index 0000000..1a03fc0 Binary files /dev/null and b/clientUpdater/lib/wss4j-1.6.12.jar differ diff --git a/clientUpdater/lib/wstx-asl-3.2.9.jar b/clientUpdater/lib/wstx-asl-3.2.9.jar new file mode 100644 index 0000000..ffdbd1f Binary files /dev/null and b/clientUpdater/lib/wstx-asl-3.2.9.jar differ diff --git a/clientUpdater/lib/xml-resolver-1.2.jar b/clientUpdater/lib/xml-resolver-1.2.jar new file mode 100644 index 0000000..e535bdc Binary files /dev/null and b/clientUpdater/lib/xml-resolver-1.2.jar differ diff --git a/clientUpdater/lib/xmlbeans-2.6.0.jar b/clientUpdater/lib/xmlbeans-2.6.0.jar new file mode 100644 index 0000000..d1b6627 Binary files /dev/null and b/clientUpdater/lib/xmlbeans-2.6.0.jar differ diff --git a/clientUpdater/lib/xmlschema-core-2.0.3.jar b/clientUpdater/lib/xmlschema-core-2.0.3.jar new file mode 100644 index 0000000..c15ca90 Binary files /dev/null and b/clientUpdater/lib/xmlschema-core-2.0.3.jar differ diff --git a/clientUpdater/lib/xmlschema-core-2.0.jar b/clientUpdater/lib/xmlschema-core-2.0.jar new file mode 100644 index 0000000..ec561bf Binary files /dev/null and b/clientUpdater/lib/xmlschema-core-2.0.jar differ diff --git a/clientUpdater/lib/xmlsec-1.5.5.jar b/clientUpdater/lib/xmlsec-1.5.5.jar new file mode 100644 index 0000000..6e7ecc8 Binary files /dev/null and b/clientUpdater/lib/xmlsec-1.5.5.jar differ diff --git a/clientUpdater/lib/xmltooling-1.3.2-1.jar b/clientUpdater/lib/xmltooling-1.3.2-1.jar new file mode 100644 index 0000000..8de8076 Binary files /dev/null and b/clientUpdater/lib/xmltooling-1.3.2-1.jar differ diff --git a/clientUpdater/lib/xsdlib-2010.1.jar b/clientUpdater/lib/xsdlib-2010.1.jar new file mode 100644 index 0000000..ce380df Binary files /dev/null and b/clientUpdater/lib/xsdlib-2010.1.jar differ diff --git a/clientUpdater/lib/新建文本文档.txt b/clientUpdater/lib/新建文本文档.txt new file mode 100644 index 0000000..5e40c08 --- /dev/null +++ b/clientUpdater/lib/新建文本文档.txt @@ -0,0 +1 @@ +asdf \ No newline at end of file diff --git a/clientUpdater/location.nax b/clientUpdater/location.nax new file mode 100644 index 0000000..d36e814 --- /dev/null +++ b/clientUpdater/location.nax @@ -0,0 +1 @@ +cf97a98581614a26cd366a346f71eae1 \ No newline at end of file diff --git a/clientUpdater/manifest.mf b/clientUpdater/manifest.mf new file mode 100644 index 0000000..328e8e5 --- /dev/null +++ b/clientUpdater/manifest.mf @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +X-COMMENT: Main-Class will be added automatically by build + diff --git a/clientUpdater/nbproject/build-impl.xml b/clientUpdater/nbproject/build-impl.xml new file mode 100644 index 0000000..ad96905 --- /dev/null +++ b/clientUpdater/nbproject/build-impl.xml @@ -0,0 +1,1436 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set src.dir + Must set test.src.dir + Must set build.dir + Must set dist.dir + Must set build.classes.dir + Must set dist.javadoc.dir + Must set build.test.classes.dir + Must set build.test.results.dir + Must set build.classes.excludes + Must set dist.jar + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No tests executed. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set JVM to use for profiling in profiler.info.jvm + Must set profiler agent JVM arguments in profiler.info.jvmargs.agent + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + To run this application from the command line without Ant, try: + + java -jar "${dist.jar.resolved}" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + Must select one file in the IDE or set run.class + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set debug.class + + + + + Must select one file in the IDE or set debug.class + + + + + Must set fix.includes + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + Must select one file in the IDE or set profile.class + This target only works when run from inside the NetBeans IDE. + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + + + Must select some files in the IDE or set test.includes + + + + + Must select one file in the IDE or set run.class + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + Some tests failed; see details above. + + + + + + + + + Must select some files in the IDE or set test.includes + + + + Some tests failed; see details above. + + + + Must select some files in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + Some tests failed; see details above. + + + + + Must select one file in the IDE or set test.class + + + + Must select one file in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + + + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/clientUpdater/nbproject/genfiles.properties b/clientUpdater/nbproject/genfiles.properties new file mode 100644 index 0000000..627d080 --- /dev/null +++ b/clientUpdater/nbproject/genfiles.properties @@ -0,0 +1,8 @@ +build.xml.data.CRC32=d360d9a5 +build.xml.script.CRC32=b8efc87f +build.xml.stylesheet.CRC32=8064a381@1.80.1.48 +# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. +# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. +nbproject/build-impl.xml.data.CRC32=d360d9a5 +nbproject/build-impl.xml.script.CRC32=34430b2f +nbproject/build-impl.xml.stylesheet.CRC32=830a3534@1.80.1.48 diff --git a/clientUpdater/nbproject/private/config.properties b/clientUpdater/nbproject/private/config.properties new file mode 100644 index 0000000..e69de29 diff --git a/clientUpdater/nbproject/private/private.properties b/clientUpdater/nbproject/private/private.properties new file mode 100644 index 0000000..d5348bf --- /dev/null +++ b/clientUpdater/nbproject/private/private.properties @@ -0,0 +1,6 @@ +compile.on.save=true +do.depend=false +do.jar=true +javac.debug=true +javadoc.preview=true +user.properties.file=C:\\Users\\tange\\AppData\\Roaming\\NetBeans\\8.0.2\\build.properties diff --git a/clientUpdater/nbproject/private/private.xml b/clientUpdater/nbproject/private/private.xml new file mode 100644 index 0000000..cd01ed1 --- /dev/null +++ b/clientUpdater/nbproject/private/private.xml @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/clientUpdater/nbproject/project.properties b/clientUpdater/nbproject/project.properties new file mode 100644 index 0000000..4a4554f --- /dev/null +++ b/clientUpdater/nbproject/project.properties @@ -0,0 +1,323 @@ +annotation.processing.enabled=true +annotation.processing.enabled.in.editor=false +annotation.processing.processors.list= +annotation.processing.run.all.processors=true +annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output +application.title=clientUpdater +application.vendor=HASEE +auxiliary.org-netbeans-spi-editor-hints-projects.perProjectHintSettingsFile=nbproject/cfg_hints.xml +build.classes.dir=${build.dir}/classes +build.classes.excludes=**/*.java,**/*.form +# This directory is removed when the project is cleaned: +build.dir=build +build.generated.dir=${build.dir}/generated +build.generated.sources.dir=${build.dir}/generated-sources +# Only compile against the classpath explicitly listed here: +build.sysclasspath=ignore +build.test.classes.dir=${build.dir}/test/classes +build.test.results.dir=${build.dir}/test/results +# Uncomment to specify the preferred debugger connection transport: +#debug.transport=dt_socket +debug.classpath=\ + ${run.classpath} +debug.test.classpath=\ + ${run.test.classpath} +# build.classes.dir \u4e2d\u5e94\u4ece\u5206\u53d1 jar \u4e2d\u6392\u9664\u7684\u6587\u4ef6 +dist.archive.excludes= +# This directory is removed when the project is cleaned: +dist.dir=dist +dist.jar=${dist.dir}/clientUpdater.jar +dist.javadoc.dir=${dist.dir}/javadoc +endorsed.classpath= +excludes= +file.reference.activemq-broker-5.8.0.jar=..\\Lib\\activemq-broker-5.8.0.jar +file.reference.activemq-client-5.8.0.jar=..\\Lib\\activemq-client-5.8.0.jar +file.reference.activemq-openwire-legacy-5.8.0.jar=..\\Lib\\activemq-openwire-legacy-5.8.0.jar +file.reference.antlr-2.7.7.jar=..\\Lib\\antlr-2.7.7.jar +file.reference.antlr_2.7.6.jar=..\\Lib\\antlr_2.7.6.jar +file.reference.aopalliance-1.0.jar=..\\Lib\\aopalliance-1.0.jar +file.reference.asm-2.1.jar=..\\Lib\\asm-2.1.jar +file.reference.asm-3.3.1.jar=..\\Lib\\asm-3.3.1.jar +file.reference.asm-all-2.2.3.jar=..\\Lib\\asm-all-2.2.3.jar +file.reference.asm-all-4.0.jar=..\\Lib\\asm-all-4.0.jar +file.reference.asm.jar=..\\Lib\\asm.jar +file.reference.cglib-2.1.3.jar=..\\Lib\\cglib-2.1.3.jar +file.reference.cglib-2.1.jar=..\\Lib\\cglib-2.1.jar +file.reference.cglib-nodep-2.1.3.jar=..\\Lib\\cglib-nodep-2.1.3.jar +file.reference.commons-codec-1.7.jar=..\\Lib\\commons-codec-1.7.jar +file.reference.commons-collections-2.1.1.jar=..\\Lib\\commons-collections-2.1.1.jar +file.reference.commons-collections-3.2.1.jar=..\\Lib\\commons-collections-3.2.1.jar +file.reference.commons-lang-2.6.jar=..\\Lib\\commons-lang-2.6.jar +file.reference.commons-logging-1.0.4.jar=..\\Lib\\commons-logging-1.0.4.jar +file.reference.commons-logging-1.1.1.jar=..\\Lib\\commons-logging-1.1.1.jar +file.reference.cxf-2.5.1.jar=..\\Lib\\cxf-2.5.1.jar +file.reference.cxf-2.5.2.jar=..\\Lib\\cxf-2.5.2.jar +file.reference.cxf-2.7.7.jar=..\\Lib\\cxf-2.7.7.jar +file.reference.cxf-manifest.jar=..\\Lib\\cxf-manifest.jar +file.reference.cxf-services-sts-core-2.7.7.jar=..\\Lib\\cxf-services-sts-core-2.7.7.jar +file.reference.cxf-services-ws-discovery-api-2.7.7.jar=..\\Lib\\cxf-services-ws-discovery-api-2.7.7.jar +file.reference.cxf-services-ws-discovery-service-2.7.7.jar=..\\Lib\\cxf-services-ws-discovery-service-2.7.7.jar +file.reference.cxf-services-wsn-api-2.7.7.jar=..\\Lib\\cxf-services-wsn-api-2.7.7.jar +file.reference.cxf-services-wsn-core-2.7.7.jar=..\\Lib\\cxf-services-wsn-core-2.7.7.jar +file.reference.cxf-xjc-boolean-2.6.2.jar=..\\Lib\\cxf-xjc-boolean-2.6.2.jar +file.reference.cxf-xjc-bug671-2.6.2.jar=..\\Lib\\cxf-xjc-bug671-2.6.2.jar +file.reference.cxf-xjc-dv-2.6.2.jar=..\\Lib\\cxf-xjc-dv-2.6.2.jar +file.reference.cxf-xjc-runtime-2.6.2.jar=..\\Lib\\cxf-xjc-runtime-2.6.2.jar +file.reference.cxf-xjc-ts-2.6.2.jar=..\\Lib\\cxf-xjc-ts-2.6.2.jar +file.reference.DJNativeSwing-SWT.jar=..\\Lib\\DJNativeSwing-SWT.jar +file.reference.DJNativeSwing.jar=..\\Lib\\DJNativeSwing.jar +file.reference.dom4j-1.6.jar=..\\Lib\\dom4j-1.6.jar +file.reference.ehcache-core-2.5.1.jar=..\\Lib\\ehcache-core-2.5.1.jar +file.reference.FastInfoset-1.2.12.jar=..\\Lib\\FastInfoset-1.2.12.jar +file.reference.geronimo-annotation-1.0_spec-1.1.jar=..\\Lib\\geronimo-annotation-1.0_spec-1.1.jar +file.reference.geronimo-j2ee-management_1.1_spec-1.0.1.jar=..\\Lib\\geronimo-j2ee-management_1.1_spec-1.0.1.jar +file.reference.geronimo-javamail_1.4_spec-1.7.1.jar=..\\Lib\\geronimo-javamail_1.4_spec-1.7.1.jar +file.reference.geronimo-jaxws_2.2_spec-1.1.jar=..\\Lib\\geronimo-jaxws_2.2_spec-1.1.jar +file.reference.geronimo-jms_1.1_spec-1.1.1.jar=..\\Lib\\geronimo-jms_1.1_spec-1.1.1.jar +file.reference.geronimo-servlet_3.0_spec-1.0.jar=..\\Lib\\geronimo-servlet_3.0_spec-1.0.jar +file.reference.geronimo-stax-api_1.0_spec-1.0.1.jar=..\\Lib\\geronimo-stax-api_1.0_spec-1.0.1.jar +file.reference.geronimo-ws-metadata_2.0_spec-1.1.3.jar=..\\Lib\\geronimo-ws-metadata_2.0_spec-1.1.3.jar +file.reference.hawtbuf-1.9.jar=..\\Lib\\hawtbuf-1.9.jar +file.reference.hibernate3.jar=..\\Lib\\hibernate3.jar +file.reference.httpasyncclient-4.0-beta3.jar=..\\Lib\\httpasyncclient-4.0-beta3.jar +file.reference.httpclient-4.2.5.jar=..\\Lib\\httpclient-4.2.5.jar +file.reference.httpcore-4.2.4.jar=..\\Lib\\httpcore-4.2.4.jar +file.reference.httpcore-nio-4.2.4.jar=..\\Lib\\httpcore-nio-4.2.4.jar +file.reference.isorelax-20030108.jar=..\\Lib\\isorelax-20030108.jar +file.reference.java-diff-1.1.jar=..\\Lib\\java-diff-1.1.jar +file.reference.java-diff.jar=..\\Lib\\java-diff.jar +file.reference.javax.ws.rs-api-2.0-m10.jar=..\\Lib\\javax.ws.rs-api-2.0-m10.jar +file.reference.jaxb-api-2.2.1.jar=..\\Lib\\jaxb-api-2.2.1.jar +file.reference.jaxb-api-2.2.6.jar=..\\Lib\\jaxb-api-2.2.6.jar +file.reference.jaxb-impl-2.2.1.1.jar=..\\Lib\\jaxb-impl-2.2.1.1.jar +file.reference.jaxb-impl-2.2.6.jar=..\\Lib\\jaxb-impl-2.2.6.jar +file.reference.jaxb-xjc-2.2.6.jar=..\\Lib\\jaxb-xjc-2.2.6.jar +file.reference.jdom.jar=..\\Lib\\jdom.jar +file.reference.jdom2-2.0.5.jar=..\\Lib\\jdom2-2.0.5.jar +file.reference.jettison-1.3.4.jar=..\\Lib\\jettison-1.3.4.jar +file.reference.jetty-continuation-8.1.12.v20130726.jar=..\\Lib\\jetty-continuation-8.1.12.v20130726.jar +file.reference.jetty-http-8.1.12.v20130726.jar=..\\Lib\\jetty-http-8.1.12.v20130726.jar +file.reference.jetty-io-8.1.12.v20130726.jar=..\\Lib\\jetty-io-8.1.12.v20130726.jar +file.reference.jetty-security-8.1.12.v20130726.jar=..\\Lib\\jetty-security-8.1.12.v20130726.jar +file.reference.jetty-server-8.1.12.v20130726.jar=..\\Lib\\jetty-server-8.1.12.v20130726.jar +file.reference.jetty-util-8.1.12.v20130726.jar=..\\Lib\\jetty-util-8.1.12.v20130726.jar +file.reference.joda-time-1.6.2.jar=..\\Lib\\joda-time-1.6.2.jar +file.reference.js-1.7R2.jar=..\\Lib\\js-1.7R2.jar +file.reference.jta.jar=..\\Lib\\jta.jar +file.reference.mina-core-2.0.7.jar=..\\Lib\\mina-core-2.0.7.jar +file.reference.msv-core-2011.1.jar=..\\Lib\\msv-core-2011.1.jar +file.reference.mysql-connector-java-5.1.6-bin.jar=..\\Lib\\mysql-connector-java-5.1.6-bin.jar +file.reference.neethi-3.0.2.jar=..\\Lib\\neethi-3.0.2.jar +file.reference.oauth-20100527.jar=..\\Lib\\oauth-20100527.jar +file.reference.oauth-provider-20100527.jar=..\\Lib\\oauth-provider-20100527.jar +file.reference.opensaml-2.5.1-1.jar=..\\Lib\\opensaml-2.5.1-1.jar +file.reference.openws-1.4.2-1.jar=..\\Lib\\openws-1.4.2-1.jar +file.reference.poi-3.2-FINAL.jar=..\\Lib\\poi-3.2-FINAL.jar +file.reference.poi-contrib-3.2-FINAL.jar=..\\Lib\\poi-contrib-3.2-FINAL.jar +file.reference.poi-scratchpad-3.2-FINAL.jar=..\\Lib\\poi-scratchpad-3.2-FINAL.jar +file.reference.relaxngDatatype-20020414.jar=..\\Lib\\relaxngDatatype-20020414.jar +file.reference.slf4j-api-1.7.5.jar=..\\Lib\\slf4j-api-1.7.5.jar +file.reference.slf4j-jdk14-1.7.5.jar=..\\Lib\\slf4j-jdk14-1.7.5.jar +file.reference.spring-aop-3.0.7.RELEASE.jar=..\\Lib\\spring-aop-3.0.7.RELEASE.jar +file.reference.spring-asm-3.0.7.RELEASE.jar=..\\Lib\\spring-asm-3.0.7.RELEASE.jar +file.reference.spring-beans-3.0.7.RELEASE.jar=..\\Lib\\spring-beans-3.0.7.RELEASE.jar +file.reference.spring-context-3.0.7.RELEASE.jar=..\\Lib\\spring-context-3.0.7.RELEASE.jar +file.reference.spring-core-3.0.7.RELEASE.jar=..\\Lib\\spring-core-3.0.7.RELEASE.jar +file.reference.spring-expression-3.0.7.RELEASE.jar=..\\Lib\\spring-expression-3.0.7.RELEASE.jar +file.reference.spring-jms-3.0.7.RELEASE.jar=..\\Lib\\spring-jms-3.0.7.RELEASE.jar +file.reference.spring-tx-3.0.7.RELEASE.jar=..\\Lib\\spring-tx-3.0.7.RELEASE.jar +file.reference.spring-web-3.0.7.RELEASE.jar=..\\Lib\\spring-web-3.0.7.RELEASE.jar +file.reference.stax2-api-3.1.1.jar=..\\Lib\\stax2-api-3.1.1.jar +file.reference.swt.jar=../Lib/swt_64/swt.jar +file.reference.velocity-1.7.jar=..\\Lib\\velocity-1.7.jar +file.reference.woodstox-core-asl-4.2.0.jar=..\\Lib\\woodstox-core-asl-4.2.0.jar +file.reference.wsdl4j-1.6.2.jar=..\\Lib\\wsdl4j-1.6.2.jar +file.reference.wsdl4j-1.6.3.jar=..\\Lib\\wsdl4j-1.6.3.jar +file.reference.wss4j-1.6.12.jar=..\\Lib\\wss4j-1.6.12.jar +file.reference.wstx-asl-3.2.9.jar=..\\Lib\\wstx-asl-3.2.9.jar +file.reference.xml-resolver-1.2.jar=..\\Lib\\xml-resolver-1.2.jar +file.reference.xmlbeans-2.6.0.jar=..\\Lib\\xmlbeans-2.6.0.jar +file.reference.xmlschema-core-2.0.3.jar=..\\Lib\\xmlschema-core-2.0.3.jar +file.reference.xmlschema-core-2.0.jar=..\\Lib\\xmlschema-core-2.0.jar +file.reference.xmlsec-1.5.5.jar=..\\Lib\\xmlsec-1.5.5.jar +file.reference.xmltooling-1.3.2-1.jar=..\\Lib\\xmltooling-1.3.2-1.jar +file.reference.xsdlib-2010.1.jar=..\\Lib\\xsdlib-2010.1.jar +includes=** +jar.archive.disabled=${jnlp.enabled} +jar.compress=false +jar.index=${jnlp.enabled} +javac.classpath=\ + ${file.reference.DJNativeSwing-SWT.jar}:\ + ${file.reference.DJNativeSwing.jar}:\ + ${file.reference.FastInfoset-1.2.12.jar}:\ + ${file.reference.activemq-broker-5.8.0.jar}:\ + ${file.reference.activemq-client-5.8.0.jar}:\ + ${file.reference.activemq-openwire-legacy-5.8.0.jar}:\ + ${file.reference.antlr-2.7.7.jar}:\ + ${file.reference.antlr_2.7.6.jar}:\ + ${file.reference.aopalliance-1.0.jar}:\ + ${file.reference.asm-2.1.jar}:\ + ${file.reference.asm-3.3.1.jar}:\ + ${file.reference.asm-all-2.2.3.jar}:\ + ${file.reference.asm-all-4.0.jar}:\ + ${file.reference.asm.jar}:\ + ${file.reference.cglib-2.1.3.jar}:\ + ${file.reference.cglib-2.1.jar}:\ + ${file.reference.cglib-nodep-2.1.3.jar}:\ + ${file.reference.commons-codec-1.7.jar}:\ + ${file.reference.commons-collections-2.1.1.jar}:\ + ${file.reference.commons-collections-3.2.1.jar}:\ + ${file.reference.commons-lang-2.6.jar}:\ + ${file.reference.commons-logging-1.0.4.jar}:\ + ${file.reference.commons-logging-1.1.1.jar}:\ + ${file.reference.cxf-2.5.1.jar}:\ + ${file.reference.cxf-2.5.2.jar}:\ + ${file.reference.cxf-2.7.7.jar}:\ + ${file.reference.cxf-manifest.jar}:\ + ${file.reference.cxf-services-sts-core-2.7.7.jar}:\ + ${file.reference.cxf-services-ws-discovery-api-2.7.7.jar}:\ + ${file.reference.cxf-services-ws-discovery-service-2.7.7.jar}:\ + ${file.reference.cxf-services-wsn-api-2.7.7.jar}:\ + ${file.reference.cxf-services-wsn-core-2.7.7.jar}:\ + ${file.reference.cxf-xjc-boolean-2.6.2.jar}:\ + ${file.reference.cxf-xjc-bug671-2.6.2.jar}:\ + ${file.reference.cxf-xjc-dv-2.6.2.jar}:\ + ${file.reference.cxf-xjc-runtime-2.6.2.jar}:\ + ${file.reference.cxf-xjc-ts-2.6.2.jar}:\ + ${file.reference.dom4j-1.6.jar}:\ + ${file.reference.ehcache-core-2.5.1.jar}:\ + ${file.reference.geronimo-annotation-1.0_spec-1.1.jar}:\ + ${file.reference.geronimo-j2ee-management_1.1_spec-1.0.1.jar}:\ + ${file.reference.geronimo-javamail_1.4_spec-1.7.1.jar}:\ + ${file.reference.geronimo-jaxws_2.2_spec-1.1.jar}:\ + ${file.reference.geronimo-jms_1.1_spec-1.1.1.jar}:\ + ${file.reference.geronimo-servlet_3.0_spec-1.0.jar}:\ + ${file.reference.geronimo-stax-api_1.0_spec-1.0.1.jar}:\ + ${file.reference.geronimo-ws-metadata_2.0_spec-1.1.3.jar}:\ + ${file.reference.hawtbuf-1.9.jar}:\ + ${file.reference.hibernate3.jar}:\ + ${file.reference.httpasyncclient-4.0-beta3.jar}:\ + ${file.reference.httpclient-4.2.5.jar}:\ + ${file.reference.httpcore-4.2.4.jar}:\ + ${file.reference.httpcore-nio-4.2.4.jar}:\ + ${file.reference.isorelax-20030108.jar}:\ + ${file.reference.java-diff-1.1.jar}:\ + ${file.reference.java-diff.jar}:\ + ${file.reference.javax.ws.rs-api-2.0-m10.jar}:\ + ${file.reference.jaxb-api-2.2.1.jar}:\ + ${file.reference.jaxb-api-2.2.6.jar}:\ + ${file.reference.jaxb-impl-2.2.1.1.jar}:\ + ${file.reference.jaxb-impl-2.2.6.jar}:\ + ${file.reference.jaxb-xjc-2.2.6.jar}:\ + ${file.reference.jdom.jar}:\ + ${file.reference.jdom2-2.0.5.jar}:\ + ${file.reference.jettison-1.3.4.jar}:\ + ${file.reference.jetty-continuation-8.1.12.v20130726.jar}:\ + ${file.reference.jetty-http-8.1.12.v20130726.jar}:\ + ${file.reference.jetty-io-8.1.12.v20130726.jar}:\ + ${file.reference.jetty-security-8.1.12.v20130726.jar}:\ + ${file.reference.jetty-server-8.1.12.v20130726.jar}:\ + ${file.reference.jetty-util-8.1.12.v20130726.jar}:\ + ${file.reference.joda-time-1.6.2.jar}:\ + ${file.reference.js-1.7R2.jar}:\ + ${file.reference.jta.jar}:\ + ${file.reference.mina-core-2.0.7.jar}:\ + ${file.reference.msv-core-2011.1.jar}:\ + ${file.reference.mysql-connector-java-5.1.6-bin.jar}:\ + ${file.reference.neethi-3.0.2.jar}:\ + ${file.reference.oauth-20100527.jar}:\ + ${file.reference.oauth-provider-20100527.jar}:\ + ${file.reference.opensaml-2.5.1-1.jar}:\ + ${file.reference.openws-1.4.2-1.jar}:\ + ${file.reference.poi-3.2-FINAL.jar}:\ + ${file.reference.poi-contrib-3.2-FINAL.jar}:\ + ${file.reference.poi-scratchpad-3.2-FINAL.jar}:\ + ${file.reference.relaxngDatatype-20020414.jar}:\ + ${file.reference.slf4j-api-1.7.5.jar}:\ + ${file.reference.slf4j-jdk14-1.7.5.jar}:\ + ${file.reference.spring-aop-3.0.7.RELEASE.jar}:\ + ${file.reference.spring-asm-3.0.7.RELEASE.jar}:\ + ${file.reference.spring-beans-3.0.7.RELEASE.jar}:\ + ${file.reference.spring-context-3.0.7.RELEASE.jar}:\ + ${file.reference.spring-core-3.0.7.RELEASE.jar}:\ + ${file.reference.spring-expression-3.0.7.RELEASE.jar}:\ + ${file.reference.spring-jms-3.0.7.RELEASE.jar}:\ + ${file.reference.spring-tx-3.0.7.RELEASE.jar}:\ + ${file.reference.spring-web-3.0.7.RELEASE.jar}:\ + ${file.reference.stax2-api-3.1.1.jar}:\ + ${file.reference.velocity-1.7.jar}:\ + ${file.reference.woodstox-core-asl-4.2.0.jar}:\ + ${file.reference.wsdl4j-1.6.2.jar}:\ + ${file.reference.wsdl4j-1.6.3.jar}:\ + ${file.reference.wss4j-1.6.12.jar}:\ + ${file.reference.wstx-asl-3.2.9.jar}:\ + ${file.reference.xml-resolver-1.2.jar}:\ + ${file.reference.xmlbeans-2.6.0.jar}:\ + ${file.reference.xmlschema-core-2.0.3.jar}:\ + ${file.reference.xmlschema-core-2.0.jar}:\ + ${file.reference.xmlsec-1.5.5.jar}:\ + ${file.reference.xmltooling-1.3.2-1.jar}:\ + ${file.reference.xsdlib-2010.1.jar}:\ + ${file.reference.swt.jar}:\ + ${reference.Common.jar} +# Space-separated list of extra javac options +javac.compilerargs= +javac.deprecation=false +javac.external.vm=true +javac.processorpath=\ + ${javac.classpath} +javac.source=1.8 +javac.target=1.8 +javac.test.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +javac.test.processorpath=\ + ${javac.test.classpath} +javadoc.additionalparam= +javadoc.author=false +javadoc.encoding=${source.encoding} +javadoc.noindex=false +javadoc.nonavbar=false +javadoc.notree=false +javadoc.private=false +javadoc.splitindex=true +javadoc.use=true +javadoc.version=false +javadoc.windowtitle= +jnlp.codebase.type=no.codebase +jnlp.descriptor=application +jnlp.enabled=false +jnlp.mixed.code=default +jnlp.offline-allowed=false +jnlp.signed=false +jnlp.signing= +jnlp.signing.alias= +jnlp.signing.keystore= +main.class=clientupdater.ClientUpdater +# \u9ed8\u8ba4 Application-Library-Allowable-Codebase \u5c5e\u6027\u7684\u53ef\u9009\u8986\u76d6, \u8be5\u5c5e\u6027\u6807\u8bc6\u9884\u671f\u627e\u5230\u60a8\u7684\u7b7e\u540d RIA \u7684\u4f4d\u7f6e\u3002 +manifest.custom.application.library.allowable.codebase= +# \u9ed8\u8ba4 Caller-Allowable-Codebase \u5c5e\u6027\u7684\u53ef\u9009\u8986\u76d6, \u8be5\u5c5e\u6027\u6807\u8bc6\u5728\u65e0\u5b89\u5168\u63d0\u793a\u7684\u60c5\u51b5\u4e0b JavaScript \u4ee3\u7801\u53ef\u4ee5\u4ece\u4e2d\u5bf9\u60a8\u7684 RIA \u8fdb\u884c\u8c03\u7528\u7684\u57df\u3002 +manifest.custom.caller.allowable.codebase= +# \u53ef\u4ee5\u9009\u62e9\u8986\u76d6\u9ed8\u8ba4\u7684\u4ee3\u7801\u5e93\u6e05\u5355\u5c5e\u6027, \u7528\u4e8e\u9632\u6b62 RIA \u88ab\u7528\u4f5c\u5176\u4ed6\u7528\u9014 +manifest.custom.codebase= +# \u53ef\u4ee5\u9009\u62e9\u8986\u76d6\u9ed8\u8ba4\u7684\u6743\u9650\u6e05\u5355\u5c5e\u6027 (\u652f\u6301\u7684\u503c: sandbox, all-permissions) +manifest.custom.permissions= +manifest.file=manifest.mf +meta.inf.dir=${src.dir}/META-INF +mkdist.disabled=false +platform.active=default_platform +project.Common=../Common +reference.Common.jar=${project.Common}/dist/Common.jar +run.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +# Space-separated list of JVM arguments used when running the project. +# You may also define separate properties like run-sys-prop.name=value instead of -Dname=value. +# To set system properties for unit tests define test-sys-prop.name=value: +run.jvmargs= +run.test.classpath=\ + ${javac.test.classpath}:\ + ${build.test.classes.dir} +source.encoding=UTF-8 +src.dir=src +test.src.dir=test diff --git a/clientUpdater/nbproject/project.xml b/clientUpdater/nbproject/project.xml new file mode 100644 index 0000000..1b9b1e0 --- /dev/null +++ b/clientUpdater/nbproject/project.xml @@ -0,0 +1,25 @@ + + + org.netbeans.modules.java.j2seproject + + + clientUpdater + + + + + + + + + + Common + jar + + jar + clean + jar + + + + diff --git a/clientUpdater/src/clientupdater/ClientUpdater.java b/clientUpdater/src/clientupdater/ClientUpdater.java new file mode 100644 index 0000000..0b5e9b3 --- /dev/null +++ b/clientUpdater/src/clientupdater/ClientUpdater.java @@ -0,0 +1,384 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package clientupdater; + +//import client.view.frame.LoginFrame; +import common.Config; +import java.io.BufferedInputStream; +import java.io.BufferedReader; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.FileReader; +import java.io.IOException; +import java.io.ObjectInputStream; +import java.io.ObjectOutputStream; +import java.math.BigInteger; +import java.net.HttpURLConnection; +import java.net.SocketTimeoutException; +import java.net.URL; +import java.net.URLConnection; +import java.security.DigestInputStream; +import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; +import java.util.HashMap; +import java.util.Iterator; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; +import javax.swing.JOptionPane; +import org.apache.commons.codec.binary.Base64; +import log.Log; + +/** + * + * @author HASEE + */ +public class ClientUpdater { + + private Map localmap = new HashMap<>(); + private Map servermap = new HashMap<>(); + private Map maptodownload = new HashMap<>(); + private String server_libpoint = ""; + private String local_libpoint = ""; + private int net_status_SocketError = 0;//连接错误计数 + private int net_status_ConnectTimeOut = 0;//连接超时计数 + private boolean slp = false; + private boolean llp = false; + + /** + * 开始更新,使用前请先调用checkupdate + * + * @param ipandport + * @return + */ + public boolean startUpdate(String ipandport) { + try { + boolean flag = false;//返回标记 + //如果config中顺利读取URLlip和URLport,开始检查更新 + boolean continueFlag = true; + UpdaterFrame uf = new UpdaterFrame(localmap, servermap, maptodownload, ipandport, server_libpoint, local_libpoint); + uf.setVisible(true);//激活,不知为何,需要此部触发内部工作 + uf.setVisible(false); + while (continueFlag) { + System.out.println("updateframe" + continueFlag); + System.out.println(uf.isworking); + while (uf.isworking) { + System.out.println(uf.isworking); + Thread.sleep(500); + }; + //uf.setVisible(false); + + if (uf.status == 1) { + continueFlag = false; + uf.setVisible(false); + JOptionPane.showMessageDialog(null, "更新成功,请重启客户端!"); + flag = true; + //LoginFrame.main(null); + } else if (uf.status == -1) { + uf.setVisible(true); + Object[] options = {"确认继续", "取消", "重试"}; + int result = JOptionPane.showOptionDialog(null, "更新检测失败,是否继续使用旧版本?", "确认", JOptionPane.YES_NO_CANCEL_OPTION, + JOptionPane.INFORMATION_MESSAGE, null, options, options[0]); + if (result == 0) { + continueFlag = false; + uf.setVisible(false); + flag = true; + // LoginFrame.main(null); + } else if (result == 1) { + continueFlag = false; + uf.dispose(); + flag = false; + } else if (result == 2) { + uf.dispose(); + + } + } + } + return flag; + } catch (Exception e) { + Log.writeExceptionLog(e.getClass()+e.getMessage()); + System.err.println(e.getMessage()); + return false; + } + } + + /** + * 该方法用于检查是否更新 + * + * @param ipandport 服务器ip地址加端口高.exam:"47.95.22.126:8080" + * @return int 1需要更新,0无需更新,-1检查更新中失败 + */ + public int CheckWhetherNeedUpdate(String ipandport) { + + try { + //0.获取本地自身的所有列表文件 + File dir = new File("./"); + //获取本地md5列表 + File localMD5 = new File("lmd5.nax"); + if (!localMD5.exists())//本地不存在md5文件,则从头开始获取本地所有文件的md5值,保存至localmap + { + List paras = new LinkedList(); + paras.add(0); + paras.add(0); + int file_num = GetFileNums(dir); + GetMD5(dir, localmap, 0, file_num, paras); + SaveMd5("lmd5.nax", localmap);//初次执行扫描后保存md5文件,避免抛错导致执行动作无效,获取md5还是比较耗时间的;之后会对改写的文件的md5进行文件的覆写。 + } else { + GetMD5("lmd5.nax", localmap);//本地已有md5文件,则直接获取本地的md5文件 + } //1.获取服务端的文件列表 +// for(String s:localmap.keySet()){ +// System.out.println("map: "+s+"----"+localmap.get(s)); +// } + File locationFile = new File("lmd5.nax"); + FileReader fr = new FileReader(locationFile); + BufferedReader br = new BufferedReader(fr); + String location = br.readLine(); + br.close(); + fr.close(); + //计数重试3次抛错,循环体内重试2次,最后一次在体外抛错以便直接进入总catch中进行控制 + boolean got = false; + while (net_status_SocketError < 2 && net_status_ConnectTimeOut < 2) { + try { + System.out.println("下载文件前"+System.currentTimeMillis()); + HttpGetFile(ipandport, "smd5.nax", "MD5s\\" + location + ".nax");//约定的固定md5文件列表, + got = true; + break;//无抛错直接退出循环 + } catch (Exception inner_E1) { + System.out.println(inner_E1.getMessage() + ".....InnerHTTPGetFile....md5.nax"); + Log.writeExceptionLog(inner_E1.getClass()+inner_E1.getMessage()); + if (inner_E1.getClass() == SocketTimeoutException.class) { + net_status_ConnectTimeOut++; + } else { + net_status_SocketError++; + } + } + } + if (!got) { + HttpGetFile(ipandport, "smd5.nax", "MD5s\\" + location + ".nax"); + } + System.out.println("下载文件后"+System.currentTimeMillis()); + // SetWorkingProgress(0); + //2.对比文件列表并决定下载覆盖那些文件 + File md5 = new File("smd5.nax"); + ObjectInputStream ois = new ObjectInputStream(new FileInputStream(md5)); + servermap.putAll((HashMap) ois.readObject()); +// for(String s:servermap.keySet()){ +// System.out.println("smap: "+s+"----"+servermap.get(s)); +// } + ois.close(); + System.out.println("Server map--->" + servermap.size()); + //对比操作,以服务段为基准,允许增量 + GetLibPoint(servermap, localmap);//获取lib文件分割点,因为lib文件夹是必定存在的,所以通过lib区分并获取至最外层的相对目录 + // TextAreaMessage.setText(""); + //选取需要下载的文件列表 + System.out.println("对比前"+System.currentTimeMillis()); + SelectFilesToDownload(maptodownload, servermap, localmap); + System.out.println("对比后"+System.currentTimeMillis()); + //判断是否需要更新 +// for(String s:maptodownload.keySet()){ +// System.out.println("smap: "+s+"----"+maptodownload.get(s)); +// } + if (maptodownload.isEmpty()) { + md5.delete(); + return 0; + } else { + return 1; + } + + } catch (Exception ex) { + ex.printStackTrace(); + System.err.println(ex.getMessage()); + Log.writeExceptionLog(ex.getClass()+ex.getMessage()); + return -1; + } + } + + private void GetMD5(String filepathString, Map localmap) throws IOException, ClassNotFoundException, Exception { + File lmd5 = new File(filepathString); + ObjectInputStream ois = new ObjectInputStream(new FileInputStream(lmd5)); + localmap.putAll((HashMap) ois.readObject()); + ois.close(); + System.out.println("Local map--->" + localmap.size()); + } + + private void GetMD5(File dir, Map localmap, int total_progress, int file_num, List paras) throws IOException, NoSuchAlgorithmException, Exception { + //System.out.println(dir.getAbsolutePath()); + if (dir.isDirectory()) { + String[] tmps = dir.list(); + for (int i = 0; i < tmps.length; i++) { + if(tmps[i].equals("MinGW")|| tmps[i].equals("jre")||tmps[i].equals("java")||tmps[i].equals("jdk")||tmps[i].equals("config")) continue; + GetMD5(new File(dir, tmps[i]), localmap, total_progress, file_num, paras); + } + } else { + MessageDigest md5 = MessageDigest.getInstance("md5"); + java.io.FileInputStream fi = new java.io.FileInputStream(dir); +// java.nio.MappedByteBuffer byteBuffer = fi.getChannel().map(java.nio.channels.FileChannel.MapMode.READ_ONLY, 0, dir.length()); +// md5.update(byteBuffer); +// java.math.BigInteger bi = new java.math.BigInteger(1, md5.digest()); +// String value = bi.toString(16); +// localmap.put(dir.getAbsolutePath(), value); +// byteBuffer.clear(); +// FileInputStream fi = new FileInputStream(file); + //更改为此方法以使文件资源能够释放,上述方式会使文件始终处在使用状态 + DigestInputStream di = new DigestInputStream(fi, md5); + byte[] buffer = new byte[1024]; + while (di.read(buffer) > 0); + md5 = di.getMessageDigest(); + BigInteger bi = new BigInteger(1, md5.digest()); + String value = bi.toString(16); + localmap.put(dir.getAbsolutePath(), value); + di.close(); + fi.close(); + int counter = paras.get(0); + int has_num = paras.get(1); + counter++; + int k = (int) (1.0 * total_progress / file_num * counter - has_num); + if (k >= 1) { + //SetWorkingProgress(k); + has_num += k; + } + paras.set(0, counter); + paras.set(1, has_num); + } + } + + private void HttpGetFile(String ipandport, String saveFilePath, String requestNameString) throws Exception { + //http://localhost:8080/oj/UpLoadFileAction!UpLoad.action + String encfilename = new String(Base64.encodeBase64(requestNameString.getBytes("utf-8"))); + String versionId = Config.getValue("VersionId"); + URL url = new URL("http://" + ipandport + "/oj/SoftwareVersionMAction!DownLoad.action?versionId=" + versionId); + URLConnection u = url.openConnection(); + HttpURLConnection connection = (HttpURLConnection) u; + connection.setReadTimeout(5000); + connection.connect(); + BufferedInputStream bin = new BufferedInputStream(connection.getInputStream()); + byte[] buff = new byte[1024]; + File file = new File(saveFilePath); + //无目录则创建新文件夹 +// if(saveFilePath.contains("\\.\\")){ +// String[] spts = saveFilePath.split("\\\\"); +// String dirPath = saveFilePath.split("\\\\"+spts[spts.length-1])[0]; +// File dir = new File(dirPath); +// if(!dir.exists()) +// dir.mkdirs(); +// } + if (file.exists()) { + file.delete(); + file.createNewFile(); + } else { + if (file.getParentFile() != null && !file.getParentFile().exists()) { + file.getParentFile().mkdirs(); + } + file.createNewFile(); + } + FileOutputStream fos = new FileOutputStream(file); + int size; + while ((size = bin.read(buff)) != -1) { + fos.write(buff, 0, size); + } + fos.flush(); + fos.close(); + bin.close(); + connection.disconnect(); + } + + private void SelectFilesToDownload(Map maptodownload, Map servermap, Map localmap) throws Exception { + //双循环遍历匹配 + Iterator iter_server = servermap.entrySet().iterator(); + int k = 0; + while (iter_server.hasNext()) { + Map.Entry entry_server = (Map.Entry) iter_server.next(); + String key_server = (String) entry_server.getKey(); + String val_server = (String) entry_server.getValue(); + String filename_server = "+"; + try { + filename_server = key_server.split(server_libpoint.replaceAll("\\\\", "\\\\\\\\"))[1]; + } catch (Exception e) { + continue; + } + Iterator iter_local = localmap.entrySet().iterator(); + boolean has = false;//记录本地是否存在该文件 + while (iter_local.hasNext()) { + Map.Entry entry_local = (Map.Entry) iter_local.next(); + String key_local = (String) entry_local.getKey(); + String val_local = (String) entry_local.getValue(); + String filename_local = "-"; + try { + filename_local = key_local.split(local_libpoint.replaceAll("\\\\", "\\\\\\\\"))[1]; + } catch (Exception e) { + continue; + } + if (filename_local.equals(filename_server)) { + has = true; + if (!val_local.equals(val_server)) { + //记录同文件非同内容 + AddToDownload(maptodownload, key_server, key_local); + entry_local.setValue(val_server); + } + } + } + if (!has) { + //记录没有的内容 + AddToDownload(maptodownload, key_server, "_"); + String targ = key_server.split(server_libpoint.replaceAll("\\\\", "\\\\\\\\"))[1]; + String saveLocation = local_libpoint + targ; + localmap.put(saveLocation, val_server); + } + } + System.out.println("对比后1--"+System.currentTimeMillis()); + } + + private void AddToDownload(Map maptodownload, String key_server, String key_local) { + maptodownload.put(key_server, key_local); + } + + private void GetLibPoint(Map servermap, Map localmap) { + Iterator iter = localmap.entrySet().iterator(); + while (iter.hasNext()) { + Map.Entry entry = (Map.Entry) iter.next(); + String key = (String) entry.getKey(); + String val = (String) entry.getValue(); + //查找local_lib目录根 + if (key.contains("\\config\\Config.properties")) { + local_libpoint = key.split("\\\\config\\\\Config.properties")[0]; + break; + } + } + iter = servermap.entrySet().iterator(); + while (iter.hasNext()) { + Map.Entry entry = (Map.Entry) iter.next(); + String key = (String) entry.getKey(); + String val = (String) entry.getValue(); + //查找local_lib目录根 + if (key.contains("\\config\\Config.properties")) { + server_libpoint = key.split("\\\\config\\\\Config.properties")[0]; + break; + } + } + } + + private void SaveMd5(String lmd5nax, Map localmap) throws IOException { + File lmd5 = new File(lmd5nax); + ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(lmd5)); + oos.writeObject(localmap); + oos.close(); + } + + private int GetFileNums(File dir) { + if (dir.isDirectory()) { + String[] tmps = dir.list(); + int file_num = 0; + for (int i = 0; i < tmps.length; i++) { + file_num += GetFileNums(new File(dir, tmps[i])); + } + return file_num; + } else { + return 1; + } + } + +} diff --git a/clientUpdater/src/clientupdater/TestStart.java b/clientUpdater/src/clientupdater/TestStart.java new file mode 100644 index 0000000..810da43 --- /dev/null +++ b/clientUpdater/src/clientupdater/TestStart.java @@ -0,0 +1,57 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package clientupdater; + +import java.io.BufferedReader; +import java.io.FileInputStream; +import java.io.InputStreamReader; +import java.util.Properties; +import javax.swing.JOptionPane; + +/** + * 此入口为需要单独测试程序时入口 + * + * @author 10102 + */ +public class TestStart { + + public static void main(String[] args) { + + String ipandport =""; + try { + //读取Properties文件。 + //在此读配置文件是为了单独测试,需要项目引用时请从引用项目中读取 + Properties property = new Properties(); + FileInputStream fis = new FileInputStream("config/Config.properties"); + InputStreamReader isr = new InputStreamReader(fis); + BufferedReader brt = new BufferedReader(isr); + property.load(brt); + brt.close(); + isr.close(); + fis.close(); + if (property.containsKey("URLip") && property.containsKey("URLport")) { + + ipandport = property.getProperty("URLip") + ":" + property.getProperty("URLport"); + //check是否需要更新 + ClientUpdater clientUpdater =new ClientUpdater(); + int isneed = clientUpdater.CheckWhetherNeedUpdate(ipandport); + //需要则更新 + if (isneed==1) { + clientUpdater.startUpdate(ipandport); + } else { + JOptionPane.showMessageDialog(null, "没有需要的更新"); + } + }else { + JOptionPane.showMessageDialog(null, "未检测到配置文件,请确保本程序是从官网下载的版本。\n如果是,请联系教师或管理员。"); + return; + } + } catch (Exception ex) { + System.out.println(ex.getMessage()); + ex.getStackTrace(); + } + + } +} diff --git a/clientUpdater/src/clientupdater/UpdaterFrame.form b/clientUpdater/src/clientupdater/UpdaterFrame.form new file mode 100644 index 0000000..d24fcdf --- /dev/null +++ b/clientUpdater/src/clientupdater/UpdaterFrame.form @@ -0,0 +1,101 @@ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/clientUpdater/src/clientupdater/UpdaterFrame.java b/clientUpdater/src/clientupdater/UpdaterFrame.java new file mode 100644 index 0000000..01bcbf6 --- /dev/null +++ b/clientUpdater/src/clientupdater/UpdaterFrame.java @@ -0,0 +1,481 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package clientupdater; + +//import client.view.frame.LoginFrame; +import java.io.BufferedInputStream; +import java.io.BufferedOutputStream; +import java.io.EOFException; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.ObjectInputStream; +import java.io.ObjectOutputStream; +import java.net.ConnectException; +import java.net.HttpURLConnection; +import java.net.SocketTimeoutException; +import java.net.URL; +import java.net.URLConnection; +import java.util.HashMap; +import java.util.Iterator; +import java.util.Map; +import javax.swing.JOptionPane; +import log.Log; +import org.apache.commons.codec.binary.Base64; + +/** + * + * @author HASEE + */ +public class UpdaterFrame extends javax.swing.JFrame { + + /** + * Creates new form UpdaterFrame + */ + String ipandport; + String server_libpoint; + String local_libpoint; + public boolean isworking = false; + private int workingprogress = 0; + public int status = 999;//999表示常态,0表示工作中,1表示工作完成并成功,-1表示出现错误 + private int net_status_SocketError = 0;//连接错误计数 + private int net_status_ConnectTimeOut = 0;//连接超时计数 + + public UpdaterFrame( Map localmap, Map servermap,Map maptodownload,String ipandport,String server_libpoint,String local_libpoint) { + + this.ipandport=ipandport; + this.server_libpoint=server_libpoint; + this.local_libpoint=local_libpoint; + + initComponents(); + this.setLocationRelativeTo(null); + new Thread(new Runnable() { + @Override + public void run() { + doWorks(localmap,servermap,maptodownload); + } + }).start(); + } + + + /** + * This method is called from within the constructor to initialize the form. + * WARNING: Do NOT modify this code. The content of this method is always + * regenerated by the Form Editor. + */ + @SuppressWarnings("unchecked") + // //GEN-BEGIN:initComponents + private void initComponents() { + + LabelMessage = new javax.swing.JLabel(); + jScrollPane1 = new javax.swing.JScrollPane(); + TextAreaMessage = new javax.swing.JTextArea(); + EditAdress = new javax.swing.JTextField(); + progressbar = new javax.swing.JProgressBar(); + + setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); + + LabelMessage.setFont(new java.awt.Font("微软雅黑", 0, 18)); // NOI18N + LabelMessage.setText("正在获取更新信息"); + + TextAreaMessage.setEditable(false); + TextAreaMessage.setColumns(20); + TextAreaMessage.setLineWrap(true); + TextAreaMessage.setRows(5); + TextAreaMessage.setWrapStyleWord(true); + jScrollPane1.setViewportView(TextAreaMessage); + + EditAdress.setText("127.0.0.1:8080"); + EditAdress.setEnabled(false); + EditAdress.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + EditAdressActionPerformed(evt); + } + }); + + progressbar.setToolTipText(""); + progressbar.setStringPainted(true); + + javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); + getContentPane().setLayout(layout); + layout.setHorizontalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addContainerGap() + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(progressbar, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addComponent(jScrollPane1) + .addGroup(layout.createSequentialGroup() + .addComponent(LabelMessage) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 54, Short.MAX_VALUE) + .addComponent(EditAdress, javax.swing.GroupLayout.PREFERRED_SIZE, 192, javax.swing.GroupLayout.PREFERRED_SIZE))) + .addContainerGap()) + ); + layout.setVerticalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addContainerGap() + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) + .addComponent(LabelMessage, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addComponent(EditAdress)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(progressbar, javax.swing.GroupLayout.DEFAULT_SIZE, 21, Short.MAX_VALUE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 166, javax.swing.GroupLayout.PREFERRED_SIZE) + .addContainerGap()) + ); + + pack(); + }// //GEN-END:initComponents + + private void EditAdressActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_EditAdressActionPerformed + // TODO add your handling code here: + }//GEN-LAST:event_EditAdressActionPerformed + + /** + * @param args the command line arguments + */ + public static void main(String args[]) { + + } + + // Variables declaration - do not modify//GEN-BEGIN:variables + private javax.swing.JTextField EditAdress; + private javax.swing.JLabel LabelMessage; + private javax.swing.JTextArea TextAreaMessage; + private javax.swing.JScrollPane jScrollPane1; + private javax.swing.JProgressBar progressbar; + // End of variables declaration//GEN-END:variables + + private void doWorks(Map localmap,Map servermap,Map maptodownload) { + isworking = true;status = 0; + Thread thworking = new Thread(new Runnable() { + @Override + public void run() { + while(isworking){ + String txt = LabelMessage.getText(); + try { + if(txt.endsWith("...")) + txt = txt.replace("...", ""); + else if(txt.endsWith("..")) + txt = txt.replace("..", "..."); + else if(txt.endsWith(".")) + txt = txt.replace(".", ".."); + else if(!txt.contains(".")) + txt = txt + "."; + LabelMessage.setText(txt); + Thread.sleep(1000); + } catch (Exception e) { + e.printStackTrace(); + } + } + } + }); + if(!thworking.isAlive()) + thworking.start(); + try{ + this.EditAdress.setText(ipandport); + Map pathMap = new HashMap<>(); + //servermap.clear(); + TextAreaMessage.setText(""); + //获取下载路径,重用保存至pathMap + GetPath(pathMap,maptodownload,0,local_libpoint,server_libpoint); + //3.将临时下载文件下载进入临时文件夹 + boolean got = false;//网络相关如法炮制 + while(net_status_SocketError < 2 && net_status_ConnectTimeOut < 2){ + try{ + workingprogress = 0;//工作进度清零 + StartDownloadFiles(pathMap,servermap,70); + got = true; + break;//无抛错直接退出循环 + }catch(Exception inner_E1){ + System.out.println(inner_E1.getMessage()+".....InnerHTTPGetFile....downloading"); + Log.writeExceptionLog(inner_E1.getClass() + inner_E1.getMessage()); + if(inner_E1.getClass() == SocketTimeoutException.class){ + net_status_ConnectTimeOut++; + } + else + net_status_SocketError++; + } + } + if(!got) + { + workingprogress = 0;//工作进度清零 + StartDownloadFiles(pathMap,servermap,70); + } + //更替临时文件夹下的文件至具体位置 + StartReplaceFiles(pathMap,30); + //更替完成删除tmp目录 + DeleteAll("tmp"); + //4.提示升级成功,并打开运行client + //全部更新完成,更新本地md5文件 + SaveMd5("lmd5.nax",localmap); + localmap.clear(); + TextAreaMessage.append("更新完成...\n"); + TextAreaMessage.setCaretPosition(TextAreaMessage.getText().length()); + File smd5 = new File("smd5.nax"); + smd5.delete(); + status = 1; + }catch(Exception e){ + e.printStackTrace(); + System.out.println(e.getMessage()); + status = -1; + TextAreaMessage.append(e.getMessage()); + TextAreaMessage.setCaretPosition(TextAreaMessage.getText().length()); + if(e.getClass() == SocketTimeoutException.class){ + //提示连接超时 + JOptionPane.showMessageDialog(null, "连接超时。\n请继续使用旧版本并确保填写正确的ip与port。\n若该客户端版本是在校园网的网站内下载的,请在校园网环境内重试。\n如果还不行,请联系教师或者管理员。"); + }else if(e.getClass() == ConnectException.class){ + //提示网络连接错误 + JOptionPane.showMessageDialog(null, "网络拒绝访问。\n请继续使用旧版本并填写正确的ip与port。\n若该客户端版本是在校园网的网站内下载的,请在校园网环境内重试。"); + } + }finally{ + isworking = false; + } + + } + private void StartDownloadFiles(Map maptodownload, Map servermap, int total_progress) throws Exception{ + TextAreaMessage.setText("正在下载更新文件...\n"); + if(maptodownload.size() > 0) + this.setVisible(true); + File tmpDir = new File("tmp"); + Map map_hasDownload = new HashMap<>(); + //临时文件夹不存在则创建 + if(!tmpDir.exists()) + tmpDir.mkdir(); + //读取tmp目录下tmp文件, + File tmpfile = new File("tmp/tmp"); + if(tmpfile.exists()){ + try{ + ObjectInputStream ois = new ObjectInputStream(new FileInputStream(tmpfile)); + map_hasDownload.putAll((HashMap)ois.readObject()); + ois.close(); + }catch(EOFException ee){ + System.out.println("FileEmpty"); + throw ee; + } + }else{ + tmpfile.createNewFile();//没有临时记录文件则创建新文件 + } + //开始循环下载 + Iterator iter = maptodownload.entrySet().iterator(); + int file_num = maptodownload.size(); + int counter = 0; int has_num = 0;int k = 0; + try{ + while(iter.hasNext()){ + Map.Entry entry_local = (Map.Entry)iter.next(); + String key = (String)entry_local.getKey(); + String val = (String)entry_local.getValue(); + String tmpPath = "tmp\\"+val.split("\\\\.\\\\")[1]; + String serverMD5 = servermap.get(key); + TextAreaMessage.append("正在下载..."+val.split("\\\\.\\\\")[1]+"\n"); + TextAreaMessage.setCaretPosition(TextAreaMessage.getText().length()); + if(map_hasDownload.containsKey(tmpPath)){ + //对比md5值 + if(serverMD5.equals(map_hasDownload.get(tmpPath))) + { + //别忘了计数 + counter++; + map_hasDownload.put(tmpPath, serverMD5); + k = (int)(1.0*total_progress/file_num*counter - has_num); + if(k >= 1) + { + SetWorkingProgress(k); + has_num+=k; + } + continue; + } + else + HttpGetFile(EditAdress.getText(), tmpPath, key); + } + else + HttpGetFile(EditAdress.getText(), tmpPath, key); + //进度条计数 + counter++; + map_hasDownload.put(tmpPath, serverMD5); + k = (int)(1.0*total_progress/file_num*counter - has_num); + if(k >= 1) + { + SetWorkingProgress(k); + has_num+=k; + } + } + ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(tmpfile)); + oos.writeObject(map_hasDownload); + oos.close(); + }catch(Exception e){ + //写入tmp文件 + ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(tmpfile)); + oos.writeObject(map_hasDownload); + oos.close(); + //抛错,主流程控制 + throw e; + } + + } + private void GetPath(Map target, Map maptodownload, int total_progress,String local_libpoint,String server_libpoint ) throws Exception { + TextAreaMessage.append("正在解析路径...\n"); + Iterator iter_server = maptodownload.entrySet().iterator(); + int file_num = maptodownload.size(); + int counter = 0; int has_num = 0;int k = 0; + while (iter_server.hasNext()) { + Map.Entry entry_server = (Map.Entry)iter_server.next(); + String path_server = (String)entry_server.getKey(); + String path_local = (String)entry_server.getValue(); + //如何切割并区别目录? + //-->根据固有目录lib区分切割点 + if("_".equals(path_local)){ + //无该文件,查看lib节点 + String targ = path_server.split(server_libpoint.replaceAll("\\\\", "\\\\\\\\"))[1]; + String saveLocation = local_libpoint + File.separator + targ; + TextAreaMessage.append(path_server+"-->"+saveLocation+"\n"); + TextAreaMessage.setCaretPosition(TextAreaMessage.getText().length()); + target.put(path_server, saveLocation); + }else{ + //有该文件,也是切割lib点 + String saveLocation = path_local.split(local_libpoint.replaceAll("\\\\", "\\\\\\\\"))[1]; + saveLocation = local_libpoint + File.separator + saveLocation; + TextAreaMessage.append(path_server+"-->"+saveLocation+"\n"); + TextAreaMessage.setCaretPosition(TextAreaMessage.getText().length()); + target.put(path_server, saveLocation); + } + counter++; + k = (int)(1.0*total_progress/file_num*counter - has_num); + if(k >= 1)//可能不等于1 + { + SetWorkingProgress(k); + has_num += k; + } + } + } + private void SaveMd5(String lmd5nax, Map localmap) throws IOException { + File lmd5 = new File(lmd5nax); + ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(lmd5)); + oos.writeObject(localmap); + oos.close(); + } + private void SetWorkingProgress(int i) throws Exception{ + workingprogress += i; + progressbar.setValue(workingprogress); + } + private void StartReplaceFiles(Map pathMap, int total_progress) throws IOException, ClassNotFoundException, Exception { + Map map_hasDownload = new HashMap<>(); + TextAreaMessage.setText(""); + //读取tmp目录下tmp文件, + File tmpfile = new File("tmp/tmp"); + if(tmpfile.exists()){ + try{ + ObjectInputStream ois = new ObjectInputStream(new FileInputStream(tmpfile)); + map_hasDownload.putAll((HashMap)ois.readObject()); + ois.close(); + }catch(EOFException ee){ + System.out.println("FileEmpty"); + } + }else{ + return;//无文件即为未完成或无更新文件 + } + Iterator iter = map_hasDownload.entrySet().iterator(); + byte[] buffer = new byte[1024];int btcount = 0; + int counter = 0;int k = 0;int has_num = 0; + int file_num = map_hasDownload.size(); + while (iter.hasNext()) { + Map.Entry entry = (Map.Entry)iter.next(); + String tmppath = (String)entry.getKey(); + System.out.println(tmppath); + File target = new File(tmppath.split("tmp\\\\\\\\")[1]); + System.out.println(target+"替换路径"); + if(target.exists()) + { + target.delete(); + target.createNewFile(); + }else{ + if(target.getParentFile() != null && !target.getParentFile().exists()) + target.getParentFile().mkdirs(); + target.createNewFile(); + } + TextAreaMessage.append("正在替换文件..."+target.getName()+"\n"); + TextAreaMessage.setCaretPosition(TextAreaMessage.getText().length()); + File tmpFile = new File(tmppath); + FileInputStream fis = new FileInputStream(tmpFile); + FileOutputStream fos = new FileOutputStream(target); + BufferedInputStream bis = new BufferedInputStream(fis); + BufferedOutputStream bos = new BufferedOutputStream(fos); + while((btcount = bis.read(buffer)) != -1){ + bos.write(buffer, 0, btcount); + } + bos.close(); + bis.close(); + fos.close(); + fis.close(); + counter++; + k = (int)(1.0*total_progress/file_num*counter - has_num); + if(k >= 1) + { + SetWorkingProgress(k); + has_num+=k; + } + } + } + private void DeleteAll(String root) { + File file = new File(root); + DeleteDir(file); + file.deleteOnExit(); + } + private Boolean DeleteDir(File file) { + if(file.isDirectory()){ + String[] list = file.list(); + Boolean res = true; + for (int i=0; i + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/out/production/Common/persistence/oj_beans/ExamInfoBean.class b/out/production/Common/persistence/oj_beans/ExamInfoBean.class new file mode 100644 index 0000000..822e67d Binary files /dev/null and b/out/production/Common/persistence/oj_beans/ExamInfoBean.class differ diff --git a/out/production/Common/persistence/oj_beans/ExamInfoBean.hbm.xml b/out/production/Common/persistence/oj_beans/ExamInfoBean.hbm.xml new file mode 100644 index 0000000..89f452e --- /dev/null +++ b/out/production/Common/persistence/oj_beans/ExamInfoBean.hbm.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/out/production/Common/persistence/oj_beans/ExamProblemsBean.class b/out/production/Common/persistence/oj_beans/ExamProblemsBean.class new file mode 100644 index 0000000..9e58dfd Binary files /dev/null and b/out/production/Common/persistence/oj_beans/ExamProblemsBean.class differ diff --git a/out/production/Common/persistence/oj_beans/ExamProblemsBean.hbm.xml b/out/production/Common/persistence/oj_beans/ExamProblemsBean.hbm.xml new file mode 100644 index 0000000..44a1ee5 --- /dev/null +++ b/out/production/Common/persistence/oj_beans/ExamProblemsBean.hbm.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/out/production/Common/persistence/oj_beans/ProblemBean.class b/out/production/Common/persistence/oj_beans/ProblemBean.class new file mode 100644 index 0000000..893f5d2 Binary files /dev/null and b/out/production/Common/persistence/oj_beans/ProblemBean.class differ diff --git a/out/production/Common/persistence/oj_beans/ProblemBean.hbm.xml b/out/production/Common/persistence/oj_beans/ProblemBean.hbm.xml new file mode 100644 index 0000000..a85756a --- /dev/null +++ b/out/production/Common/persistence/oj_beans/ProblemBean.hbm.xml @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/out/production/Common/persistence/oj_beans/ProblemTestCaseBean.class b/out/production/Common/persistence/oj_beans/ProblemTestCaseBean.class new file mode 100644 index 0000000..2ba052c Binary files /dev/null and b/out/production/Common/persistence/oj_beans/ProblemTestCaseBean.class differ diff --git a/out/production/Common/persistence/oj_beans/ProblemTestCaseBean.hbm.xml b/out/production/Common/persistence/oj_beans/ProblemTestCaseBean.hbm.xml new file mode 100644 index 0000000..95f806c --- /dev/null +++ b/out/production/Common/persistence/oj_beans/ProblemTestCaseBean.hbm.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/out/production/Common/persistence/oj_beans/SolutionBean.class b/out/production/Common/persistence/oj_beans/SolutionBean.class new file mode 100644 index 0000000..c0d289e Binary files /dev/null and b/out/production/Common/persistence/oj_beans/SolutionBean.class differ diff --git a/out/production/Common/persistence/oj_beans/SolutionBean.hbm.xml b/out/production/Common/persistence/oj_beans/SolutionBean.hbm.xml new file mode 100644 index 0000000..0bf286d --- /dev/null +++ b/out/production/Common/persistence/oj_beans/SolutionBean.hbm.xml @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/out/production/Common/persistence/oj_beans/UserBean.class b/out/production/Common/persistence/oj_beans/UserBean.class new file mode 100644 index 0000000..f1e441c Binary files /dev/null and b/out/production/Common/persistence/oj_beans/UserBean.class differ diff --git a/out/production/Common/persistence/oj_beans/UserBean.hbm.xml b/out/production/Common/persistence/oj_beans/UserBean.hbm.xml new file mode 100644 index 0000000..8f879b1 --- /dev/null +++ b/out/production/Common/persistence/oj_beans/UserBean.hbm.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/out/production/Common/persistence/oj_beans/WrongCaseBean.class b/out/production/Common/persistence/oj_beans/WrongCaseBean.class new file mode 100644 index 0000000..a2499c8 Binary files /dev/null and b/out/production/Common/persistence/oj_beans/WrongCaseBean.class differ diff --git a/out/production/Common/persistence/oj_beans/WrongCaseBean.hbm.xml b/out/production/Common/persistence/oj_beans/WrongCaseBean.hbm.xml new file mode 100644 index 0000000..5075125 --- /dev/null +++ b/out/production/Common/persistence/oj_beans/WrongCaseBean.hbm.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/out/production/client/META-INF/jax-ws-catalog.xml b/out/production/client/META-INF/jax-ws-catalog.xml new file mode 100644 index 0000000..3b24f9e --- /dev/null +++ b/out/production/client/META-INF/jax-ws-catalog.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/out/production/client/META-INF/wsdl/106.15.36.190_80/oj/webservice/OJWS.wsdl b/out/production/client/META-INF/wsdl/106.15.36.190_80/oj/webservice/OJWS.wsdl new file mode 100644 index 0000000..16d1483 --- /dev/null +++ b/out/production/client/META-INF/wsdl/106.15.36.190_80/oj/webservice/OJWS.wsdl @@ -0,0 +1,575 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/out/production/client/mix_paste.png b/out/production/client/mix_paste.png new file mode 100644 index 0000000..1341e56 Binary files /dev/null and b/out/production/client/mix_paste.png differ diff --git a/out/production/clientUpdater/clientupdater/ClientUpdater.class b/out/production/clientUpdater/clientupdater/ClientUpdater.class new file mode 100644 index 0000000..b1ffc2d Binary files /dev/null and b/out/production/clientUpdater/clientupdater/ClientUpdater.class differ diff --git a/out/production/clientUpdater/clientupdater/TestStart.class b/out/production/clientUpdater/clientupdater/TestStart.class new file mode 100644 index 0000000..a24a809 Binary files /dev/null and b/out/production/clientUpdater/clientupdater/TestStart.class differ diff --git a/out/production/clientUpdater/clientupdater/UpdaterFrame$1.class b/out/production/clientUpdater/clientupdater/UpdaterFrame$1.class new file mode 100644 index 0000000..cc14c3a Binary files /dev/null and b/out/production/clientUpdater/clientupdater/UpdaterFrame$1.class differ diff --git a/out/production/clientUpdater/clientupdater/UpdaterFrame$2.class b/out/production/clientUpdater/clientupdater/UpdaterFrame$2.class new file mode 100644 index 0000000..40e3562 Binary files /dev/null and b/out/production/clientUpdater/clientupdater/UpdaterFrame$2.class differ diff --git a/out/production/clientUpdater/clientupdater/UpdaterFrame$3.class b/out/production/clientUpdater/clientupdater/UpdaterFrame$3.class new file mode 100644 index 0000000..c0fadfd Binary files /dev/null and b/out/production/clientUpdater/clientupdater/UpdaterFrame$3.class differ diff --git a/out/production/clientUpdater/clientupdater/UpdaterFrame.class b/out/production/clientUpdater/clientupdater/UpdaterFrame.class new file mode 100644 index 0000000..5a24792 Binary files /dev/null and b/out/production/clientUpdater/clientupdater/UpdaterFrame.class differ diff --git a/out/production/clientUpdater/shared/Share.class b/out/production/clientUpdater/shared/Share.class new file mode 100644 index 0000000..ee74b39 Binary files /dev/null and b/out/production/clientUpdater/shared/Share.class differ diff --git a/out/production/generated-sources/edu/dhu/ws/OJWS.class b/out/production/generated-sources/edu/dhu/ws/OJWS.class new file mode 100644 index 0000000..bc189da Binary files /dev/null and b/out/production/generated-sources/edu/dhu/ws/OJWS.class differ diff --git a/out/production/generated-sources/edu/dhu/ws/OJWS_Service.class b/out/production/generated-sources/edu/dhu/ws/OJWS_Service.class new file mode 100644 index 0000000..c9be04c Binary files /dev/null and b/out/production/generated-sources/edu/dhu/ws/OJWS_Service.class differ diff --git a/out/production/generated-sources/edu/dhu/ws/ObjectFactory.class b/out/production/generated-sources/edu/dhu/ws/ObjectFactory.class new file mode 100644 index 0000000..2ec932a Binary files /dev/null and b/out/production/generated-sources/edu/dhu/ws/ObjectFactory.class differ diff --git a/out/production/generated-sources/edu/dhu/ws/WSCanDoCategory.class b/out/production/generated-sources/edu/dhu/ws/WSCanDoCategory.class new file mode 100644 index 0000000..31b344d Binary files /dev/null and b/out/production/generated-sources/edu/dhu/ws/WSCanDoCategory.class differ diff --git a/out/production/generated-sources/edu/dhu/ws/WSCanDoCategoryResponse.class b/out/production/generated-sources/edu/dhu/ws/WSCanDoCategoryResponse.class new file mode 100644 index 0000000..c4586bd Binary files /dev/null and b/out/production/generated-sources/edu/dhu/ws/WSCanDoCategoryResponse.class differ diff --git a/out/production/generated-sources/edu/dhu/ws/WSDrawProblem.class b/out/production/generated-sources/edu/dhu/ws/WSDrawProblem.class new file mode 100644 index 0000000..c0a5872 Binary files /dev/null and b/out/production/generated-sources/edu/dhu/ws/WSDrawProblem.class differ diff --git a/out/production/generated-sources/edu/dhu/ws/WSDrawProblemResponse.class b/out/production/generated-sources/edu/dhu/ws/WSDrawProblemResponse.class new file mode 100644 index 0000000..6456589 Binary files /dev/null and b/out/production/generated-sources/edu/dhu/ws/WSDrawProblemResponse.class differ diff --git a/out/production/generated-sources/edu/dhu/ws/WSGetExamById.class b/out/production/generated-sources/edu/dhu/ws/WSGetExamById.class new file mode 100644 index 0000000..a16c86f Binary files /dev/null and b/out/production/generated-sources/edu/dhu/ws/WSGetExamById.class differ diff --git a/out/production/generated-sources/edu/dhu/ws/WSGetExamByIdResponse.class b/out/production/generated-sources/edu/dhu/ws/WSGetExamByIdResponse.class new file mode 100644 index 0000000..f2e2583 Binary files /dev/null and b/out/production/generated-sources/edu/dhu/ws/WSGetExamByIdResponse.class differ diff --git a/out/production/generated-sources/edu/dhu/ws/WSGetExamDetail.class b/out/production/generated-sources/edu/dhu/ws/WSGetExamDetail.class new file mode 100644 index 0000000..45de826 Binary files /dev/null and b/out/production/generated-sources/edu/dhu/ws/WSGetExamDetail.class differ diff --git a/out/production/generated-sources/edu/dhu/ws/WSGetExamDetailResponse.class b/out/production/generated-sources/edu/dhu/ws/WSGetExamDetailResponse.class new file mode 100644 index 0000000..8660079 Binary files /dev/null and b/out/production/generated-sources/edu/dhu/ws/WSGetExamDetailResponse.class differ diff --git a/out/production/generated-sources/edu/dhu/ws/WSGetExamList.class b/out/production/generated-sources/edu/dhu/ws/WSGetExamList.class new file mode 100644 index 0000000..b6695cb Binary files /dev/null and b/out/production/generated-sources/edu/dhu/ws/WSGetExamList.class differ diff --git a/out/production/generated-sources/edu/dhu/ws/WSGetExamListResponse.class b/out/production/generated-sources/edu/dhu/ws/WSGetExamListResponse.class new file mode 100644 index 0000000..3cc028a Binary files /dev/null and b/out/production/generated-sources/edu/dhu/ws/WSGetExamListResponse.class differ diff --git a/out/production/generated-sources/edu/dhu/ws/WSGetExamProCatagorys.class b/out/production/generated-sources/edu/dhu/ws/WSGetExamProCatagorys.class new file mode 100644 index 0000000..c763fc0 Binary files /dev/null and b/out/production/generated-sources/edu/dhu/ws/WSGetExamProCatagorys.class differ diff --git a/out/production/generated-sources/edu/dhu/ws/WSGetExamProCatagorysResponse.class b/out/production/generated-sources/edu/dhu/ws/WSGetExamProCatagorysResponse.class new file mode 100644 index 0000000..2d6d1fd Binary files /dev/null and b/out/production/generated-sources/edu/dhu/ws/WSGetExamProCatagorysResponse.class differ diff --git a/out/production/generated-sources/edu/dhu/ws/WSGetExamProblemStatus.class b/out/production/generated-sources/edu/dhu/ws/WSGetExamProblemStatus.class new file mode 100644 index 0000000..bc868c3 Binary files /dev/null and b/out/production/generated-sources/edu/dhu/ws/WSGetExamProblemStatus.class differ diff --git a/out/production/generated-sources/edu/dhu/ws/WSGetExamProblemStatusResponse.class b/out/production/generated-sources/edu/dhu/ws/WSGetExamProblemStatusResponse.class new file mode 100644 index 0000000..e4f3f73 Binary files /dev/null and b/out/production/generated-sources/edu/dhu/ws/WSGetExamProblemStatusResponse.class differ diff --git a/out/production/generated-sources/edu/dhu/ws/WSGetExamProblems.class b/out/production/generated-sources/edu/dhu/ws/WSGetExamProblems.class new file mode 100644 index 0000000..3d1b684 Binary files /dev/null and b/out/production/generated-sources/edu/dhu/ws/WSGetExamProblems.class differ diff --git a/out/production/generated-sources/edu/dhu/ws/WSGetExamProblemsResponse.class b/out/production/generated-sources/edu/dhu/ws/WSGetExamProblemsResponse.class new file mode 100644 index 0000000..5aad291 Binary files /dev/null and b/out/production/generated-sources/edu/dhu/ws/WSGetExamProblemsResponse.class differ diff --git a/out/production/generated-sources/edu/dhu/ws/WSGetProblem.class b/out/production/generated-sources/edu/dhu/ws/WSGetProblem.class new file mode 100644 index 0000000..3b79d79 Binary files /dev/null and b/out/production/generated-sources/edu/dhu/ws/WSGetProblem.class differ diff --git a/out/production/generated-sources/edu/dhu/ws/WSGetProblem4Judge.class b/out/production/generated-sources/edu/dhu/ws/WSGetProblem4Judge.class new file mode 100644 index 0000000..b3bd4b1 Binary files /dev/null and b/out/production/generated-sources/edu/dhu/ws/WSGetProblem4Judge.class differ diff --git a/out/production/generated-sources/edu/dhu/ws/WSGetProblem4JudgeResponse.class b/out/production/generated-sources/edu/dhu/ws/WSGetProblem4JudgeResponse.class new file mode 100644 index 0000000..d05469b Binary files /dev/null and b/out/production/generated-sources/edu/dhu/ws/WSGetProblem4JudgeResponse.class differ diff --git a/out/production/generated-sources/edu/dhu/ws/WSGetProblemResponse.class b/out/production/generated-sources/edu/dhu/ws/WSGetProblemResponse.class new file mode 100644 index 0000000..d7c9b34 Binary files /dev/null and b/out/production/generated-sources/edu/dhu/ws/WSGetProblemResponse.class differ diff --git a/out/production/generated-sources/edu/dhu/ws/WSGetSolutions.class b/out/production/generated-sources/edu/dhu/ws/WSGetSolutions.class new file mode 100644 index 0000000..d372f14 Binary files /dev/null and b/out/production/generated-sources/edu/dhu/ws/WSGetSolutions.class differ diff --git a/out/production/generated-sources/edu/dhu/ws/WSGetSolutionsResponse.class b/out/production/generated-sources/edu/dhu/ws/WSGetSolutionsResponse.class new file mode 100644 index 0000000..7fbda2c Binary files /dev/null and b/out/production/generated-sources/edu/dhu/ws/WSGetSolutionsResponse.class differ diff --git a/out/production/generated-sources/edu/dhu/ws/WSIsPermit.class b/out/production/generated-sources/edu/dhu/ws/WSIsPermit.class new file mode 100644 index 0000000..ae09137 Binary files /dev/null and b/out/production/generated-sources/edu/dhu/ws/WSIsPermit.class differ diff --git a/out/production/generated-sources/edu/dhu/ws/WSIsPermitResponse.class b/out/production/generated-sources/edu/dhu/ws/WSIsPermitResponse.class new file mode 100644 index 0000000..e0a1458 Binary files /dev/null and b/out/production/generated-sources/edu/dhu/ws/WSIsPermitResponse.class differ diff --git a/out/production/generated-sources/edu/dhu/ws/WSItrainSubmitCode.class b/out/production/generated-sources/edu/dhu/ws/WSItrainSubmitCode.class new file mode 100644 index 0000000..c2290ff Binary files /dev/null and b/out/production/generated-sources/edu/dhu/ws/WSItrainSubmitCode.class differ diff --git a/out/production/generated-sources/edu/dhu/ws/WSItrainSubmitCodeResponse.class b/out/production/generated-sources/edu/dhu/ws/WSItrainSubmitCodeResponse.class new file mode 100644 index 0000000..662202d Binary files /dev/null and b/out/production/generated-sources/edu/dhu/ws/WSItrainSubmitCodeResponse.class differ diff --git a/out/production/generated-sources/edu/dhu/ws/WSItrainSubmitThisProblem.class b/out/production/generated-sources/edu/dhu/ws/WSItrainSubmitThisProblem.class new file mode 100644 index 0000000..6e22abb Binary files /dev/null and b/out/production/generated-sources/edu/dhu/ws/WSItrainSubmitThisProblem.class differ diff --git a/out/production/generated-sources/edu/dhu/ws/WSItrainSubmitThisProblemResponse.class b/out/production/generated-sources/edu/dhu/ws/WSItrainSubmitThisProblemResponse.class new file mode 100644 index 0000000..31213dc Binary files /dev/null and b/out/production/generated-sources/edu/dhu/ws/WSItrainSubmitThisProblemResponse.class differ diff --git a/out/production/generated-sources/edu/dhu/ws/WSLogin.class b/out/production/generated-sources/edu/dhu/ws/WSLogin.class new file mode 100644 index 0000000..ad19f50 Binary files /dev/null and b/out/production/generated-sources/edu/dhu/ws/WSLogin.class differ diff --git a/out/production/generated-sources/edu/dhu/ws/WSLoginResponse.class b/out/production/generated-sources/edu/dhu/ws/WSLoginResponse.class new file mode 100644 index 0000000..3352055 Binary files /dev/null and b/out/production/generated-sources/edu/dhu/ws/WSLoginResponse.class differ diff --git a/out/production/generated-sources/edu/dhu/ws/WSPassThisCategory.class b/out/production/generated-sources/edu/dhu/ws/WSPassThisCategory.class new file mode 100644 index 0000000..0b2ae7c Binary files /dev/null and b/out/production/generated-sources/edu/dhu/ws/WSPassThisCategory.class differ diff --git a/out/production/generated-sources/edu/dhu/ws/WSPassThisCategoryResponse.class b/out/production/generated-sources/edu/dhu/ws/WSPassThisCategoryResponse.class new file mode 100644 index 0000000..ff9bbdd Binary files /dev/null and b/out/production/generated-sources/edu/dhu/ws/WSPassThisCategoryResponse.class differ diff --git a/out/production/generated-sources/edu/dhu/ws/WSSkipThisProblem.class b/out/production/generated-sources/edu/dhu/ws/WSSkipThisProblem.class new file mode 100644 index 0000000..6ba2cf1 Binary files /dev/null and b/out/production/generated-sources/edu/dhu/ws/WSSkipThisProblem.class differ diff --git a/out/production/generated-sources/edu/dhu/ws/WSSkipThisProblemResponse.class b/out/production/generated-sources/edu/dhu/ws/WSSkipThisProblemResponse.class new file mode 100644 index 0000000..cfefac3 Binary files /dev/null and b/out/production/generated-sources/edu/dhu/ws/WSSkipThisProblemResponse.class differ diff --git a/out/production/generated-sources/edu/dhu/ws/WSSubmitCode.class b/out/production/generated-sources/edu/dhu/ws/WSSubmitCode.class new file mode 100644 index 0000000..0f29dd0 Binary files /dev/null and b/out/production/generated-sources/edu/dhu/ws/WSSubmitCode.class differ diff --git a/out/production/generated-sources/edu/dhu/ws/WSSubmitCodeResponse.class b/out/production/generated-sources/edu/dhu/ws/WSSubmitCodeResponse.class new file mode 100644 index 0000000..2a06cb0 Binary files /dev/null and b/out/production/generated-sources/edu/dhu/ws/WSSubmitCodeResponse.class differ diff --git a/out/production/generated-sources/edu/dhu/ws/WSSubmitHistory.class b/out/production/generated-sources/edu/dhu/ws/WSSubmitHistory.class new file mode 100644 index 0000000..af2d427 Binary files /dev/null and b/out/production/generated-sources/edu/dhu/ws/WSSubmitHistory.class differ diff --git a/out/production/generated-sources/edu/dhu/ws/WSSubmitHistoryResponse.class b/out/production/generated-sources/edu/dhu/ws/WSSubmitHistoryResponse.class new file mode 100644 index 0000000..cb04980 Binary files /dev/null and b/out/production/generated-sources/edu/dhu/ws/WSSubmitHistoryResponse.class differ diff --git a/out/production/generated-sources/edu/dhu/ws/WSSubmitThisProblem.class b/out/production/generated-sources/edu/dhu/ws/WSSubmitThisProblem.class new file mode 100644 index 0000000..76e3fb1 Binary files /dev/null and b/out/production/generated-sources/edu/dhu/ws/WSSubmitThisProblem.class differ diff --git a/out/production/generated-sources/edu/dhu/ws/WSSubmitThisProblemResponse.class b/out/production/generated-sources/edu/dhu/ws/WSSubmitThisProblemResponse.class new file mode 100644 index 0000000..04d724b Binary files /dev/null and b/out/production/generated-sources/edu/dhu/ws/WSSubmitThisProblemResponse.class differ diff --git a/out/production/generated-sources/edu/dhu/ws/WSSubmittedCode.class b/out/production/generated-sources/edu/dhu/ws/WSSubmittedCode.class new file mode 100644 index 0000000..daac8de Binary files /dev/null and b/out/production/generated-sources/edu/dhu/ws/WSSubmittedCode.class differ diff --git a/out/production/generated-sources/edu/dhu/ws/WSSubmittedCodeResponse.class b/out/production/generated-sources/edu/dhu/ws/WSSubmittedCodeResponse.class new file mode 100644 index 0000000..1fb6921 Binary files /dev/null and b/out/production/generated-sources/edu/dhu/ws/WSSubmittedCodeResponse.class differ diff --git a/out/production/generated-sources/edu/dhu/ws/WSUpdateResult.class b/out/production/generated-sources/edu/dhu/ws/WSUpdateResult.class new file mode 100644 index 0000000..8b55eaa Binary files /dev/null and b/out/production/generated-sources/edu/dhu/ws/WSUpdateResult.class differ diff --git a/out/production/generated-sources/edu/dhu/ws/WSUpdateResultResponse.class b/out/production/generated-sources/edu/dhu/ws/WSUpdateResultResponse.class new file mode 100644 index 0000000..596897b Binary files /dev/null and b/out/production/generated-sources/edu/dhu/ws/WSUpdateResultResponse.class differ diff --git a/out/production/generated-sources/edu/dhu/ws/WSViewWrongCase.class b/out/production/generated-sources/edu/dhu/ws/WSViewWrongCase.class new file mode 100644 index 0000000..5971ad0 Binary files /dev/null and b/out/production/generated-sources/edu/dhu/ws/WSViewWrongCase.class differ diff --git a/out/production/generated-sources/edu/dhu/ws/WSViewWrongCaseResponse.class b/out/production/generated-sources/edu/dhu/ws/WSViewWrongCaseResponse.class new file mode 100644 index 0000000..8a6051a Binary files /dev/null and b/out/production/generated-sources/edu/dhu/ws/WSViewWrongCaseResponse.class differ diff --git a/out/production/generated-sources/edu/dhu/ws/package-info.class b/out/production/generated-sources/edu/dhu/ws/package-info.class new file mode 100644 index 0000000..f13fb46 Binary files /dev/null and b/out/production/generated-sources/edu/dhu/ws/package-info.class differ diff --git a/out/production/generated-sources1/edu/dhu/ws/OJWS.class b/out/production/generated-sources1/edu/dhu/ws/OJWS.class new file mode 100644 index 0000000..bc189da Binary files /dev/null and b/out/production/generated-sources1/edu/dhu/ws/OJWS.class differ diff --git a/out/production/generated-sources1/edu/dhu/ws/OJWS_Service.class b/out/production/generated-sources1/edu/dhu/ws/OJWS_Service.class new file mode 100644 index 0000000..c9be04c Binary files /dev/null and b/out/production/generated-sources1/edu/dhu/ws/OJWS_Service.class differ diff --git a/out/production/generated-sources1/edu/dhu/ws/ObjectFactory.class b/out/production/generated-sources1/edu/dhu/ws/ObjectFactory.class new file mode 100644 index 0000000..2ec932a Binary files /dev/null and b/out/production/generated-sources1/edu/dhu/ws/ObjectFactory.class differ diff --git a/out/production/generated-sources1/edu/dhu/ws/WSCanDoCategory.class b/out/production/generated-sources1/edu/dhu/ws/WSCanDoCategory.class new file mode 100644 index 0000000..31b344d Binary files /dev/null and b/out/production/generated-sources1/edu/dhu/ws/WSCanDoCategory.class differ diff --git a/out/production/generated-sources1/edu/dhu/ws/WSCanDoCategoryResponse.class b/out/production/generated-sources1/edu/dhu/ws/WSCanDoCategoryResponse.class new file mode 100644 index 0000000..c4586bd Binary files /dev/null and b/out/production/generated-sources1/edu/dhu/ws/WSCanDoCategoryResponse.class differ diff --git a/out/production/generated-sources1/edu/dhu/ws/WSDrawProblem.class b/out/production/generated-sources1/edu/dhu/ws/WSDrawProblem.class new file mode 100644 index 0000000..c0a5872 Binary files /dev/null and b/out/production/generated-sources1/edu/dhu/ws/WSDrawProblem.class differ diff --git a/out/production/generated-sources1/edu/dhu/ws/WSDrawProblemResponse.class b/out/production/generated-sources1/edu/dhu/ws/WSDrawProblemResponse.class new file mode 100644 index 0000000..6456589 Binary files /dev/null and b/out/production/generated-sources1/edu/dhu/ws/WSDrawProblemResponse.class differ diff --git a/out/production/generated-sources1/edu/dhu/ws/WSGetExamById.class b/out/production/generated-sources1/edu/dhu/ws/WSGetExamById.class new file mode 100644 index 0000000..a16c86f Binary files /dev/null and b/out/production/generated-sources1/edu/dhu/ws/WSGetExamById.class differ diff --git a/out/production/generated-sources1/edu/dhu/ws/WSGetExamByIdResponse.class b/out/production/generated-sources1/edu/dhu/ws/WSGetExamByIdResponse.class new file mode 100644 index 0000000..f2e2583 Binary files /dev/null and b/out/production/generated-sources1/edu/dhu/ws/WSGetExamByIdResponse.class differ diff --git a/out/production/generated-sources1/edu/dhu/ws/WSGetExamDetail.class b/out/production/generated-sources1/edu/dhu/ws/WSGetExamDetail.class new file mode 100644 index 0000000..45de826 Binary files /dev/null and b/out/production/generated-sources1/edu/dhu/ws/WSGetExamDetail.class differ diff --git a/out/production/generated-sources1/edu/dhu/ws/WSGetExamDetailResponse.class b/out/production/generated-sources1/edu/dhu/ws/WSGetExamDetailResponse.class new file mode 100644 index 0000000..8660079 Binary files /dev/null and b/out/production/generated-sources1/edu/dhu/ws/WSGetExamDetailResponse.class differ diff --git a/out/production/generated-sources1/edu/dhu/ws/WSGetExamList.class b/out/production/generated-sources1/edu/dhu/ws/WSGetExamList.class new file mode 100644 index 0000000..b6695cb Binary files /dev/null and b/out/production/generated-sources1/edu/dhu/ws/WSGetExamList.class differ diff --git a/out/production/generated-sources1/edu/dhu/ws/WSGetExamListResponse.class b/out/production/generated-sources1/edu/dhu/ws/WSGetExamListResponse.class new file mode 100644 index 0000000..3cc028a Binary files /dev/null and b/out/production/generated-sources1/edu/dhu/ws/WSGetExamListResponse.class differ diff --git a/out/production/generated-sources1/edu/dhu/ws/WSGetExamProCatagorys.class b/out/production/generated-sources1/edu/dhu/ws/WSGetExamProCatagorys.class new file mode 100644 index 0000000..c763fc0 Binary files /dev/null and b/out/production/generated-sources1/edu/dhu/ws/WSGetExamProCatagorys.class differ diff --git a/out/production/generated-sources1/edu/dhu/ws/WSGetExamProCatagorysResponse.class b/out/production/generated-sources1/edu/dhu/ws/WSGetExamProCatagorysResponse.class new file mode 100644 index 0000000..2d6d1fd Binary files /dev/null and b/out/production/generated-sources1/edu/dhu/ws/WSGetExamProCatagorysResponse.class differ diff --git a/out/production/generated-sources1/edu/dhu/ws/WSGetExamProblemStatus.class b/out/production/generated-sources1/edu/dhu/ws/WSGetExamProblemStatus.class new file mode 100644 index 0000000..bc868c3 Binary files /dev/null and b/out/production/generated-sources1/edu/dhu/ws/WSGetExamProblemStatus.class differ diff --git a/out/production/generated-sources1/edu/dhu/ws/WSGetExamProblemStatusResponse.class b/out/production/generated-sources1/edu/dhu/ws/WSGetExamProblemStatusResponse.class new file mode 100644 index 0000000..e4f3f73 Binary files /dev/null and b/out/production/generated-sources1/edu/dhu/ws/WSGetExamProblemStatusResponse.class differ diff --git a/out/production/generated-sources1/edu/dhu/ws/WSGetExamProblems.class b/out/production/generated-sources1/edu/dhu/ws/WSGetExamProblems.class new file mode 100644 index 0000000..3d1b684 Binary files /dev/null and b/out/production/generated-sources1/edu/dhu/ws/WSGetExamProblems.class differ diff --git a/out/production/generated-sources1/edu/dhu/ws/WSGetExamProblemsResponse.class b/out/production/generated-sources1/edu/dhu/ws/WSGetExamProblemsResponse.class new file mode 100644 index 0000000..5aad291 Binary files /dev/null and b/out/production/generated-sources1/edu/dhu/ws/WSGetExamProblemsResponse.class differ diff --git a/out/production/generated-sources1/edu/dhu/ws/WSGetProblem.class b/out/production/generated-sources1/edu/dhu/ws/WSGetProblem.class new file mode 100644 index 0000000..3b79d79 Binary files /dev/null and b/out/production/generated-sources1/edu/dhu/ws/WSGetProblem.class differ diff --git a/out/production/generated-sources1/edu/dhu/ws/WSGetProblem4Judge.class b/out/production/generated-sources1/edu/dhu/ws/WSGetProblem4Judge.class new file mode 100644 index 0000000..b3bd4b1 Binary files /dev/null and b/out/production/generated-sources1/edu/dhu/ws/WSGetProblem4Judge.class differ diff --git a/out/production/generated-sources1/edu/dhu/ws/WSGetProblem4JudgeResponse.class b/out/production/generated-sources1/edu/dhu/ws/WSGetProblem4JudgeResponse.class new file mode 100644 index 0000000..d05469b Binary files /dev/null and b/out/production/generated-sources1/edu/dhu/ws/WSGetProblem4JudgeResponse.class differ diff --git a/out/production/generated-sources1/edu/dhu/ws/WSGetProblemResponse.class b/out/production/generated-sources1/edu/dhu/ws/WSGetProblemResponse.class new file mode 100644 index 0000000..d7c9b34 Binary files /dev/null and b/out/production/generated-sources1/edu/dhu/ws/WSGetProblemResponse.class differ diff --git a/out/production/generated-sources1/edu/dhu/ws/WSGetSolutions.class b/out/production/generated-sources1/edu/dhu/ws/WSGetSolutions.class new file mode 100644 index 0000000..d372f14 Binary files /dev/null and b/out/production/generated-sources1/edu/dhu/ws/WSGetSolutions.class differ diff --git a/out/production/generated-sources1/edu/dhu/ws/WSGetSolutionsResponse.class b/out/production/generated-sources1/edu/dhu/ws/WSGetSolutionsResponse.class new file mode 100644 index 0000000..7fbda2c Binary files /dev/null and b/out/production/generated-sources1/edu/dhu/ws/WSGetSolutionsResponse.class differ diff --git a/out/production/generated-sources1/edu/dhu/ws/WSIsPermit.class b/out/production/generated-sources1/edu/dhu/ws/WSIsPermit.class new file mode 100644 index 0000000..ae09137 Binary files /dev/null and b/out/production/generated-sources1/edu/dhu/ws/WSIsPermit.class differ diff --git a/out/production/generated-sources1/edu/dhu/ws/WSIsPermitResponse.class b/out/production/generated-sources1/edu/dhu/ws/WSIsPermitResponse.class new file mode 100644 index 0000000..e0a1458 Binary files /dev/null and b/out/production/generated-sources1/edu/dhu/ws/WSIsPermitResponse.class differ diff --git a/out/production/generated-sources1/edu/dhu/ws/WSItrainSubmitCode.class b/out/production/generated-sources1/edu/dhu/ws/WSItrainSubmitCode.class new file mode 100644 index 0000000..c2290ff Binary files /dev/null and b/out/production/generated-sources1/edu/dhu/ws/WSItrainSubmitCode.class differ diff --git a/out/production/generated-sources1/edu/dhu/ws/WSItrainSubmitCodeResponse.class b/out/production/generated-sources1/edu/dhu/ws/WSItrainSubmitCodeResponse.class new file mode 100644 index 0000000..662202d Binary files /dev/null and b/out/production/generated-sources1/edu/dhu/ws/WSItrainSubmitCodeResponse.class differ diff --git a/out/production/generated-sources1/edu/dhu/ws/WSItrainSubmitThisProblem.class b/out/production/generated-sources1/edu/dhu/ws/WSItrainSubmitThisProblem.class new file mode 100644 index 0000000..6e22abb Binary files /dev/null and b/out/production/generated-sources1/edu/dhu/ws/WSItrainSubmitThisProblem.class differ diff --git a/out/production/generated-sources1/edu/dhu/ws/WSItrainSubmitThisProblemResponse.class b/out/production/generated-sources1/edu/dhu/ws/WSItrainSubmitThisProblemResponse.class new file mode 100644 index 0000000..31213dc Binary files /dev/null and b/out/production/generated-sources1/edu/dhu/ws/WSItrainSubmitThisProblemResponse.class differ diff --git a/out/production/generated-sources1/edu/dhu/ws/WSLogin.class b/out/production/generated-sources1/edu/dhu/ws/WSLogin.class new file mode 100644 index 0000000..ad19f50 Binary files /dev/null and b/out/production/generated-sources1/edu/dhu/ws/WSLogin.class differ diff --git a/out/production/generated-sources1/edu/dhu/ws/WSLoginResponse.class b/out/production/generated-sources1/edu/dhu/ws/WSLoginResponse.class new file mode 100644 index 0000000..3352055 Binary files /dev/null and b/out/production/generated-sources1/edu/dhu/ws/WSLoginResponse.class differ diff --git a/out/production/generated-sources1/edu/dhu/ws/WSPassThisCategory.class b/out/production/generated-sources1/edu/dhu/ws/WSPassThisCategory.class new file mode 100644 index 0000000..0b2ae7c Binary files /dev/null and b/out/production/generated-sources1/edu/dhu/ws/WSPassThisCategory.class differ diff --git a/out/production/generated-sources1/edu/dhu/ws/WSPassThisCategoryResponse.class b/out/production/generated-sources1/edu/dhu/ws/WSPassThisCategoryResponse.class new file mode 100644 index 0000000..ff9bbdd Binary files /dev/null and b/out/production/generated-sources1/edu/dhu/ws/WSPassThisCategoryResponse.class differ diff --git a/out/production/generated-sources1/edu/dhu/ws/WSSkipThisProblem.class b/out/production/generated-sources1/edu/dhu/ws/WSSkipThisProblem.class new file mode 100644 index 0000000..6ba2cf1 Binary files /dev/null and b/out/production/generated-sources1/edu/dhu/ws/WSSkipThisProblem.class differ diff --git a/out/production/generated-sources1/edu/dhu/ws/WSSkipThisProblemResponse.class b/out/production/generated-sources1/edu/dhu/ws/WSSkipThisProblemResponse.class new file mode 100644 index 0000000..cfefac3 Binary files /dev/null and b/out/production/generated-sources1/edu/dhu/ws/WSSkipThisProblemResponse.class differ diff --git a/out/production/generated-sources1/edu/dhu/ws/WSSubmitCode.class b/out/production/generated-sources1/edu/dhu/ws/WSSubmitCode.class new file mode 100644 index 0000000..0f29dd0 Binary files /dev/null and b/out/production/generated-sources1/edu/dhu/ws/WSSubmitCode.class differ diff --git a/out/production/generated-sources1/edu/dhu/ws/WSSubmitCodeResponse.class b/out/production/generated-sources1/edu/dhu/ws/WSSubmitCodeResponse.class new file mode 100644 index 0000000..2a06cb0 Binary files /dev/null and b/out/production/generated-sources1/edu/dhu/ws/WSSubmitCodeResponse.class differ diff --git a/out/production/generated-sources1/edu/dhu/ws/WSSubmitHistory.class b/out/production/generated-sources1/edu/dhu/ws/WSSubmitHistory.class new file mode 100644 index 0000000..af2d427 Binary files /dev/null and b/out/production/generated-sources1/edu/dhu/ws/WSSubmitHistory.class differ diff --git a/out/production/generated-sources1/edu/dhu/ws/WSSubmitHistoryResponse.class b/out/production/generated-sources1/edu/dhu/ws/WSSubmitHistoryResponse.class new file mode 100644 index 0000000..cb04980 Binary files /dev/null and b/out/production/generated-sources1/edu/dhu/ws/WSSubmitHistoryResponse.class differ diff --git a/out/production/generated-sources1/edu/dhu/ws/WSSubmitThisProblem.class b/out/production/generated-sources1/edu/dhu/ws/WSSubmitThisProblem.class new file mode 100644 index 0000000..76e3fb1 Binary files /dev/null and b/out/production/generated-sources1/edu/dhu/ws/WSSubmitThisProblem.class differ diff --git a/out/production/generated-sources1/edu/dhu/ws/WSSubmitThisProblemResponse.class b/out/production/generated-sources1/edu/dhu/ws/WSSubmitThisProblemResponse.class new file mode 100644 index 0000000..04d724b Binary files /dev/null and b/out/production/generated-sources1/edu/dhu/ws/WSSubmitThisProblemResponse.class differ diff --git a/out/production/generated-sources1/edu/dhu/ws/WSSubmittedCode.class b/out/production/generated-sources1/edu/dhu/ws/WSSubmittedCode.class new file mode 100644 index 0000000..daac8de Binary files /dev/null and b/out/production/generated-sources1/edu/dhu/ws/WSSubmittedCode.class differ diff --git a/out/production/generated-sources1/edu/dhu/ws/WSSubmittedCodeResponse.class b/out/production/generated-sources1/edu/dhu/ws/WSSubmittedCodeResponse.class new file mode 100644 index 0000000..1fb6921 Binary files /dev/null and b/out/production/generated-sources1/edu/dhu/ws/WSSubmittedCodeResponse.class differ diff --git a/out/production/generated-sources1/edu/dhu/ws/WSUpdateResult.class b/out/production/generated-sources1/edu/dhu/ws/WSUpdateResult.class new file mode 100644 index 0000000..8b55eaa Binary files /dev/null and b/out/production/generated-sources1/edu/dhu/ws/WSUpdateResult.class differ diff --git a/out/production/generated-sources1/edu/dhu/ws/WSUpdateResultResponse.class b/out/production/generated-sources1/edu/dhu/ws/WSUpdateResultResponse.class new file mode 100644 index 0000000..596897b Binary files /dev/null and b/out/production/generated-sources1/edu/dhu/ws/WSUpdateResultResponse.class differ diff --git a/out/production/generated-sources1/edu/dhu/ws/WSViewWrongCase.class b/out/production/generated-sources1/edu/dhu/ws/WSViewWrongCase.class new file mode 100644 index 0000000..5971ad0 Binary files /dev/null and b/out/production/generated-sources1/edu/dhu/ws/WSViewWrongCase.class differ diff --git a/out/production/generated-sources1/edu/dhu/ws/WSViewWrongCaseResponse.class b/out/production/generated-sources1/edu/dhu/ws/WSViewWrongCaseResponse.class new file mode 100644 index 0000000..8a6051a Binary files /dev/null and b/out/production/generated-sources1/edu/dhu/ws/WSViewWrongCaseResponse.class differ diff --git a/out/production/generated-sources1/edu/dhu/ws/package-info.class b/out/production/generated-sources1/edu/dhu/ws/package-info.class new file mode 100644 index 0000000..f13fb46 Binary files /dev/null and b/out/production/generated-sources1/edu/dhu/ws/package-info.class differ diff --git a/out/production/generated/edu/dhu/ws/OJWS.class b/out/production/generated/edu/dhu/ws/OJWS.class new file mode 100644 index 0000000..bc189da Binary files /dev/null and b/out/production/generated/edu/dhu/ws/OJWS.class differ diff --git a/out/production/generated/edu/dhu/ws/OJWS_Service.class b/out/production/generated/edu/dhu/ws/OJWS_Service.class new file mode 100644 index 0000000..c9be04c Binary files /dev/null and b/out/production/generated/edu/dhu/ws/OJWS_Service.class differ diff --git a/out/production/generated/edu/dhu/ws/ObjectFactory.class b/out/production/generated/edu/dhu/ws/ObjectFactory.class new file mode 100644 index 0000000..2ec932a Binary files /dev/null and b/out/production/generated/edu/dhu/ws/ObjectFactory.class differ diff --git a/out/production/generated/edu/dhu/ws/WSCanDoCategory.class b/out/production/generated/edu/dhu/ws/WSCanDoCategory.class new file mode 100644 index 0000000..31b344d Binary files /dev/null and b/out/production/generated/edu/dhu/ws/WSCanDoCategory.class differ diff --git a/out/production/generated/edu/dhu/ws/WSCanDoCategoryResponse.class b/out/production/generated/edu/dhu/ws/WSCanDoCategoryResponse.class new file mode 100644 index 0000000..c4586bd Binary files /dev/null and b/out/production/generated/edu/dhu/ws/WSCanDoCategoryResponse.class differ diff --git a/out/production/generated/edu/dhu/ws/WSDrawProblem.class b/out/production/generated/edu/dhu/ws/WSDrawProblem.class new file mode 100644 index 0000000..c0a5872 Binary files /dev/null and b/out/production/generated/edu/dhu/ws/WSDrawProblem.class differ diff --git a/out/production/generated/edu/dhu/ws/WSDrawProblemResponse.class b/out/production/generated/edu/dhu/ws/WSDrawProblemResponse.class new file mode 100644 index 0000000..6456589 Binary files /dev/null and b/out/production/generated/edu/dhu/ws/WSDrawProblemResponse.class differ diff --git a/out/production/generated/edu/dhu/ws/WSGetExamById.class b/out/production/generated/edu/dhu/ws/WSGetExamById.class new file mode 100644 index 0000000..a16c86f Binary files /dev/null and b/out/production/generated/edu/dhu/ws/WSGetExamById.class differ diff --git a/out/production/generated/edu/dhu/ws/WSGetExamByIdResponse.class b/out/production/generated/edu/dhu/ws/WSGetExamByIdResponse.class new file mode 100644 index 0000000..f2e2583 Binary files /dev/null and b/out/production/generated/edu/dhu/ws/WSGetExamByIdResponse.class differ diff --git a/out/production/generated/edu/dhu/ws/WSGetExamDetail.class b/out/production/generated/edu/dhu/ws/WSGetExamDetail.class new file mode 100644 index 0000000..45de826 Binary files /dev/null and b/out/production/generated/edu/dhu/ws/WSGetExamDetail.class differ diff --git a/out/production/generated/edu/dhu/ws/WSGetExamDetailResponse.class b/out/production/generated/edu/dhu/ws/WSGetExamDetailResponse.class new file mode 100644 index 0000000..8660079 Binary files /dev/null and b/out/production/generated/edu/dhu/ws/WSGetExamDetailResponse.class differ diff --git a/out/production/generated/edu/dhu/ws/WSGetExamList.class b/out/production/generated/edu/dhu/ws/WSGetExamList.class new file mode 100644 index 0000000..b6695cb Binary files /dev/null and b/out/production/generated/edu/dhu/ws/WSGetExamList.class differ diff --git a/out/production/generated/edu/dhu/ws/WSGetExamListResponse.class b/out/production/generated/edu/dhu/ws/WSGetExamListResponse.class new file mode 100644 index 0000000..3cc028a Binary files /dev/null and b/out/production/generated/edu/dhu/ws/WSGetExamListResponse.class differ diff --git a/out/production/generated/edu/dhu/ws/WSGetExamProCatagorys.class b/out/production/generated/edu/dhu/ws/WSGetExamProCatagorys.class new file mode 100644 index 0000000..c763fc0 Binary files /dev/null and b/out/production/generated/edu/dhu/ws/WSGetExamProCatagorys.class differ diff --git a/out/production/generated/edu/dhu/ws/WSGetExamProCatagorysResponse.class b/out/production/generated/edu/dhu/ws/WSGetExamProCatagorysResponse.class new file mode 100644 index 0000000..2d6d1fd Binary files /dev/null and b/out/production/generated/edu/dhu/ws/WSGetExamProCatagorysResponse.class differ diff --git a/out/production/generated/edu/dhu/ws/WSGetExamProblemStatus.class b/out/production/generated/edu/dhu/ws/WSGetExamProblemStatus.class new file mode 100644 index 0000000..bc868c3 Binary files /dev/null and b/out/production/generated/edu/dhu/ws/WSGetExamProblemStatus.class differ diff --git a/out/production/generated/edu/dhu/ws/WSGetExamProblemStatusResponse.class b/out/production/generated/edu/dhu/ws/WSGetExamProblemStatusResponse.class new file mode 100644 index 0000000..e4f3f73 Binary files /dev/null and b/out/production/generated/edu/dhu/ws/WSGetExamProblemStatusResponse.class differ diff --git a/out/production/generated/edu/dhu/ws/WSGetExamProblems.class b/out/production/generated/edu/dhu/ws/WSGetExamProblems.class new file mode 100644 index 0000000..3d1b684 Binary files /dev/null and b/out/production/generated/edu/dhu/ws/WSGetExamProblems.class differ diff --git a/out/production/generated/edu/dhu/ws/WSGetExamProblemsResponse.class b/out/production/generated/edu/dhu/ws/WSGetExamProblemsResponse.class new file mode 100644 index 0000000..5aad291 Binary files /dev/null and b/out/production/generated/edu/dhu/ws/WSGetExamProblemsResponse.class differ diff --git a/out/production/generated/edu/dhu/ws/WSGetProblem.class b/out/production/generated/edu/dhu/ws/WSGetProblem.class new file mode 100644 index 0000000..3b79d79 Binary files /dev/null and b/out/production/generated/edu/dhu/ws/WSGetProblem.class differ diff --git a/out/production/generated/edu/dhu/ws/WSGetProblem4Judge.class b/out/production/generated/edu/dhu/ws/WSGetProblem4Judge.class new file mode 100644 index 0000000..b3bd4b1 Binary files /dev/null and b/out/production/generated/edu/dhu/ws/WSGetProblem4Judge.class differ diff --git a/out/production/generated/edu/dhu/ws/WSGetProblem4JudgeResponse.class b/out/production/generated/edu/dhu/ws/WSGetProblem4JudgeResponse.class new file mode 100644 index 0000000..d05469b Binary files /dev/null and b/out/production/generated/edu/dhu/ws/WSGetProblem4JudgeResponse.class differ diff --git a/out/production/generated/edu/dhu/ws/WSGetProblemResponse.class b/out/production/generated/edu/dhu/ws/WSGetProblemResponse.class new file mode 100644 index 0000000..d7c9b34 Binary files /dev/null and b/out/production/generated/edu/dhu/ws/WSGetProblemResponse.class differ diff --git a/out/production/generated/edu/dhu/ws/WSGetSolutions.class b/out/production/generated/edu/dhu/ws/WSGetSolutions.class new file mode 100644 index 0000000..d372f14 Binary files /dev/null and b/out/production/generated/edu/dhu/ws/WSGetSolutions.class differ diff --git a/out/production/generated/edu/dhu/ws/WSGetSolutionsResponse.class b/out/production/generated/edu/dhu/ws/WSGetSolutionsResponse.class new file mode 100644 index 0000000..7fbda2c Binary files /dev/null and b/out/production/generated/edu/dhu/ws/WSGetSolutionsResponse.class differ diff --git a/out/production/generated/edu/dhu/ws/WSIsPermit.class b/out/production/generated/edu/dhu/ws/WSIsPermit.class new file mode 100644 index 0000000..ae09137 Binary files /dev/null and b/out/production/generated/edu/dhu/ws/WSIsPermit.class differ diff --git a/out/production/generated/edu/dhu/ws/WSIsPermitResponse.class b/out/production/generated/edu/dhu/ws/WSIsPermitResponse.class new file mode 100644 index 0000000..e0a1458 Binary files /dev/null and b/out/production/generated/edu/dhu/ws/WSIsPermitResponse.class differ diff --git a/out/production/generated/edu/dhu/ws/WSItrainSubmitCode.class b/out/production/generated/edu/dhu/ws/WSItrainSubmitCode.class new file mode 100644 index 0000000..c2290ff Binary files /dev/null and b/out/production/generated/edu/dhu/ws/WSItrainSubmitCode.class differ diff --git a/out/production/generated/edu/dhu/ws/WSItrainSubmitCodeResponse.class b/out/production/generated/edu/dhu/ws/WSItrainSubmitCodeResponse.class new file mode 100644 index 0000000..662202d Binary files /dev/null and b/out/production/generated/edu/dhu/ws/WSItrainSubmitCodeResponse.class differ diff --git a/out/production/generated/edu/dhu/ws/WSItrainSubmitThisProblem.class b/out/production/generated/edu/dhu/ws/WSItrainSubmitThisProblem.class new file mode 100644 index 0000000..6e22abb Binary files /dev/null and b/out/production/generated/edu/dhu/ws/WSItrainSubmitThisProblem.class differ diff --git a/out/production/generated/edu/dhu/ws/WSItrainSubmitThisProblemResponse.class b/out/production/generated/edu/dhu/ws/WSItrainSubmitThisProblemResponse.class new file mode 100644 index 0000000..31213dc Binary files /dev/null and b/out/production/generated/edu/dhu/ws/WSItrainSubmitThisProblemResponse.class differ diff --git a/out/production/generated/edu/dhu/ws/WSLogin.class b/out/production/generated/edu/dhu/ws/WSLogin.class new file mode 100644 index 0000000..ad19f50 Binary files /dev/null and b/out/production/generated/edu/dhu/ws/WSLogin.class differ diff --git a/out/production/generated/edu/dhu/ws/WSLoginResponse.class b/out/production/generated/edu/dhu/ws/WSLoginResponse.class new file mode 100644 index 0000000..3352055 Binary files /dev/null and b/out/production/generated/edu/dhu/ws/WSLoginResponse.class differ diff --git a/out/production/generated/edu/dhu/ws/WSPassThisCategory.class b/out/production/generated/edu/dhu/ws/WSPassThisCategory.class new file mode 100644 index 0000000..0b2ae7c Binary files /dev/null and b/out/production/generated/edu/dhu/ws/WSPassThisCategory.class differ diff --git a/out/production/generated/edu/dhu/ws/WSPassThisCategoryResponse.class b/out/production/generated/edu/dhu/ws/WSPassThisCategoryResponse.class new file mode 100644 index 0000000..ff9bbdd Binary files /dev/null and b/out/production/generated/edu/dhu/ws/WSPassThisCategoryResponse.class differ diff --git a/out/production/generated/edu/dhu/ws/WSSkipThisProblem.class b/out/production/generated/edu/dhu/ws/WSSkipThisProblem.class new file mode 100644 index 0000000..6ba2cf1 Binary files /dev/null and b/out/production/generated/edu/dhu/ws/WSSkipThisProblem.class differ diff --git a/out/production/generated/edu/dhu/ws/WSSkipThisProblemResponse.class b/out/production/generated/edu/dhu/ws/WSSkipThisProblemResponse.class new file mode 100644 index 0000000..cfefac3 Binary files /dev/null and b/out/production/generated/edu/dhu/ws/WSSkipThisProblemResponse.class differ diff --git a/out/production/generated/edu/dhu/ws/WSSubmitCode.class b/out/production/generated/edu/dhu/ws/WSSubmitCode.class new file mode 100644 index 0000000..0f29dd0 Binary files /dev/null and b/out/production/generated/edu/dhu/ws/WSSubmitCode.class differ diff --git a/out/production/generated/edu/dhu/ws/WSSubmitCodeResponse.class b/out/production/generated/edu/dhu/ws/WSSubmitCodeResponse.class new file mode 100644 index 0000000..2a06cb0 Binary files /dev/null and b/out/production/generated/edu/dhu/ws/WSSubmitCodeResponse.class differ diff --git a/out/production/generated/edu/dhu/ws/WSSubmitHistory.class b/out/production/generated/edu/dhu/ws/WSSubmitHistory.class new file mode 100644 index 0000000..af2d427 Binary files /dev/null and b/out/production/generated/edu/dhu/ws/WSSubmitHistory.class differ diff --git a/out/production/generated/edu/dhu/ws/WSSubmitHistoryResponse.class b/out/production/generated/edu/dhu/ws/WSSubmitHistoryResponse.class new file mode 100644 index 0000000..cb04980 Binary files /dev/null and b/out/production/generated/edu/dhu/ws/WSSubmitHistoryResponse.class differ diff --git a/out/production/generated/edu/dhu/ws/WSSubmitThisProblem.class b/out/production/generated/edu/dhu/ws/WSSubmitThisProblem.class new file mode 100644 index 0000000..76e3fb1 Binary files /dev/null and b/out/production/generated/edu/dhu/ws/WSSubmitThisProblem.class differ diff --git a/out/production/generated/edu/dhu/ws/WSSubmitThisProblemResponse.class b/out/production/generated/edu/dhu/ws/WSSubmitThisProblemResponse.class new file mode 100644 index 0000000..04d724b Binary files /dev/null and b/out/production/generated/edu/dhu/ws/WSSubmitThisProblemResponse.class differ diff --git a/out/production/generated/edu/dhu/ws/WSSubmittedCode.class b/out/production/generated/edu/dhu/ws/WSSubmittedCode.class new file mode 100644 index 0000000..daac8de Binary files /dev/null and b/out/production/generated/edu/dhu/ws/WSSubmittedCode.class differ diff --git a/out/production/generated/edu/dhu/ws/WSSubmittedCodeResponse.class b/out/production/generated/edu/dhu/ws/WSSubmittedCodeResponse.class new file mode 100644 index 0000000..1fb6921 Binary files /dev/null and b/out/production/generated/edu/dhu/ws/WSSubmittedCodeResponse.class differ diff --git a/out/production/generated/edu/dhu/ws/WSUpdateResult.class b/out/production/generated/edu/dhu/ws/WSUpdateResult.class new file mode 100644 index 0000000..8b55eaa Binary files /dev/null and b/out/production/generated/edu/dhu/ws/WSUpdateResult.class differ diff --git a/out/production/generated/edu/dhu/ws/WSUpdateResultResponse.class b/out/production/generated/edu/dhu/ws/WSUpdateResultResponse.class new file mode 100644 index 0000000..596897b Binary files /dev/null and b/out/production/generated/edu/dhu/ws/WSUpdateResultResponse.class differ diff --git a/out/production/generated/edu/dhu/ws/WSViewWrongCase.class b/out/production/generated/edu/dhu/ws/WSViewWrongCase.class new file mode 100644 index 0000000..5971ad0 Binary files /dev/null and b/out/production/generated/edu/dhu/ws/WSViewWrongCase.class differ diff --git a/out/production/generated/edu/dhu/ws/WSViewWrongCaseResponse.class b/out/production/generated/edu/dhu/ws/WSViewWrongCaseResponse.class new file mode 100644 index 0000000..8a6051a Binary files /dev/null and b/out/production/generated/edu/dhu/ws/WSViewWrongCaseResponse.class differ diff --git a/out/production/generated/edu/dhu/ws/package-info.class b/out/production/generated/edu/dhu/ws/package-info.class new file mode 100644 index 0000000..f13fb46 Binary files /dev/null and b/out/production/generated/edu/dhu/ws/package-info.class differ diff --git a/out/production/generated1/edu/dhu/ws/OJWS.class b/out/production/generated1/edu/dhu/ws/OJWS.class new file mode 100644 index 0000000..bc189da Binary files /dev/null and b/out/production/generated1/edu/dhu/ws/OJWS.class differ diff --git a/out/production/generated1/edu/dhu/ws/OJWS_Service.class b/out/production/generated1/edu/dhu/ws/OJWS_Service.class new file mode 100644 index 0000000..c9be04c Binary files /dev/null and b/out/production/generated1/edu/dhu/ws/OJWS_Service.class differ diff --git a/out/production/generated1/edu/dhu/ws/ObjectFactory.class b/out/production/generated1/edu/dhu/ws/ObjectFactory.class new file mode 100644 index 0000000..2ec932a Binary files /dev/null and b/out/production/generated1/edu/dhu/ws/ObjectFactory.class differ diff --git a/out/production/generated1/edu/dhu/ws/WSCanDoCategory.class b/out/production/generated1/edu/dhu/ws/WSCanDoCategory.class new file mode 100644 index 0000000..31b344d Binary files /dev/null and b/out/production/generated1/edu/dhu/ws/WSCanDoCategory.class differ diff --git a/out/production/generated1/edu/dhu/ws/WSCanDoCategoryResponse.class b/out/production/generated1/edu/dhu/ws/WSCanDoCategoryResponse.class new file mode 100644 index 0000000..c4586bd Binary files /dev/null and b/out/production/generated1/edu/dhu/ws/WSCanDoCategoryResponse.class differ diff --git a/out/production/generated1/edu/dhu/ws/WSDrawProblem.class b/out/production/generated1/edu/dhu/ws/WSDrawProblem.class new file mode 100644 index 0000000..c0a5872 Binary files /dev/null and b/out/production/generated1/edu/dhu/ws/WSDrawProblem.class differ diff --git a/out/production/generated1/edu/dhu/ws/WSDrawProblemResponse.class b/out/production/generated1/edu/dhu/ws/WSDrawProblemResponse.class new file mode 100644 index 0000000..6456589 Binary files /dev/null and b/out/production/generated1/edu/dhu/ws/WSDrawProblemResponse.class differ diff --git a/out/production/generated1/edu/dhu/ws/WSGetExamById.class b/out/production/generated1/edu/dhu/ws/WSGetExamById.class new file mode 100644 index 0000000..a16c86f Binary files /dev/null and b/out/production/generated1/edu/dhu/ws/WSGetExamById.class differ diff --git a/out/production/generated1/edu/dhu/ws/WSGetExamByIdResponse.class b/out/production/generated1/edu/dhu/ws/WSGetExamByIdResponse.class new file mode 100644 index 0000000..f2e2583 Binary files /dev/null and b/out/production/generated1/edu/dhu/ws/WSGetExamByIdResponse.class differ diff --git a/out/production/generated1/edu/dhu/ws/WSGetExamDetail.class b/out/production/generated1/edu/dhu/ws/WSGetExamDetail.class new file mode 100644 index 0000000..45de826 Binary files /dev/null and b/out/production/generated1/edu/dhu/ws/WSGetExamDetail.class differ diff --git a/out/production/generated1/edu/dhu/ws/WSGetExamDetailResponse.class b/out/production/generated1/edu/dhu/ws/WSGetExamDetailResponse.class new file mode 100644 index 0000000..8660079 Binary files /dev/null and b/out/production/generated1/edu/dhu/ws/WSGetExamDetailResponse.class differ diff --git a/out/production/generated1/edu/dhu/ws/WSGetExamList.class b/out/production/generated1/edu/dhu/ws/WSGetExamList.class new file mode 100644 index 0000000..b6695cb Binary files /dev/null and b/out/production/generated1/edu/dhu/ws/WSGetExamList.class differ diff --git a/out/production/generated1/edu/dhu/ws/WSGetExamListResponse.class b/out/production/generated1/edu/dhu/ws/WSGetExamListResponse.class new file mode 100644 index 0000000..3cc028a Binary files /dev/null and b/out/production/generated1/edu/dhu/ws/WSGetExamListResponse.class differ diff --git a/out/production/generated1/edu/dhu/ws/WSGetExamProCatagorys.class b/out/production/generated1/edu/dhu/ws/WSGetExamProCatagorys.class new file mode 100644 index 0000000..c763fc0 Binary files /dev/null and b/out/production/generated1/edu/dhu/ws/WSGetExamProCatagorys.class differ diff --git a/out/production/generated1/edu/dhu/ws/WSGetExamProCatagorysResponse.class b/out/production/generated1/edu/dhu/ws/WSGetExamProCatagorysResponse.class new file mode 100644 index 0000000..2d6d1fd Binary files /dev/null and b/out/production/generated1/edu/dhu/ws/WSGetExamProCatagorysResponse.class differ diff --git a/out/production/generated1/edu/dhu/ws/WSGetExamProblemStatus.class b/out/production/generated1/edu/dhu/ws/WSGetExamProblemStatus.class new file mode 100644 index 0000000..bc868c3 Binary files /dev/null and b/out/production/generated1/edu/dhu/ws/WSGetExamProblemStatus.class differ diff --git a/out/production/generated1/edu/dhu/ws/WSGetExamProblemStatusResponse.class b/out/production/generated1/edu/dhu/ws/WSGetExamProblemStatusResponse.class new file mode 100644 index 0000000..e4f3f73 Binary files /dev/null and b/out/production/generated1/edu/dhu/ws/WSGetExamProblemStatusResponse.class differ diff --git a/out/production/generated1/edu/dhu/ws/WSGetExamProblems.class b/out/production/generated1/edu/dhu/ws/WSGetExamProblems.class new file mode 100644 index 0000000..3d1b684 Binary files /dev/null and b/out/production/generated1/edu/dhu/ws/WSGetExamProblems.class differ diff --git a/out/production/generated1/edu/dhu/ws/WSGetExamProblemsResponse.class b/out/production/generated1/edu/dhu/ws/WSGetExamProblemsResponse.class new file mode 100644 index 0000000..5aad291 Binary files /dev/null and b/out/production/generated1/edu/dhu/ws/WSGetExamProblemsResponse.class differ diff --git a/out/production/generated1/edu/dhu/ws/WSGetProblem.class b/out/production/generated1/edu/dhu/ws/WSGetProblem.class new file mode 100644 index 0000000..3b79d79 Binary files /dev/null and b/out/production/generated1/edu/dhu/ws/WSGetProblem.class differ diff --git a/out/production/generated1/edu/dhu/ws/WSGetProblem4Judge.class b/out/production/generated1/edu/dhu/ws/WSGetProblem4Judge.class new file mode 100644 index 0000000..b3bd4b1 Binary files /dev/null and b/out/production/generated1/edu/dhu/ws/WSGetProblem4Judge.class differ diff --git a/out/production/generated1/edu/dhu/ws/WSGetProblem4JudgeResponse.class b/out/production/generated1/edu/dhu/ws/WSGetProblem4JudgeResponse.class new file mode 100644 index 0000000..d05469b Binary files /dev/null and b/out/production/generated1/edu/dhu/ws/WSGetProblem4JudgeResponse.class differ diff --git a/out/production/generated1/edu/dhu/ws/WSGetProblemResponse.class b/out/production/generated1/edu/dhu/ws/WSGetProblemResponse.class new file mode 100644 index 0000000..d7c9b34 Binary files /dev/null and b/out/production/generated1/edu/dhu/ws/WSGetProblemResponse.class differ diff --git a/out/production/generated1/edu/dhu/ws/WSGetSolutions.class b/out/production/generated1/edu/dhu/ws/WSGetSolutions.class new file mode 100644 index 0000000..d372f14 Binary files /dev/null and b/out/production/generated1/edu/dhu/ws/WSGetSolutions.class differ diff --git a/out/production/generated1/edu/dhu/ws/WSGetSolutionsResponse.class b/out/production/generated1/edu/dhu/ws/WSGetSolutionsResponse.class new file mode 100644 index 0000000..7fbda2c Binary files /dev/null and b/out/production/generated1/edu/dhu/ws/WSGetSolutionsResponse.class differ diff --git a/out/production/generated1/edu/dhu/ws/WSIsPermit.class b/out/production/generated1/edu/dhu/ws/WSIsPermit.class new file mode 100644 index 0000000..ae09137 Binary files /dev/null and b/out/production/generated1/edu/dhu/ws/WSIsPermit.class differ diff --git a/out/production/generated1/edu/dhu/ws/WSIsPermitResponse.class b/out/production/generated1/edu/dhu/ws/WSIsPermitResponse.class new file mode 100644 index 0000000..e0a1458 Binary files /dev/null and b/out/production/generated1/edu/dhu/ws/WSIsPermitResponse.class differ diff --git a/out/production/generated1/edu/dhu/ws/WSItrainSubmitCode.class b/out/production/generated1/edu/dhu/ws/WSItrainSubmitCode.class new file mode 100644 index 0000000..c2290ff Binary files /dev/null and b/out/production/generated1/edu/dhu/ws/WSItrainSubmitCode.class differ diff --git a/out/production/generated1/edu/dhu/ws/WSItrainSubmitCodeResponse.class b/out/production/generated1/edu/dhu/ws/WSItrainSubmitCodeResponse.class new file mode 100644 index 0000000..662202d Binary files /dev/null and b/out/production/generated1/edu/dhu/ws/WSItrainSubmitCodeResponse.class differ diff --git a/out/production/generated1/edu/dhu/ws/WSItrainSubmitThisProblem.class b/out/production/generated1/edu/dhu/ws/WSItrainSubmitThisProblem.class new file mode 100644 index 0000000..6e22abb Binary files /dev/null and b/out/production/generated1/edu/dhu/ws/WSItrainSubmitThisProblem.class differ diff --git a/out/production/generated1/edu/dhu/ws/WSItrainSubmitThisProblemResponse.class b/out/production/generated1/edu/dhu/ws/WSItrainSubmitThisProblemResponse.class new file mode 100644 index 0000000..31213dc Binary files /dev/null and b/out/production/generated1/edu/dhu/ws/WSItrainSubmitThisProblemResponse.class differ diff --git a/out/production/generated1/edu/dhu/ws/WSLogin.class b/out/production/generated1/edu/dhu/ws/WSLogin.class new file mode 100644 index 0000000..ad19f50 Binary files /dev/null and b/out/production/generated1/edu/dhu/ws/WSLogin.class differ diff --git a/out/production/generated1/edu/dhu/ws/WSLoginResponse.class b/out/production/generated1/edu/dhu/ws/WSLoginResponse.class new file mode 100644 index 0000000..3352055 Binary files /dev/null and b/out/production/generated1/edu/dhu/ws/WSLoginResponse.class differ diff --git a/out/production/generated1/edu/dhu/ws/WSPassThisCategory.class b/out/production/generated1/edu/dhu/ws/WSPassThisCategory.class new file mode 100644 index 0000000..0b2ae7c Binary files /dev/null and b/out/production/generated1/edu/dhu/ws/WSPassThisCategory.class differ diff --git a/out/production/generated1/edu/dhu/ws/WSPassThisCategoryResponse.class b/out/production/generated1/edu/dhu/ws/WSPassThisCategoryResponse.class new file mode 100644 index 0000000..ff9bbdd Binary files /dev/null and b/out/production/generated1/edu/dhu/ws/WSPassThisCategoryResponse.class differ diff --git a/out/production/generated1/edu/dhu/ws/WSSkipThisProblem.class b/out/production/generated1/edu/dhu/ws/WSSkipThisProblem.class new file mode 100644 index 0000000..6ba2cf1 Binary files /dev/null and b/out/production/generated1/edu/dhu/ws/WSSkipThisProblem.class differ diff --git a/out/production/generated1/edu/dhu/ws/WSSkipThisProblemResponse.class b/out/production/generated1/edu/dhu/ws/WSSkipThisProblemResponse.class new file mode 100644 index 0000000..cfefac3 Binary files /dev/null and b/out/production/generated1/edu/dhu/ws/WSSkipThisProblemResponse.class differ diff --git a/out/production/generated1/edu/dhu/ws/WSSubmitCode.class b/out/production/generated1/edu/dhu/ws/WSSubmitCode.class new file mode 100644 index 0000000..0f29dd0 Binary files /dev/null and b/out/production/generated1/edu/dhu/ws/WSSubmitCode.class differ diff --git a/out/production/generated1/edu/dhu/ws/WSSubmitCodeResponse.class b/out/production/generated1/edu/dhu/ws/WSSubmitCodeResponse.class new file mode 100644 index 0000000..2a06cb0 Binary files /dev/null and b/out/production/generated1/edu/dhu/ws/WSSubmitCodeResponse.class differ diff --git a/out/production/generated1/edu/dhu/ws/WSSubmitHistory.class b/out/production/generated1/edu/dhu/ws/WSSubmitHistory.class new file mode 100644 index 0000000..af2d427 Binary files /dev/null and b/out/production/generated1/edu/dhu/ws/WSSubmitHistory.class differ diff --git a/out/production/generated1/edu/dhu/ws/WSSubmitHistoryResponse.class b/out/production/generated1/edu/dhu/ws/WSSubmitHistoryResponse.class new file mode 100644 index 0000000..cb04980 Binary files /dev/null and b/out/production/generated1/edu/dhu/ws/WSSubmitHistoryResponse.class differ diff --git a/out/production/generated1/edu/dhu/ws/WSSubmitThisProblem.class b/out/production/generated1/edu/dhu/ws/WSSubmitThisProblem.class new file mode 100644 index 0000000..76e3fb1 Binary files /dev/null and b/out/production/generated1/edu/dhu/ws/WSSubmitThisProblem.class differ diff --git a/out/production/generated1/edu/dhu/ws/WSSubmitThisProblemResponse.class b/out/production/generated1/edu/dhu/ws/WSSubmitThisProblemResponse.class new file mode 100644 index 0000000..04d724b Binary files /dev/null and b/out/production/generated1/edu/dhu/ws/WSSubmitThisProblemResponse.class differ diff --git a/out/production/generated1/edu/dhu/ws/WSSubmittedCode.class b/out/production/generated1/edu/dhu/ws/WSSubmittedCode.class new file mode 100644 index 0000000..daac8de Binary files /dev/null and b/out/production/generated1/edu/dhu/ws/WSSubmittedCode.class differ diff --git a/out/production/generated1/edu/dhu/ws/WSSubmittedCodeResponse.class b/out/production/generated1/edu/dhu/ws/WSSubmittedCodeResponse.class new file mode 100644 index 0000000..1fb6921 Binary files /dev/null and b/out/production/generated1/edu/dhu/ws/WSSubmittedCodeResponse.class differ diff --git a/out/production/generated1/edu/dhu/ws/WSUpdateResult.class b/out/production/generated1/edu/dhu/ws/WSUpdateResult.class new file mode 100644 index 0000000..8b55eaa Binary files /dev/null and b/out/production/generated1/edu/dhu/ws/WSUpdateResult.class differ diff --git a/out/production/generated1/edu/dhu/ws/WSUpdateResultResponse.class b/out/production/generated1/edu/dhu/ws/WSUpdateResultResponse.class new file mode 100644 index 0000000..596897b Binary files /dev/null and b/out/production/generated1/edu/dhu/ws/WSUpdateResultResponse.class differ diff --git a/out/production/generated1/edu/dhu/ws/WSViewWrongCase.class b/out/production/generated1/edu/dhu/ws/WSViewWrongCase.class new file mode 100644 index 0000000..5971ad0 Binary files /dev/null and b/out/production/generated1/edu/dhu/ws/WSViewWrongCase.class differ diff --git a/out/production/generated1/edu/dhu/ws/WSViewWrongCaseResponse.class b/out/production/generated1/edu/dhu/ws/WSViewWrongCaseResponse.class new file mode 100644 index 0000000..8a6051a Binary files /dev/null and b/out/production/generated1/edu/dhu/ws/WSViewWrongCaseResponse.class differ diff --git a/out/production/generated1/edu/dhu/ws/package-info.class b/out/production/generated1/edu/dhu/ws/package-info.class new file mode 100644 index 0000000..f13fb46 Binary files /dev/null and b/out/production/generated1/edu/dhu/ws/package-info.class differ