Преглед на файлове

四平短信接口定时任务

tchao преди 3 години
ревизия
dc517d693d
променени са 100 файла, в които са добавени 4431 реда и са изтрити 0 реда
  1. 18 0
      .metadata/.plugins/com.genuitec.eclipse.sqlexplorer/ConnectionProfiles.xml
  2. 356 0
      .metadata/.plugins/com.genuitec.eclipse.sqlexplorer/SQLDrivers.xml
  3. 1 0
      .metadata/.plugins/org.eclipse.core.resources/.root/.indexes/history.version
  4. BIN
      .metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.index
  5. 1 0
      .metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.version
  6. BIN
      .metadata/.plugins/org.eclipse.core.resources/.root/1.tree
  7. BIN
      .metadata/.plugins/org.eclipse.core.resources/.safetable/org.eclipse.core.resources
  8. 39 0
      .metadata/.plugins/org.eclipse.jdt.launching/libraryInfos.xml
  9. 5 0
      .metadata/.plugins/org.eclipse.ui.workbench/dialog_settings.xml
  10. 303 0
      .metadata/.plugins/org.eclipse.ui.workbench/workbench.xml
  11. 4 0
      .metadata/.plugins/org.eclipse.ui.workbench/workingsets.xml
  12. BIN
      .metadata/.plugins/org.eclipse.wst.common.snippets/hidden.xml
  13. BIN
      .metadata/.plugins/org.eclipse.wst.common.snippets/user.xml
  14. 2 0
      src/com/acc/common/ApplicationResources.properties
  15. 2 0
      src/com/acc/common/ApplicationResources_src.properties
  16. 50 0
      src/com/acc/common/annotation/inject/parent/InjectItem.java
  17. 308 0
      src/com/acc/common/annotation/inject/parent/InjectParentBeanPostProcessor.java
  18. 14 0
      src/com/acc/common/annotation/inject/parent/InjectStyle.java
  19. 7 0
      src/com/acc/common/annotation/inject/parent/InjectType.java
  20. 23 0
      src/com/acc/common/annotation/inject/parent/ParentInject.java
  21. 62 0
      src/com/acc/common/annotation/resources/ConfigAnnotationBeanPostProcessor.java
  22. 24 0
      src/com/acc/common/annotation/resources/ExtendedPropertyPlaceholderConfigurer.java
  23. 13 0
      src/com/acc/common/annotation/resources/PropertyConfig.java
  24. 43 0
      src/com/acc/common/jdbc/DBUtil.java
  25. 145 0
      src/com/acc/common/jdbc/IDTableMaxValueIncrementer.java
  26. 44 0
      src/com/acc/common/jdbc/IPreSQL.java
  27. 33 0
      src/com/acc/common/jdbc/ISQL.java
  28. 119 0
      src/com/acc/common/jdbc/JdbcDaoSupportEx.java
  29. 15 0
      src/com/acc/common/jdbc/LobHelper.java
  30. 83 0
      src/com/acc/common/jdbc/QueryUtil.java
  31. 251 0
      src/com/acc/common/jdbc/Variant.java
  32. 21 0
      src/com/acc/common/jdbc/oracle/OracleCLOBValue.java
  33. 123 0
      src/com/acc/common/jdbc/oracle/OracleDataTypeMapping.java
  34. 23 0
      src/com/acc/common/jdbc/oracle/OracleFileBlobValue.java
  35. 177 0
      src/com/acc/common/jdbc/oracle/OracleLobHelper.java
  36. 38 0
      src/com/acc/common/jdbc/oracle/OracleTypes.java
  37. 2 0
      src/com/acc/common/run.bat
  38. 48 0
      src/com/acc/common/spring/ApplicationFactory.java
  39. 17 0
      src/com/acc/common/spring/ThrowAdviceMethods.java
  40. 26 0
      src/com/acc/framework/dictionary/exception/DictionaryNameExist.java
  41. 26 0
      src/com/acc/framework/dictionary/exception/DictionaryNumberExist.java
  42. 45 0
      src/com/acc/framework/dictionary/service/DictionaryService.java
  43. 262 0
      src/com/acc/framework/dictionary/service/impl/DictionaryServiceImpl.java
  44. 33 0
      src/com/acc/framework/organization/action/OrganizationAction.java
  45. 94 0
      src/com/acc/framework/organization/dao/OrganizationDAO.java
  46. 21 0
      src/com/acc/framework/organization/exception/OrgNameExistException.java
  47. 19 0
      src/com/acc/framework/organization/service/OrganizationService.java
  48. 59 0
      src/com/acc/framework/organization/service/impl/OrganizationServiceImp.java
  49. 15 0
      src/com/acc/framework/permission/PermissionFilter.java
  50. 63 0
      src/com/acc/framework/umuserrole/action/RoleAction.java
  51. 57 0
      src/com/acc/framework/umuserrole/action/RoleMenuAction.java
  52. 45 0
      src/com/acc/framework/umuserrole/dao/MenuSysRoleDAO.java
  53. 22 0
      src/com/acc/framework/umuserrole/dao/MenuSysrolemanageDAO.java
  54. 43 0
      src/com/acc/framework/umuserrole/dao/MenuUserRoleListDAO.java
  55. 36 0
      src/com/acc/framework/umuserrole/dao/MenuUserSysRoleDAO.java
  56. 15 0
      src/com/acc/framework/umuserrole/service/RoleMenuService.java
  57. 16 0
      src/com/acc/framework/umuserrole/service/RoleService.java
  58. 10 0
      src/com/acc/framework/umuserrole/service/UserRoleService.java
  59. 59 0
      src/com/acc/framework/umuserrole/service/impl/RoleMenuServiceImpl.java
  60. 67 0
      src/com/acc/framework/umuserrole/service/impl/RoleServiceImpl.java
  61. 22 0
      src/com/acc/framework/umuserrole/service/impl/UserRoleServiceImpl.java
  62. 17 0
      src/com/acc/framework/umuserrole/sql/ROLESQL.java
  63. 68 0
      src/com/acc/taglib/data/DictionaryDataListTag.java
  64. 14 0
      src/com/acc/taglib/data/DictionaryDataListTei.java
  65. 142 0
      src/com/acc/taglib/data/DictionaryDataMapTag.java
  66. 14 0
      src/com/acc/taglib/data/DictionaryDataMapTei.java
  67. 82 0
      src/com/acc/taglib/data/DictionaryDataTag.java
  68. 14 0
      src/com/acc/taglib/data/DictionaryDataTei.java
  69. 50 0
      src/com/acc/taglib/data/SQLResultListTag.java
  70. 14 0
      src/com/acc/taglib/data/SQLResultListTei.java
  71. 105 0
      src/com/acc/taglib/data/TableDataListTag.java
  72. 14 0
      src/com/acc/taglib/data/TableDataListTei.java
  73. 156 0
      src/com/acc/taglib/data/TableDataTag.java
  74. 14 0
      src/com/acc/taglib/data/TableDataTei.java
  75. 12 0
      web/common/include.jsp
  76. 246 0
      web/format/codetype.xml
  77. BIN
      web/images/!.gif
  78. BIN
      web/images/123123.jpg
  79. BIN
      web/images/893173758.jpg
  80. BIN
      web/images/91.png
  81. BIN
      web/images/DefaultDocs.gif
  82. BIN
      web/images/Login_but.gif
  83. BIN
      web/images/OK.jpg
  84. BIN
      web/images/Redirects.gif
  85. BIN
      web/images/Submit_bg.gif
  86. BIN
      web/images/X.gif
  87. BIN
      web/images/ad.gif
  88. BIN
      web/images/add.gif
  89. BIN
      web/images/arr_left.gif
  90. BIN
      web/images/arr_right.gif
  91. BIN
      web/images/back.gif
  92. BIN
      web/images/bg.gif
  93. BIN
      web/images/bigsize.jpg
  94. BIN
      web/images/bootnbg.jpg
  95. BIN
      web/images/bullet.gif
  96. BIN
      web/images/buttom-copy-bg.gif
  97. BIN
      web/images/buttom-left.gif
  98. BIN
      web/images/buttom-right.gif
  99. BIN
      web/images/buttom_bgs.gif
  100. 0 0
      web/images/buttom_left2.gif

+ 18 - 0
.metadata/.plugins/com.genuitec.eclipse.sqlexplorer/ConnectionProfiles.xml

@@ -0,0 +1,18 @@
+<Beans>
+    <Bean Class="com.genuitec.eclipse.sqlexplorer.utils.ConnectionProfile">
+        <activate>false</activate>
+        <driverIdentifier Class="net.sourceforge.squirrel_sql.fw.id.UidIdentifier">
+            <string>39ff71d3:1494f5d8ec7:-7fde</string>
+        </driverIdentifier>
+        <identifier Class="net.sourceforge.squirrel_sql.fw.id.UidIdentifier">
+            <string>39ff71d3:1494f5d8ec7:-7fdd</string>
+        </identifier>
+        <name>MyEclipse Derby</name>
+        <password encryption="true">gFOjO/OmrJ8m4/rtM2cMIw==</password>
+        <promptForPassword>false</promptForPassword>
+        <schema Indexed="true"/>
+        <schemaDisplayPolicy>0</schemaDisplayPolicy>
+        <url>jdbc:derby://localhost:1527/myeclipse</url>
+        <userName>classiccars</userName>
+    </Bean>
+</Beans>

+ 356 - 0
.metadata/.plugins/com.genuitec.eclipse.sqlexplorer/SQLDrivers.xml

@@ -0,0 +1,356 @@
+<Beans>
+    <Bean Class="net.sourceforge.squirrel_sql.fw.sql.SQLDriver">
+        <driverClassName>com.pointbase.net.netJDBCDriver</driverClassName>
+        <identifier Class="net.sourceforge.squirrel_sql.fw.id.UidIdentifier">
+            <string>-23</string>
+        </identifier>
+        <jarFileName/>
+        <jarFileNames Indexed="true"/>
+        <name>Pointbase Embedded</name>
+        <url>jdbc:pointbase:embedded:&lt;dbname&gt;</url>
+    </Bean>
+    <Bean Class="net.sourceforge.squirrel_sql.fw.sql.SQLDriver">
+        <driverClassName>COM.ibm.db2.jdbc.net.DB2Driver</driverClassName>
+        <identifier Class="net.sourceforge.squirrel_sql.fw.id.UidIdentifier">
+            <string>-24</string>
+        </identifier>
+        <jarFileName/>
+        <jarFileNames Indexed="true"/>
+        <name>IBM DB2 (App driver)</name>
+        <url>jdbc:db2://&lt;host_name&gt;:6789/&lt;dbname&gt;</url>
+    </Bean>
+    <Bean Class="net.sourceforge.squirrel_sql.fw.sql.SQLDriver">
+        <driverClassName>com.sap.dbtech.jdbc.DriverSapDB</driverClassName>
+        <identifier Class="net.sourceforge.squirrel_sql.fw.id.UidIdentifier">
+            <string>-21</string>
+        </identifier>
+        <jarFileName/>
+        <jarFileNames Indexed="true"/>
+        <name>SAPDB</name>
+        <url>jdbc:sapdb:[//host/]dbname[?name=value[&amp;name=value]*]</url>
+    </Bean>
+    <Bean Class="net.sourceforge.squirrel_sql.fw.sql.SQLDriver">
+        <driverClassName>com.pointbase.net.netJDBCDriver</driverClassName>
+        <identifier Class="net.sourceforge.squirrel_sql.fw.id.UidIdentifier">
+            <string>-22</string>
+        </identifier>
+        <jarFileName/>
+        <jarFileNames Indexed="true"/>
+        <name>Pointbase Server</name>
+        <url>jdbc:pointbase:server://&lt;server_name&gt;/&lt;dbname&gt;</url>
+    </Bean>
+    <Bean Class="net.sourceforge.squirrel_sql.fw.sql.SQLDriver">
+        <driverClassName>org.hsqldb.jdbcDriver</driverClassName>
+        <identifier Class="net.sourceforge.squirrel_sql.fw.id.UidIdentifier">
+            <string>-20</string>
+        </identifier>
+        <jarFileName/>
+        <jarFileNames Indexed="true"/>
+        <name>HSQLDB In-Memory</name>
+        <url>jdbc:hsqldb:.</url>
+    </Bean>
+    <Bean Class="net.sourceforge.squirrel_sql.fw.sql.SQLDriver">
+        <driverClassName>org.apache.derby.jdbc.ClientDriver</driverClassName>
+        <identifier Class="net.sourceforge.squirrel_sql.fw.id.UidIdentifier">
+            <string>-29</string>
+        </identifier>
+        <jarFileName/>
+        <jarFileNames Indexed="true"/>
+        <name>Derby</name>
+        <url>jdbc:derby://&lt;server_name&gt;:&lt;port&gt;/&lt;databaseName&gt;[;create=true]</url>
+    </Bean>
+    <Bean Class="net.sourceforge.squirrel_sql.fw.sql.SQLDriver">
+        <driverClassName>com.microsoft.sqlserver.jdbc.SQLServerDriver</driverClassName>
+        <identifier Class="net.sourceforge.squirrel_sql.fw.id.UidIdentifier">
+            <string>-28</string>
+        </identifier>
+        <jarFileName/>
+        <jarFileNames Indexed="true"/>
+        <name>Microsoft SQL Server 2005</name>
+        <url>jdbc:sqlserver://&lt;server_name&gt;:&lt;port&gt;[;databaseName=&lt;dbname&gt;]</url>
+    </Bean>
+    <Bean Class="net.sourceforge.squirrel_sql.fw.sql.SQLDriver">
+        <driverClassName>com.ncr.teradata.TeraDriver</driverClassName>
+        <identifier Class="net.sourceforge.squirrel_sql.fw.id.UidIdentifier">
+            <string>-27</string>
+        </identifier>
+        <jarFileName/>
+        <jarFileNames Indexed="true"/>
+        <name>Teradata</name>
+        <url>jdbc:teradata:[//host[:1025]/]&lt;database&gt;</url>
+    </Bean>
+    <Bean Class="net.sourceforge.squirrel_sql.fw.sql.SQLDriver">
+        <driverClassName>com.mysql.jdbc.Driver</driverClassName>
+        <identifier Class="net.sourceforge.squirrel_sql.fw.id.UidIdentifier">
+            <string>-26</string>
+        </identifier>
+        <jarFileName/>
+        <jarFileNames Indexed="true"/>
+        <name>MySQL Connector/J</name>
+        <url>jdbc:mysql://&lt;hostname&gt;[&lt;:3306&gt;]/&lt;dbname&gt;</url>
+    </Bean>
+    <Bean Class="net.sourceforge.squirrel_sql.fw.sql.SQLDriver">
+        <driverClassName>org.firebirdsql.jdbc.FBDriver</driverClassName>
+        <identifier Class="net.sourceforge.squirrel_sql.fw.id.UidIdentifier">
+            <string>-25</string>
+        </identifier>
+        <jarFileName/>
+        <jarFileNames Indexed="true"/>
+        <name>Firebird (JayBird JCA/JDBC driver)</name>
+        <url>jdbc:firebirdsql:[//host[:port]/]&lt;database&gt;</url>
+    </Bean>
+    <Bean Class="net.sourceforge.squirrel_sql.fw.sql.SQLDriver">
+        <driverClassName>org.apache.derby.jdbc.ClientDriver</driverClassName>
+        <identifier Class="net.sourceforge.squirrel_sql.fw.id.UidIdentifier">
+            <string>39ff71d3:1494f5d8ec7:-7fde</string>
+        </identifier>
+        <jarFileName/>
+        <jarFileNames Indexed="true">
+            <Bean Class="net.sourceforge.squirrel_sql.fw.util.beanwrapper.StringWrapper">
+                <string>C:\Users\Administrator\.myeclipse\libs\derby_10.2.2.0\derbyclient.jar</string>
+            </Bean>
+        </jarFileNames>
+        <name>MyEclipse Derby</name>
+        <url>jdbc:derby://&lt;host&gt;:&lt;port&gt;/&lt;db&gt;</url>
+    </Bean>
+    <Bean Class="net.sourceforge.squirrel_sql.fw.sql.SQLDriver">
+        <driverClassName>com.sunopsis.jdbc.driver.xml.SnpsXmlDriver</driverClassName>
+        <identifier Class="net.sourceforge.squirrel_sql.fw.id.UidIdentifier">
+            <string>-10</string>
+        </identifier>
+        <jarFileName/>
+        <jarFileNames Indexed="true"/>
+        <name>Sunopsis XML</name>
+        <url>jdbc:snps:xml?f=&lt;file-name&gt;&amp;ro=true</url>
+    </Bean>
+    <Bean Class="net.sourceforge.squirrel_sql.fw.sql.SQLDriver">
+        <driverClassName>com.microsoft.jdbc.sqlserver.SQLServerDriver</driverClassName>
+        <identifier Class="net.sourceforge.squirrel_sql.fw.id.UidIdentifier">
+            <string>-11</string>
+        </identifier>
+        <jarFileName/>
+        <jarFileNames Indexed="true"/>
+        <name>Microsoft SQL Server</name>
+        <url>jdbc:microsoft:sqlserver://&lt;server_name&gt;:&lt;1433&gt;</url>
+    </Bean>
+    <Bean Class="net.sourceforge.squirrel_sql.fw.sql.SQLDriver">
+        <driverClassName>com.ibm.db2.jcc.DB2Driver</driverClassName>
+        <identifier Class="net.sourceforge.squirrel_sql.fw.id.UidIdentifier">
+            <string>-30</string>
+        </identifier>
+        <jarFileName/>
+        <jarFileNames Indexed="true"/>
+        <name>Derby (IBM Universal driver)</name>
+        <url>jdbc:db2://&lt;server_name&gt;:&lt;port&gt;/&lt;databaseName&gt;</url>
+    </Bean>
+    <Bean Class="net.sourceforge.squirrel_sql.fw.sql.SQLDriver">
+        <driverClassName>com.mimer.jdbc.Driver</driverClassName>
+        <identifier Class="net.sourceforge.squirrel_sql.fw.id.UidIdentifier">
+            <string>-12</string>
+        </identifier>
+        <jarFileName/>
+        <jarFileNames Indexed="true"/>
+        <name>Mimer SQL</name>
+        <url>jdbc:mimer:[//[&lt;user&gt;[:&lt;password&gt;]@]&lt;server&gt;[:&lt;1360&gt;]][/&lt;dbname&gt;][property-list]</url>
+    </Bean>
+    <Bean Class="net.sourceforge.squirrel_sql.fw.sql.SQLDriver">
+        <driverClassName>com.ibm.db2.jdbc.net.DB2Driver</driverClassName>
+        <identifier Class="net.sourceforge.squirrel_sql.fw.id.UidIdentifier">
+            <string>-31</string>
+        </identifier>
+        <jarFileName/>
+        <jarFileNames Indexed="true"/>
+        <name>IBM DB2 (Universal driver)</name>
+        <url>jdbc:db2://&lt;host_name&gt;:&lt;port&gt;/&lt;dbname&gt;</url>
+    </Bean>
+    <Bean Class="net.sourceforge.squirrel_sql.fw.sql.SQLDriver">
+        <driverClassName>org.axiondb.jdbc.AxionDriver</driverClassName>
+        <identifier Class="net.sourceforge.squirrel_sql.fw.id.UidIdentifier">
+            <string>-13</string>
+        </identifier>
+        <jarFileName/>
+        <jarFileNames Indexed="true"/>
+        <name>Axion</name>
+        <url>jdbc:axiondb:&lt;database-name&gt;[:&lt;database-directory&gt;]</url>
+    </Bean>
+    <Bean Class="net.sourceforge.squirrel_sql.fw.sql.SQLDriver">
+        <driverClassName>com.ibm.db2.jdbc.net.DB2Driver</driverClassName>
+        <identifier Class="net.sourceforge.squirrel_sql.fw.id.UidIdentifier">
+            <string>-32</string>
+        </identifier>
+        <jarFileName/>
+        <jarFileNames Indexed="true"/>
+        <name>IBM DB2 (Universal Type 2 driver)</name>
+        <url>jdbc:db2:&lt;dbname&gt;</url>
+    </Bean>
+    <Bean Class="net.sourceforge.squirrel_sql.fw.sql.SQLDriver">
+        <driverClassName>net.sourceforge.jtds.jdbc.Driver</driverClassName>
+        <identifier Class="net.sourceforge.squirrel_sql.fw.id.UidIdentifier">
+            <string>-33</string>
+        </identifier>
+        <jarFileName/>
+        <jarFileNames Indexed="true"/>
+        <name>Microsoft SQL Server (jTDS driver)</name>
+        <url>jdbc:jtds:sqlserver://&lt;hostname&gt;[:&lt;port&gt;]/&lt;dbname&gt;</url>
+    </Bean>
+    <Bean Class="net.sourceforge.squirrel_sql.fw.sql.SQLDriver">
+        <driverClassName>net.sourceforge.jtds.jdbc.Driver</driverClassName>
+        <identifier Class="net.sourceforge.squirrel_sql.fw.id.UidIdentifier">
+            <string>-34</string>
+        </identifier>
+        <jarFileName/>
+        <jarFileNames Indexed="true"/>
+        <name>Sybase (jTDS driver)</name>
+        <url>jdbc:jtds:sybase://&lt;hostname&gt;[:&lt;port&gt;]/&lt;dbname&gt;</url>
+    </Bean>
+    <Bean Class="net.sourceforge.squirrel_sql.fw.sql.SQLDriver">
+        <driverClassName>org.sqlite.JDBC</driverClassName>
+        <identifier Class="net.sourceforge.squirrel_sql.fw.id.UidIdentifier">
+            <string>-35</string>
+        </identifier>
+        <jarFileName/>
+        <jarFileNames Indexed="true"/>
+        <name>SQLite</name>
+        <url>jdbc:sqlite:&lt;path-to-db-file&gt;</url>
+    </Bean>
+    <Bean Class="net.sourceforge.squirrel_sql.fw.sql.SQLDriver">
+        <driverClassName>org.hsqldb.jdbcDriver</driverClassName>
+        <identifier Class="net.sourceforge.squirrel_sql.fw.id.UidIdentifier">
+            <string>-19</string>
+        </identifier>
+        <jarFileName/>
+        <jarFileNames Indexed="true"/>
+        <name>HSQLDB Standalone</name>
+        <url>jdbc:hsqldb:&lt;databaseName&gt;</url>
+    </Bean>
+    <Bean Class="net.sourceforge.squirrel_sql.fw.sql.SQLDriver">
+        <driverClassName>org.hsqldb.jdbcDriver</driverClassName>
+        <identifier Class="net.sourceforge.squirrel_sql.fw.id.UidIdentifier">
+            <string>-18</string>
+        </identifier>
+        <jarFileName/>
+        <jarFileNames Indexed="true"/>
+        <name>HSQLDB Server</name>
+        <url>jdbc:hsqldb:hsql://&lt;server&gt;[:&lt;1476&gt;]</url>
+    </Bean>
+    <Bean Class="net.sourceforge.squirrel_sql.fw.sql.SQLDriver">
+        <driverClassName>com.mckoi.JDBCDriver</driverClassName>
+        <identifier Class="net.sourceforge.squirrel_sql.fw.id.UidIdentifier">
+            <string>-15</string>
+        </identifier>
+        <jarFileName/>
+        <jarFileNames Indexed="true"/>
+        <name>Mckoi</name>
+        <url>jdbc:mckoi://&lt;host&gt;[:9157][/&lt;schema&gt;]/</url>
+    </Bean>
+    <Bean Class="net.sourceforge.squirrel_sql.fw.sql.SQLDriver">
+        <driverClassName>oracle.jdbc.driver.OracleDriver</driverClassName>
+        <identifier Class="net.sourceforge.squirrel_sql.fw.id.UidIdentifier">
+            <string>-2</string>
+        </identifier>
+        <jarFileName/>
+        <jarFileNames Indexed="true"/>
+        <name>Oracle (OCI driver)</name>
+        <url>jdbc:oracle:oci8:@&lt;database_name&gt;</url>
+    </Bean>
+    <Bean Class="net.sourceforge.squirrel_sql.fw.sql.SQLDriver">
+        <driverClassName>sun.jdbc.odbc.JdbcOdbcDriver</driverClassName>
+        <identifier Class="net.sourceforge.squirrel_sql.fw.id.UidIdentifier">
+            <string>-1</string>
+        </identifier>
+        <jarFileName/>
+        <jarFileNames Indexed="true"/>
+        <name>JDBC ODBC Bridge</name>
+        <url>jdbc:odbc:&lt;alias&gt;</url>
+    </Bean>
+    <Bean Class="net.sourceforge.squirrel_sql.fw.sql.SQLDriver">
+        <driverClassName>uk.co.thinksql.ThinkSQLDriver</driverClassName>
+        <identifier Class="net.sourceforge.squirrel_sql.fw.id.UidIdentifier">
+            <string>-14</string>
+        </identifier>
+        <jarFileName/>
+        <jarFileNames Indexed="true"/>
+        <name>ThinkSQL</name>
+        <url>jdbc:thinksql://&lt;server&gt;:&lt;9075&gt;</url>
+    </Bean>
+    <Bean Class="net.sourceforge.squirrel_sql.fw.sql.SQLDriver">
+        <driverClassName>org.hsqldb.jdbcDriver</driverClassName>
+        <identifier Class="net.sourceforge.squirrel_sql.fw.id.UidIdentifier">
+            <string>-17</string>
+        </identifier>
+        <jarFileName/>
+        <jarFileNames Indexed="true"/>
+        <name>HSQLDB Web Server</name>
+        <url>jdbc:hsqldb:http://&lt;server&gt;[:&lt;1476&gt;]</url>
+    </Bean>
+    <Bean Class="net.sourceforge.squirrel_sql.fw.sql.SQLDriver">
+        <driverClassName>oracle.jdbc.driver.OracleDriver</driverClassName>
+        <identifier Class="net.sourceforge.squirrel_sql.fw.id.UidIdentifier">
+            <string>-4</string>
+        </identifier>
+        <jarFileName/>
+        <jarFileNames Indexed="true"/>
+        <name>Oracle (Thin driver)</name>
+        <url>jdbc:oracle:thin:@&lt;server&gt;[:&lt;1521&gt;]:&lt;database_name&gt;</url>
+    </Bean>
+    <Bean Class="net.sourceforge.squirrel_sql.fw.sql.SQLDriver">
+        <driverClassName>com.internetcds.jdbc.tds.Driver</driverClassName>
+        <identifier Class="net.sourceforge.squirrel_sql.fw.id.UidIdentifier">
+            <string>-16</string>
+        </identifier>
+        <jarFileName/>
+        <jarFileNames Indexed="true"/>
+        <name>jTDS (FreeTDS)</name>
+        <url>jdbc:freetds:sqlserver://&lt;hostname&gt;[:&lt;4100&gt;]/&lt;dbname&gt;[;&lt;property&gt;=&lt;value&gt;[;...]]</url>
+    </Bean>
+    <Bean Class="net.sourceforge.squirrel_sql.fw.sql.SQLDriver">
+        <driverClassName>interbase.interclient.Driver</driverClassName>
+        <identifier Class="net.sourceforge.squirrel_sql.fw.id.UidIdentifier">
+            <string>-3</string>
+        </identifier>
+        <jarFileName/>
+        <jarFileNames Indexed="true"/>
+        <name>InterClient</name>
+        <url>jdbc:interbase://&lt;server&gt;/&lt;full_db_path&gt;</url>
+    </Bean>
+    <Bean Class="net.sourceforge.squirrel_sql.fw.sql.SQLDriver">
+        <driverClassName>org.enhydra.instantdb.jdbc.idbDriver</driverClassName>
+        <identifier Class="net.sourceforge.squirrel_sql.fw.id.UidIdentifier">
+            <string>-5</string>
+        </identifier>
+        <jarFileName/>
+        <jarFileNames Indexed="true"/>
+        <name>InstantDB</name>
+        <url>jdbc:idb:&lt;pathname&gt;</url>
+    </Bean>
+    <Bean Class="net.sourceforge.squirrel_sql.fw.sql.SQLDriver">
+        <driverClassName>com.sybase.jdbc2.jdbc.SybDriver</driverClassName>
+        <identifier Class="net.sourceforge.squirrel_sql.fw.id.UidIdentifier">
+            <string>-8</string>
+        </identifier>
+        <jarFileName/>
+        <jarFileNames Indexed="true"/>
+        <name>Sybase Adaptive Server Anywhere</name>
+        <url>jdbc:sybase:Tds:&lt;host&gt;:&lt;port&gt;?ServiceName=&lt;DBNAME&gt;</url>
+    </Bean>
+    <Bean Class="net.sourceforge.squirrel_sql.fw.sql.SQLDriver">
+        <driverClassName>org.postgresql.Driver</driverClassName>
+        <identifier Class="net.sourceforge.squirrel_sql.fw.id.UidIdentifier">
+            <string>-7</string>
+        </identifier>
+        <jarFileName/>
+        <jarFileNames Indexed="true"/>
+        <name>PostgreSQL</name>
+        <url>jdbc:postgresql:[&lt;//host&gt;[:&lt;5432&gt;/]]&lt;database&gt;</url>
+    </Bean>
+    <Bean Class="net.sourceforge.squirrel_sql.fw.sql.SQLDriver">
+        <driverClassName>com.sybase.jdbc2.jdbc.SybDriver</driverClassName>
+        <identifier Class="net.sourceforge.squirrel_sql.fw.id.UidIdentifier">
+            <string>-9</string>
+        </identifier>
+        <jarFileName/>
+        <jarFileNames Indexed="true"/>
+        <name>Sybase Adaptive Server Enterprise</name>
+        <url>jdbc:sybase:Tds:&lt;host&gt;:&lt;port&gt;/&lt;DBNAME&gt;</url>
+    </Bean>
+</Beans>

+ 1 - 0
.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/history.version

@@ -0,0 +1 @@
+

BIN
.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.index


+ 1 - 0
.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.version

@@ -0,0 +1 @@
+

BIN
.metadata/.plugins/org.eclipse.core.resources/.root/1.tree


BIN
.metadata/.plugins/org.eclipse.core.resources/.safetable/org.eclipse.core.resources


+ 39 - 0
.metadata/.plugins/org.eclipse.jdt.launching/libraryInfos.xml

@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<libraryInfos>
+<libraryInfo home="D:\Myeclipse\Common\binary\com.sun.java.jdk.win32.x86_1.6.0.013" version="1.6.0_13">
+<bootpath>
+<entry path="D:\Myeclipse\Common\binary\com.sun.java.jdk.win32.x86_1.6.0.013\jre\lib\resources.jar"/>
+<entry path="D:\Myeclipse\Common\binary\com.sun.java.jdk.win32.x86_1.6.0.013\jre\lib\rt.jar"/>
+<entry path="D:\Myeclipse\Common\binary\com.sun.java.jdk.win32.x86_1.6.0.013\jre\lib\sunrsasign.jar"/>
+<entry path="D:\Myeclipse\Common\binary\com.sun.java.jdk.win32.x86_1.6.0.013\jre\lib\jsse.jar"/>
+<entry path="D:\Myeclipse\Common\binary\com.sun.java.jdk.win32.x86_1.6.0.013\jre\lib\jce.jar"/>
+<entry path="D:\Myeclipse\Common\binary\com.sun.java.jdk.win32.x86_1.6.0.013\jre\lib\charsets.jar"/>
+<entry path="D:\Myeclipse\Common\binary\com.sun.java.jdk.win32.x86_1.6.0.013\jre\classes"/>
+</bootpath>
+<extensionDirs>
+<entry path="D:\Myeclipse\Common\binary\com.sun.java.jdk.win32.x86_1.6.0.013\jre\lib\ext"/>
+<entry path="C:\windows\Sun\Java\lib\ext"/>
+</extensionDirs>
+<endorsedDirs>
+<entry path="D:\Myeclipse\Common\binary\com.sun.java.jdk.win32.x86_1.6.0.013\jre\lib\endorsed"/>
+</endorsedDirs>
+</libraryInfo>
+<libraryInfo home="D:\Myeclipse\Common\binary\com.sun.java.jdk.win32.x86_1.6.0.013\jre" version="1.6.0_13">
+<bootpath>
+<entry path="D:\Myeclipse\Common\binary\com.sun.java.jdk.win32.x86_1.6.0.013\jre\lib\resources.jar"/>
+<entry path="D:\Myeclipse\Common\binary\com.sun.java.jdk.win32.x86_1.6.0.013\jre\lib\rt.jar"/>
+<entry path="D:\Myeclipse\Common\binary\com.sun.java.jdk.win32.x86_1.6.0.013\jre\lib\sunrsasign.jar"/>
+<entry path="D:\Myeclipse\Common\binary\com.sun.java.jdk.win32.x86_1.6.0.013\jre\lib\jsse.jar"/>
+<entry path="D:\Myeclipse\Common\binary\com.sun.java.jdk.win32.x86_1.6.0.013\jre\lib\jce.jar"/>
+<entry path="D:\Myeclipse\Common\binary\com.sun.java.jdk.win32.x86_1.6.0.013\jre\lib\charsets.jar"/>
+<entry path="D:\Myeclipse\Common\binary\com.sun.java.jdk.win32.x86_1.6.0.013\jre\classes"/>
+</bootpath>
+<extensionDirs>
+<entry path="D:\Myeclipse\Common\binary\com.sun.java.jdk.win32.x86_1.6.0.013\jre\lib\ext"/>
+<entry path="C:\windows\Sun\Java\lib\ext"/>
+</extensionDirs>
+<endorsedDirs>
+<entry path="D:\Myeclipse\Common\binary\com.sun.java.jdk.win32.x86_1.6.0.013\jre\lib\endorsed"/>
+</endorsedDirs>
+</libraryInfo>
+</libraryInfos>

+ 5 - 0
.metadata/.plugins/org.eclipse.ui.workbench/dialog_settings.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<section name="Workbench">
+	<section name="ImportExportAction">
+	</section>
+</section>

+ 303 - 0
.metadata/.plugins/org.eclipse.ui.workbench/workbench.xml

@@ -0,0 +1,303 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<workbench progressCount="14" version="2.0">
+<workbenchAdvisor/>
+<window height="728" width="1024" x="150" y="0">
+<fastViewData fastViewLocation="1024"/>
+<perspectiveBar>
+<itemSize x="160"/>
+</perspectiveBar>
+<coolbarLayout locked="0">
+<coolItem id="group.file" itemType="typeGroupMarker"/>
+<coolItem id="org.eclipse.ui.workbench.file" itemType="typeToolBarContribution" x="262" y="22"/>
+<coolItem id="additions" itemType="typeGroupMarker"/>
+<coolItem id="com.genuitec.eclipse.j2eedt.core.ejb" itemType="typeToolBarContribution" x="55" y="22"/>
+<coolItem id="com.genuitec.eclipse.uml.actions" itemType="typeToolBarContribution" x="61" y="22"/>
+<coolItem id="com.genuitec.eclipse.web20.actionset" itemType="typeToolBarContribution" x="38" y="22"/>
+<coolItem id="com.genuitec.eclipse.ws.xfire.actions" itemType="typeToolBarContribution" x="95" y="22"/>
+<coolItem id="com.genuitec.myeclipse.actions.deploytools" itemType="typeToolBarContribution" x="101" y="22"/>
+<coolItem id="com.genuitec.myeclipse.actions.desktop" itemType="typeToolBarContribution" x="61" y="22"/>
+<coolItem id="com.genuitec.myeclipse.actions.reporting" itemType="typeToolBarContribution" x="78" y="22"/>
+<coolItem id="com.genuitec.myeclipse.actions.screencapture" itemType="typeToolBarContribution" x="55" y="22"/>
+<coolItem id="org.eclipse.debug.ui.launchActionSet" itemType="typeToolBarContribution" x="175" y="22"/>
+<coolItem id="org.eclipse.jdt.ui.JavaElementCreationActionSet" itemType="typeToolBarContribution" x="101" y="22"/>
+<coolItem id="org.eclipse.search.searchActionSet" itemType="typeToolBarContribution" x="101" y="22"/>
+<coolItem id="org.eclipse.wst.xml.ui.perspective.NewFileToolBar" itemType="typeToolBarContribution" x="-1" y="-1"/>
+<coolItem id="org.eclipse.wst.xml.ui.design.DesignToolBar" itemType="typeToolBarContribution" x="-1" y="-1"/>
+<coolItem id="group.nav" itemType="typeGroupMarker"/>
+<coolItem id="org.eclipse.ui.workbench.navigate" itemType="typeToolBarContribution" x="198" y="22"/>
+<coolItem id="group.editor" itemType="typeGroupMarker"/>
+<coolItem id="group.help" itemType="typeGroupMarker"/>
+<coolItem id="org.eclipse.ui.workbench.help" itemType="typeToolBarContribution" x="-1" y="-1"/>
+</coolbarLayout>
+<page aggregateWorkingSetId="Aggregate for window 1414375769887" focus="true" label="Workspace - MyEclipse Java Enterprise">
+<editors>
+<editorArea activeWorkbook="DefaultEditorWorkbook">
+<info part="DefaultEditorWorkbook">
+<folder appearance="1" expanded="2">
+<presentation id="org.eclipse.ui.presentations.WorkbenchPresentationFactory"/>
+</folder>
+</info>
+</editorArea>
+</editors>
+<views>
+<view id="com.genuitec.eclipse.ui.HTMLView" partName="Web Browser"/>
+<view id="org.eclipse.wst.common.snippets.internal.ui.SnippetsView" partName="Snippets"/>
+<view id="com.genuitec.eclipse.ast.deploy.core.serverview" partName="Servers"/>
+<view id="uky.article.imageviewer.views.ImageView" partName="Image Preview">
+<viewState/>
+</view>
+<view id="org.eclipse.jdt.ui.TypeHierarchy" partName="Hierarchy"/>
+<view id="org.eclipse.ui.views.PropertySheet" partName="Properties">
+<viewState/>
+</view>
+<view id="org.eclipse.ui.views.ProblemView" partName="Problems">
+<viewState PRIMARY_SORT_FIELD="org.eclipse.ui.ide.severityAndDescriptionField" categoryGroup="org.eclipse.ui.ide.severity" markerContentGenerator="org.eclipse.ui.ide.problemsGenerator" partName="Problems">
+<columnWidths org.eclipse.ui.ide.locationField="64" org.eclipse.ui.ide.markerType="94" org.eclipse.ui.ide.pathField="124" org.eclipse.ui.ide.resourceField="94" org.eclipse.ui.ide.severityAndDescriptionField="300"/>
+<visible IMemento.internal.id="org.eclipse.ui.ide.severityAndDescriptionField"/>
+<visible IMemento.internal.id="org.eclipse.ui.ide.resourceField"/>
+<visible IMemento.internal.id="org.eclipse.ui.ide.pathField"/>
+<visible IMemento.internal.id="org.eclipse.ui.ide.locationField"/>
+<visible IMemento.internal.id="org.eclipse.ui.ide.markerType"/>
+</viewState>
+</view>
+<view id="org.eclipse.ui.console.ConsoleView" partName="Console"/>
+<view id="org.eclipse.jdt.ui.PackageExplorer" partName="Package Explorer">
+<viewState group_libraries="1" layout="2" linkWithEditor="0" rootMode="1" workingSetName="">
+<customFilters userDefinedPatternsEnabled="false">
+<xmlDefinedFilters>
+<child filterId="org.eclipse.jdt.ui.PackageExplorer.LibraryFilter" isEnabled="false"/>
+<child filterId="org.eclipse.jdt.ui.PackageExplorer.LocalTypesFilter" isEnabled="false"/>
+<child filterId="org.eclipse.jdt.ui.PackageExplorer.StaticsFilter" isEnabled="false"/>
+<child filterId="org.eclipse.pde.ui.ExternalPluginLibrariesFilter1" isEnabled="true"/>
+<child filterId="org.eclipse.jdt.ui.PackageExplorer.ClosedProjectsFilter" isEnabled="false"/>
+<child filterId="org.eclipse.jdt.ui.PackageExplorer.NonSharedProjectsFilter" isEnabled="false"/>
+<child filterId="org.eclipse.jdt.ui.PackageExplorer.NonJavaElementFilter" isEnabled="false"/>
+<child filterId="org.eclipse.jdt.ui.PackageExplorer.ContainedLibraryFilter" isEnabled="false"/>
+<child filterId="org.eclipse.jdt.ui.PackageExplorer.CuAndClassFileFilter" isEnabled="false"/>
+<child filterId="org.eclipse.jdt.ui.PackageExplorer.NonJavaProjectsFilter" isEnabled="false"/>
+<child filterId="org.eclipse.jdt.internal.ui.PackageExplorer.EmptyInnerPackageFilter" isEnabled="true"/>
+<child filterId="org.eclipse.jdt.ui.PackageExplorer.PackageDeclarationFilter" isEnabled="true"/>
+<child filterId="org.eclipse.jdt.internal.ui.PackageExplorer.EmptyPackageFilter" isEnabled="false"/>
+<child filterId="org.eclipse.jdt.ui.PackageExplorer.ImportDeclarationFilter" isEnabled="true"/>
+<child filterId="org.eclipse.jdt.ui.PackageExplorer.FieldsFilter" isEnabled="false"/>
+<child filterId="org.eclipse.jdt.internal.ui.PackageExplorer.HideInnerClassFilesFilter" isEnabled="true"/>
+<child filterId="org.eclipse.jdt.ui.PackageExplorer.NonPublicFilter" isEnabled="false"/>
+<child filterId="org.maven.ide.eclipse.MavenModuleFilter" isEnabled="false"/>
+<child filterId="org.eclipse.jdt.ui.PackageExplorer_patternFilterId_.*" isEnabled="true"/>
+<child filterId="org.eclipse.jdt.ui.PackageExplorer.EmptyLibraryContainerFilter" isEnabled="true"/>
+<child filterId="org.eclipse.pde.ui.BinaryProjectFilter1" isEnabled="false"/>
+<child filterId="org.eclipse.jdt.ui.PackageExplorer.SyntheticMembersFilter" isEnabled="true"/>
+</xmlDefinedFilters>
+</customFilters>
+</viewState>
+</view>
+<view id="org.eclipse.ui.views.TaskList" partName="Tasks"/>
+<view id="org.eclipse.ui.views.ContentOutline" partName="Outline">
+<viewState/>
+</view>
+</views>
+<perspectives activePart="org.eclipse.jdt.ui.PackageExplorer" activePerspective="com.genuitec.myeclipse.perspective.myeclipseperspective">
+<perspective editorAreaTrimState="2" editorAreaVisible="1" fixed="0" version="0.016">
+<descriptor class="com.genuitec.myeclipse.perspective.MyEclipsePerspectiveFactory" id="com.genuitec.myeclipse.perspective.myeclipseperspective" label="MyEclipse Java Enterprise"/>
+<alwaysOnActionSet id="com.genuitec.myeclipse.actions.deploytools"/>
+<alwaysOnActionSet id="com.genuitec.myeclipse.actions"/>
+<alwaysOnActionSet id="com.genuitec.myeclipse.test.actions"/>
+<alwaysOnActionSet id="com.genuitec.myeclipse.actions.desktop"/>
+<alwaysOnActionSet id="com.genuitec.myeclipse.actions.screencapture"/>
+<alwaysOnActionSet id="com.genuitec.eclipse.examples.actionSet"/>
+<alwaysOnActionSet id="com.genuitec.myeclipse.actions.hibernatetools"/>
+<alwaysOnActionSet id="com.genuitec.myeclipse.actions.webtools"/>
+<alwaysOnActionSet id="com.genuitec.eclipse.j2eedt.core.ejb"/>
+<alwaysOnActionSet id="com.genuitec.myeclipse.actions.jsftools"/>
+<alwaysOnActionSet id="com.genuitec.myeclipse.actions.faceletstools"/>
+<alwaysOnActionSet id="com.genuitec.eclipse.maven.pro.actions"/>
+<alwaysOnActionSet id="com.genuitec.myeclipse.actions.jpatools"/>
+<alwaysOnActionSet id="com.genuitec.eclipse.portlet.portletactions"/>
+<alwaysOnActionSet id="com.genuitec.myeclipse.actions.reporting"/>
+<alwaysOnActionSet id="com.genuitec.myeclipse.actions.springtools"/>
+<alwaysOnActionSet id="com.genuitec.myeclipse.actions.strutstools"/>
+<alwaysOnActionSet id="com.genuitec.myeclipse.actions.tapestrytools"/>
+<alwaysOnActionSet id="com.genuitec.myeclipse.actions.restsupport"/>
+<alwaysOnActionSet id="com.genuitec.eclipse.ws.xfire.actions"/>
+<alwaysOnActionSet id="com.genuitec.myeclipse.actions.webservices"/>
+<alwaysOnActionSet id="com.genuitec.myeclipse.icefaces"/>
+<alwaysOnActionSet id="com.genuitec.myeclipse.about.actions"/>
+<alwaysOnActionSet id="com.genuitec.myeclipse.product.actions"/>
+<alwaysOnActionSet id="org.eclipse.jst.servlet.ui.internal.actions.ConvertToWebModuleTypeActionSet"/>
+<alwaysOnActionSet id="org.eclipse.ui.cheatsheets.actionSet"/>
+<alwaysOnActionSet id="org.eclipse.search.searchActionSet"/>
+<alwaysOnActionSet id="org.eclipse.ui.edit.text.actionSet.annotationNavigation"/>
+<alwaysOnActionSet id="org.eclipse.ui.edit.text.actionSet.navigation"/>
+<alwaysOnActionSet id="org.eclipse.ui.edit.text.actionSet.convertLineDelimitersTo"/>
+<alwaysOnActionSet id="org.eclipse.ui.externaltools.ExternalToolsSet"/>
+<alwaysOnActionSet id="org.eclipse.ui.actionSet.keyBindings"/>
+<alwaysOnActionSet id="org.eclipse.ui.actionSet.openFiles"/>
+<alwaysOnActionSet id="org.maven.ide.eclipse.ui.navigation"/>
+<alwaysOnActionSet id="org.maven.ide.eclipse.actionSet"/>
+<alwaysOnActionSet id="org.springframework.ide.eclipse.aop.ui.ActionSet"/>
+<alwaysOnActionSet id="org.springframework.ide.eclipse.aop.ui.matcher.actionSet"/>
+<alwaysOnActionSet id="org.springframework.ide.eclipse.beans.ui.actionSet"/>
+<alwaysOnActionSet id="org.springframework.ide.eclipse.beans.ui.ActionSet"/>
+<alwaysOnActionSet id="org.springframework.ide.eclipse.beans.search.actionSet"/>
+<alwaysOnActionSet id="org.eclipse.debug.ui.launchActionSet"/>
+<alwaysOnActionSet id="org.eclipse.jdt.ui.JavaActionSet"/>
+<alwaysOnActionSet id="org.eclipse.jdt.ui.JavaElementCreationActionSet"/>
+<alwaysOnActionSet id="org.eclipse.ui.NavigateActionSet"/>
+<alwaysOnActionSet id="com.genuitec.eclipse.uml.actions"/>
+<alwaysOnActionSet id="com.genuitec.eclipse.uml2.ui.actions"/>
+<alwaysOnActionSet id="org.eclipse.debug.ui.profileActionSet"/>
+<alwaysOnActionSet id="com.genuitec.eclipse.web20.actionset"/>
+<show_view_action id="com.genuitec.eclipse.ast.deploy.core.serverview"/>
+<show_view_action id="org.eclipse.jdt.ui.PackageExplorer"/>
+<show_view_action id="org.eclipse.jdt.ui.TypeHierarchy"/>
+<show_view_action id="org.eclipse.ui.console.ConsoleView"/>
+<show_view_action id="org.eclipse.ui.views.ContentOutline"/>
+<show_view_action id="org.eclipse.ui.views.TaskList"/>
+<show_view_action id="uky.article.imageviewer.views.ImageView"/>
+<show_view_action id="org.eclipse.wst.common.snippets.internal.ui.SnippetsView"/>
+<show_view_action id="org.eclipse.ui.views.PropertySheet"/>
+<show_view_action id="org.eclipse.ui.views.ProblemView"/>
+<show_view_action id="com.genuitec.eclipse.ui.HTMLView"/>
+<new_wizard_action id="com.genuitec.eclipse.j2eedt.ui.wizard.EJBProjectCreationWizard"/>
+<new_wizard_action id="com.genuitec.eclipse.j2eedt.ui.wizard.NewEARProjectWizard"/>
+<new_wizard_action id="com.genuitec.eclipse.j2eedt.ui.wizard.WebProjectCreationWizard"/>
+<new_wizard_action id="com.genuitec.eclipse.ws.xfire.wizards.NewXFireWebProjectWizard1"/>
+<new_wizard_action id="org.eclipse.jdt.ui.wizards.JavaProjectWizard"/>
+<new_wizard_action id="org.eclipse.jdt.ui.wizards.NewPackageCreationWizard"/>
+<new_wizard_action id="org.eclipse.jdt.ui.wizards.NewClassCreationWizard"/>
+<new_wizard_action id="org.eclipse.jdt.ui.wizards.NewInterfaceCreationWizard"/>
+<new_wizard_action id="org.eclipse.jdt.ui.wizards.NewSourceFolderCreationWizard"/>
+<new_wizard_action id="org.eclipse.jdt.ui.wizards.NewSnippetFileCreationWizard"/>
+<new_wizard_action id="org.eclipse.ui.wizards.new.folder"/>
+<new_wizard_action id="org.eclipse.ui.wizards.new.file"/>
+<new_wizard_action id="com.aston.wizards.applet.NewAppletCreationWizard"/>
+<new_wizard_action id="com.aston.wizards.html.NewHtmlCreationWizard"/>
+<new_wizard_action id="com.aston.wizards.jsp.NewJspCreationWizard"/>
+<new_wizard_action id="com.aston.wizards.xhtml.NewXhtmlCreationWizard"/>
+<new_wizard_action id="com.aston.wizards.servlet.NewServletCreationWizard"/>
+<new_wizard_action id="org.jboss.ide.eclipse.jdt.j2ee.ui.wizards.ejb.NewSessionEJBWizard"/>
+<new_wizard_action id="org.jboss.ide.eclipse.jdt.j2ee.ui.wizards.ejb.NewEntityEJBWizard"/>
+<new_wizard_action id="org.jboss.ide.eclipse.jdt.j2ee.ui.wizards.ejb.NewMessageDrivenEJBWizard"/>
+<new_wizard_action id="com.aston.wizards.xml.NewXmlCreationWizard"/>
+<new_wizard_action id="org.eclipse.wst.xml.ui.internal.wizards.NewXMLWizard"/>
+<new_wizard_action id="org.eclipse.wst.xsd.ui.internal.wizards.NewXSDWizard"/>
+<new_wizard_action id="com.genuitec.eclipse.struts.org.easystruts.eclipse.wizards.NewFormCreationWizardX1_1"/>
+<new_wizard_action id="com.genuitec.eclipse.struts.org.easystruts.eclipse.wizards.NewActionCreationWizardX1_1"/>
+<new_wizard_action id="com.genuitec.eclipse.dehory.newformwizard"/>
+<new_wizard_action id="com.genuitec.eclipse.reporting.projectwizard"/>
+<new_wizard_action id="com.genuitec.eclipse.uml.wizard.NewUMLModelFileWizard"/>
+<perspective_action id="com.genuitec.eclipse.dehory.dehoryperspective"/>
+<perspective_action id="com.genuitec.eclipse.hibernate.perspective.HibernatePerspective"/>
+<perspective_action id="com.genuitec.eclipse.imageeditor.perspective"/>
+<perspective_action id="org.eclipse.wst.jsdt.ui.JavaPerspective"/>
+<perspective_action id="com.genuitec.dali.adapter.persistencePerspective"/>
+<perspective_action id="com.genuitec.eclipse.reporting.ReportPerspective"/>
+<perspective_action id="com.genuitec.eclipse.sqlexplorer.perspectives.SQLExplorerPluginPerspective"/>
+<perspective_action id="com.genuitec.eclipse.uml.umlPerspective"/>
+<perspective_action id="com.genuitec.eclipse.web20.perspective"/>
+<hide_toolbar_item_id id="org.eclipse.ui.edit.text.toggleShowSelectedElementOnly"/>
+<view id="org.eclipse.jdt.ui.PackageExplorer"/>
+<view id="org.eclipse.jdt.ui.TypeHierarchy"/>
+<view id="uky.article.imageviewer.views.ImageView"/>
+<view id="org.eclipse.wst.common.snippets.internal.ui.SnippetsView"/>
+<view id="org.eclipse.ui.views.ContentOutline"/>
+<view id="org.eclipse.ui.views.PropertySheet"/>
+<view id="org.eclipse.ui.views.ProblemView"/>
+<view id="org.eclipse.ui.views.TaskList"/>
+<view id="com.genuitec.eclipse.ui.HTMLView"/>
+<view id="org.eclipse.ui.console.ConsoleView"/>
+<view id="com.genuitec.eclipse.ast.deploy.core.serverview"/>
+<fastViewBars/>
+<layout>
+<mainWindow>
+<info folder="true" part="cvslocation">
+<folder appearance="2" expanded="2">
+<page content="org.eclipse.team.ccvs.ui.RepositoriesView" label="LabelNotFound"/>
+</folder>
+</info>
+<info folder="true" part="stickyFolderRight" ratio="0.75" ratioLeft="750" ratioRight="250" relationship="2" relative="cvslocation">
+<folder appearance="2" expanded="2">
+<page content="org.eclipse.help.ui.HelpView" label="LabelNotFound"/>
+<page content="org.eclipse.ui.internal.introview" label="LabelNotFound"/>
+<page content="org.eclipse.ui.cheatsheets.views.CheatSheetView" label="LabelNotFound"/>
+</folder>
+</info>
+<info part="org.eclipse.ui.editorss" ratio="0.2" ratioLeft="200" ratioRight="800" relationship="2" relative="cvslocation"/>
+<info folder="true" part="org.eclipse.ui.internal.ViewStack@1a418a3" ratio="0.75" ratioLeft="600" ratioRight="200" relationship="2" relative="org.eclipse.ui.editorss">
+<folder activePageID="org.eclipse.ui.views.ContentOutline" appearance="2" expanded="2">
+<page content="org.eclipse.ui.views.ContentOutline" label="Outline"/>
+<presentation id="org.eclipse.ui.presentations.WorkbenchPresentationFactory">
+<part id="0"/>
+</presentation>
+</folder>
+</info>
+<info folder="true" part="org.eclipse.ui.internal.ViewStack@4daa7d" ratio="0.54859966" ratioLeft="333" ratioRight="274" relationship="4" relative="org.eclipse.ui.internal.ViewStack@1a418a3">
+<folder activePageID="org.eclipse.ui.views.PropertySheet" appearance="2" expanded="2">
+<page content="org.eclipse.ui.views.PropertySheet" label="Properties"/>
+<presentation id="org.eclipse.ui.presentations.WorkbenchPresentationFactory">
+<part id="0"/>
+</presentation>
+</folder>
+</info>
+<info folder="true" part="bottom" ratio="0.74958813" ratioLeft="455" ratioRight="152" relationship="4" relative="org.eclipse.ui.editorss">
+<folder activePageID="org.eclipse.ui.views.ProblemView" appearance="2" expanded="2">
+<page content="org.eclipse.ui.views.ProblemView" label="Problems"/>
+<page content="org.eclipse.ui.views.TaskList" label="Tasks"/>
+<page content="com.genuitec.eclipse.ui.HTMLView" label="Web Browser"/>
+<page content="org.eclipse.ui.console.ConsoleView" label="Console"/>
+<page content="com.genuitec.eclipse.ast.deploy.core.serverview" label="Servers"/>
+<page content="org.eclipse.search.ui.views.SearchView" label="LabelNotFound"/>
+<page content="org.eclipse.ui.views.BookmarkView" label="LabelNotFound"/>
+<presentation id="org.eclipse.ui.presentations.WorkbenchPresentationFactory">
+<part id="0"/>
+<part id="1"/>
+<part id="2"/>
+<part id="3"/>
+<part id="4"/>
+</presentation>
+</folder>
+</info>
+<info folder="true" part="topleft" ratio="0.39868203" ratioLeft="242" ratioRight="365" relationship="4" relative="cvslocation">
+<folder activePageID="org.eclipse.jdt.ui.PackageExplorer" appearance="2" expanded="2">
+<page content="org.eclipse.jdt.ui.PackageExplorer" label="Package Explorer"/>
+<page content="org.eclipse.jdt.ui.TypeHierarchy" label="Hierarchy"/>
+<page content="org.eclipse.ui.views.ResourceNavigator" label="LabelNotFound"/>
+<presentation id="org.eclipse.ui.presentations.WorkbenchPresentationFactory">
+<part id="0"/>
+<part id="1"/>
+</presentation>
+</folder>
+</info>
+<info folder="true" part="bottomleft" ratio="0.54859966" ratioLeft="333" ratioRight="274" relationship="4" relative="topleft">
+<folder activePageID="uky.article.imageviewer.views.ImageView" appearance="2" expanded="2">
+<page content="uky.article.imageviewer.views.ImageView" label="Image Preview"/>
+<page content="org.eclipse.wst.common.snippets.internal.ui.SnippetsView" label="Snippets"/>
+<presentation id="org.eclipse.ui.presentations.WorkbenchPresentationFactory">
+<part id="0"/>
+<part id="1"/>
+</presentation>
+</folder>
+</info>
+</mainWindow>
+</layout>
+</perspective>
+</perspectives>
+<workingSets/>
+<navigationHistory/>
+<input factoryID="org.eclipse.ui.internal.model.ResourceFactory" path="/" type="8"/>
+</page>
+<workbenchWindowAdvisor/>
+<actionBarAdvisor/>
+<trimLayout>
+<trimArea IMemento.internal.id="128">
+<trimItem IMemento.internal.id="org.eclipse.ui.internal.WorkbenchWindow.topBar"/>
+</trimArea>
+<trimArea IMemento.internal.id="1024">
+<trimItem IMemento.internal.id="org.eclise.ui.internal.FastViewBar"/>
+<trimItem IMemento.internal.id="org.eclipse.jface.action.StatusLineManager"/>
+<trimItem IMemento.internal.id="org.eclipse.ui.internal.progress.ProgressRegion"/>
+</trimArea>
+</trimLayout>
+</window>
+<mruList/>
+</workbench>

+ 4 - 0
.metadata/.plugins/org.eclipse.ui.workbench/workingsets.xml

@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<workingSetManager>
+<workingSet aggregate="true" factoryID="org.eclipse.ui.internal.WorkingSetFactory" id="1414375769888_0" label="Window Working Set" name="Aggregate for window 1414375769887"/>
+</workingSetManager>

BIN
.metadata/.plugins/org.eclipse.wst.common.snippets/hidden.xml


BIN
.metadata/.plugins/org.eclipse.wst.common.snippets/user.xml


+ 2 - 0
src/com/acc/common/ApplicationResources.properties

@@ -0,0 +1,2 @@
+SpringJDBCEx.IDFormat.DateFormat={\u65e5\u671f}
+SpringJDBCEx.IDFormat.Sequence={\u5e8f\u53f7}

+ 2 - 0
src/com/acc/common/ApplicationResources_src.properties

@@ -0,0 +1,2 @@
+SpringJDBCEx.IDFormat.DateFormat={日期}
+SpringJDBCEx.IDFormat.Sequence={序号}

+ 50 - 0
src/com/acc/common/annotation/inject/parent/InjectItem.java

@@ -0,0 +1,50 @@
+package com.acc.common.annotation.inject.parent;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
+/**
+ * 注意注入引用和注入值同时存在时,先判断引用是否存在,如果不存在,则注入值
+ * 
+ * 
+ */
+@Retention(RetentionPolicy.RUNTIME)
+public @interface InjectItem {
+	/**
+	 * 允许按类型注入,该情况出现在ref和value同时不存在的情况下,此时允许通过attr属性类型进行按类型注入
+	 * 
+	 * @return
+	 */
+	boolean allowByType() default false;
+
+	/**
+	 * 属性名
+	 * 
+	 * @return
+	 */
+	String attr() default "";
+
+	/**
+	 * 注入引用
+	 * 
+	 * @return
+	 */
+	String ref() default "";
+
+	/**
+	 * 注入值
+	 * 
+	 * @return
+	 */
+	String value() default "";
+
+	InjectStyle injectStyle() default InjectStyle.ATTR_REFLECTION;
+
+	/**
+	 * 注入方法
+	 * 
+	 * @return
+	 */
+	String injectMethod() default "";
+
+}

+ 308 - 0
src/com/acc/common/annotation/inject/parent/InjectParentBeanPostProcessor.java

@@ -0,0 +1,308 @@
+package com.acc.common.annotation.inject.parent;
+
+import java.lang.reflect.Field;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+import org.apache.commons.beanutils.BeanUtils;
+import org.springframework.beans.BeansException;
+import org.springframework.beans.factory.config.BeanPostProcessor;
+import org.springframework.context.ApplicationContext;
+import org.springframework.context.ApplicationContextAware;
+import org.springframework.util.ReflectionUtils;
+
+public class InjectParentBeanPostProcessor implements BeanPostProcessor,
+		ApplicationContextAware {
+
+	private ApplicationContext ctx;
+
+	private Set<String> alreadyInjected = new HashSet<String>();
+
+	private List<Class<?>> basicTypes = new ArrayList<Class<?>>() {
+		private static final long serialVersionUID = 1L;
+
+		{
+			add(char.class);
+			add(Character.class);
+			add(byte.class);
+			add(Byte.class);
+			add(short.class);
+			add(Short.class);
+			add(int.class);
+			add(Integer.class);
+			add(long.class);
+			add(Long.class);
+			add(String.class);
+			add(float.class);
+			add(Float.class);
+			add(double.class);
+			add(Double.class);
+		}
+	};
+
+	public Object postProcessBeforeInitialization(Object bean, String beanName)
+			throws BeansException {
+		ParentInject injectParent = bean.getClass().getAnnotation(
+				ParentInject.class);
+		String[] aliases = ctx.getAliases(beanName);
+		if (injectParent != null) {
+			// 是否已经注入过
+			Object hasInjected = hasInjected(bean, beanName, aliases);
+			if (hasInjected != null) {
+				return hasInjected;
+			}
+
+			return doInject(bean, beanName, aliases, injectParent);
+		}
+		return bean;
+	}
+
+	public Object postProcessAfterInitialization(Object bean, String beanName)
+			throws BeansException {
+
+		return bean;
+	}
+
+	/**
+	 * 进行父类属性注入
+	 * 
+	 * @param bean
+	 * @param beanName
+	 * @param injectParent
+	 * @return
+	 */
+	private Object doInject(Object bean, String beanName, String[] aliases,
+			ParentInject injectParent) {
+		InjectItem[] items = injectParent.items();
+		for (InjectItem item : items) {
+			InjectStyle injectStyle = item.injectStyle();
+			String attr = item.attr();
+			String injectRef = item.ref();
+			String injectValue = item.value();
+			Object injectObj = null;
+			try {
+				Object attrObj=BeanUtils.getProperty(bean, attr);
+				if(attrObj!=null) continue;
+			} catch (IllegalAccessException e1) {				
+				e1.printStackTrace();
+			} catch (InvocationTargetException e1) {			
+				e1.printStackTrace();
+			} catch (NoSuchMethodException e1) {			
+				e1.printStackTrace();
+			}
+			
+			if (injectRef != null && !injectRef.trim().equals("")) {
+				injectObj = ctx.getBean(injectRef);
+			}
+
+			if (injectObj == null) {
+				Field f = ReflectionUtils.findField(bean.getClass(), attr);
+				if (f == null) {
+					try {
+						BeanUtils.setProperty(bean, attr, injectObj);
+					} catch (IllegalAccessException e) {						
+						e.printStackTrace();
+					} catch (InvocationTargetException e) {					
+						e.printStackTrace();
+					}	
+				}
+				if (isBasicType(f.getType())) {
+					// 做基本类型转换
+					injectObj = basicTypeConvert(f.getType(), injectValue);
+				} else {
+					// 非基本类型,则猜测类型按类型注入
+					injectObj = ctx.getBean(f.getClass());
+				}
+			}
+
+			// 注意如果是动态代理,属性注入会失败
+			if (InjectStyle.ATTR_REFLECTION.equals(injectStyle)) {
+				// 按属性直接注入
+				try {
+					BeanUtils.setProperty(bean, attr, injectObj);				
+				} catch (IllegalAccessException e) {
+					e.printStackTrace();
+				} catch (InvocationTargetException e) {
+					e.printStackTrace();
+				}
+			} else if (InjectStyle.METHOD_INVOKE.equals(injectStyle)) {
+				// 按方法调用注入
+				String injectMethod = item.injectMethod();
+				if (injectMethod == null || injectMethod.trim().equals("")) {
+					injectMethod = findSetterMethod(attr);
+				}
+				Method m = findInjectMethod(bean.getClass(), injectMethod,injectObj);
+				if (m == null) {
+					throw new RuntimeException("inject method does not exist:"
+							+ injectMethod);
+				}
+				ReflectionUtils.makeAccessible(m);
+				ReflectionUtils.invokeMethod(m, bean, injectObj);
+				putInjected(aliases);
+			} else {
+				throw new RuntimeException("not supported injectStyle:"
+						+ injectStyle);
+			}
+
+		}
+		return bean;
+	}
+
+	private Object basicTypeConvert(Class<?> class1, String injectValue) {
+		if (byte.class.equals(class1) || Byte.class.equals(class1)) {
+			return Byte.valueOf(injectValue);
+		} else if (short.class.equals(class1) || Short.class.equals(class1)) {
+			return Short.valueOf(injectValue);
+		} else if (int.class.equals(class1) || Integer.class.equals(class1)) {
+			return Integer.valueOf(injectValue);
+		} else if (long.class.equals(class1) || Long.class.equals(class1)) {
+			return Long.valueOf(injectValue);
+		} else if (float.class.equals(class1) || Float.class.equals(class1)) {
+			return Float.valueOf(injectValue);
+		} else if (double.class.equals(class1) || Double.class.equals(class1)) {
+			return Double.valueOf(injectValue);
+		}
+		return injectValue;
+	}
+
+	/**
+	 * 是否是基本类型
+	 * 
+	 * @param injectValue
+	 * @return
+	 */
+	private boolean isBasicType(Class<?> cls) {
+		return basicTypes.contains(cls);
+	}
+
+	/**
+	 * 通过迭代找出当前类或者父类方法
+	 * 
+	 * @param injectMethod
+	 * @return
+	 */
+	private Method findInjectMethod(Class<?> cls, String injectMethod,
+			Object... args) {
+		Method[] methods = cls.getDeclaredMethods();
+		for (Method method : methods) {
+			if (method.getName().equals(injectMethod)) {
+				// 判断参数类型是否匹配
+				Class<?>[] paramTypes = method.getParameterTypes();
+				if (paramTypes.length == 1
+						&& isSuitableBasicType(paramTypes[0], args[0]
+								.getClass())) {
+					return method;
+				}
+
+			}
+		}
+		List<Class<?>> parentClasses = new ArrayList<Class<?>>();
+		if (cls.getSuperclass() != null) {
+			parentClasses.add(cls.getSuperclass());
+		}
+
+		parentClasses.addAll((Collection<? extends Class<?>>) Arrays.asList(cls
+				.getInterfaces()));
+		for (Class<?> c : parentClasses) {
+			return findInjectMethod(c, injectMethod, args);
+		}
+		return null;
+	}
+
+	private boolean isSuitableBasicType(Class<?> class1, Class<?> class2) {
+		if (isByteTypeClass(class1) && isByteTypeClass(class2)) {
+			return true;
+		}
+		if (isShortTypeClass(class1) && isShortTypeClass(class2)) {
+			return true;
+		}
+		if (isIntTypeClass(class1) && isIntTypeClass(class2)) {
+			return true;
+		}
+		if (isLongTypeClass(class1) && isLongTypeClass(class2)) {
+			return true;
+		}
+		if (isFloatTypeClass(class1) && isFloatTypeClass(class2)) {
+			return true;
+		}
+		if (isDoubleTypeClass(class1) && isDoubleTypeClass(class2)) {
+			return true;
+		}
+		return class1.equals(class2);
+	}
+
+	private boolean isByteTypeClass(Class<?> cls) {
+		return byte.class.equals(cls) || Byte.class.equals(cls);
+	}
+
+	private boolean isShortTypeClass(Class<?> cls) {
+		return short.class.equals(cls) || Short.class.equals(cls);
+	}
+
+	private boolean isIntTypeClass(Class<?> cls) {
+		return int.class.equals(cls) || Integer.class.equals(cls);
+	}
+
+	private boolean isLongTypeClass(Class<?> cls) {
+		return long.class.equals(cls) || Long.class.equals(cls);
+	}
+
+	private boolean isFloatTypeClass(Class<?> cls) {
+		return float.class.equals(cls) || Float.class.equals(cls);
+	}
+
+	private boolean isDoubleTypeClass(Class<?> cls) {
+		return double.class.equals(cls) || Double.class.equals(cls);
+	}
+
+	/**
+	 * 通过属性名找出setter方法
+	 * 
+	 * @param attr
+	 * @return
+	 */
+	private String findSetterMethod(String attr) {
+		StringBuilder sb = new StringBuilder("set");
+		sb.append(Character.toUpperCase(attr.charAt(0)));
+		sb.append(attr.substring(1));
+		return sb.toString();
+	}
+
+	/**
+	 * 放置别名
+	 * 
+	 * @param aliases
+	 */
+	private void putInjected(String[] aliases) {
+		alreadyInjected.addAll(Arrays.asList(aliases));
+	}
+
+	/**
+	 * 判断是否已经注入
+	 * 
+	 * @param bean
+	 * @param beanName
+	 * @return
+	 */
+	private Object hasInjected(Object bean, String beanName, String[] aliases) {
+
+		for (String aliase : aliases) {
+			if (alreadyInjected.contains(aliase)) {
+				return bean;
+			}
+		}
+		return null;
+	}
+
+	public void setApplicationContext(ApplicationContext applicationContext)
+			throws BeansException {
+		ctx = applicationContext;
+	}
+
+}

+ 14 - 0
src/com/acc/common/annotation/inject/parent/InjectStyle.java

@@ -0,0 +1,14 @@
+package com.acc.common.annotation.inject.parent;
+
+public enum InjectStyle {
+
+	/**
+	 * 通过method invoke方法进行注入
+	 */
+	METHOD_INVOKE,
+	/**
+	 * 通过反射方式直接注入
+	 */
+	ATTR_REFLECTION
+
+}

+ 7 - 0
src/com/acc/common/annotation/inject/parent/InjectType.java

@@ -0,0 +1,7 @@
+package com.acc.common.annotation.inject.parent;
+
+public enum InjectType {
+
+	BY_NAME, BY_TYPE, AUTO
+
+}

+ 23 - 0
src/com/acc/common/annotation/inject/parent/ParentInject.java

@@ -0,0 +1,23 @@
+package com.acc.common.annotation.inject.parent;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * 注入父类属性
+ * 
+ */
+@Retention(RetentionPolicy.RUNTIME)
+@Target( { ElementType.TYPE })
+public @interface ParentInject {
+
+	/**
+	 * 注入项
+	 * 
+	 * @return
+	 */
+	InjectItem[] items();
+
+}

+ 62 - 0
src/com/acc/common/annotation/resources/ConfigAnnotationBeanPostProcessor.java

@@ -0,0 +1,62 @@
+package com.acc.common.annotation.resources;
+
+import java.lang.reflect.Field;
+import java.lang.reflect.Modifier;
+
+import org.springframework.beans.BeansException;
+import org.springframework.beans.SimpleTypeConverter;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.config.InstantiationAwareBeanPostProcessorAdapter;
+import org.springframework.stereotype.Component;
+import org.springframework.util.ReflectionUtils;
+
+@Component
+public class ConfigAnnotationBeanPostProcessor extends InstantiationAwareBeanPostProcessorAdapter
+{
+	@Autowired
+	private ExtendedPropertyPlaceholderConfigurer propertyConfigurer;
+
+	private SimpleTypeConverter typeConverter = new SimpleTypeConverter();
+
+	/**
+	 * <p>
+	 * 通过config配置变量,bean初始化以后设置properties文件里面的值
+	 * </p>
+	 * {@inheritDoc}
+	 */
+	@Override
+	public boolean postProcessAfterInstantiation(final Object bean, String beanName)
+			throws BeansException
+	{
+		ReflectionUtils.doWithFields(bean.getClass(), new ReflectionUtils.FieldCallback()
+		{
+			public void doWith(Field field) throws IllegalArgumentException, IllegalAccessException
+			{
+				PropertyConfig cfg = field.getAnnotation(PropertyConfig.class);
+				if (cfg != null)
+				{
+					if (Modifier.isStatic(field.getModifiers()))
+					{
+						throw new IllegalStateException(
+								"@PropertyConfig annotation is not supported on static fields");
+					}
+
+					String key = cfg.value().length() <= 0 ? field.getName() : cfg.value();
+					Object value = propertyConfigurer.getProperty(key);
+					if (cfg.required() && value == null)
+					{
+						throw new NullPointerException(bean.getClass().getSimpleName() + "."
+								+ field.getName() + " is requred,but not been configured");
+					}
+					else if (value != null)
+					{
+						Object _value = typeConverter.convertIfNecessary(value, field.getType());
+						ReflectionUtils.makeAccessible(field);
+						field.set(bean, _value);
+					}
+				}
+			}
+		});
+		return true;
+	}
+}

+ 24 - 0
src/com/acc/common/annotation/resources/ExtendedPropertyPlaceholderConfigurer.java

@@ -0,0 +1,24 @@
+package com.acc.common.annotation.resources;
+
+import java.util.Properties;
+
+import org.springframework.beans.BeansException;
+import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
+import org.springframework.beans.factory.config.PropertyPlaceholderConfigurer;
+import org.springframework.stereotype.Component;
+
+@Component
+public class ExtendedPropertyPlaceholderConfigurer extends PropertyPlaceholderConfigurer {
+	private Properties props;
+
+	@Override
+	protected void processProperties(ConfigurableListableBeanFactory beanFactory, Properties props)
+			throws BeansException {
+		super.processProperties(beanFactory, props);
+		this.props = props;
+	}
+
+	public Object getProperty(String key) {
+		return props.get(key);
+	}
+}

+ 13 - 0
src/com/acc/common/annotation/resources/PropertyConfig.java

@@ -0,0 +1,13 @@
+package com.acc.common.annotation.resources;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+@Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.FIELD)
+public @interface PropertyConfig {
+	String value() default "";		
+	boolean required() default true;
+}

+ 43 - 0
src/com/acc/common/jdbc/DBUtil.java

@@ -0,0 +1,43 @@
+package com.acc.common.jdbc;
+
+import java.sql.*;
+
+import com.acc.common.spring.ApplicationFactory;
+
+import org.springframework.jdbc.datasource.DataSourceUtils;
+
+public class DBUtil
+{
+	public DBUtil()
+	{
+	}
+
+	public String getPKFromTable(String tableName) throws Exception
+	{
+		Connection con = null;
+		try
+		{
+			con = DataSourceUtils.getConnection(ApplicationFactory.getDataSource());
+			DatabaseMetaData meta = con.getMetaData();
+			ResultSet colrs = meta.getPrimaryKeys(null, null, tableName);
+			String pkName = "";
+			if (colrs.next())
+			{
+				pkName = colrs.getString(4);
+			}
+			colrs.close();
+			return pkName;
+		}
+		catch (Exception e)
+		{
+			throw e;
+		}
+		finally
+		{
+			if (con != null)
+			{
+				con.close();
+			}
+		}
+	}
+}

+ 145 - 0
src/com/acc/common/jdbc/IDTableMaxValueIncrementer.java

@@ -0,0 +1,145 @@
+package com.acc.common.jdbc;
+
+import java.text.SimpleDateFormat;
+import java.util.Map;
+
+import javax.sql.DataSource;
+
+import org.apache.commons.lang.StringUtils;
+import org.springframework.context.support.MessageSourceAccessor;
+import org.springframework.dao.DataAccessException;
+import org.springframework.jdbc.support.incrementer.DataFieldMaxValueIncrementer;
+
+
+import com.acc.common.spring.ApplicationFactory;
+
+public class IDTableMaxValueIncrementer implements DataFieldMaxValueIncrementer
+{
+
+	private DataSource dataSource;
+
+	private String incrementerName;
+
+	public IDTableMaxValueIncrementer(DataSource ds, String incrementerName)
+	{
+		this.dataSource = ds;
+		this.incrementerName = incrementerName;
+		afterPropertiesSet();
+	}
+
+	public void afterPropertiesSet()
+	{
+		if (this.dataSource == null)
+		{
+			throw new IllegalArgumentException("dataSource is required");
+		}
+		if (this.incrementerName == null)
+		{
+			throw new IllegalArgumentException("incrementerName is required");
+		}
+	}
+
+	public int nextIntValue() throws DataAccessException
+	{
+		JdbcTemplateEx template = new JdbcTemplateEx(this.dataSource);
+		String pkQueryStr = "select PKValue from IDTable where tableName=?";
+		try
+		{
+			int intValue = template.queryForInt(pkQueryStr, new Object[] { incrementerName }) + 1;
+			String pkUpdateStr = "update IDTable set PKValue= ? where tableName=?";
+			template.update(pkUpdateStr, new Object[] { new Integer(intValue), incrementerName });
+			return intValue;
+		}
+		catch (Exception e)
+		{
+			String sql = "insert into IDTable(TableName,PKValue) values('" + incrementerName
+					+ "',1)";
+			template.execute(sql);
+			return 1;
+		}
+	}
+
+	public long nextLongValue() throws DataAccessException
+	{
+		JdbcTemplateEx template = new JdbcTemplateEx(this.dataSource);
+		String pkQueryStr = "select PKValue from IDTable where tableName=?";
+		try
+		{
+			long longValue = template.queryForLong(pkQueryStr, new Object[] { incrementerName }) + 1L;
+			String pkUpdateStr = "update IDTable set PKValue= ? where tableName=?";
+			template.update(pkUpdateStr, new Object[] { new Long(longValue), incrementerName });
+			return longValue;
+		}
+		catch (Exception e)
+		{
+			String sql = "insert into IDTable(TableName,PKValue) values('" + incrementerName
+					+ "',1)";
+			template.execute(sql);
+			return 1;
+		}
+	}
+
+	public String nextStringValue() throws DataAccessException
+	{
+		JdbcTemplateEx template = new JdbcTemplateEx(this.dataSource);
+		String pkQueryStr = "select PKValue,IDStyle,DateFormat,SequenceNum from "
+				+ " IDTable where tableName=?";
+		try
+		{
+			Map map = (Map) template.queryForMap(pkQueryStr, new Object[] { incrementerName });
+			Long long_pk = (Long) map.get("PKValue");
+			String Str_IDStyle = (String) map.get("IDStyle");
+			String pkvalue = (long_pk.longValue() + 1) + "";
+			if (Str_IDStyle != null && Str_IDStyle.length() > 0)
+			{
+				String Str_date = (String) map.get("DateFormat");
+				int seqNum = ((Integer) map.get("SequenceNum")).intValue();
+				pkvalue = getIDStylePKValue(Str_IDStyle, Str_date, seqNum, pkvalue);
+			}
+			String pkUpdateStr = "update IDTable set PKValue= ? where tableName=?";
+			template.update(pkUpdateStr, new Object[] { new Long(long_pk.longValue() + 1),
+					incrementerName });
+			return pkvalue;
+		}
+		catch (Exception e)
+		{
+			String sql = "insert into IDTable(TableName,PKValue) values('" + incrementerName
+					+ "', '1')";
+			template.execute(sql);
+			return "1";
+		}
+	}
+
+	private String getIDStylePKValue(String IDStyle, String dateformat, int seqNum, String pkvalue)
+	{
+		MessageSourceAccessor messages = ApplicationFactory.getMessageSourceAccessor();
+		String datestr = "";
+		try
+		{
+			SimpleDateFormat sdf = new SimpleDateFormat(dateformat);
+			datestr = sdf.format(new java.util.Date());
+		}
+		catch (Exception e)
+		{
+		}
+		String numValue = "";
+		if (seqNum > pkvalue.length())
+		{
+			for (int i = 0; i < seqNum - pkvalue.length(); i++)
+			{
+				numValue = numValue + "0";
+			}
+			numValue = numValue + pkvalue;
+		}
+		else
+		{
+			numValue = StringUtils.right(pkvalue, seqNum);
+		}
+		String str = messages.getMessage("SpringJDBCEx.IDFormat.DateFormat");
+		IDStyle = StringUtils.replace(IDStyle, str, datestr);
+		str = messages.getMessage("SpringJDBCEx.IDFormat.Sequence");
+		IDStyle = StringUtils.replace(IDStyle, str, numValue);
+		return IDStyle;
+	}
+
+}

+ 44 - 0
src/com/acc/common/jdbc/IPreSQL.java

@@ -0,0 +1,44 @@
+/***************************************************************************************************
+ * <class>: IPreSQL.java <desc>: IPreSQL interface Dependencies: (if applicable) (c) 2003,
+ * DeliriumCybertouch (BJ) Limited. All rights reserved. Last Modified By: $Author: $ Last Modified
+ * On: $Date: $
+ **************************************************************************************************/
+
+package com.acc.common.jdbc;
+
+import javax.servlet.ServletConfig;
+import javax.servlet.http.HttpServletRequest;
+
+/**
+ * <p>
+ * <tt>IPreSQL</tt>接口是包装Prepare SQL语句的接口类�?
+ * </p>
+ * 
+ * 
+ * @author Tony.Su
+ * @version $Revision: 1.0 $ $Date: 2002/11/25 01:30:40 $
+ */
+public interface IPreSQL
+{
+	/**
+	 * 获取动�?�的Prepare SQL语句
+	 * 
+	 * @param request servlet request
+	 * @param servletConfig servlet config
+	 * @return 动�?�的Prepare SQL语句的字符串
+	 */
+	public String getPreSQL(HttpServletRequest request, ServletConfig servletConfig);
+
+	/**
+	 * 获取动�?�的Prepare SQL语句参数数组
+	 * 
+	 * @param request servlet request
+	 * @param servletConfig servlet config
+	 * @return 动�?�的SQL语句的参数数�?
+	 * 
+	 * 
+	 * 
+	 */
+	public Variant[] getVariant(HttpServletRequest request, ServletConfig servletConfig);
+
+}

+ 33 - 0
src/com/acc/common/jdbc/ISQL.java

@@ -0,0 +1,33 @@
+/***************************************************************************************************
+ * <class>: ISQL.java <desc>: ISQL interface Dependencies: (if applicable) (c) 2003,
+ * DeliriumCybertouch (BJ) Limited. All rights reserved. Last Modified By: $Author: $ Last Modified
+ * On: $Date: $
+ **************************************************************************************************/
+
+package com.acc.common.jdbc;
+
+import javax.servlet.ServletConfig;
+import javax.servlet.http.HttpServletRequest;
+
+/**
+ * <p>
+ * <tt>ISQL</tt>接口是包装SQL语句的接口类�?
+ * </p>
+ * 
+ * 
+ * @author Tony.Su
+ * @version $Revision: 1.0 $ $Date: 2002/11/25 01:30:40 $
+ */
+
+public interface ISQL
+{
+	/**
+	 * 获取动�?�的SQL语句
+	 * 
+	 * @param request servlet request
+	 * @param servletConfig servlet config
+	 * @return 动�?�的SQL语句的字符串
+	 */
+	public String getSQL(HttpServletRequest request, ServletConfig servletConfig);
+
+}

+ 119 - 0
src/com/acc/common/jdbc/JdbcDaoSupportEx.java

@@ -0,0 +1,119 @@
+package com.acc.common.jdbc;
+
+import java.sql.Connection;
+import javax.sql.DataSource;
+
+import org.springframework.dao.support.DaoSupport;
+import org.springframework.jdbc.CannotGetJdbcConnectionException;
+import org.springframework.jdbc.datasource.DataSourceUtils;
+import org.springframework.jdbc.support.SQLExceptionTranslator;
+
+public abstract class JdbcDaoSupportEx extends DaoSupport
+{
+	private JdbcTemplateEx jdbcTemplateEx;
+	/**
+	 * Set the JDBC DataSource to be used by this DAO.
+	 */
+	public final void setDataSource(DataSource dataSource)
+	{
+		
+		this.jdbcTemplateEx = createJdbcTemplateEx(dataSource);
+	}
+
+	/**
+	 * Create a JdbcTemplate for the given DataSource. Only invoked if populating the DAO with a
+	 * DataSource reference!s
+	 * <p>
+	 * Can be overridden in subclasses to provide a JdbcTemplate instance with different
+	 * configuration, or a custom JdbcTemplate subclass.
+	 * 
+	 * @param dataSource the JDBC DataSource to create a JdbcTemplate for
+	 * @return the new JdbcTemplate instance
+	 * @see #setDataSource
+	 */
+	protected JdbcTemplateEx createJdbcTemplateEx(DataSource dataSource)
+	{
+		return new JdbcTemplateEx(dataSource);
+	}
+
+	/**
+	 * Return the JDBC DataSource used by this DAO.
+	 */
+	public final DataSource getDataSource()
+	{
+		return (this.jdbcTemplateEx != null ? this.jdbcTemplateEx.getDataSource() : null);
+	}
+
+	/**
+	 * Set the JdbcTemplate for this DAO explicitly, as an alternative to specifying a DataSource.
+	 */
+	public final void setJdbcTemplate(JdbcTemplateEx jdbcTemplate)
+	{
+		this.jdbcTemplateEx = jdbcTemplate;
+	}
+
+	/**
+	 * Return the JdbcTemplate for this DAO, pre-initialized with the DataSource or set explicitly.
+	 */
+	public final JdbcTemplateEx getJdbcTemplate()
+	{
+		return jdbcTemplateEx;
+	}
+
+	protected final void checkDaoConfig()
+	{
+		if (this.jdbcTemplateEx == null)
+		{
+			throw new IllegalArgumentException("dataSource or jdbcTemplate is required");
+		}
+	}
+
+	/**
+	 * Get a JDBC Connection, either from the current transaction or a new one.
+	 * 
+	 * @return the JDBC Connection
+	 * @throws org.springframework.jdbc.CannotGetJdbcConnectionException if the attempt to get a
+	 *             Connection failed
+	 * @see org.springframework.jdbc.datasource.DataSourceUtils#getConnection(javax.sql.DataSource)
+	 */
+	protected final Connection getConnection() throws CannotGetJdbcConnectionException
+	{
+		return DataSourceUtils.getConnection(getDataSource());
+	}
+
+	/**
+	 * Return the SQLExceptionTranslator of this DAO's JdbcTemplate, for translating SQLExceptions
+	 * in custom JDBC access code.
+	 * 
+	 * @see org.springframework.jdbc.core.JdbcTemplate#getExceptionTranslator
+	 */
+	protected final SQLExceptionTranslator getExceptionTranslator()
+	{
+		return this.jdbcTemplateEx.getExceptionTranslator();
+	}
+
+	/**
+	 * Close the given JDBC Connection, created via this DAO's DataSource, if it isn't bound to the
+	 * thread.
+	 * 
+	 * @deprecated in favor of releaseConnection
+	 * @see #releaseConnection
+	 */
+	protected final void closeConnectionIfNecessary(Connection con)
+	{
+		releaseConnection(con);
+	}
+
+	/**
+	 * Close the given JDBC Connection, created via this DAO's DataSource, if it isn't bound to the
+	 * thread.
+	 * 
+	 * @param con Connection to close
+	 * @see org.springframework.jdbc.datasource.DataSourceUtils#releaseConnection
+	 */
+	protected final void releaseConnection(Connection con)
+	{
+		DataSourceUtils.releaseConnection(con, getDataSource());
+	}
+
+}

+ 15 - 0
src/com/acc/common/jdbc/LobHelper.java

@@ -0,0 +1,15 @@
+package com.acc.common.jdbc;
+
+import java.io.IOException;
+import java.sql.Connection;
+import java.util.Map;
+
+public interface LobHelper
+{
+	public Map getLobValueMap(Map dataMap);
+	
+	public Object getObjectTransLob(Object obj);
+
+	public void updateLobValue(Connection con, Map lobMap, Map dataMap, String tableName,
+			String primaryKeyName);
+}

+ 83 - 0
src/com/acc/common/jdbc/QueryUtil.java

@@ -0,0 +1,83 @@
+package com.acc.common.jdbc;
+
+import java.util.List;
+import java.util.Map;
+
+import javax.sql.DataSource;
+
+import org.springframework.dao.DataAccessException;
+
+import com.acc.common.spring.ApplicationFactory;
+
+public class QueryUtil
+{
+	
+	private long dealNum;
+	
+	public static Map queryForMap(String sql) throws DataAccessException
+	{
+		JdbcTemplateEx template = new JdbcTemplateEx(ApplicationFactory.getDataSource());
+		return template.queryForMap(sql);
+	}
+
+	public static Map queryForMap(String datasource, String sql) throws DataAccessException
+	{
+		JdbcTemplateEx template = new JdbcTemplateEx((DataSource) ApplicationFactory
+				.getService(datasource));
+		return template.queryForMap(sql);
+	}
+
+	public static Map queryForMap(String sql, Object[] args) throws DataAccessException
+	{
+		JdbcTemplateEx template = new JdbcTemplateEx(ApplicationFactory.getDataSource());
+		return template.queryForMap(sql, args);
+	}
+
+	public static Map queryForMap(String datasource, String sql, Object[] args)
+			throws DataAccessException
+	{
+		JdbcTemplateEx template = new JdbcTemplateEx((DataSource) ApplicationFactory
+				.getService(datasource));
+		return template.queryForMap(sql, args);
+	}
+
+	public static List queryForList(String sql, final Object[] args) throws DataAccessException
+	{
+		JdbcTemplateEx template = new JdbcTemplateEx(ApplicationFactory.getDataSource());
+		return template.queryForList(sql, args);
+	}
+
+	public static List queryForList(String datasource, String sql, final Object[] args)
+			throws DataAccessException
+	{
+		JdbcTemplateEx template = new JdbcTemplateEx((DataSource) ApplicationFactory
+				.getService(datasource));
+		return template.queryForList(sql, args);
+	}
+
+	public static List queryForList(String sql) throws DataAccessException
+	{
+		JdbcTemplateEx template = new JdbcTemplateEx(ApplicationFactory.getDataSource());
+		return template.queryForList(sql);
+	}
+
+	public static List queryForList(String datasource, String sql) throws DataAccessException
+	{
+		JdbcTemplateEx template = new JdbcTemplateEx((DataSource) ApplicationFactory
+				.getService(datasource));
+		return template.queryForList(sql);
+	}
+	
+	public static long queryForLong(String sql) throws DataAccessException
+	{
+		JdbcTemplateEx template = new JdbcTemplateEx(ApplicationFactory.getDataSource());
+		return template.queryForLong(sql);
+	}
+	
+	public static long queryForLong(String datasource, String sql) throws DataAccessException
+	{
+		JdbcTemplateEx template = new JdbcTemplateEx((DataSource) ApplicationFactory
+				.getService(datasource));
+		return template.queryForLong(sql);
+	}
+}

+ 251 - 0
src/com/acc/common/jdbc/Variant.java

@@ -0,0 +1,251 @@
+/***************************************************************************************************
+ * <class>: Variant.java <desc>: Variant interface Dependencies: (if applicable) (c) 2003,
+ * DeliriumCybertouch (BJ) Limited. All rights reserved. Last Modified By: $Author: $ Last Modified
+ * On: $Date: $
+ **************************************************************************************************/
+
+package com.acc.common.jdbc;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * <p>
+ * <tt>Variant</tt>是包装Prepare SQL语句的参数类�?
+ * </p>
+ * 
+ * 
+ * @author Tony.Su
+ * @version $Revision: 1.0 $ $Date: 2002/11/25 01:30:40 $
+ */
+
+public class Variant implements Serializable
+{
+	public static final int INTEGER = 1;
+
+	public static final int LONG = 2;
+
+	public static final int FLOAT = 3;
+
+	public static final int DOUBLE = 4;
+
+	public static final int BOOLEAN = 5;
+
+	public static final int STRING = 6;
+
+	public static final int DATE = 7;
+
+	public static final int BIGDECIMAL = 8;
+
+	public static final int MEMO = 9;
+
+	public static final int BLOB = 10;
+
+	public static final int OBJECT = 11;
+
+	public static final int BINARY = 12;
+
+	Object val_;
+
+	int type_;
+
+	int sqltype_;
+
+	private boolean isLob_;
+
+	public Variant(int i)
+	{
+		set(new Integer(i), 1, 0, false);
+	}
+
+	public Variant(long l)
+	{
+		set(new Long(l), 2, 0, false);
+	}
+
+	public Variant(float f)
+	{
+		set(new Float(f), 3, 0, false);
+	}
+
+	public Variant(double d)
+	{
+		set(new Double(d), 4, 0, false);
+	}
+
+	public Variant(boolean flag)
+	{
+		set(new Boolean(flag), 5, 0, false);
+	}
+
+	public Variant(String s)
+	{
+		set(s, 6, 0, false);
+	}
+
+	public Variant(String s, boolean flag)
+	{
+		set(s, 6, 0, flag);
+	}
+
+	public Variant(Date date)
+	{
+		set(date, 7, 0, false);
+	}
+
+	public Variant(BigDecimal bigdecimal)
+	{
+		set(bigdecimal, 8, 0, false);
+	}
+
+	public Variant(byte abyte0[], int i)
+	{
+		if (i != 10 && i != 12)
+		{
+			throw new IllegalArgumentException(
+					"Argument type must be either DBParameter.BLOB or DBParameter.BINARY");
+		}
+		else
+		{
+			set(abyte0, i, 0, false);
+			return;
+		}
+	}
+
+	public Variant(byte abyte0[], boolean flag)
+	{
+		set(abyte0, 10, 0, flag);
+	}
+
+	public Variant(Object obj)
+	{
+		set(obj, 11, 0, false);
+	}
+
+	public void set(Object obj, int i, int j, boolean flag)
+	{
+		val_ = obj;
+		type_ = i;
+		sqltype_ = j;
+		isLob_ = flag;
+	}
+
+	public final int getType()
+	{
+		return type_;
+	}
+
+	public final String getStringType()
+	{
+		switch (type_)
+		{
+		case 6: // '\006'
+			return "STRING";
+
+		case 1: // '\001'
+			return "INTEGER";
+
+		case 2: // '\002'
+			return "LONG";
+
+		case 3: // '\003'
+			return "FLOAT";
+
+		case 4: // '\004'
+			return "DOUBLE";
+
+		case 5: // '\005'
+			return "BOOLEAN";
+
+		case 7: // '\007'
+			return "DATE";
+
+		case 8: // '\b'
+			return "BIGDECIMAL";
+
+		case 9: // '\t'
+			return "MEMO";
+
+		case 10: // '\n'
+			return "BLOB";
+
+		case 11: // '\013'
+			return "OBJECT";
+
+		case 12: // '\f'
+			return "BINARY";
+		}
+		return "UNKOWN TYPE";
+	}
+
+	public final int getSQLType()
+	{
+		return sqltype_;
+	}
+
+	public final boolean isNull()
+	{
+		return val_ == null;
+	}
+
+	public boolean isLob()
+	{
+		return isLob_;
+	}
+
+	public final int getInt()
+	{
+		return ((Integer) val_).intValue();
+	}
+
+	public final long getLong()
+	{
+		return ((Long) val_).longValue();
+	}
+
+	public final float getFloat()
+	{
+		return ((Float) val_).floatValue();
+	}
+
+	public final double getDouble()
+	{
+		return ((Double) val_).doubleValue();
+	}
+
+	public final boolean getBoolean()
+	{
+		return ((Boolean) val_).booleanValue();
+	}
+
+	public final String getString()
+	{
+		return (String) val_;
+	}
+
+	public final Date getDate()
+	{
+		return (Date) val_;
+	}
+
+	public final BigDecimal getBigDecimal()
+	{
+		return (BigDecimal) val_;
+	}
+
+	public final byte[] getBlob()
+	{
+		return (byte[]) val_;
+	}
+
+	public final Object getObject()
+	{
+		return val_;
+	}
+
+	public String toString()
+	{
+		return val_.toString();
+	}
+}

+ 21 - 0
src/com/acc/common/jdbc/oracle/OracleCLOBValue.java

@@ -0,0 +1,21 @@
+package com.acc.common.jdbc.oracle;
+
+public class OracleCLOBValue
+{
+	private String clobString;
+
+	public void setClobString(String clobString)
+	{
+		this.clobString = clobString;
+	}
+
+	public String getClobString()
+	{
+		return clobString;
+	}
+
+	public OracleCLOBValue(String str)
+	{
+		this.clobString = str;
+	}
+}

+ 123 - 0
src/com/acc/common/jdbc/oracle/OracleDataTypeMapping.java

@@ -0,0 +1,123 @@
+package com.acc.common.jdbc.oracle;
+
+import java.io.InputStream;
+import java.math.BigDecimal;
+import java.sql.Blob;
+import java.sql.ResultSet;
+import java.sql.ResultSetMetaData;
+import java.sql.SQLException;
+import java.sql.Types;
+import java.util.Map;
+
+import org.springframework.core.CollectionFactory;
+import org.springframework.jdbc.core.RowMapper;
+import org.springframework.jdbc.support.JdbcUtils;
+import org.springframework.jdbc.support.lob.OracleLobHandler;
+
+public class OracleDataTypeMapping implements RowMapper
+{
+	public Object mapRow(ResultSet rs, int rowNum) throws SQLException
+	{
+		ResultSetMetaData rsmd = rs.getMetaData();
+		int columnCount = rsmd.getColumnCount();
+		Map mapOfColValues = createColumnMap(columnCount);
+		for (int i = 1; i <= columnCount; i++)
+		{
+			String key = getColumnKey(rsmd.getColumnName(i));
+			Object obj = getColumnValue(rs, i);
+			int columnType = rsmd.getColumnType(i);
+			if (columnType == Types.NUMERIC)
+			{
+				int columnScale = rsmd.getScale(i);
+				int columnPrecision = rsmd.getPrecision(i);
+				BigDecimal num = (BigDecimal) obj;
+				Object newObj = this.getNewObject(num, columnScale, columnPrecision);
+				mapOfColValues.put(key, newObj);
+			}
+			else if (columnType == Types.CLOB)
+			{
+				OracleLobHandler handle = new OracleLobHandler();
+				String clobStr = handle.getClobAsString(rs, i);
+				mapOfColValues.put(key, clobStr);
+			}
+            else if (columnType == Types.BLOB)
+            {
+                Blob blob = rs.getBlob(i);
+                if (blob != null)
+                {
+                    InputStream in = blob.getBinaryStream();
+                    mapOfColValues.put(key, in);
+                }
+            }
+			else
+			{
+				mapOfColValues.put(key, obj);
+			}
+		}
+		return mapOfColValues;
+	}
+
+	/**
+	 * Create a Map instance to be used as column map.
+	 * <p>
+	 * By default, a linked case-insensitive Map will be created if possible, else a plain HashMap
+	 * (see Spring's CollectionFactory).
+	 * 
+	 * @param columnCount the column count, to be used as initial capacity for the Map
+	 * @return the new Map instance
+	 * @see org.springframework.core.CollectionFactory#createLinkedCaseInsensitiveMapIfPossible
+	 */
+	protected Map createColumnMap(int columnCount)
+	{
+		return CollectionFactory.createLinkedCaseInsensitiveMapIfPossible(columnCount);
+	}
+
+	/**
+	 * Determine the key to use for the given column in the column Map.
+	 * 
+	 * @param columnName the column name as returned by the ResultSet
+	 * @return the column key to use
+	 * @see java.sql.ResultSetMetaData#getColumnName
+	 */
+	protected String getColumnKey(String columnName)
+	{
+		return columnName;
+	}
+
+	/**
+	 * Retrieve a JDBC object value for the specified column.
+	 * <p>
+	 * The default implementation uses the <code>getObject</code> method. Additionally, this
+	 * implementation includes a "hack" to get around Oracle returning a non standard object for
+	 * their TIMESTAMP datatype.
+	 * 
+	 * @param rs is the ResultSet holding the data
+	 * @param index is the column index
+	 * @return the Object returned
+	 * @see org.springframework.jdbc.support.JdbcUtils#getResultSetValue
+	 */
+	protected Object getColumnValue(ResultSet rs, int index) throws SQLException
+	{
+		return JdbcUtils.getResultSetValue(rs, index);
+	}
+
+	private Object getNewObject(BigDecimal num, int columnScale, int columnPrecision)
+	{
+		Object obj = null;
+		if (num == null) return null;
+		if (columnScale == 0)
+		{
+			if (columnPrecision <= 9) obj = new Integer(num.intValue());
+			if (columnPrecision <= 18 && columnPrecision > 9) obj = new Long(num.longValue());
+			if (columnPrecision > 18) obj = num.toBigInteger();
+		}
+		else
+		{
+			if (columnPrecision <= 32) obj = new Float(num.floatValue());
+			if (columnPrecision <= 64 && columnPrecision > 32) obj = new Double(num.doubleValue());
+			if (columnPrecision > 64) obj = num;
+		}
+		return obj;
+	}
+
+}

+ 23 - 0
src/com/acc/common/jdbc/oracle/OracleFileBlobValue.java

@@ -0,0 +1,23 @@
+package com.acc.common.jdbc.oracle;
+
+import java.io.File;
+
+public class OracleFileBlobValue
+{
+    private File blobFile;
+
+    public OracleFileBlobValue(File file)
+    {
+        this.blobFile = file;
+    }
+
+    public File getBlobFile()
+    {
+        return blobFile;
+    }
+
+    public void setBlobFile(File blobFile)
+    {
+        this.blobFile = blobFile;
+    }
+}

+ 177 - 0
src/com/acc/common/jdbc/oracle/OracleLobHelper.java

@@ -0,0 +1,177 @@
+package com.acc.common.jdbc.oracle;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.io.Reader;
+import java.io.Writer;
+import java.sql.Connection;
+import java.sql.ResultSet;
+import java.sql.Statement;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Vector;
+
+import oracle.sql.BLOB;
+import oracle.sql.CLOB;
+
+import org.apache.commons.io.CopyUtils;
+import org.apache.commons.io.FileUtils;
+import org.springframework.dao.DataAccessResourceFailureException;
+import org.springframework.jdbc.core.support.SqlLobValue;
+
+import com.acc.common.jdbc.LobHelper;
+
+public class OracleLobHelper implements LobHelper {
+
+	public Object getObjectTransLob(Object obj) {
+
+		if (obj instanceof OracleFileBlobValue) {
+			try {
+				return new SqlLobValue(FileUtils.readFileToByteArray(((OracleFileBlobValue) obj).getBlobFile()));
+			} catch (IOException e) {
+				System.out.println("OracleFileBlobValue translate SqlLobValue Error");
+				e.printStackTrace();
+			}
+		}
+		if (obj instanceof InputStream) {
+			try {
+				return   new SqlLobValue((InputStream)obj,((InputStream)obj).available());
+			} catch (IOException e) {
+				System.out.println("InputStream translate SqlLobValue Error");
+				e.printStackTrace();
+			}
+		}
+		if (obj instanceof File) {			
+			try {
+				if(!((File)obj).isFile())
+				{
+					System.out.println("File is not File");
+					throw new NullPointerException("�ļ��Dz����ڣ�������·��");
+				}
+				else
+				{
+					return new SqlLobValue(FileUtils.readFileToByteArray(((File) obj)));
+				}					
+			
+			} catch (IOException e) {
+				System.out.println("InputStream translate SqlLobValue Error");
+				e.printStackTrace();
+			}
+		}
+		if (obj instanceof Reader) {
+			try {
+				return   new SqlLobValue((Reader)obj,((Reader)obj).read());
+			} catch (IOException e) {		
+				System.out.println("Reader translate SqlLobValue Error");
+				e.printStackTrace();
+			}
+		}		
+		if (obj instanceof OracleCLOBValue) {
+			return   new SqlLobValue(((OracleCLOBValue)obj).getClobString());
+		}
+		if (obj instanceof byte[]) {
+			return   new SqlLobValue((byte[])obj);
+		}
+		return obj;
+
+	}
+
+	public Map getLobValueMap(Map dataMap) {
+		Map map = new HashMap();
+		Iterator it = dataMap.keySet().iterator();
+		while (it.hasNext()) {
+			String key = (String) it.next();
+			Object value = dataMap.get(key);
+			if (value instanceof OracleCLOBValue) {
+				map.put(key, value);
+				dataMap.put(key, "EMPTY_CLOB()");
+			}
+			if (value instanceof OracleFileBlobValue) {
+				map.put(key, value);
+
+				try {
+					dataMap.put(key, new SqlLobValue(FileUtils
+							.readFileToByteArray(((OracleFileBlobValue) value)
+									.getBlobFile())));
+				} catch (IOException e) {
+
+					e.printStackTrace();
+				}
+			}
+		}
+		return map;
+	}
+
+	public void updateLobValue(Connection con, Map lobMap, Map dataMap,
+			String tableName, String primaryKeyName) {
+		String keystr = "";
+		List keyOrder = new Vector();
+		Iterator it = lobMap.keySet().iterator();
+		while (it.hasNext()) {
+			String key = (String) it.next();
+			keystr = keystr + key + ",";
+			keyOrder.add(key);
+		}
+		keystr = keystr.substring(0, keystr.length() - 1);
+		String sql = "select " + keystr + " from " + tableName + " where ";
+
+		Object pkvalue = dataMap.get(primaryKeyName);
+		if (pkvalue instanceof Long) {
+			sql = sql + primaryKeyName + "=" + pkvalue + " for update";
+		} else if (pkvalue instanceof Integer) {
+			sql = sql + primaryKeyName + "=" + pkvalue + " for update";
+		} else if (pkvalue instanceof String) {
+			sql = sql + primaryKeyName + "='" + pkvalue + "' for update";
+		}
+		Statement sta = null;
+		ResultSet rs = null;
+		try {
+			sta = con.createStatement();
+			rs = sta.executeQuery(sql);
+			rs.next();
+			for (int j = 0; j < keyOrder.size(); j++) {
+				String key = (String) keyOrder.get(j);
+				Object value = lobMap.get(key);
+				if (value instanceof OracleCLOBValue) {
+					OracleCLOBValue clobvalue = (OracleCLOBValue) value;
+					String str = clobvalue.getClobString();
+					if (str != null && str.trim().length() != 0) {
+						CLOB tempClob = (CLOB) rs.getClob(key);
+						Writer tempClobWriter = tempClob
+								.getCharacterOutputStream();
+						tempClobWriter.write(str);
+						tempClobWriter.flush();
+						tempClobWriter.close();
+					}
+				}
+				if (value instanceof OracleFileBlobValue) {
+					OracleFileBlobValue blobvalue = (OracleFileBlobValue) value;
+					BLOB tempBlob = (BLOB) rs.getBlob(key);
+					OutputStream tempout = tempBlob.getBinaryOutputStream();
+					FileInputStream filein = new FileInputStream(blobvalue
+							.getBlobFile());
+					CopyUtils.copy(filein, tempout);
+					tempout.flush();
+					tempout.close();
+					filein.close();
+				}
+			}
+		} catch (Exception e) {
+			e.printStackTrace(System.out);
+			throw new DataAccessResourceFailureException(e.getMessage());
+		} finally {
+			try {
+				if (rs != null)
+					rs.close();
+				if (sta != null)
+					sta.close();
+			} catch (Exception e) {
+			}
+		}
+	}
+}

+ 38 - 0
src/com/acc/common/jdbc/oracle/OracleTypes.java

@@ -0,0 +1,38 @@
+package com.acc.common.jdbc.oracle;
+
+import java.sql.Types;
+import java.util.Date;
+
+import org.springframework.jdbc.core.support.SqlLobValue;
+
+public class OracleTypes {
+	public static int getTypeByObject(Object obj) {
+
+		if (obj == null||obj.equals("")) {
+			return Types.NULL;
+		}
+		if (obj instanceof Date) {
+			return Types.TIME;
+		}
+		if (obj instanceof String) {
+			return Types.VARCHAR;
+		}
+		if (obj instanceof Integer) {
+			return Types.INTEGER;
+		}
+		if (obj instanceof Double) {
+			return Types.DOUBLE;
+		}
+		if (obj instanceof Character) {
+			return Types.CHAR;
+		}
+		if (obj instanceof SqlLobValue) {
+			return Types.BLOB;
+		}
+		if (obj instanceof Long) {
+			return Types.LONGVARCHAR;
+		}		
+		return Types.VARCHAR;
+
+	}
+}

+ 2 - 0
src/com/acc/common/run.bat

@@ -0,0 +1,2 @@
+del LocalStrings.properties
+native2ascii LocalStrings_src.properties LocalStrings.properties

+ 48 - 0
src/com/acc/common/spring/ApplicationFactory.java

@@ -0,0 +1,48 @@
+package com.acc.common.spring;
+
+import javax.sql.DataSource;
+
+import org.springframework.beans.BeansException;
+import org.springframework.context.ApplicationContext;
+import org.springframework.context.ApplicationContextAware;
+import org.springframework.context.support.ClassPathXmlApplicationContext;
+import org.springframework.context.support.MessageSourceAccessor;
+
+public class ApplicationFactory implements ApplicationContextAware {
+	private static ApplicationContext ctx = null;
+
+	private static MessageSourceAccessor message = null;
+
+	public static ApplicationContext getContext() {
+		if (ctx == null) {
+			ctx = new ClassPathXmlApplicationContext(new String[] {
+					"ApplicationContext_Framework.xml","ApplicationContext_systemmanager.xml"});
+		}
+		return ctx;
+	}
+
+	public void setApplicationContext(ApplicationContext context)
+			throws BeansException {
+		ctx = context;
+	}
+
+	public static MessageSourceAccessor getMessageSourceAccessor() {
+		if (message == null) {
+			message = new MessageSourceAccessor(getContext());
+		}
+		return message;
+	}
+
+	public static DataSource getDataSource() {
+		return (DataSource) getContext().getBean("jdbcdataSource");
+	}
+
+	public static DataSource getDataSource(String datasource) {
+		return (DataSource) getContext().getBean(datasource);
+	}
+
+	public static Object getService(String serviceId) {
+		return getContext().getBean(serviceId);
+	}
+
+}

+ 17 - 0
src/com/acc/common/spring/ThrowAdviceMethods.java

@@ -0,0 +1,17 @@
+package com.acc.common.spring;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+public class ThrowAdviceMethods
+{
+	private static final Log logger = LogFactory.getLog(ThrowAdviceMethods.class);
+
+	// 抛出异常增强
+	public void afterThrowingMethod(Exception exception)
+	{
+		exception.printStackTrace();
+		logger.info(exception);
+	}
+
+}

+ 26 - 0
src/com/acc/framework/dictionary/exception/DictionaryNameExist.java

@@ -0,0 +1,26 @@
+package com.acc.framework.dictionary.exception;
+
+public class DictionaryNameExist extends Exception
+{
+	private String dictionaryName;
+
+	public void setDictionaryName(String dictionaryName)
+	{
+		this.dictionaryName = dictionaryName;
+	}
+
+	public String getDictionaryName()
+	{
+		return dictionaryName;
+	}
+
+	public DictionaryNameExist()
+	{
+	}
+
+	public DictionaryNameExist(String name)
+	{
+		this.dictionaryName = name;
+	}
+
+}

+ 26 - 0
src/com/acc/framework/dictionary/exception/DictionaryNumberExist.java

@@ -0,0 +1,26 @@
+package com.acc.framework.dictionary.exception;
+
+public class DictionaryNumberExist extends Exception
+{
+	private String dictionaryNumber;
+
+	public void setDictionaryNumber(String dictionaryNumber)
+	{
+		this.dictionaryNumber = dictionaryNumber;
+	}
+
+	public String getDictionaryNumber()
+	{
+		return dictionaryNumber;
+	}
+
+	public DictionaryNumberExist()
+	{
+	}
+
+	public DictionaryNumberExist(String number)
+	{
+		this.dictionaryNumber = number;
+	}
+
+}

+ 45 - 0
src/com/acc/framework/dictionary/service/DictionaryService.java

@@ -0,0 +1,45 @@
+package com.acc.framework.dictionary.service;
+
+import java.util.List;
+import java.util.Map;
+
+public interface DictionaryService {
+	/**
+	 * 根据ReferenceID查询ReferenceName
+	 */
+	public String queryDataDictInfoForName(String DataDictID, String ReferenceID);
+
+	/**
+	 * 得到某个分类的所有字典属性[catch]
+	 */
+	public List getDictionaryByKey(String key);
+
+	/**
+	 * 根据DataDictInfoId对字典属性进行排序
+	 */
+	public String updateDataDictOrder(String DataDictInfoId,
+			String[] DataDictOrder);
+
+	/**
+	 * 获得数据字典分类树
+	 */
+	public List getDictionaryTree();
+	
+	public String queryDictionary(String DataDictInfoId);
+
+	/**
+	 * 插入字典属性
+	 */
+	public String insertSecondTree(Map map);
+
+	/**
+	 * 删除字典属性并保存日志表中
+	 */
+	public String deleteDictionary(Map map);
+/*
+ * 先把要修改的字典数据插入到日志表中然后执行修改
+ */
+	public String saveOrUpdate(Map map);
+
+	
+}

+ 262 - 0
src/com/acc/framework/dictionary/service/impl/DictionaryServiceImpl.java

@@ -0,0 +1,262 @@
+package com.acc.framework.dictionary.service.impl;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Vector;
+
+import org.apache.commons.collections.MapUtils;
+
+import com.acc.framework.dictionary.dao.DataDictInfoDAO;
+import com.acc.framework.dictionary.dao.DictionaryDAO;
+import com.acc.framework.dictionary.service.DictionaryService;
+
+
+
+public class DictionaryServiceImpl //implements DictionaryService
+{
+	/*
+    public static String FOLDERSTREE = "foldersTree";
+
+    public static String FOLDER = "folder";
+    private DictionaryDAO dictionaryDAO;
+    private DataDictInfoDAO dataDictInfoDAO;
+
+    private Map dictionaryMap;
+    
+    private Map dictMap;
+    
+    private Map dictIdMap;
+    
+    private Map dictIsMap;
+
+    public DictionaryServiceImpl()
+    {
+        dictionaryMap = new HashMap();
+        dictMap = new HashMap();
+        dictIdMap = new HashMap();
+        dictIsMap = new HashMap();
+    }
+
+    public List getDictionaryByKey(String key)
+    {
+        List list = (List) dictionaryMap.get(key);
+        if (list != null) return list;
+        return new Vector();
+    }
+    public void loadDataDictDate()
+    {
+        List list = dataDictInfoDAO.queryDataDictInfoIdList();
+        for (int i = 0; i < list.size(); i++)
+        {
+            Map map = (Map) list.get(i);
+
+            String DataDictInfoId = (String) map.get("DataDictInfoId");
+            List dictList = dataDictInfoDAO.queryDataDictInfoById(DataDictInfoId);
+            if (dictList == null) continue;
+            dictionaryMap.put(DataDictInfoId, dictList);
+            
+            Map newMap = new HashMap();
+            Map idMap = new HashMap();
+            Map isMap = new HashMap();
+            for (int j = 0; j < dictList.size(); j++)
+            {
+                Map temp = (Map) dictList.get(j);
+                String rId = MapUtils.getString(temp, "ReferenceId", "");
+                String rValue = MapUtils.getString(temp, "ReferenceValue", "");    
+                String Ispredefine = MapUtils.getString(temp, "Ispredefine", "");    
+                newMap.put(rId,rValue);
+                idMap.put(rValue, rId);
+                isMap.put(rId, Ispredefine);
+            }
+            this.dictMap.put(DataDictInfoId,newMap);
+            this.dictIdMap.put(DataDictInfoId, idMap);
+            this.dictIsMap.put(DataDictInfoId, isMap);
+        }
+    }
+
+    /**
+     * 通过字典码得到字典值
+     */
+	/**
+    public String queryDataDictInfoForName(String DataDictID, String ReferenceID)
+    {
+        Map map = (Map)this.dictMap.get(DataDictID);
+        if (map == null) return "";        
+        String ReferenceValue = MapUtils.getString(map, ReferenceID, "");
+        return ReferenceValue;
+    }
+
+    /**
+     * deleteDictionary
+     * 
+     * @param tableName
+     *            String
+     * @param TableID
+     *            String
+     * @param recordID
+     *            String
+     */
+	/**
+    public String deleteDictionary(Map map)
+    {
+    	String DATADICTINFOID =MapUtils.getString(map, "DATADICTINFOID");
+    	String REFERENCEID =MapUtils.getString(map, "REFERENCEID");
+    	String REFERENCEVALUE =MapUtils.getString(map, "REFERENCEVALUE");
+    	List list= dataDictInfoDAO.selectFirstDelete(DATADICTINFOID, REFERENCEID);
+    	if (list.size()>1) return "-1";
+    	Map lmap=(Map) list.get(0);
+    	Date date=new Date();
+    	lmap.put("UDDATE", date);
+    	lmap.put("TYPE", "2");
+    	dataDictInfoDAO.insertDAOlog(lmap);
+        dataDictInfoDAO.deleteDAO(DATADICTINFOID, REFERENCEID);
+        return "1";
+    }
+    public String saveOrUpdate(Map map)
+    {	
+    	String DATADICTINFOID =MapUtils.getString(map, "DATADICTINFOID");
+    	String REFERENCEID =MapUtils.getString(map, "REFERENCEID");
+    	String ID =MapUtils.getString(map, "ID");
+    	String VALUE =MapUtils.getString(map, "VALUE");
+    	String ISPREDEFINE=MapUtils.getString(map, "ISPREDEFINE");
+		try{
+    	List list= dataDictInfoDAO.selectFirstDelete(DATADICTINFOID, REFERENCEID);
+    	Map lmap=(Map) list.get(0);
+    	Date date=new Date();
+    	lmap.put("UDDATE", date);
+    	lmap.put("TYPE", "1");
+    	dataDictInfoDAO.insertDAOlog(lmap);
+        dataDictInfoDAO.updateDataDict(DATADICTINFOID, REFERENCEID,ID,VALUE,ISPREDEFINE);
+        return "1";
+		}catch(Exception e){
+			return "-2";
+		}
+    }
+    /**
+     * getDictionaryTree
+     * 拼接数据字典
+     * @return List
+     */
+	/**
+    public List getDictionaryTree()
+    {
+        List rootList = dictionaryDAO.queryDictionaryParent0();
+        List twoList=dictionaryDAO.queryDictionaryParent1();
+        List list =new ArrayList();
+        for(int i=0;i<rootList.size();i++){
+	    	Map rootMap=(Map)rootList.get(i);
+	    	String DataDictId=MapUtils.getString(rootMap, "DataDictId");
+	    	String DATADICTNAME=MapUtils.getString(rootMap, "DATADICTNAME");
+	    	Map map=new HashMap();
+	    	map.put("ID", DataDictId);
+	    	map.put("NAME", DATADICTNAME);
+	    	map.put("PID", "-1");
+	    	list.add(map);
+	    }
+        for(int i=0;i<rootList.size();i++){
+        	Map rootMap=(Map)rootList.get(i);
+        	String DATADICTID=MapUtils.getString(rootMap, "DATADICTID");
+        	List idList=dictionaryDAO.queryDatadictinfo(DATADICTID);
+        	for(int j=0;j<idList.size();j++){
+        		Map idMap=(Map)idList.get(j);
+        		String IDDICTID=MapUtils.getString(idMap, "DATADICTID");
+            	String DATADICTNAME=MapUtils.getString(idMap, "DATADICTNAME");
+            	String PARENTID=MapUtils.getString(idMap, "PARENTID");
+            	Map map=new HashMap();
+            	map.put("ID", IDDICTID);
+            	map.put("NAME", DATADICTNAME);
+            	map.put("PID", PARENTID);
+            	map.put("URL", "dictionary_detailview.jsp?datadictid="+IDDICTID);
+            	map.put("TARGET", "right");
+            	list.add(map);
+        	}
+        }
+        for(int i=0;i<twoList.size();i++){
+        	Map twoMap=(Map)twoList.get(i);
+        	String DATADICTID=MapUtils.getString(twoMap, "DATADICTID");
+        	String DATADICTNAME=MapUtils.getString(twoMap, "DATADICTNAME");
+        	String PARENTID=MapUtils.getString(twoMap, "PARENTID");
+        	Map map=new HashMap();
+        	map.put("ID", DATADICTID);
+        	map.put("NAME", DATADICTNAME);
+        	map.put("PID", PARENTID);
+        	map.put("URL", "dictionary_detailview.jsp?datadictid="+DATADICTID);
+        	map.put("TARGET", "right");
+        	list.add(map);
+        }
+        return list;
+    }
+
+    public String  queryDictionary(String DataDictInfoId)
+    {
+    	//查询到父节点(DataDictInfoId)下的所有子节点
+    	List list=dataDictInfoDAO.queryDataDictInfoById(DataDictInfoId);
+    	String optionsstr="";
+    	//拼接成option形式
+    	for(int i = 0; i< list.size(); i++){
+        	Map mapoption = ( Map )list.get( i );
+        	String ID = (String)mapoption.get( "REFERENCEID" );
+        	String VALUE = (String)mapoption.get("REFERENCEVALUE");
+        	optionsstr+="<option value=\""+ID+"\">"+VALUE+"</option>";
+    	}
+    	return optionsstr;
+    }
+    /*
+     * 功能说明:先查询出最大的字典编码然后加1 字典排序默认是0 使用状态默认是使用(1)
+     */
+	/**
+    public String insertSecondTree(Map map){
+    	String DATADICTID=MapUtils.getString(map, "DATADICTINFOID");
+    	String REFERENCEID=MapUtils.getString(map, "REFERENCEID");
+    	String REFERENCEVALUE =MapUtils.getString(map, "REFERENCEVALUE");
+    	Map idmap=dataDictInfoDAO.opinionReferenceID(DATADICTID, REFERENCEID);
+    	// 判断名称是否已经存在
+		if (idmap.size() > 0) return "-1";
+		Map valuemap=dataDictInfoDAO.opinionReferenceValue(DATADICTID, REFERENCEVALUE);
+		if (valuemap.size() > 0) return "-3";
+		try{
+	    	int pcid=dataDictInfoDAO.queryMaxDatadictorder(DATADICTID);    	
+	    	Date date=new Date();
+	    	map.put("DATADICTORDER", (pcid+1));
+	    	map.put("ISPREDEFINE", "1");
+	    	map.put("SYNCTIME", date);
+	    	dataDictInfoDAO.insertDAO(map);
+    	return "1";
+		}catch(Exception e){
+			return "-2";
+		}
+    }
+    /**
+     * updateDataDictOrder
+     * 
+     * @param DataDictOrder
+     *            String[]
+     */
+	/**
+    public String updateDataDictOrder(String DataDictInfoId, String[] ReferenceID)
+    {
+    	try{
+	        for (int i = 0; i < ReferenceID.length; i++)
+	        {
+	            dataDictInfoDAO.updateDataDictOrder(i+"", DataDictInfoId, ReferenceID[i]);
+	        }
+	        loadDataDictDate();
+	        return "1";
+    	}catch(Exception e){
+    		return "-1";
+    	}
+    }
+    
+	public void setDictionaryDAO(DictionaryDAO dictionaryDAO) {
+		this.dictionaryDAO = dictionaryDAO;
+	}
+
+	public void setDataDictInfoDAO(DataDictInfoDAO dataDictInfoDAO) {
+		this.dataDictInfoDAO = dataDictInfoDAO;
+	}
+	*/
+	
+}

+ 33 - 0
src/com/acc/framework/organization/action/OrganizationAction.java

@@ -0,0 +1,33 @@
+package com.acc.framework.organization.action;
+/*
+import java.io.PrintWriter;
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletResponse;
+import org.apache.struts.actions.DispatchAction;
+import org.apache.struts2.ServletActionContext;
+import org.springframework.stereotype.Component;
+import com.acc.framework.organization.service.OrganizationService;
+
+@Component
+*/
+public class OrganizationAction //extends DispatchAction
+{
+	/*
+	@Resource(name = "organizationService")
+	private OrganizationService organizationService;
+
+	public String getChildOrgXml() throws Exception
+	{
+		HttpServletResponse response = ServletActionContext.getResponse();
+		response.setCharacterEncoding("UTF-8");
+		response.setContentType("text/html; charset=UTF-8");
+		PrintWriter out = response.getWriter();
+		String parent_no = ServletActionContext.getRequest().getParameter("parent_no");
+		String returnXML = organizationService.getChildOryXmlByParentNo(parent_no);
+		// if (returnXML.length() > 0) returnXML = returnXML.substring(0, returnXML.length());
+		out.println(returnXML);
+		out.close();
+		return null;
+	}
+*/
+}

+ 94 - 0
src/com/acc/framework/organization/dao/OrganizationDAO.java

@@ -0,0 +1,94 @@
+package com.acc.framework.organization.dao;
+
+import java.util.List;
+import java.util.Map;
+import org.springframework.stereotype.Repository;
+import com.acc.common.annotation.inject.parent.InjectItem;
+import com.acc.common.annotation.inject.parent.ParentInject;
+import com.acc.common.jdbc.JdbcDaoSupportEx;
+import com.acc.common.jdbc.JdbcTemplateEx;
+
+@Repository
+@ParentInject(items = @InjectItem(attr = "dataSource", ref = "jdbcdataSource"))
+public class OrganizationDAO extends JdbcDaoSupportEx
+{
+	public List queryEveryParent()
+	{
+		String sql = "select *  from umorganization t where t.parent_no='11' and org_status='1' order by org_order";
+		JdbcTemplateEx template = this.getJdbcTemplate();
+		return template.queryForList(sql);
+	}
+
+	public List queryChildOrgByParentNo(String parent_no)
+	{
+		JdbcTemplateEx template = this.getJdbcTemplate();
+		String sql = "select * from umorganization t where org_status = '1'  and t.parent_no = '"
+				+ parent_no + "'";
+		return template.queryForList(sql);
+	}
+
+	public Map queryOrgNameByOrgNo(String OrgNo)
+	{
+		String sql = "select *  from umorganization t where org_status='1' " + "and Org_No='"
+				+ OrgNo + "'";
+		JdbcTemplateEx template = this.getJdbcTemplate();
+		return template.queryForMap(sql);
+	}
+
+	public List queryLatestOrgNoForSJ()
+	{
+		String sql = "select * from umorganization where  org_no like '%T%' order by org_no desc";
+		JdbcTemplateEx template = this.getJdbcTemplate();
+		return template.queryForList(sql);
+	}
+
+	public boolean isExsit(String id, String orgName)
+	{
+		String sql = "select *  from umorganization t where parent_no = ? and t.org_name like '"
+				+ orgName + "%'";
+		JdbcTemplateEx template = this.getJdbcTemplate();
+		return template.hasResult(sql, new Object[] { id });
+	}
+
+	public List queryListSuobyJuId(String parent_no)
+	{
+		String sql = "select *  from umorganization t where parent_no = ?";
+		JdbcTemplateEx template = this.getJdbcTemplate();
+		return template.queryForList(sql, new Object[] { parent_no });
+	}
+
+	public Map queryOrgMapById(String id)
+	{
+		String sql = "select *  from umorganization where org_no=? and org_status='1'";
+		JdbcTemplateEx template = this.getJdbcTemplate();
+		return template.queryForMap(sql, new Object[] { id });
+	}
+
+	public String getOrgNameByOrgNo(String orgno)
+	{
+		String sql = "select org_name  from umorganization where org_no=? and org_status='1' ";
+		JdbcTemplateEx template = this.getJdbcTemplate();
+		return template.queryForString(sql, new Object[] { orgno });
+	}
+
+	public boolean IsExistOrgno(String orgno)
+	{
+		JdbcTemplateEx template = this.getJdbcTemplate();
+		String sql = "select * from umorganization t where t.org_no='" + orgno + "'";
+		return template.hasResult(sql);
+	}
+
+	public Map queryByOrgno(String orgno)
+	{
+		JdbcTemplateEx template = this.getJdbcTemplate();
+		String sql = "select * from umorganization t where t.org_no='" + orgno + "'";
+		return template.queryForMap(sql);
+	}
+
+	public Map queryByOrgID(String orgid)
+	{
+		JdbcTemplateEx template = this.getJdbcTemplate();
+		String sql = "select * from umorganization t where t.org_id='" + orgid + "'";
+		return template.queryForMap(sql);
+	}
+}

+ 21 - 0
src/com/acc/framework/organization/exception/OrgNameExistException.java

@@ -0,0 +1,21 @@
+package com.acc.framework.organization.exception;
+
+public class OrgNameExistException extends Exception
+{
+    private String orgName;
+
+    public String getOrgName()
+	{
+		return orgName;
+	}
+
+	public void setOrgName(String orgName)
+	{
+		this.orgName = orgName;
+	}
+
+	public OrgNameExistException(String orgname)
+    {
+        this.orgName = orgname;
+    }
+}

+ 19 - 0
src/com/acc/framework/organization/service/OrganizationService.java

@@ -0,0 +1,19 @@
+package com.acc.framework.organization.service;
+
+import java.util.List;
+import java.util.Map;
+
+public interface OrganizationService
+{
+	public List queryEveryParent();
+
+	public List queryChildOryByParentNo(String parent_no);
+
+	public String getChildOryXmlByParentNo(String parent_no);
+
+	public Map queryOrgNameByOrgNo(String OrgNo);
+
+	public String getOrgNameByOrgNo(String orgno);
+
+	public Map queryOrgName(String orgno);
+}

+ 59 - 0
src/com/acc/framework/organization/service/impl/OrganizationServiceImp.java

@@ -0,0 +1,59 @@
+package com.acc.framework.organization.service.impl;
+
+import java.util.List;
+import java.util.Map;
+import javax.annotation.Resource;
+import org.apache.commons.collections.MapUtils;
+import org.springframework.stereotype.Service;
+import com.acc.framework.organization.dao.OrganizationDAO;
+import com.acc.framework.organization.service.OrganizationService;
+
+//@Service(value = "organizationService")
+public class OrganizationServiceImp //implements OrganizationService
+{	
+	/*
+	@Resource(name = "organizationDAO")
+	private OrganizationDAO organizationDAO;
+
+	public List queryEveryParent()
+	{
+		return this.organizationDAO.queryEveryParent();
+	}
+
+	public List queryChildOryByParentNo(String parent_no)
+	{
+		return organizationDAO.queryChildOrgByParentNo(parent_no);
+	}
+	
+	public String getChildOryXmlByParentNo(String parent_no){
+		List orgList = queryChildOryByParentNo(parent_no);
+		String strXml = "<option value=''>请选择</option>";
+		for (int i = 0; i < orgList.size(); i++)
+		{
+			Map map = (Map) orgList.get(i);
+			String Code = MapUtils.getString(map, "ORG_NO");
+			String Name = MapUtils.getString(map, "ORG_NAME");
+			strXml+="<option value="+Code+">"+Name+"</option>";
+		}
+		return strXml;
+	}
+
+	public Map queryOrgNameByOrgNo(String Org_No)
+	{
+		return this.organizationDAO.queryOrgNameByOrgNo(Org_No);
+	}
+
+	public String getOrgNameByOrgNo(String orgno)
+	{
+		Map map = this.organizationDAO.queryOrgMapById(orgno);
+		if (map == null || map.size() == 0) return "";
+		String orgname = MapUtils.getString(map, "org_name", "");
+		return orgname;
+	}
+
+	public Map queryOrgName(String orgno)
+	{
+		return organizationDAO.queryByOrgno(orgno);
+	}
+*/
+}

+ 15 - 0
src/com/acc/framework/permission/PermissionFilter.java

@@ -0,0 +1,15 @@
+package com.acc.framework.permission;
+
+import com.opensymphony.xwork2.ActionInvocation;
+import com.opensymphony.xwork2.interceptor.AbstractInterceptor;
+
+public class PermissionFilter extends AbstractInterceptor
+{
+
+	public String intercept(ActionInvocation arg0) throws Exception
+	{
+
+		return null;
+	}
+
+}

+ 63 - 0
src/com/acc/framework/umuserrole/action/RoleAction.java

@@ -0,0 +1,63 @@
+package com.acc.framework.umuserrole.action;
+/*
+import java.util.List;
+import java.util.Map;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpSession;
+
+import org.apache.commons.collections.CollectionUtils;
+import org.apache.struts2.ServletActionContext;
+import org.springframework.stereotype.Component;
+
+import com.acc.GlobalsParameter;
+import com.acc.framework.session.UserInfo;
+import com.acc.framework.umuserrole.service.RoleMenuService;
+import com.acc.framework.umuserrole.service.RoleService;
+import com.acc.util.common.ParameterUtil;
+import com.opensymphony.xwork2.ActionSupport;
+
+@Component
+*/
+public class RoleAction //extends ActionSupport
+{
+	/*
+	@Resource(name = "roleService")
+	private RoleService roleService;
+
+	@Resource(name = "roleMenuService")
+	private RoleMenuService roleMenuService;
+
+	public String add() throws Exception
+	{
+		Map map = ParameterUtil.getParameter(ServletActionContext.getRequest());
+		roleService.insert(map);
+		return GlobalsParameter.LIST;
+	}
+
+	public String delete() throws Exception
+	{
+		String r_id = ServletActionContext.getRequest().getParameter("roleid");
+		roleService.delete(r_id);
+		roleMenuService.delete(r_id);
+		return GlobalsParameter.LIST;
+	}
+
+	public String queryManager() throws Exception
+	{
+		String r_id = ServletActionContext.getRequest().getParameter("roleid");
+		List list = roleService.queryRoleManagerById(r_id);
+		List allList = roleService.queryRoleAll();
+		List nlist = (List) CollectionUtils.disjunction(allList, list);
+		ServletActionContext.getRequest().setAttribute("list", list);
+		ServletActionContext.getRequest().setAttribute("nlist", nlist);
+		return "update";
+
+	}
+
+	public String list() throws Exception
+	{
+		return GlobalsParameter.LIST;
+	}
+	*/
+}

+ 57 - 0
src/com/acc/framework/umuserrole/action/RoleMenuAction.java

@@ -0,0 +1,57 @@
+package com.acc.framework.umuserrole.action;
+
+import java.util.Map;
+import javax.annotation.Resource;
+import net.sf.json.JSONArray;
+import org.apache.commons.collections.MapUtils;
+import org.apache.struts2.ServletActionContext;
+import org.springframework.stereotype.Component;
+import com.acc.GlobalsParameter;
+import com.acc.framework.umuserrole.service.RoleMenuService;
+import com.acc.util.common.ParameterUtil;
+import com.opensymphony.xwork2.ActionSupport;
+
+@Component
+public class RoleMenuAction extends ActionSupport
+{
+	/*
+	@Resource(name = "roleMenuService")
+	private RoleMenuService roleMenuService;
+
+	private String menus;
+
+	public String getMenus()
+	{
+		return menus;
+	}
+
+	public void setMenus(String menus)
+	{
+		this.menus = menus;
+	}
+
+	public String add() throws Exception
+	{
+		Map map = ParameterUtil.getParameter(ServletActionContext.getRequest());
+		String R_ID = MapUtils.getString(map, "R_ID");
+		roleMenuService.delete(R_ID);
+		String L_IDS = MapUtils.getString(map, "L_ID");
+		String[] L_ID = L_IDS.split(",");
+		for (int i = 0; i < L_ID.length; i++)
+		{
+			map.put("L_ID", L_ID[i]);
+			roleMenuService.insert(map);
+		}
+
+		return GlobalsParameter.LIST;
+	}
+
+	public String upload() throws Exception
+	{
+		String r_id = ServletActionContext.getRequest().getParameter("roleid");
+		JSONArray js = JSONArray.fromObject(roleMenuService.getMenuList(r_id));
+		this.setMenus(js.toString());
+		return "upload";
+	}
+	*/
+}

+ 45 - 0
src/com/acc/framework/umuserrole/dao/MenuSysRoleDAO.java

@@ -0,0 +1,45 @@
+package com.acc.framework.umuserrole.dao;
+
+import java.util.List;
+import java.util.Map;
+
+import org.springframework.stereotype.Repository;
+
+import com.acc.common.annotation.inject.parent.InjectItem;
+import com.acc.common.annotation.inject.parent.ParentInject;
+import com.acc.common.jdbc.JdbcDaoSupportEx;
+import com.acc.common.jdbc.JdbcTemplateEx;
+
+@Repository
+@ParentInject(items = @InjectItem(attr = "dataSource", ref = "jdbcdataSource"))
+public class MenuSysRoleDAO extends JdbcDaoSupportEx
+{
+	public void insert(Map map)
+	{
+		JdbcTemplateEx template = this.getJdbcTemplate();
+		map.put("R_ID", getMaxId() + 1);
+		template.insertMap(map, "menu_sys_role");
+	}
+
+	public int getMaxId()
+	{
+		JdbcTemplateEx template = this.getJdbcTemplate();
+		String sql = "select max(r_id) from menu_sys_role";
+		return template.queryForInt(sql);
+	}
+
+	public void delete(String r_id)
+	{
+		JdbcTemplateEx template = this.getJdbcTemplate();
+		String sql = "delete from menu_sys_role where r_id=?";
+		template.update(sql, new Object[] { r_id });
+	}	
+	
+	
+	public List queryAllRole()
+	{
+		JdbcTemplateEx template = this.getJdbcTemplate();
+		String sql = "select * from menu_sys_role";
+		return template.queryForList(sql);
+	}
+}

+ 22 - 0
src/com/acc/framework/umuserrole/dao/MenuSysrolemanageDAO.java

@@ -0,0 +1,22 @@
+package com.acc.framework.umuserrole.dao;
+
+import java.util.List;
+
+import org.springframework.stereotype.Repository;
+
+import com.acc.common.annotation.inject.parent.InjectItem;
+import com.acc.common.annotation.inject.parent.ParentInject;
+import com.acc.common.jdbc.JdbcDaoSupportEx;
+import com.acc.common.jdbc.JdbcTemplateEx;
+
+@Repository
+@ParentInject(items = @InjectItem(attr = "dataSource", ref = "jdbcdataSource"))
+public class MenuSysrolemanageDAO extends JdbcDaoSupportEx
+{
+	public List queryManagerById(String roleid)
+	{
+		JdbcTemplateEx template = this.getJdbcTemplate();
+		String sql="select * from menu_sys_role_manage t where t.ROLEID=?";
+		return template.queryForList(sql,roleid);
+	}
+}

+ 43 - 0
src/com/acc/framework/umuserrole/dao/MenuUserRoleListDAO.java

@@ -0,0 +1,43 @@
+package com.acc.framework.umuserrole.dao;
+
+import java.util.List;
+import java.util.Map;
+import org.springframework.stereotype.Repository;
+import com.acc.common.annotation.inject.parent.InjectItem;
+import com.acc.common.annotation.inject.parent.ParentInject;
+import com.acc.common.jdbc.JdbcDaoSupportEx;
+import com.acc.common.jdbc.JdbcTemplateEx;
+
+@Repository
+@ParentInject(items = @InjectItem(attr = "dataSource", ref = "jdbcdataSource"))
+public class MenuUserRoleListDAO extends JdbcDaoSupportEx
+{
+	public void insert(Map map)
+	{
+		JdbcTemplateEx template = this.getJdbcTemplate();
+		map.put("ID", getMaxId() + 1);
+		template.insertMap(map, "menu_user_role_list");
+	}
+
+	public int getMaxId()
+	{
+		JdbcTemplateEx template = this.getJdbcTemplate();
+		String sql = "select max(id) from menu_user_role_list";
+		return template.queryForInt(sql);
+	}
+
+	public List getMenuByRoleId(String r_id)
+	{
+		JdbcTemplateEx template = this.getJdbcTemplate();
+		String sql = "select L_ID from menu_user_role_list where r_id=?";
+		return template.queryForList(sql, new Object[] { r_id });
+	}
+
+	public void delete(String r_id)
+	{
+		JdbcTemplateEx template = this.getJdbcTemplate();
+		String sql = "delete from menu_user_role_list where r_id=?";
+		template.update(sql, new Object[] { r_id });
+	}
+
+}

+ 36 - 0
src/com/acc/framework/umuserrole/dao/MenuUserSysRoleDAO.java

@@ -0,0 +1,36 @@
+package com.acc.framework.umuserrole.dao;
+
+import java.util.List;
+import java.util.Map;
+import org.springframework.stereotype.Repository;
+import com.acc.common.annotation.inject.parent.InjectItem;
+import com.acc.common.annotation.inject.parent.ParentInject;
+import com.acc.common.jdbc.JdbcDaoSupportEx;
+import com.acc.common.jdbc.JdbcTemplateEx;
+
+@Repository
+@ParentInject(items = @InjectItem(attr = "dataSource", ref = "jdbcdataSource"))
+public class MenuUserSysRoleDAO extends JdbcDaoSupportEx
+{
+
+	public void insertUserRole(Map map)
+	{
+		JdbcTemplateEx template = this.getJdbcTemplate();
+		map.put("ID", "-2");
+		template.insertMap(map, "MENU_USER_SYS_ROLE", "ID");
+	}
+
+	public void deleteUserRoleByUserId(String user_id)
+	{
+		JdbcTemplateEx template = this.getJdbcTemplate();
+		String sql = " delete from menu_user_sys_role where user_id ='" + user_id + "'";
+		template.execute(sql);
+	}
+
+	public List getUserRoleByUserID(String userid)
+	{
+		JdbcTemplateEx template = this.getJdbcTemplate();
+		String sql = "select * from menu_user_sys_role where user_id=?";
+		return template.queryForList(sql, new Object[] { userid });
+	}
+}

+ 15 - 0
src/com/acc/framework/umuserrole/service/RoleMenuService.java

@@ -0,0 +1,15 @@
+package com.acc.framework.umuserrole.service;
+
+import java.util.List;
+import java.util.Map;
+
+
+public interface RoleMenuService {
+
+	public void insert(Map map);
+	
+	public void delete(String r_id);
+	
+	public List getMenuList(String r_id);
+
+}

+ 16 - 0
src/com/acc/framework/umuserrole/service/RoleService.java

@@ -0,0 +1,16 @@
+package com.acc.framework.umuserrole.service;
+
+import java.util.List;
+import java.util.Map;
+
+public interface RoleService
+{
+
+	public void insert(Map map);
+
+	public void delete(String R_ID);
+
+	public List queryRoleManagerById(String roleid);
+
+	public List queryRoleAll();
+}

+ 10 - 0
src/com/acc/framework/umuserrole/service/UserRoleService.java

@@ -0,0 +1,10 @@
+package com.acc.framework.umuserrole.service;
+
+import java.util.List;
+
+public interface UserRoleService
+{
+
+	public List getUserRoleByUserID(String userid);
+
+}

+ 59 - 0
src/com/acc/framework/umuserrole/service/impl/RoleMenuServiceImpl.java

@@ -0,0 +1,59 @@
+package com.acc.framework.umuserrole.service.impl;
+/*
+import java.util.List;
+import java.util.Map;
+import javax.annotation.Resource;
+
+import org.apache.commons.collections.MapUtils;
+import org.springframework.stereotype.Service;
+
+import com.acc.framework.menubar.service.MenubarService;
+import com.acc.framework.umuserrole.dao.MenuUserRoleListDAO;
+import com.acc.framework.umuserrole.service.RoleMenuService;
+
+@Service(value = "roleMenuService")
+*/
+public class RoleMenuServiceImpl //implements RoleMenuService
+{
+	/*
+	//@Resource(name = "menuUserRoleListDAO")
+	private MenuUserRoleListDAO menuUserRoleListDAO;
+
+	//@Resource(name = "menubarService")
+	private MenubarService menubarService;
+
+	public void insert(Map map)
+	{
+		menuUserRoleListDAO.insert(map);
+	}
+
+	public List getMenuList(String r_id)
+	{
+		List treeList = menubarService.queryTreeview();
+		List menuList = menuUserRoleListDAO.getMenuByRoleId(r_id);
+		for (int i = 0; i < treeList.size(); i++)
+		{
+			Map treeMap = (Map) treeList.get(i);
+			String L_id = MapUtils.getString(treeMap, "ID");
+			for (int j = 0; j < menuList.size(); j++)
+			{
+				Map menuMap = (Map) menuList.get(j);
+				String menu_id = MapUtils.getInteger(menuMap, "L_ID").toString();
+				if (L_id.equals(menu_id))
+				{
+					treeMap.put("checked", true);
+				}
+			}
+			treeMap.put("id", L_id);
+			treeMap.put("pId", MapUtils.getObject(treeMap, "PID"));
+			treeMap.put("name", MapUtils.getObject(treeMap, "NAME"));
+		}
+		return treeList;
+	}
+
+	public void delete(String r_id)
+	{
+		menuUserRoleListDAO.delete(r_id);
+	}
+	*/
+}

+ 67 - 0
src/com/acc/framework/umuserrole/service/impl/RoleServiceImpl.java

@@ -0,0 +1,67 @@
+package com.acc.framework.umuserrole.service.impl;
+/*
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+import javax.annotation.Resource;
+
+import org.apache.commons.collections.MapUtils;
+import org.apache.commons.lang.StringUtils;
+import org.springframework.stereotype.Service;
+
+import com.acc.framework.umuserrole.dao.MenuSysRoleDAO;
+import com.acc.framework.umuserrole.dao.MenuSysrolemanageDAO;
+import com.acc.framework.umuserrole.service.RoleService;
+
+@Service(value = "roleService")
+*/
+public class RoleServiceImpl //implements RoleService
+{
+	/*
+	@Resource(name = "menuSysRoleDAO")
+	private MenuSysRoleDAO menuSysRoleDAO;
+
+	@Resource(name = "menuSysrolemanageDAO")
+	private MenuSysrolemanageDAO menuSysrolemanageDAO;
+
+	public void delete(String r_id)
+	{
+		menuSysRoleDAO.delete(r_id);
+	}
+
+	public void insert(Map map)
+	{
+		menuSysRoleDAO.insert(map);
+	}
+
+	public List queryRoleManagerById(String roleid)
+	{
+		// 通过ID得到所管理角色ID
+		List<Map> list = menuSysrolemanageDAO.queryManagerById(roleid);
+		List<Map> allList = this.queryRoleAll();
+		List result = new ArrayList();
+		// 遍历数据,得到结果
+		for (Map map : allList)
+		{
+			String rid = MapUtils.getString(map, "R_ID");
+			for (Map manMap : list)
+			{
+				String manrid = MapUtils.getString(manMap, "MANAGEROLEID");
+				// 如果数据相等,这加到结果集里边
+				if (StringUtils.equals(rid, manrid)) result.add(manMap);
+			}
+		}
+		return result;
+	}
+
+	/**
+	 * 请求所有的角色信息
+	 
+	public List queryRoleAll()
+	{
+
+		return menuSysRoleDAO.queryAllRole();
+	}
+	*/
+}

+ 22 - 0
src/com/acc/framework/umuserrole/service/impl/UserRoleServiceImpl.java

@@ -0,0 +1,22 @@
+package com.acc.framework.umuserrole.service.impl;
+/*
+import java.util.List;
+import javax.annotation.Resource;
+import org.springframework.stereotype.Service;
+import com.acc.framework.umuserrole.dao.MenuUserSysRoleDAO;
+import com.acc.framework.umuserrole.service.UserRoleService;
+
+@Service(value = "userRoleService")
+*/
+public class UserRoleServiceImpl// implements UserRoleService
+{
+	/*
+	@Resource(name = "menuUserSysRoleDAO")
+	private MenuUserSysRoleDAO menuUserSysRoleDAO;
+
+	public List getUserRoleByUserID(String userid)
+	{
+		return menuUserSysRoleDAO.getUserRoleByUserID(userid);
+	}
+	*/
+}

+ 17 - 0
src/com/acc/framework/umuserrole/sql/ROLESQL.java

@@ -0,0 +1,17 @@
+package com.acc.framework.umuserrole.sql;
+
+import javax.servlet.ServletConfig;
+import javax.servlet.http.HttpServletRequest;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import com.acc.common.jdbc.ISQL;
+
+public class ROLESQL implements ISQL {
+	private Log log = LogFactory.getLog(this.getClass());
+
+	public String getSQL(HttpServletRequest request, ServletConfig servletConfig) {
+		String sql = "select * from menu_sys_role where 1=1 ";
+		log.debug(sql);
+		return sql;
+	}
+}

+ 68 - 0
src/com/acc/taglib/data/DictionaryDataListTag.java

@@ -0,0 +1,68 @@
+package com.acc.taglib.data;
+
+import java.util.List;
+
+import javax.servlet.jsp.JspException;
+import javax.servlet.jsp.tagext.TagSupport;
+
+import org.apache.commons.lang.StringUtils;
+
+import com.acc.framework.FrameworkFactory;
+import com.acc.framework.dictionary.service.DictionaryService;
+import com.acc.framework.resources.PropertiesUtils;
+
+public class DictionaryDataListTag extends TagSupport
+{
+	// 数据字典名称
+	private String dictionaryName;
+
+	private String resourceName;
+
+	public DictionaryDataListTag()
+	{
+	}
+
+	public String getDictionaryName()
+	{
+		return dictionaryName;
+	}
+
+	public void setDictionaryName(String dictionaryName)
+	{
+		this.dictionaryName = dictionaryName;
+	}
+
+	public String getResourceName()
+	{
+		return resourceName;
+	}
+
+	public void setResourceName(String resourceName)
+	{
+		this.resourceName = resourceName;
+	}
+
+	public int doStartTag() throws JspException
+	{
+
+		List list = null;
+		if (StringUtils.isNotBlank(dictionaryName))
+		{
+			DictionaryService service = FrameworkFactory.getDictionaryService();
+			list = service.getDictionaryByKey(dictionaryName);
+		}
+		if (StringUtils.isNotBlank(resourceName))
+		{
+			PropertiesUtils service = FrameworkFactory.getPropertiesUtils();
+			list = service.getResourceProperty(resourceName);
+		}
+		pageContext.setAttribute(id, list);
+		return (SKIP_BODY);
+	}
+
+	public void release()
+	{
+		super.release();
+	}
+
+}

+ 14 - 0
src/com/acc/taglib/data/DictionaryDataListTei.java

@@ -0,0 +1,14 @@
+package com.acc.taglib.data;
+
+import javax.servlet.jsp.tagext.TagData;
+import javax.servlet.jsp.tagext.TagExtraInfo;
+import javax.servlet.jsp.tagext.VariableInfo;
+
+public class DictionaryDataListTei extends TagExtraInfo
+{
+	public VariableInfo[] getVariableInfo(TagData data)
+	{
+		return new VariableInfo[] { new VariableInfo(data.getAttributeString("id"),
+				"java.util.List", true, VariableInfo.AT_BEGIN) };
+	}    
+}

+ 142 - 0
src/com/acc/taglib/data/DictionaryDataMapTag.java

@@ -0,0 +1,142 @@
+package com.acc.taglib.data;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import javax.servlet.jsp.JspException;
+import javax.servlet.jsp.tagext.TagSupport;
+
+import org.apache.commons.collections.MapUtils;
+import org.apache.commons.lang.StringUtils;
+
+import com.acc.framework.FrameworkFactory;
+import com.acc.framework.dictionary.service.DictionaryService;
+import com.acc.util.common.MapUtil;
+import com.acc.util.common.StringUtil;
+
+public class DictionaryDataMapTag extends TagSupport
+{
+
+	public DictionaryDataMapTag()
+	{
+	}
+
+	// 数据字典名称
+	private String dictionaryName;
+
+	private String mapkey;
+
+	private String mapvalue;
+
+	private List dictList;
+
+	private String keyType;
+
+	public String getDictionaryName()
+	{
+		return dictionaryName;
+	}
+
+	public void setDictionaryName(String dictionaryName)
+	{
+		this.dictionaryName = dictionaryName;
+	}
+
+	public int doStartTag() throws JspException
+	{
+		List list = new ArrayList();
+		if (StringUtils.isNotEmpty(dictionaryName))
+		{
+			DictionaryService service = FrameworkFactory.getDictionaryService();
+			 list = service.getDictionaryByKey(dictionaryName);
+		}
+		if(this.dictList!=null&&this.dictList.size()>0)
+		{
+			list.addAll(this.dictList);
+		}	
+		if(list == null || list.size() < 1)
+			return (SKIP_BODY);
+		if(this.keyType==null||keyType.length()<1)
+		{
+			Map map=MapUtil.tranltListToMapKeyValue(list, this.mapkey, this.mapvalue);			
+			pageContext.setAttribute(id, map);
+		}
+		else if(this.keyType=="Long")
+		{
+			Map<java.lang.Long,java.lang.Object> map = new HashMap();			
+			for (int i = 0; i < list.size(); i++)
+			{
+				Map vmap = (Map) list.get(i);
+				String key=MapUtils.getString(vmap,this.mapkey);
+				if(StringUtil.isLong(key))	
+				{
+					map.put(Long.valueOf(key) , vmap.get(this.mapvalue));
+				}				
+			}
+			pageContext.setAttribute(id, map);
+		}
+		else if(this.keyType=="Integer")
+		{
+			Map<java.lang.Integer,java.lang.Object> map = new HashMap();			
+			for (int i = 0; i < list.size(); i++)
+			{
+				Map vmap = (Map) list.get(i);
+				String key=MapUtils.getString(vmap,this.mapkey);
+				if(StringUtil.isInteger(key))	
+				{
+					map.put(Integer.valueOf(key) , vmap.get(this.mapvalue));
+				}				
+			}
+			pageContext.setAttribute(id, map);
+		}
+		return (SKIP_BODY);
+	}
+
+	public void release()
+	{
+		super.release();
+	}
+
+	public List getDictList()
+	{
+		return dictList;
+	}
+
+	public void setDictList(List dictList)
+	{
+		this.dictList = dictList;
+	}
+
+	public String getMapkey()
+	{
+		return mapkey;
+	}
+
+	public void setMapkey(String mapkey)
+	{
+		this.mapkey = mapkey;
+	}
+
+	public String getMapvalue()
+	{
+		return mapvalue;
+	}
+
+	public void setMapvalue(String mapvalue)
+	{
+		this.mapvalue = mapvalue;
+	}
+
+	public String getKeyType()
+	{
+		return keyType;
+	}
+
+	public void setKeyType(String keyType)
+	{
+		this.keyType = keyType;
+	}
+
+}

+ 14 - 0
src/com/acc/taglib/data/DictionaryDataMapTei.java

@@ -0,0 +1,14 @@
+package com.acc.taglib.data;
+
+import javax.servlet.jsp.tagext.TagData;
+import javax.servlet.jsp.tagext.TagExtraInfo;
+import javax.servlet.jsp.tagext.VariableInfo;
+
+public class DictionaryDataMapTei extends TagExtraInfo
+{
+	public VariableInfo[] getVariableInfo(TagData data)
+	{
+		return new VariableInfo[] { new VariableInfo(data.getAttributeString("id"),
+				"java.util.Map", true, VariableInfo.AT_BEGIN) };
+	}    
+}

+ 82 - 0
src/com/acc/taglib/data/DictionaryDataTag.java

@@ -0,0 +1,82 @@
+package com.acc.taglib.data;
+
+import java.io.IOException;
+
+import javax.servlet.jsp.JspException;
+import javax.servlet.jsp.tagext.TagSupport;
+
+import com.acc.framework.FrameworkFactory;
+import com.acc.framework.dictionary.service.DictionaryService;
+
+public class DictionaryDataTag extends TagSupport
+{
+	// 数据字典名称
+    private String dictionaryName;
+
+    // 数据字典ID值ֵ
+    private String dictionaryValue;
+
+    // 定义Tei是否可见
+    private boolean isVariable;
+
+    public boolean getIsVariable()
+    {
+        return isVariable;
+    }
+
+    public void setIsVariable(boolean isVariable)
+    {
+        this.isVariable = isVariable;
+    }
+
+    public DictionaryDataTag()
+    {
+        isVariable = false;
+    }
+
+    public String getDictionaryName()
+    {
+        return dictionaryName;
+    }
+
+    public void setDictionaryName(String dictionaryName)
+    {
+        this.dictionaryName = dictionaryName;
+    }
+
+    public String getDictionaryValue()
+    {
+        return dictionaryValue;
+    }
+
+    public void setDictionaryValue(String dictionaryValue)
+    {
+        this.dictionaryValue = dictionaryValue;
+    }
+
+    public int doStartTag() throws JspException
+    {
+        DictionaryService service = FrameworkFactory.getDictionaryService();
+        String ReferenceValue = service.queryDataDictInfoForName(dictionaryName,
+                dictionaryValue);
+        if (isVariable)
+        {
+        	try {
+    			pageContext.getOut().print(ReferenceValue);
+    		} catch (IOException e) {
+    			throw new JspException(e);
+    		}
+//            ResponseUtils.write(pageContext, ReferenceValue);
+        }
+        else
+        {
+            pageContext.setAttribute(id, ReferenceValue);
+        }
+        return (SKIP_BODY);
+    }
+
+    public void release()
+    {
+        super.release();
+    }
+}

+ 14 - 0
src/com/acc/taglib/data/DictionaryDataTei.java

@@ -0,0 +1,14 @@
+package com.acc.taglib.data;
+
+import javax.servlet.jsp.tagext.TagData;
+import javax.servlet.jsp.tagext.TagExtraInfo;
+import javax.servlet.jsp.tagext.VariableInfo;
+
+public class DictionaryDataTei extends TagExtraInfo
+{
+	public VariableInfo[] getVariableInfo(TagData data)
+	{
+		return new VariableInfo[] { new VariableInfo(data.getAttributeString("id"),
+				"java.lang.String", true, VariableInfo.AT_BEGIN) };
+	}
+}

+ 50 - 0
src/com/acc/taglib/data/SQLResultListTag.java

@@ -0,0 +1,50 @@
+package com.acc.taglib.data;
+
+import java.util.List;
+import java.util.Map;
+import java.util.Vector;
+
+import javax.servlet.jsp.JspException;
+import javax.servlet.jsp.tagext.TagSupport;
+
+import com.acc.common.jdbc.JdbcTemplateEx;
+import com.acc.common.spring.ApplicationFactory;
+
+public class SQLResultListTag extends TagSupport
+{
+	// 传入的sql执行语句
+	private String SQLResult;
+
+	public SQLResultListTag()
+	{
+	}
+
+	public String getSQLResult()
+	{
+		return SQLResult;
+	}
+
+	public void setSQLResult(String result)
+	{
+		SQLResult = result;
+	}
+
+	public int doStartTag() throws JspException
+	{
+		JdbcTemplateEx template = new JdbcTemplateEx(ApplicationFactory.getDataSource());
+		List list = template.queryForList(SQLResult);
+		Vector v = new Vector();
+		for (int i = 0; i < list.size(); i++)
+		{
+			Map map = (Map) list.get(i);
+			v.add(map);
+		}
+		pageContext.setAttribute(id, v);
+		return (SKIP_BODY);
+	}
+
+	public void release()
+	{
+		super.release();
+	}
+}

+ 14 - 0
src/com/acc/taglib/data/SQLResultListTei.java

@@ -0,0 +1,14 @@
+package com.acc.taglib.data;
+
+import javax.servlet.jsp.tagext.TagData;
+import javax.servlet.jsp.tagext.TagExtraInfo;
+import javax.servlet.jsp.tagext.VariableInfo;
+
+public class SQLResultListTei extends TagExtraInfo
+{
+	public VariableInfo[] getVariableInfo(TagData data)
+	{
+		return new VariableInfo[] { new VariableInfo(data.getAttributeString("id"),
+				"java.util.Vector", true, VariableInfo.AT_BEGIN) };
+	}
+}

+ 105 - 0
src/com/acc/taglib/data/TableDataListTag.java

@@ -0,0 +1,105 @@
+package com.acc.taglib.data;
+
+import java.util.List;
+import java.util.Map;
+import java.util.Vector;
+
+import javax.servlet.jsp.JspException;
+import javax.servlet.jsp.tagext.TagSupport;
+
+import com.acc.common.jdbc.JdbcTemplateEx;
+import com.acc.common.spring.ApplicationFactory;
+
+public class TableDataListTag extends TagSupport
+{
+	// 表名称
+	private String tableName;
+
+	// 主键Id
+	private String tablePKId;
+
+	// 要显示的字段名称
+	private String displayName;
+
+	// 数据源
+	private String datasource;
+	
+	private JdbcTemplateEx template;
+	
+	public String getDatasource()
+	{
+		return datasource;
+	}
+
+	public void setDatasource(String datasource)
+	{
+		this.datasource = datasource;
+	}
+	
+	public String getDisplayName()
+	{
+		return displayName;
+	}
+
+	public void setDisplayName(String displayName)
+	{
+		this.displayName = displayName;
+	}
+
+	public String getTablePKId()
+	{
+		return tablePKId;
+	}
+
+	public void setTablePKId(String tablePKId)
+	{
+		this.tablePKId = tablePKId;
+	}
+
+	public String getTableName()
+	{
+		return tableName;
+	}
+
+	public void setTableName(String tableName)
+	{
+		this.tableName = tableName;
+	}
+
+	public int doStartTag() throws JspException
+	{
+		List list = this.getReferenceList();
+		Vector v = new Vector();
+		for (int i = 0; i < list.size(); i++)
+		{
+			Map map = (Map) list.get(i);
+			v.add(map);
+		}
+		pageContext.setAttribute(id, v);
+		return (SKIP_BODY);
+	}
+
+	private List getReferenceList()
+	{
+		if (datasource == null || datasource.length() == 0)
+			template = new JdbcTemplateEx(ApplicationFactory.getDataSource());
+		else template = new JdbcTemplateEx(ApplicationFactory.getDataSource(datasource));
+//		JdbcTemplateEx template = new JdbcTemplateEx(ApplicationFactory.getDataSource());
+		String sql = "";
+		if (tablePKId == null || tablePKId.length() == 0 || displayName == null
+				|| displayName.length() == 0)
+		{
+			sql = "select * from " + tableName;
+		}
+		else
+		{
+			sql = "select " + tablePKId + "," + displayName + " from " + tableName;
+		}
+		return template.queryForList(sql);
+	}
+
+	public void release()
+	{
+		super.release();
+	}
+}

+ 14 - 0
src/com/acc/taglib/data/TableDataListTei.java

@@ -0,0 +1,14 @@
+package com.acc.taglib.data;
+
+import javax.servlet.jsp.tagext.TagData;
+import javax.servlet.jsp.tagext.TagExtraInfo;
+import javax.servlet.jsp.tagext.VariableInfo;
+
+public class TableDataListTei extends TagExtraInfo
+{
+	public VariableInfo[] getVariableInfo(TagData data)
+	{
+		return new VariableInfo[] { new VariableInfo(data.getAttributeString("id"),
+				"java.util.Vector", true, VariableInfo.AT_BEGIN) };
+	}
+}

+ 156 - 0
src/com/acc/taglib/data/TableDataTag.java

@@ -0,0 +1,156 @@
+package com.acc.taglib.data;
+
+import java.io.IOException;
+import java.util.List;
+import java.util.Map;
+import java.util.Vector;
+
+import javax.servlet.jsp.JspException;
+import javax.servlet.jsp.tagext.TagSupport;
+
+import com.acc.common.jdbc.JdbcTemplateEx;
+import com.acc.common.spring.ApplicationFactory;
+import com.acc.util.common.StringUtil;
+
+public class TableDataTag extends TagSupport {
+
+	// 数据源
+	private String datasource;
+	// 表名称
+	private String tableName;
+
+	// 输入值ֵ
+	private String inputValue;
+
+	// 要查询的字段名称
+	private String inputName;
+
+	// 要显示的字段名称
+	private String displayName;
+
+	// 输入的List
+	private List inputList;
+
+	// 对日期进行格式化的显示类型
+	private String dataFormat;
+
+	// 对数值类型进行格式化
+	private String numberFormat;
+
+	private JdbcTemplateEx template;
+
+	public String getDatasource() {
+		return datasource;
+	}
+
+	public void setDatasource(String datasource) {
+		this.datasource = datasource;
+	}
+
+	public TableDataTag() {
+		inputList = new Vector();
+	}
+
+	public String getDataFormat() {
+		return dataFormat;
+	}
+
+	public void setDataFormat(String dataFormat) {
+		this.dataFormat = dataFormat;
+	}
+
+	public String getNumberFormat() {
+		return numberFormat;
+	}
+
+	public void setNumberFormat(String numberFormat) {
+		this.numberFormat = numberFormat;
+	}
+
+	public String getDisplayName() {
+		return displayName;
+	}
+
+	public void setDisplayName(String displayName) {
+		this.displayName = displayName;
+	}
+
+	public String getInputName() {
+		return inputName;
+	}
+
+	public void setInputName(String inputName) {
+		this.inputName = inputName;
+	}
+
+	public String getInputValue() {
+		return inputValue;
+	}
+
+	public void setInputValue(String inputValue) {
+		this.inputValue = inputValue;
+	}
+
+	public List getInputList() {
+		return inputList;
+	}
+
+	public void setInputList(List inputList) {
+		this.inputList = inputList;
+	}
+
+	public String getTableName() {
+		return tableName;
+	}
+
+	public void setTableName(String tableName) {
+		this.tableName = tableName;
+	}
+
+	public int doStartTag() throws JspException {
+		String value = "";
+		if (dataFormat == null || dataFormat.length() == 0)
+			dataFormat = "";
+		if (numberFormat == null || numberFormat.length() == 0)
+			numberFormat = "";
+		List sqlList = new Vector();
+		if (inputList == null || inputList.size() == 0) {
+			if (datasource == null || datasource.length() == 0)
+				template = new JdbcTemplateEx(ApplicationFactory
+						.getDataSource());
+			else
+				template = new JdbcTemplateEx(ApplicationFactory
+						.getDataSource(datasource));
+			// JdbcTemplateEx template = new
+			// JdbcTemplateEx(ApplicationFactory.getDataSource());
+			sqlList = template.queryForList("select * from " + tableName
+					+ " where " + inputName + "='" + inputValue + "'");
+			if (sqlList == null || sqlList.size() == 0)
+				return (SKIP_BODY);
+			Map map = (Map) sqlList.get(0);
+			value = StringUtil.objToStr(map.get(displayName), dataFormat,
+					numberFormat);
+		} else {
+			sqlList = inputList;
+			for (int i = 0; i < sqlList.size(); i++) {
+				Map map = (Map) sqlList.get(i);
+				String keyId = ((Object) map.get(inputName)) + "";
+				if (!keyId.equals(inputValue))
+					continue;
+				value = StringUtil.objToStr(map.get(displayName), dataFormat,
+						numberFormat);
+			}
+		}
+		try {
+			pageContext.getOut().print( value.toString());
+		} catch (IOException e) {
+			throw new JspException(e);
+		}
+//		ResponseUtils.write(pageContext, value.toString());
+		return (SKIP_BODY);
+	}
+
+	public void release() {
+		super.release();
+	}
+}

+ 14 - 0
src/com/acc/taglib/data/TableDataTei.java

@@ -0,0 +1,14 @@
+package com.acc.taglib.data;
+
+import javax.servlet.jsp.tagext.TagData;
+import javax.servlet.jsp.tagext.TagExtraInfo;
+import javax.servlet.jsp.tagext.VariableInfo;
+
+public class TableDataTei extends TagExtraInfo
+{
+	public VariableInfo[] getVariableInfo(TagData data)
+	{
+		return new VariableInfo[] { new VariableInfo(data.getAttributeString("id"),
+				"java.lang.String", true, VariableInfo.AT_BEGIN) };
+	}
+}

+ 12 - 0
web/common/include.jsp

@@ -0,0 +1,12 @@
+<%@ page language="java" contentType="text/html;charset=UTF-8" buffer="64kb"%>
+<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
+<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
+<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
+
+<%@ taglib uri="/WEB-INF/taglib-data.tld" prefix="data"%>
+<%@ taglib uri="/WEB-INF/taglib-html.tld" prefix="htmlc"%>
+<%@ taglib uri="/WEB-INF/taglib-page.tld" prefix="page"%>
+
+<%@ taglib uri="/struts-tags" prefix="s"%>
+
+<c:set var="path" value="${pageContext.request.contextPath}"/>

+ 246 - 0
web/format/codetype.xml

@@ -0,0 +1,246 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<profiles version="8">
+<profile name="tony-nci2" version="8">
+<setting id="org.eclipse.jdt.core.formatter.align_type_members_on_columns" value="false"/>
+<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression" value="16"/>
+<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant" value="16"/>
+<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call" value="16"/>
+<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation" value="16"/>
+<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression" value="16"/>
+<setting id="org.eclipse.jdt.core.formatter.alignment_for_binary_expression" value="16"/>
+<setting id="org.eclipse.jdt.core.formatter.alignment_for_compact_if" value="16"/>
+<setting id="org.eclipse.jdt.core.formatter.alignment_for_conditional_expression" value="80"/>
+<setting id="org.eclipse.jdt.core.formatter.alignment_for_enum_constants" value="0"/>
+<setting id="org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer" value="16"/>
+<setting id="org.eclipse.jdt.core.formatter.alignment_for_multiple_fields" value="16"/>
+<setting id="org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration" value="16"/>
+<setting id="org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration" value="16"/>
+<setting id="org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation" value="16"/>
+<setting id="org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration" value="16"/>
+<setting id="org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration" value="16"/>
+<setting id="org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration" value="16"/>
+<setting id="org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration" value="16"/>
+<setting id="org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration" value="16"/>
+<setting id="org.eclipse.jdt.core.formatter.blank_lines_after_imports" value="1"/>
+<setting id="org.eclipse.jdt.core.formatter.blank_lines_after_package" value="1"/>
+<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_field" value="1"/>
+<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration" value="0"/>
+<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_imports" value="1"/>
+<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_member_type" value="1"/>
+<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_method" value="1"/>
+<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk" value="1"/>
+<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_package" value="0"/>
+<setting id="org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations" value="1"/>
+<setting id="org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration" value="next_line"/>
+<setting id="org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration" value="next_line"/>
+<setting id="org.eclipse.jdt.core.formatter.brace_position_for_array_initializer" value="end_of_line"/>
+<setting id="org.eclipse.jdt.core.formatter.brace_position_for_block" value="next_line"/>
+<setting id="org.eclipse.jdt.core.formatter.brace_position_for_block_in_case" value="next_line"/>
+<setting id="org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration" value="next_line"/>
+<setting id="org.eclipse.jdt.core.formatter.brace_position_for_enum_constant" value="next_line"/>
+<setting id="org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration" value="next_line"/>
+<setting id="org.eclipse.jdt.core.formatter.brace_position_for_method_declaration" value="next_line"/>
+<setting id="org.eclipse.jdt.core.formatter.brace_position_for_switch" value="next_line"/>
+<setting id="org.eclipse.jdt.core.formatter.brace_position_for_type_declaration" value="next_line"/>
+<setting id="org.eclipse.jdt.core.formatter.comment.clear_blank_lines" value="false"/>
+<setting id="org.eclipse.jdt.core.formatter.comment.format_comments" value="true"/>
+<setting id="org.eclipse.jdt.core.formatter.comment.format_header" value="true"/>
+<setting id="org.eclipse.jdt.core.formatter.comment.format_html" value="true"/>
+<setting id="org.eclipse.jdt.core.formatter.comment.format_source_code" value="true"/>
+<setting id="org.eclipse.jdt.core.formatter.comment.indent_parameter_description" value="true"/>
+<setting id="org.eclipse.jdt.core.formatter.comment.indent_root_tags" value="true"/>
+<setting id="org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.comment.line_length" value="100"/>
+<setting id="org.eclipse.jdt.core.formatter.compact_else_if" value="true"/>
+<setting id="org.eclipse.jdt.core.formatter.continuation_indentation" value="2"/>
+<setting id="org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer" value="2"/>
+<setting id="org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line" value="false"/>
+<setting id="org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header" value="true"/>
+<setting id="org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header" value="true"/>
+<setting id="org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header" value="true"/>
+<setting id="org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases" value="true"/>
+<setting id="org.eclipse.jdt.core.formatter.indent_statements_compare_to_block" value="true"/>
+<setting id="org.eclipse.jdt.core.formatter.indent_statements_compare_to_body" value="true"/>
+<setting id="org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases" value="true"/>
+<setting id="org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch" value="false"/>
+<setting id="org.eclipse.jdt.core.formatter.indentation.size" value="4"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_binary_operator" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_ellipsis" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_unary_operator" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_binary_operator" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_ellipsis" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_semicolon" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_unary_operator" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line" value="true"/>
+<setting id="org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line" value="false"/>
+<setting id="org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line" value="true"/>
+<setting id="org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line" value="false"/>
+<setting id="org.eclipse.jdt.core.formatter.lineSplit" value="100"/>
+<setting id="org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body" value="0"/>
+<setting id="org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve" value="1"/>
+<setting id="org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line" value="true"/>
+<setting id="org.eclipse.jdt.core.formatter.tabulation.char" value="tab"/>
+<setting id="org.eclipse.jdt.core.formatter.tabulation.size" value="4"/>
+<setting id="org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations" value="false"/>
+</profile>
+</profiles>

BIN
web/images/!.gif


BIN
web/images/123123.jpg


BIN
web/images/893173758.jpg


BIN
web/images/91.png


BIN
web/images/DefaultDocs.gif


BIN
web/images/Login_but.gif


BIN
web/images/OK.jpg


BIN
web/images/Redirects.gif


BIN
web/images/Submit_bg.gif


BIN
web/images/X.gif


BIN
web/images/ad.gif


BIN
web/images/add.gif


BIN
web/images/arr_left.gif


BIN
web/images/arr_right.gif


BIN
web/images/back.gif


BIN
web/images/bg.gif


BIN
web/images/bigsize.jpg


BIN
web/images/bootnbg.jpg


BIN
web/images/bullet.gif


BIN
web/images/buttom-copy-bg.gif


BIN
web/images/buttom-left.gif


BIN
web/images/buttom-right.gif


BIN
web/images/buttom_bgs.gif


+ 0 - 0
web/images/buttom_left2.gif


Някои файлове не бяха показани, защото твърде много файлове са промени