<?xml version="1.0" encoding="UTF-8"?>
<uml:Model xmi:version="2.1" xmlns:xmi="http://schema.omg.org/spec/XMI/2.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:uml="http://www.eclipse.org/uml2/3.0.0/UML" xmi:id="_gqOMAV0JEeCtp_-GJxiR4A">
  <name xsi:nil="true"/>
  <elementImport xmi:id="_hABc4F0JEeCtp_-GJxiR4A">
    <importedElement xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
  </elementImport>
  <elementImport xmi:id="_hBNvsF0JEeCtp_-GJxiR4A">
    <importedElement xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#long"/>
  </elementImport>
  <elementImport xmi:id="_hCkakF0JEeCtp_-GJxiR4A">
    <importedElement xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
  </elementImport>
  <elementImport xmi:id="_hImKEF0JEeCtp_-GJxiR4A">
    <importedElement xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
  </elementImport>
  <packagedElement xmi:type="uml:Package" xmi:id="_g0dGEF0JEeCtp_-GJxiR4A" name="edu">
    <packagedElement xmi:type="uml:Package" xmi:id="_g1F_QF0JEeCtp_-GJxiR4A" name="sysu">
      <packagedElement xmi:type="uml:Package" xmi:id="_g1GmUF0JEeCtp_-GJxiR4A" name="cshare">
        <packagedElement xmi:type="uml:Package" xmi:id="_g1GmUV0JEeCtp_-GJxiR4A" name="control">
          <packagedElement xmi:type="uml:Class" xmi:id="_g10YAF0JEeCtp_-GJxiR4A" name="ClassManager">
            <ownedAttribute xmi:id="_g7RfwF0JEeCtp_-GJxiR4A" name="actor" visibility="package" type="_g22SwF0JEeCtp_-GJxiR4A" association="_hLtvgF0JEeCtp_-GJxiR4A"/>
            <ownedOperation xmi:id="_g7gwUF0JEeCtp_-GJxiR4A" name="addCourse" visibility="public">
              <ownedParameter xmi:id="_g7gwUV0JEeCtp_-GJxiR4A" name="course" type="_g2r6sF0JEeCtp_-GJxiR4A"/>
            </ownedOperation>
            <ownedOperation xmi:id="_g7jzoF0JEeCtp_-GJxiR4A" name="addUser" visibility="public">
              <ownedParameter xmi:id="_g7jzoV0JEeCtp_-GJxiR4A" name="user" type="_g22SwF0JEeCtp_-GJxiR4A"/>
            </ownedOperation>
            <ownedOperation xmi:id="_g7mP4F0JEeCtp_-GJxiR4A" name="deleteUser" visibility="public"/>
          </packagedElement>
          <packagedElement xmi:type="uml:Class" xmi:id="_g17swF0JEeCtp_-GJxiR4A" name="PersonalInfoManager">
            <ownedAttribute xmi:id="_g7pTMF0JEeCtp_-GJxiR4A" name="actor" visibility="private" type="_g22SwF0JEeCtp_-GJxiR4A" association="_hLuWkF0JEeCtp_-GJxiR4A"/>
            <ownedOperation xmi:id="_hADSEF0JEeCtp_-GJxiR4A" name="login" visibility="public" isStatic="true">
              <ownedComment xmi:id="_hAFHQF0JEeCtp_-GJxiR4A">
                <body>/** 
 * @param id用户id
 * @param password未经过MD5加密的 用户密码
 * @return 验证成功 User 对象
 * @throws Exception 
 */
</body>
              </ownedComment>
              <ownedParameter xmi:id="_hADSEV0JEeCtp_-GJxiR4A" name="id">
                <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
              </ownedParameter>
              <ownedParameter xmi:id="_hADSEl0JEeCtp_-GJxiR4A" name="password">
                <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
              </ownedParameter>
              <ownedParameter xmi:id="_hADSE10JEeCtp_-GJxiR4A" name="return" type="_g22SwF0JEeCtp_-GJxiR4A" direction="return"/>
            </ownedOperation>
            <ownedOperation xmi:id="_hAGVYF0JEeCtp_-GJxiR4A" name="changePassword" visibility="public">
              <ownedComment xmi:id="_hAIxoF0JEeCtp_-GJxiR4A">
                <body>/** 
 * @param newpassword新的明文密码
 */
</body>
              </ownedComment>
              <ownedParameter xmi:id="_hAGVYV0JEeCtp_-GJxiR4A" name="newpassword">
                <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
              </ownedParameter>
            </ownedOperation>
            <ownedOperation xmi:id="_hAJ_wF0JEeCtp_-GJxiR4A" name="selectCourses" visibility="public"/>
          </packagedElement>
          <packagedElement xmi:type="uml:Class" xmi:id="_g2FdwF0JEeCtp_-GJxiR4A" name="HomeworkManager">
            <ownedAttribute xmi:id="_hAQGYF0JEeCtp_-GJxiR4A" name="user" visibility="private" type="_g22SwF0JEeCtp_-GJxiR4A" association="_hLu9oF0JEeCtp_-GJxiR4A"/>
            <ownedOperation xmi:id="_hATJsF0JEeCtp_-GJxiR4A" name="addItem" visibility="public">
              <ownedParameter xmi:id="_hATJsV0JEeCtp_-GJxiR4A" name="homework" type="_g2fGYF0JEeCtp_-GJxiR4A"/>
            </ownedOperation>
            <ownedOperation xmi:id="_hAWNAF0JEeCtp_-GJxiR4A" name="submit" visibility="public">
              <ownedComment xmi:id="_hAYCMF0JEeCtp_-GJxiR4A">
                <body>/** 
 * @param homework 要提交的作业项目
 */
</body>
              </ownedComment>
              <ownedParameter xmi:id="_hAWNAV0JEeCtp_-GJxiR4A" name="homework" type="_g2fGYF0JEeCtp_-GJxiR4A"/>
            </ownedOperation>
            <ownedOperation xmi:id="_hAZQUF0JEeCtp_-GJxiR4A" name="batchDownload" visibility="public">
              <ownedComment xmi:id="_hAbFgF0JEeCtp_-GJxiR4A">
                <body>/** 
 * 管理员打包下载的作业项目
 * @param homework 打包下载的作业项目
 */
</body>
              </ownedComment>
              <ownedParameter xmi:id="_hAZQUV0JEeCtp_-GJxiR4A" name="homework" type="_g2fGYF0JEeCtp_-GJxiR4A"/>
            </ownedOperation>
            <ownedOperation xmi:id="_hAcToF0JEeCtp_-GJxiR4A" name="downloadMyHomework" visibility="public">
              <ownedComment xmi:id="_hAeI0F0JEeCtp_-GJxiR4A">
                <body>/** 
 * 用户重新下载自己提交过的作业
 * @param homework
 */
</body>
              </ownedComment>
              <ownedParameter xmi:id="_hAcToV0JEeCtp_-GJxiR4A" name="homework" type="_g2fGYF0JEeCtp_-GJxiR4A"/>
            </ownedOperation>
            <ownedOperation xmi:id="_hAev4F0JEeCtp_-GJxiR4A" name="getUnsubmitHomeworks" visibility="public">
              <ownedParameter xmi:id="_hAev4V0JEeCtp_-GJxiR4A" name="return" type="_g6eOgF0JEeCtp_-GJxiR4A" direction="return"/>
            </ownedOperation>
            <ownedOperation xmi:id="_hAhzMF0JEeCtp_-GJxiR4A" name="getAllHomeworks" visibility="public">
              <ownedComment xmi:id="_hAjoYF0JEeCtp_-GJxiR4A">
                <body>/** 
 * 学生查看属于自己的所有作业
 * @return 提交信息列表
 */
</body>
              </ownedComment>
              <ownedParameter xmi:id="_hAhzMV0JEeCtp_-GJxiR4A" name="return" type="_g6eOgF0JEeCtp_-GJxiR4A" direction="return"/>
            </ownedOperation>
            <ownedOperation xmi:id="_hAkPcF0JEeCtp_-GJxiR4A" name="getAssignments" visibility="public">
              <ownedComment xmi:id="_hAmEoF0JEeCtp_-GJxiR4A">
                <body>/** 
 * 老师查看自己布置的作业
 * @return 作业列表
 */
</body>
              </ownedComment>
              <ownedParameter xmi:id="_hAkPcV0JEeCtp_-GJxiR4A" name="return" type="_g6eOgF0JEeCtp_-GJxiR4A" direction="return"/>
            </ownedOperation>
            <ownedOperation xmi:id="_hAnSwF0JEeCtp_-GJxiR4A" name="deleteItem" visibility="public">
              <ownedComment xmi:id="_hAqWEF0JEeCtp_-GJxiR4A">
                <body>/** 
 * NOT important
 * @param homework
 */
</body>
              </ownedComment>
              <ownedParameter xmi:id="_hAnSwV0JEeCtp_-GJxiR4A" name="homework" type="_g2fGYF0JEeCtp_-GJxiR4A"/>
            </ownedOperation>
          </packagedElement>
          <packagedElement xmi:type="uml:Class" xmi:id="_g2K9UF0JEeCtp_-GJxiR4A" name="MessageManager">
            <ownedAttribute xmi:id="_hArkMF0JEeCtp_-GJxiR4A" name="actor" visibility="package" type="_g22SwF0JEeCtp_-GJxiR4A" association="_hLu9ol0JEeCtp_-GJxiR4A"/>
            <ownedOperation xmi:id="_hAtZYF0JEeCtp_-GJxiR4A" name="announce" visibility="public"/>
            <ownedOperation xmi:id="_hAvOkF0JEeCtp_-GJxiR4A" name="comment" visibility="public">
              <ownedParameter xmi:id="_hAv1oF0JEeCtp_-GJxiR4A" name="msg" type="_g2yBUF0JEeCtp_-GJxiR4A"/>
            </ownedOperation>
            <ownedOperation xmi:id="_hAxq0F0JEeCtp_-GJxiR4A" name="delete" visibility="public">
              <ownedParameter xmi:id="_hAxq0V0JEeCtp_-GJxiR4A" name="msg" type="_g2yBUF0JEeCtp_-GJxiR4A"/>
            </ownedOperation>
            <ownedOperation xmi:id="_hA0HEF0JEeCtp_-GJxiR4A" name="commentbyId" visibility="public">
              <ownedParameter xmi:id="_hA0HEV0JEeCtp_-GJxiR4A" name="msgId">
                <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
              </ownedParameter>
            </ownedOperation>
            <ownedOperation xmi:id="_hA18QF0JEeCtp_-GJxiR4A" name="getAll" visibility="public">
              <ownedParameter xmi:id="_hA18QV0JEeCtp_-GJxiR4A" name="return" type="_g6eOgF0JEeCtp_-GJxiR4A" direction="return"/>
            </ownedOperation>
            <ownedOperation xmi:id="_hA3xcF0JEeCtp_-GJxiR4A" name="getMines" visibility="public">
              <ownedParameter xmi:id="_hA3xcV0JEeCtp_-GJxiR4A" name="return" type="_g6eOgF0JEeCtp_-GJxiR4A" direction="return"/>
            </ownedOperation>
            <ownedOperation xmi:id="_hA5moF0JEeCtp_-GJxiR4A" name="getByCategory" visibility="public">
              <ownedParameter xmi:id="_hA5moV0JEeCtp_-GJxiR4A" name="category">
                <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
              </ownedParameter>
              <ownedParameter xmi:id="_hA5mol0JEeCtp_-GJxiR4A" name="return" type="_g6eOgF0JEeCtp_-GJxiR4A" direction="return"/>
            </ownedOperation>
          </packagedElement>
          <packagedElement xmi:type="uml:Class" xmi:id="_g2OAoF0JEeCtp_-GJxiR4A" name="SystemManager">
            <nestedClassifier xmi:type="uml:Class" xmi:id="_g2P10F0JEeCtp_-GJxiR4A" name="FTPConfig">
              <ownedOperation xmi:id="_hA7b0F0JEeCtp_-GJxiR4A" name="getHost" visibility="public" isStatic="true">
                <ownedParameter xmi:id="_hA7b0V0JEeCtp_-GJxiR4A" name="return" direction="return">
                  <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
                </ownedParameter>
              </ownedOperation>
              <ownedOperation xmi:id="_hA9RAF0JEeCtp_-GJxiR4A" name="getUser" visibility="public" isStatic="true">
                <ownedParameter xmi:id="_hA9RAV0JEeCtp_-GJxiR4A" name="return" direction="return">
                  <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
                </ownedParameter>
              </ownedOperation>
              <ownedOperation xmi:id="_hA-fIF0JEeCtp_-GJxiR4A" name="getPassword" visibility="public" isStatic="true">
                <ownedParameter xmi:id="_hA-fIV0JEeCtp_-GJxiR4A" name="return" direction="return">
                  <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
                </ownedParameter>
              </ownedOperation>
              <ownedOperation xmi:id="_hA_tQF0JEeCtp_-GJxiR4A" name="getRootDir" visibility="public" isStatic="true">
                <ownedParameter xmi:id="_hA_tQV0JEeCtp_-GJxiR4A" name="return" direction="return">
                  <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
                </ownedParameter>
              </ownedOperation>
            </nestedClassifier>
          </packagedElement>
          <packagedElement xmi:type="uml:Association" xmi:id="_hLtvgF0JEeCtp_-GJxiR4A" memberEnd="_g7RfwF0JEeCtp_-GJxiR4A _hLtvgV0JEeCtp_-GJxiR4A">
            <ownedEnd xmi:id="_hLtvgV0JEeCtp_-GJxiR4A" name="ClassManager" type="_g10YAF0JEeCtp_-GJxiR4A" association="_hLtvgF0JEeCtp_-GJxiR4A"/>
          </packagedElement>
          <packagedElement xmi:type="uml:Association" xmi:id="_hLuWkF0JEeCtp_-GJxiR4A" memberEnd="_g7pTMF0JEeCtp_-GJxiR4A _hLuWkV0JEeCtp_-GJxiR4A">
            <ownedEnd xmi:id="_hLuWkV0JEeCtp_-GJxiR4A" name="PersonalInfoManager" type="_g17swF0JEeCtp_-GJxiR4A" association="_hLuWkF0JEeCtp_-GJxiR4A"/>
          </packagedElement>
          <packagedElement xmi:type="uml:Association" xmi:id="_hLu9oF0JEeCtp_-GJxiR4A" memberEnd="_hAQGYF0JEeCtp_-GJxiR4A _hLu9oV0JEeCtp_-GJxiR4A">
            <ownedEnd xmi:id="_hLu9oV0JEeCtp_-GJxiR4A" name="HomeworkManager" type="_g2FdwF0JEeCtp_-GJxiR4A" association="_hLu9oF0JEeCtp_-GJxiR4A"/>
          </packagedElement>
          <packagedElement xmi:type="uml:Association" xmi:id="_hLu9ol0JEeCtp_-GJxiR4A" memberEnd="_hArkMF0JEeCtp_-GJxiR4A _hLu9o10JEeCtp_-GJxiR4A">
            <ownedEnd xmi:id="_hLu9o10JEeCtp_-GJxiR4A" name="MessageManager" type="_g2K9UF0JEeCtp_-GJxiR4A" association="_hLu9ol0JEeCtp_-GJxiR4A"/>
          </packagedElement>
        </packagedElement>
        <packagedElement xmi:type="uml:Package" xmi:id="_g2RrAF0JEeCtp_-GJxiR4A" name="dao">
          <packagedElement xmi:type="uml:Class" xmi:id="_g2UHQF0JEeCtp_-GJxiR4A" name="Comment">
            <ownedAttribute xmi:id="_hBCwkF0JEeCtp_-GJxiR4A" name="commenter" visibility="private" type="_g22SwF0JEeCtp_-GJxiR4A" association="_hLvksF0JEeCtp_-GJxiR4A"/>
            <ownedAttribute xmi:id="_hBGa8F0JEeCtp_-GJxiR4A" name="content" visibility="private">
              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
            </ownedAttribute>
            <ownedAttribute xmi:id="_hBKsYF0JEeCtp_-GJxiR4A" name="date" visibility="private" type="_g6fcoF0JEeCtp_-GJxiR4A"/>
            <ownedAttribute xmi:id="_hBPk4F0JEeCtp_-GJxiR4A" name="id" visibility="private">
              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#long"/>
            </ownedAttribute>
            <ownedAttribute xmi:id="_hBT2UF0JEeCtp_-GJxiR4A" name="message" visibility="private" type="_g2yBUF0JEeCtp_-GJxiR4A" association="_hLvksl0JEeCtp_-GJxiR4A"/>
            <ownedOperation xmi:id="_hBVrgF0JEeCtp_-GJxiR4A" name="getCommenter" visibility="public">
              <ownedParameter xmi:id="_hBVrgV0JEeCtp_-GJxiR4A" name="return" type="_g22SwF0JEeCtp_-GJxiR4A" direction="return"/>
            </ownedOperation>
            <ownedOperation xmi:id="_hBYHwF0JEeCtp_-GJxiR4A" name="getContent" visibility="public">
              <ownedParameter xmi:id="_hBYHwV0JEeCtp_-GJxiR4A" name="return" direction="return">
                <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
              </ownedParameter>
            </ownedOperation>
            <ownedOperation xmi:id="_hBZ88F0JEeCtp_-GJxiR4A" name="getDate" visibility="public">
              <ownedParameter xmi:id="_hBZ88V0JEeCtp_-GJxiR4A" name="return" type="_g6fcoF0JEeCtp_-GJxiR4A" direction="return"/>
            </ownedOperation>
            <ownedOperation xmi:id="_hBcZMF0JEeCtp_-GJxiR4A" name="getId" visibility="public">
              <ownedParameter xmi:id="_hBcZMV0JEeCtp_-GJxiR4A" name="return" direction="return">
                <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#long"/>
              </ownedParameter>
            </ownedOperation>
            <ownedOperation xmi:id="_hBeOYF0JEeCtp_-GJxiR4A" name="getMessage" visibility="public">
              <ownedParameter xmi:id="_hBeOYV0JEeCtp_-GJxiR4A" name="return" type="_g2yBUF0JEeCtp_-GJxiR4A" direction="return"/>
            </ownedOperation>
            <ownedOperation xmi:id="_hBhRsF0JEeCtp_-GJxiR4A" name="setCommenter" visibility="public">
              <ownedParameter xmi:id="_hBhRsV0JEeCtp_-GJxiR4A" name="commenter" type="_g22SwF0JEeCtp_-GJxiR4A"/>
            </ownedOperation>
            <ownedOperation xmi:id="_hBjt8F0JEeCtp_-GJxiR4A" name="setContent" visibility="public">
              <ownedParameter xmi:id="_hBjt8V0JEeCtp_-GJxiR4A" name="content">
                <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
              </ownedParameter>
            </ownedOperation>
            <ownedOperation xmi:id="_hBmKMF0JEeCtp_-GJxiR4A" name="setDate" visibility="public">
              <ownedParameter xmi:id="_hBmKMV0JEeCtp_-GJxiR4A" name="date" type="_g6fcoF0JEeCtp_-GJxiR4A"/>
            </ownedOperation>
            <ownedOperation xmi:id="_hBpNgF0JEeCtp_-GJxiR4A" name="setId" visibility="public">
              <ownedParameter xmi:id="_hBpNgV0JEeCtp_-GJxiR4A" name="id">
                <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#long"/>
              </ownedParameter>
            </ownedOperation>
            <ownedOperation xmi:id="_hBrpwF0JEeCtp_-GJxiR4A" name="setMessage" visibility="public">
              <ownedParameter xmi:id="_hBrpwV0JEeCtp_-GJxiR4A" name="message" type="_g2yBUF0JEeCtp_-GJxiR4A"/>
            </ownedOperation>
          </packagedElement>
          <packagedElement xmi:type="uml:Class" xmi:id="_g2Zm0F0JEeCtp_-GJxiR4A" name="SubmitInfo">
            <ownedAttribute xmi:id="_hBvUIF0JEeCtp_-GJxiR4A" name="homework" visibility="private" type="_g2fGYF0JEeCtp_-GJxiR4A" association="_hLvktF0JEeCtp_-GJxiR4A"/>
            <ownedAttribute xmi:id="_hByXcF0JEeCtp_-GJxiR4A" name="id" visibility="private">
              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#long"/>
            </ownedAttribute>
            <ownedAttribute xmi:id="_hB1awF0JEeCtp_-GJxiR4A" name="submitDate" visibility="private" type="_g6fcoF0JEeCtp_-GJxiR4A"/>
            <ownedAttribute xmi:id="_hB4eEF0JEeCtp_-GJxiR4A" name="user" visibility="private" type="_g22SwF0JEeCtp_-GJxiR4A" association="_hLwLwF0JEeCtp_-GJxiR4A"/>
            <ownedOperation xmi:id="_hB6TQF0JEeCtp_-GJxiR4A" name="getHomework" visibility="public">
              <ownedParameter xmi:id="_hB6TQV0JEeCtp_-GJxiR4A" name="return" type="_g2fGYF0JEeCtp_-GJxiR4A" direction="return"/>
            </ownedOperation>
            <ownedOperation xmi:id="_hB8IcF0JEeCtp_-GJxiR4A" name="getId" visibility="public">
              <ownedParameter xmi:id="_hB8IcV0JEeCtp_-GJxiR4A" name="return" direction="return">
                <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#long"/>
              </ownedParameter>
            </ownedOperation>
            <ownedOperation xmi:id="_hB99oF0JEeCtp_-GJxiR4A" name="getSubmitDate" visibility="public">
              <ownedParameter xmi:id="_hB99oV0JEeCtp_-GJxiR4A" name="return" type="_g6fcoF0JEeCtp_-GJxiR4A" direction="return"/>
            </ownedOperation>
            <ownedOperation xmi:id="_hB_y0F0JEeCtp_-GJxiR4A" name="getUser" visibility="public">
              <ownedParameter xmi:id="_hB_y0V0JEeCtp_-GJxiR4A" name="return" type="_g22SwF0JEeCtp_-GJxiR4A" direction="return"/>
            </ownedOperation>
            <ownedOperation xmi:id="_hCBoAF0JEeCtp_-GJxiR4A" name="setHomework" visibility="public">
              <ownedParameter xmi:id="_hCBoAV0JEeCtp_-GJxiR4A" name="homework" type="_g2fGYF0JEeCtp_-GJxiR4A"/>
            </ownedOperation>
            <ownedOperation xmi:id="_hCDdMF0JEeCtp_-GJxiR4A" name="setId" visibility="public">
              <ownedParameter xmi:id="_hCDdMV0JEeCtp_-GJxiR4A" name="id">
                <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#long"/>
              </ownedParameter>
            </ownedOperation>
            <ownedOperation xmi:id="_hCF5cF0JEeCtp_-GJxiR4A" name="setSubmitDate" visibility="public">
              <ownedParameter xmi:id="_hCF5cV0JEeCtp_-GJxiR4A" name="submitDate" type="_g6fcoF0JEeCtp_-GJxiR4A"/>
            </ownedOperation>
            <ownedOperation xmi:id="_hCHuoF0JEeCtp_-GJxiR4A" name="setUser" visibility="public">
              <ownedParameter xmi:id="_hCHuoV0JEeCtp_-GJxiR4A" name="user" type="_g22SwF0JEeCtp_-GJxiR4A"/>
            </ownedOperation>
          </packagedElement>
          <packagedElement xmi:type="uml:Class" xmi:id="_g2fGYF0JEeCtp_-GJxiR4A" name="Homework">
            <ownedAttribute xmi:id="_hCMnIF0JEeCtp_-GJxiR4A" name="course" visibility="private" type="_g2r6sF0JEeCtp_-GJxiR4A" association="_hLwLwl0JEeCtp_-GJxiR4A"/>
            <ownedAttribute xmi:id="_hCSGsF0JEeCtp_-GJxiR4A" name="descrip" visibility="private">
              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
            </ownedAttribute>
            <ownedAttribute xmi:id="_hCW_MF0JEeCtp_-GJxiR4A" name="dueDate" visibility="private" type="_g6fcoF0JEeCtp_-GJxiR4A"/>
            <ownedAttribute xmi:id="_hCb3sF0JEeCtp_-GJxiR4A" name="extRestrict" visibility="private">
              <ownedComment xmi:id="_hCeT8F0JEeCtp_-GJxiR4A">
                <body>/** 
 * 上传作业时文件的类型限制 字符串形如&quot;zip,rar,doc,docx&quot;
 */
</body>
              </ownedComment>
              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
            </ownedAttribute>
            <ownedAttribute xmi:id="_hChXQF0JEeCtp_-GJxiR4A" name="id" visibility="private">
              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#long"/>
            </ownedAttribute>
            <ownedAttribute xmi:id="_hCm20F0JEeCtp_-GJxiR4A" name="maxSize" visibility="private">
              <ownedComment xmi:id="_hCpTEF0JEeCtp_-GJxiR4A">
                <body>/** 
 * 上传作业时文件的大小限制 KB为单位
 */
</body>
              </ownedComment>
              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
            </ownedAttribute>
            <ownedAttribute xmi:id="_hCrvUF0JEeCtp_-GJxiR4A" name="remark" visibility="private">
              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
            </ownedAttribute>
            <ownedAttribute xmi:id="_hCx18F0JEeCtp_-GJxiR4A" name="startDate" visibility="private" type="_g6fcoF0JEeCtp_-GJxiR4A"/>
            <ownedAttribute xmi:id="_hC3VgF0JEeCtp_-GJxiR4A" name="submitInfos" visibility="private" type="_hC05QF0JEeCtp_-GJxiR4A"/>
            <ownedAttribute xmi:id="_hC81EF0JEeCtp_-GJxiR4A" name="submitMethod" visibility="private">
              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
            </ownedAttribute>
            <ownedOperation xmi:id="_hC_RUF0JEeCtp_-GJxiR4A" name="getCourse" visibility="public">
              <ownedParameter xmi:id="_hC_RUV0JEeCtp_-GJxiR4A" name="return" type="_g2r6sF0JEeCtp_-GJxiR4A" direction="return"/>
            </ownedOperation>
            <ownedOperation xmi:id="_hDCUoF0JEeCtp_-GJxiR4A" name="getDescrip" visibility="public">
              <ownedParameter xmi:id="_hDCUoV0JEeCtp_-GJxiR4A" name="return" direction="return">
                <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
              </ownedParameter>
            </ownedOperation>
            <ownedOperation xmi:id="_hDEw4F0JEeCtp_-GJxiR4A" name="getDueDate" visibility="public">
              <ownedParameter xmi:id="_hDEw4V0JEeCtp_-GJxiR4A" name="return" type="_g6fcoF0JEeCtp_-GJxiR4A" direction="return"/>
            </ownedOperation>
            <ownedOperation xmi:id="_hDH0MF0JEeCtp_-GJxiR4A" name="getExtRestrict" visibility="public">
              <ownedParameter xmi:id="_hDH0MV0JEeCtp_-GJxiR4A" name="return" direction="return">
                <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
              </ownedParameter>
            </ownedOperation>
            <ownedOperation xmi:id="_hDKQcF0JEeCtp_-GJxiR4A" name="getId" visibility="public">
              <ownedParameter xmi:id="_hDKQcV0JEeCtp_-GJxiR4A" name="return" direction="return">
                <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#long"/>
              </ownedParameter>
            </ownedOperation>
            <ownedOperation xmi:id="_hDNTwF0JEeCtp_-GJxiR4A" name="getMaxSize" visibility="public">
              <ownedParameter xmi:id="_hDNTwV0JEeCtp_-GJxiR4A" name="return" direction="return">
                <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
              </ownedParameter>
            </ownedOperation>
            <ownedOperation xmi:id="_hDPwAF0JEeCtp_-GJxiR4A" name="getRemark" visibility="public">
              <ownedParameter xmi:id="_hDPwAV0JEeCtp_-GJxiR4A" name="return" direction="return">
                <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
              </ownedParameter>
            </ownedOperation>
            <ownedOperation xmi:id="_hDSMQF0JEeCtp_-GJxiR4A" name="getStartDate" visibility="public">
              <ownedParameter xmi:id="_hDSzUF0JEeCtp_-GJxiR4A" name="return" type="_g6fcoF0JEeCtp_-GJxiR4A" direction="return"/>
            </ownedOperation>
            <ownedOperation xmi:id="_hDV2oF0JEeCtp_-GJxiR4A" name="getSubmitInfos" visibility="public">
              <ownedParameter xmi:id="_hDV2oV0JEeCtp_-GJxiR4A" name="return" type="_g6eOgF0JEeCtp_-GJxiR4A" direction="return"/>
            </ownedOperation>
            <ownedOperation xmi:id="_hDY58F0JEeCtp_-GJxiR4A" name="getSubmitMethod" visibility="public">
              <ownedParameter xmi:id="_hDY58V0JEeCtp_-GJxiR4A" name="return" direction="return">
                <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
              </ownedParameter>
            </ownedOperation>
            <ownedOperation xmi:id="_hDb9QF0JEeCtp_-GJxiR4A" name="setCourse" visibility="public">
              <ownedParameter xmi:id="_hDb9QV0JEeCtp_-GJxiR4A" name="course" type="_g2r6sF0JEeCtp_-GJxiR4A"/>
            </ownedOperation>
            <ownedOperation xmi:id="_hDfnoF0JEeCtp_-GJxiR4A" name="setDescrip" visibility="public">
              <ownedParameter xmi:id="_hDfnoV0JEeCtp_-GJxiR4A" name="descrip">
                <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
              </ownedParameter>
            </ownedOperation>
            <ownedOperation xmi:id="_hDiq8F0JEeCtp_-GJxiR4A" name="setDueDate" visibility="public">
              <ownedParameter xmi:id="_hDiq8V0JEeCtp_-GJxiR4A" name="dueDate" type="_g6fcoF0JEeCtp_-GJxiR4A"/>
            </ownedOperation>
            <ownedOperation xmi:id="_hDluQF0JEeCtp_-GJxiR4A" name="setExtRestrict" visibility="public">
              <ownedParameter xmi:id="_hDluQV0JEeCtp_-GJxiR4A" name="extRestrict">
                <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
              </ownedParameter>
            </ownedOperation>
            <ownedOperation xmi:id="_hDoxkF0JEeCtp_-GJxiR4A" name="setId" visibility="public">
              <ownedParameter xmi:id="_hDoxkV0JEeCtp_-GJxiR4A" name="id">
                <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#long"/>
              </ownedParameter>
            </ownedOperation>
            <ownedOperation xmi:id="_hDtDAF0JEeCtp_-GJxiR4A" name="setMaxSize" visibility="public">
              <ownedParameter xmi:id="_hDtqEF0JEeCtp_-GJxiR4A" name="maxSize">
                <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
              </ownedParameter>
            </ownedOperation>
            <ownedOperation xmi:id="_hDxUcF0JEeCtp_-GJxiR4A" name="setRemark" visibility="public">
              <ownedParameter xmi:id="_hDxUcV0JEeCtp_-GJxiR4A" name="remark">
                <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
              </ownedParameter>
            </ownedOperation>
            <ownedOperation xmi:id="_hD0XwF0JEeCtp_-GJxiR4A" name="setStartDate" visibility="public">
              <ownedParameter xmi:id="_hD0XwV0JEeCtp_-GJxiR4A" name="startDate" type="_g6fcoF0JEeCtp_-GJxiR4A"/>
            </ownedOperation>
            <ownedOperation xmi:id="_hD3bEF0JEeCtp_-GJxiR4A" name="setSubmitInfos" visibility="public">
              <ownedParameter xmi:id="_hD3bEV0JEeCtp_-GJxiR4A" name="submitInfos" type="_g6eOgF0JEeCtp_-GJxiR4A"/>
            </ownedOperation>
            <ownedOperation xmi:id="_hD6eYF0JEeCtp_-GJxiR4A" name="setSubmitMethod" visibility="public">
              <ownedParameter xmi:id="_hD6eYV0JEeCtp_-GJxiR4A" name="submitMethod">
                <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
              </ownedParameter>
            </ownedOperation>
          </packagedElement>
          <packagedElement xmi:type="uml:Class" xmi:id="_g2r6sF0JEeCtp_-GJxiR4A" name="Course">
            <ownedAttribute xmi:id="_hD-v0F0JEeCtp_-GJxiR4A" name="examDesc" visibility="private">
              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
            </ownedAttribute>
            <ownedAttribute xmi:id="_hECaMF0JEeCtp_-GJxiR4A" name="homeworks" visibility="private" type="_hEBMEF0JEeCtp_-GJxiR4A"/>
            <ownedAttribute xmi:id="_hEGEkF0JEeCtp_-GJxiR4A" name="id" visibility="private">
              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#long"/>
            </ownedAttribute>
            <ownedAttribute xmi:id="_hEJu8F0JEeCtp_-GJxiR4A" name="name" visibility="private">
              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
            </ownedAttribute>
            <ownedAttribute xmi:id="_hENZUF0JEeCtp_-GJxiR4A" name="points" visibility="private">
              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
            </ownedAttribute>
            <ownedAttribute xmi:id="_hESR0F0JEeCtp_-GJxiR4A" name="students" visibility="private" type="_hEQcoF0JEeCtp_-GJxiR4A"/>
            <ownedAttribute xmi:id="_hEV8MF0JEeCtp_-GJxiR4A" name="teacher" visibility="private" type="_g22SwF0JEeCtp_-GJxiR4A" association="_hLwLxF0JEeCtp_-GJxiR4A"/>
            <ownedAttribute xmi:id="_hEY_gF0JEeCtp_-GJxiR4A" name="type" visibility="private">
              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
            </ownedAttribute>
            <ownedOperation xmi:id="_hEa0sF0JEeCtp_-GJxiR4A" name="getExamDesc" visibility="public">
              <ownedParameter xmi:id="_hEa0sV0JEeCtp_-GJxiR4A" name="return" direction="return">
                <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
              </ownedParameter>
            </ownedOperation>
            <ownedOperation xmi:id="_hEdQ8F0JEeCtp_-GJxiR4A" name="getHomeworks" visibility="public">
              <ownedParameter xmi:id="_hEdQ8V0JEeCtp_-GJxiR4A" name="return" type="_g6eOgF0JEeCtp_-GJxiR4A" direction="return"/>
            </ownedOperation>
            <ownedOperation xmi:id="_hEfGIF0JEeCtp_-GJxiR4A" name="getId" visibility="public">
              <ownedParameter xmi:id="_hEfGIV0JEeCtp_-GJxiR4A" name="return" direction="return">
                <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#long"/>
              </ownedParameter>
            </ownedOperation>
            <ownedOperation xmi:id="_hEhiYF0JEeCtp_-GJxiR4A" name="getName" visibility="public">
              <ownedParameter xmi:id="_hEhiYV0JEeCtp_-GJxiR4A" name="return" direction="return">
                <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
              </ownedParameter>
            </ownedOperation>
            <ownedOperation xmi:id="_hEjXkF0JEeCtp_-GJxiR4A" name="getPoints" visibility="public">
              <ownedParameter xmi:id="_hEjXkV0JEeCtp_-GJxiR4A" name="return" direction="return">
                <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
              </ownedParameter>
            </ownedOperation>
            <ownedOperation xmi:id="_hElz0F0JEeCtp_-GJxiR4A" name="getStudents" visibility="public">
              <ownedParameter xmi:id="_hElz0V0JEeCtp_-GJxiR4A" name="return" type="_g6eOgF0JEeCtp_-GJxiR4A" direction="return"/>
            </ownedOperation>
            <ownedOperation xmi:id="_hEnpAF0JEeCtp_-GJxiR4A" name="getTeacher" visibility="public">
              <ownedParameter xmi:id="_hEnpAV0JEeCtp_-GJxiR4A" name="return" type="_g22SwF0JEeCtp_-GJxiR4A" direction="return"/>
            </ownedOperation>
            <ownedOperation xmi:id="_hEqFQF0JEeCtp_-GJxiR4A" name="getType" visibility="public">
              <ownedParameter xmi:id="_hEqFQV0JEeCtp_-GJxiR4A" name="return" direction="return">
                <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
              </ownedParameter>
            </ownedOperation>
            <ownedOperation xmi:id="_hEtIkF0JEeCtp_-GJxiR4A" name="setExamDesc" visibility="public">
              <ownedParameter xmi:id="_hEtIkV0JEeCtp_-GJxiR4A" name="examDesc">
                <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
              </ownedParameter>
            </ownedOperation>
            <ownedOperation xmi:id="_hEvk0F0JEeCtp_-GJxiR4A" name="setHomeworks" visibility="public">
              <ownedParameter xmi:id="_hEvk0V0JEeCtp_-GJxiR4A" name="homeworks" type="_g6eOgF0JEeCtp_-GJxiR4A"/>
            </ownedOperation>
            <ownedOperation xmi:id="_hEyoIF0JEeCtp_-GJxiR4A" name="setId" visibility="public">
              <ownedParameter xmi:id="_hEyoIV0JEeCtp_-GJxiR4A" name="id">
                <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#long"/>
              </ownedParameter>
            </ownedOperation>
            <ownedOperation xmi:id="_hE1EYF0JEeCtp_-GJxiR4A" name="setName" visibility="public">
              <ownedParameter xmi:id="_hE1EYV0JEeCtp_-GJxiR4A" name="name">
                <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
              </ownedParameter>
            </ownedOperation>
            <ownedOperation xmi:id="_hE3goF0JEeCtp_-GJxiR4A" name="setPoints" visibility="public">
              <ownedParameter xmi:id="_hE3goV0JEeCtp_-GJxiR4A" name="points">
                <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
              </ownedParameter>
            </ownedOperation>
            <ownedOperation xmi:id="_hE584F0JEeCtp_-GJxiR4A" name="setStudents" visibility="public">
              <ownedParameter xmi:id="_hE584V0JEeCtp_-GJxiR4A" name="students" type="_g6eOgF0JEeCtp_-GJxiR4A"/>
            </ownedOperation>
            <ownedOperation xmi:id="_hE9AMF0JEeCtp_-GJxiR4A" name="setTeacher" visibility="public">
              <ownedParameter xmi:id="_hE9AMV0JEeCtp_-GJxiR4A" name="teacher" type="_g22SwF0JEeCtp_-GJxiR4A"/>
            </ownedOperation>
            <ownedOperation xmi:id="_hE-1YF0JEeCtp_-GJxiR4A" name="setType" visibility="public">
              <ownedParameter xmi:id="_hE-1YV0JEeCtp_-GJxiR4A" name="type">
                <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
              </ownedParameter>
            </ownedOperation>
          </packagedElement>
          <packagedElement xmi:type="uml:Class" xmi:id="_g2yBUF0JEeCtp_-GJxiR4A" name="Message">
            <ownedAttribute xmi:id="_hFDG0F0JEeCtp_-GJxiR4A" name="category" visibility="private">
              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
            </ownedAttribute>
            <ownedAttribute xmi:id="_hFGKIF0JEeCtp_-GJxiR4A" name="comments" visibility="private" type="_hFE8AF0JEeCtp_-GJxiR4A"/>
            <ownedAttribute xmi:id="_hFJ0gF0JEeCtp_-GJxiR4A" name="content" visibility="private">
              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
            </ownedAttribute>
            <ownedAttribute xmi:id="_hFM30F0JEeCtp_-GJxiR4A" name="createDate" visibility="private" type="_g6fcoF0JEeCtp_-GJxiR4A"/>
            <ownedAttribute xmi:id="_hFP7IF0JEeCtp_-GJxiR4A" name="id" visibility="private">
              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#long"/>
            </ownedAttribute>
            <ownedAttribute xmi:id="_hFTlgF0JEeCtp_-GJxiR4A" name="publisher" visibility="private" type="_g22SwF0JEeCtp_-GJxiR4A" association="_hLwy0F0JEeCtp_-GJxiR4A"/>
            <ownedAttribute xmi:id="_hFWo0F0JEeCtp_-GJxiR4A" name="title" visibility="private">
              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
            </ownedAttribute>
            <ownedOperation xmi:id="_hFYeAF0JEeCtp_-GJxiR4A" name="getCategory" visibility="public">
              <ownedParameter xmi:id="_hFYeAV0JEeCtp_-GJxiR4A" name="return" direction="return">
                <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
              </ownedParameter>
            </ownedOperation>
            <ownedOperation xmi:id="_hFaTMF0JEeCtp_-GJxiR4A" name="getComments" visibility="public">
              <ownedParameter xmi:id="_hFaTMV0JEeCtp_-GJxiR4A" name="return" type="_g6eOgF0JEeCtp_-GJxiR4A" direction="return"/>
            </ownedOperation>
            <ownedOperation xmi:id="_hFcIYF0JEeCtp_-GJxiR4A" name="getContent" visibility="public">
              <ownedParameter xmi:id="_hFcIYV0JEeCtp_-GJxiR4A" name="return" direction="return">
                <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
              </ownedParameter>
            </ownedOperation>
            <ownedOperation xmi:id="_hFd9kF0JEeCtp_-GJxiR4A" name="getCreateDate" visibility="public">
              <ownedParameter xmi:id="_hFd9kV0JEeCtp_-GJxiR4A" name="return" type="_g6fcoF0JEeCtp_-GJxiR4A" direction="return"/>
            </ownedOperation>
            <ownedOperation xmi:id="_hFgZ0F0JEeCtp_-GJxiR4A" name="getId" visibility="public">
              <ownedParameter xmi:id="_hFgZ0V0JEeCtp_-GJxiR4A" name="return" direction="return">
                <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#long"/>
              </ownedParameter>
            </ownedOperation>
            <ownedOperation xmi:id="_hFiPAF0JEeCtp_-GJxiR4A" name="getPublisher" visibility="public">
              <ownedParameter xmi:id="_hFiPAV0JEeCtp_-GJxiR4A" name="return" type="_g22SwF0JEeCtp_-GJxiR4A" direction="return"/>
            </ownedOperation>
            <ownedOperation xmi:id="_hFkrQF0JEeCtp_-GJxiR4A" name="getTitle" visibility="public">
              <ownedParameter xmi:id="_hFkrQV0JEeCtp_-GJxiR4A" name="return" direction="return">
                <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
              </ownedParameter>
            </ownedOperation>
            <ownedOperation xmi:id="_hFqK0F0JEeCtp_-GJxiR4A" name="setCategory" visibility="public">
              <ownedParameter xmi:id="_hFqK0V0JEeCtp_-GJxiR4A" name="category">
                <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
              </ownedParameter>
            </ownedOperation>
            <ownedOperation xmi:id="_hFt1MF0JEeCtp_-GJxiR4A" name="setComments" visibility="public">
              <ownedParameter xmi:id="_hFt1MV0JEeCtp_-GJxiR4A" name="comments" type="_g6eOgF0JEeCtp_-GJxiR4A"/>
            </ownedOperation>
            <ownedOperation xmi:id="_hFytsF0JEeCtp_-GJxiR4A" name="setContent" visibility="public">
              <ownedParameter xmi:id="_hFytsV0JEeCtp_-GJxiR4A" name="content">
                <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
              </ownedParameter>
            </ownedOperation>
            <ownedOperation xmi:id="_hF1xAF0JEeCtp_-GJxiR4A" name="setCreateDate" visibility="public">
              <ownedParameter xmi:id="_hF1xAV0JEeCtp_-GJxiR4A" name="createDate" type="_g6fcoF0JEeCtp_-GJxiR4A"/>
            </ownedOperation>
            <ownedOperation xmi:id="_hF5bYF0JEeCtp_-GJxiR4A" name="setId" visibility="public">
              <ownedParameter xmi:id="_hF5bYV0JEeCtp_-GJxiR4A" name="id">
                <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#long"/>
              </ownedParameter>
            </ownedOperation>
            <ownedOperation xmi:id="_hF7QkF0JEeCtp_-GJxiR4A" name="setPublisher" visibility="public">
              <ownedParameter xmi:id="_hF7QkV0JEeCtp_-GJxiR4A" name="publisher" type="_g22SwF0JEeCtp_-GJxiR4A"/>
            </ownedOperation>
            <ownedOperation xmi:id="_hF9s0F0JEeCtp_-GJxiR4A" name="setTitle" visibility="public">
              <ownedParameter xmi:id="_hF9s0V0JEeCtp_-GJxiR4A" name="title">
                <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
              </ownedParameter>
            </ownedOperation>
          </packagedElement>
          <packagedElement xmi:type="uml:Class" xmi:id="_g22SwF0JEeCtp_-GJxiR4A" name="User">
            <ownedAttribute xmi:id="_hGClUF0JEeCtp_-GJxiR4A" name="comments" visibility="private" type="_hFE8AF0JEeCtp_-GJxiR4A"/>
            <ownedAttribute xmi:id="_hGIE4F0JEeCtp_-GJxiR4A" name="courses" visibility="private" type="_hGFooF0JEeCtp_-GJxiR4A"/>
            <ownedAttribute xmi:id="_hGNkcF0JEeCtp_-GJxiR4A" name="descrip" visibility="private">
              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
            </ownedAttribute>
            <ownedAttribute xmi:id="_hGTEAF0JEeCtp_-GJxiR4A" name="id" visibility="private">
              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
            </ownedAttribute>
            <ownedAttribute xmi:id="_hGYjkF0JEeCtp_-GJxiR4A" name="lastIP" visibility="private">
              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
            </ownedAttribute>
            <ownedAttribute xmi:id="_hGdcEF0JEeCtp_-GJxiR4A" name="messages" visibility="private" type="_hGa_0F0JEeCtp_-GJxiR4A"/>
            <ownedAttribute xmi:id="_hGi7oF0JEeCtp_-GJxiR4A" name="name" visibility="private">
              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
            </ownedAttribute>
            <ownedAttribute xmi:id="_hGobMF0JEeCtp_-GJxiR4A" name="password" visibility="private">
              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
            </ownedAttribute>
            <ownedAttribute xmi:id="_hGtTsF0JEeCtp_-GJxiR4A" name="submitInfos" visibility="private" type="_hC05QF0JEeCtp_-GJxiR4A"/>
            <ownedOperation xmi:id="_hGwXAF0JEeCtp_-GJxiR4A" name="getComments" visibility="public">
              <ownedParameter xmi:id="_hGwXAV0JEeCtp_-GJxiR4A" name="return" type="_g6eOgF0JEeCtp_-GJxiR4A" direction="return"/>
            </ownedOperation>
            <ownedOperation xmi:id="_hGzaUF0JEeCtp_-GJxiR4A" name="getCourses" visibility="public">
              <ownedParameter xmi:id="_hGzaUV0JEeCtp_-GJxiR4A" name="return" type="_g6eOgF0JEeCtp_-GJxiR4A" direction="return"/>
            </ownedOperation>
            <ownedOperation xmi:id="_hG3EsF0JEeCtp_-GJxiR4A" name="getId" visibility="public">
              <ownedParameter xmi:id="_hG3EsV0JEeCtp_-GJxiR4A" name="return" direction="return">
                <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
              </ownedParameter>
            </ownedOperation>
            <ownedOperation xmi:id="_hG5g8F0JEeCtp_-GJxiR4A" name="getLastIP" visibility="public">
              <ownedParameter xmi:id="_hG5g8V0JEeCtp_-GJxiR4A" name="return" direction="return">
                <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
              </ownedParameter>
            </ownedOperation>
            <ownedOperation xmi:id="_hG8kQF0JEeCtp_-GJxiR4A" name="getMessages" visibility="public">
              <ownedParameter xmi:id="_hG8kQV0JEeCtp_-GJxiR4A" name="return" type="_g6eOgF0JEeCtp_-GJxiR4A" direction="return"/>
            </ownedOperation>
            <ownedOperation xmi:id="_hG_nkF0JEeCtp_-GJxiR4A" name="getName" visibility="public">
              <ownedParameter xmi:id="_hG_nkV0JEeCtp_-GJxiR4A" name="return" direction="return">
                <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
              </ownedParameter>
            </ownedOperation>
            <ownedOperation xmi:id="_hHCD0F0JEeCtp_-GJxiR4A" name="getPassword" visibility="public">
              <ownedParameter xmi:id="_hHCD0V0JEeCtp_-GJxiR4A" name="return" direction="return">
                <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
              </ownedParameter>
            </ownedOperation>
            <ownedOperation xmi:id="_hHFuMF0JEeCtp_-GJxiR4A" name="getSubmitInfos" visibility="public">
              <ownedParameter xmi:id="_hHFuMV0JEeCtp_-GJxiR4A" name="return" type="_g6eOgF0JEeCtp_-GJxiR4A" direction="return"/>
            </ownedOperation>
            <ownedOperation xmi:id="_hHIxgF0JEeCtp_-GJxiR4A" name="setComments" visibility="public">
              <ownedParameter xmi:id="_hHIxgV0JEeCtp_-GJxiR4A" name="comments" type="_g6eOgF0JEeCtp_-GJxiR4A"/>
            </ownedOperation>
            <ownedOperation xmi:id="_hHMb4F0JEeCtp_-GJxiR4A" name="setCourses" visibility="public">
              <ownedParameter xmi:id="_hHMb4V0JEeCtp_-GJxiR4A" name="courses" type="_g6eOgF0JEeCtp_-GJxiR4A"/>
            </ownedOperation>
            <ownedOperation xmi:id="_hHQGQF0JEeCtp_-GJxiR4A" name="setId" visibility="public">
              <ownedParameter xmi:id="_hHQGQV0JEeCtp_-GJxiR4A" name="id">
                <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
              </ownedParameter>
            </ownedOperation>
            <ownedOperation xmi:id="_hHTJkF0JEeCtp_-GJxiR4A" name="setLastIP" visibility="public">
              <ownedParameter xmi:id="_hHTJkV0JEeCtp_-GJxiR4A" name="lastIP">
                <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
              </ownedParameter>
            </ownedOperation>
            <ownedOperation xmi:id="_hHWz8F0JEeCtp_-GJxiR4A" name="setMessages" visibility="public">
              <ownedParameter xmi:id="_hHWz8V0JEeCtp_-GJxiR4A" name="messages" type="_g6eOgF0JEeCtp_-GJxiR4A"/>
            </ownedOperation>
            <ownedOperation xmi:id="_hHZ3QF0JEeCtp_-GJxiR4A" name="setName" visibility="public">
              <ownedParameter xmi:id="_hHZ3QV0JEeCtp_-GJxiR4A" name="name">
                <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
              </ownedParameter>
            </ownedOperation>
            <ownedOperation xmi:id="_hHc6kF0JEeCtp_-GJxiR4A" name="setPassword" visibility="public">
              <ownedParameter xmi:id="_hHc6kV0JEeCtp_-GJxiR4A" name="password">
                <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
              </ownedParameter>
            </ownedOperation>
            <ownedOperation xmi:id="_hHgk8F0JEeCtp_-GJxiR4A" name="setSubmitInfos" visibility="public">
              <ownedParameter xmi:id="_hHgk8V0JEeCtp_-GJxiR4A" name="submitInfos" type="_g6eOgF0JEeCtp_-GJxiR4A"/>
            </ownedOperation>
            <ownedOperation xmi:id="_hHjoQF0JEeCtp_-GJxiR4A" name="setDescrip" visibility="public">
              <ownedParameter xmi:id="_hHjoQV0JEeCtp_-GJxiR4A" name="descrip">
                <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
              </ownedParameter>
            </ownedOperation>
            <ownedOperation xmi:id="_hHmrkF0JEeCtp_-GJxiR4A" name="getDescrip" visibility="public">
              <ownedParameter xmi:id="_hHmrkV0JEeCtp_-GJxiR4A" name="return" direction="return">
                <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
              </ownedParameter>
            </ownedOperation>
          </packagedElement>
          <packagedElement xmi:type="uml:Association" xmi:id="_hLvksF0JEeCtp_-GJxiR4A" memberEnd="_hBCwkF0JEeCtp_-GJxiR4A _hLvksV0JEeCtp_-GJxiR4A">
            <ownedEnd xmi:id="_hLvksV0JEeCtp_-GJxiR4A" name="Comment" type="_g2UHQF0JEeCtp_-GJxiR4A" association="_hLvksF0JEeCtp_-GJxiR4A"/>
          </packagedElement>
          <packagedElement xmi:type="uml:Association" xmi:id="_hLvksl0JEeCtp_-GJxiR4A" memberEnd="_hBT2UF0JEeCtp_-GJxiR4A _hLvks10JEeCtp_-GJxiR4A">
            <ownedEnd xmi:id="_hLvks10JEeCtp_-GJxiR4A" name="Comment" type="_g2UHQF0JEeCtp_-GJxiR4A" association="_hLvksl0JEeCtp_-GJxiR4A"/>
          </packagedElement>
          <packagedElement xmi:type="uml:Association" xmi:id="_hLvktF0JEeCtp_-GJxiR4A" memberEnd="_hBvUIF0JEeCtp_-GJxiR4A _hLvktV0JEeCtp_-GJxiR4A">
            <ownedEnd xmi:id="_hLvktV0JEeCtp_-GJxiR4A" name="SubmitInfo" type="_g2Zm0F0JEeCtp_-GJxiR4A" association="_hLvktF0JEeCtp_-GJxiR4A"/>
          </packagedElement>
          <packagedElement xmi:type="uml:Association" xmi:id="_hLwLwF0JEeCtp_-GJxiR4A" memberEnd="_hB4eEF0JEeCtp_-GJxiR4A _hLwLwV0JEeCtp_-GJxiR4A">
            <ownedEnd xmi:id="_hLwLwV0JEeCtp_-GJxiR4A" name="SubmitInfo" type="_g2Zm0F0JEeCtp_-GJxiR4A" association="_hLwLwF0JEeCtp_-GJxiR4A"/>
          </packagedElement>
          <packagedElement xmi:type="uml:Association" xmi:id="_hLwLwl0JEeCtp_-GJxiR4A" memberEnd="_hCMnIF0JEeCtp_-GJxiR4A _hLwLw10JEeCtp_-GJxiR4A">
            <ownedEnd xmi:id="_hLwLw10JEeCtp_-GJxiR4A" name="Homework" type="_g2fGYF0JEeCtp_-GJxiR4A" association="_hLwLwl0JEeCtp_-GJxiR4A"/>
          </packagedElement>
          <packagedElement xmi:type="uml:Association" xmi:id="_hLwLxF0JEeCtp_-GJxiR4A" memberEnd="_hEV8MF0JEeCtp_-GJxiR4A _hLwLxV0JEeCtp_-GJxiR4A">
            <ownedEnd xmi:id="_hLwLxV0JEeCtp_-GJxiR4A" name="Course" type="_g2r6sF0JEeCtp_-GJxiR4A" association="_hLwLxF0JEeCtp_-GJxiR4A"/>
          </packagedElement>
          <packagedElement xmi:type="uml:Association" xmi:id="_hLwy0F0JEeCtp_-GJxiR4A" memberEnd="_hFTlgF0JEeCtp_-GJxiR4A _hLwy0V0JEeCtp_-GJxiR4A">
            <ownedEnd xmi:id="_hLwy0V0JEeCtp_-GJxiR4A" name="Message" type="_g2yBUF0JEeCtp_-GJxiR4A" association="_hLwy0F0JEeCtp_-GJxiR4A"/>
          </packagedElement>
        </packagedElement>
        <packagedElement xmi:type="uml:Package" xmi:id="_g29AcF0JEeCtp_-GJxiR4A" name="util">
          <packagedElement xmi:type="uml:Class" xmi:id="_g3Aq0F0JEeCtp_-GJxiR4A" name="MD5">
            <ownedOperation xmi:id="_hHpu4F0JEeCtp_-GJxiR4A" name="getMD5" visibility="public" isStatic="true">
              <ownedParameter xmi:id="_hHpu4V0JEeCtp_-GJxiR4A" name="var">
                <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
              </ownedParameter>
              <ownedParameter xmi:id="_hHpu4l0JEeCtp_-GJxiR4A" name="return" direction="return">
                <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
              </ownedParameter>
            </ownedOperation>
          </packagedElement>
          <packagedElement xmi:type="uml:Class" xmi:id="_g3FjUF0JEeCtp_-GJxiR4A" name="HibernateSessionFactory">
            <ownedComment xmi:id="_g3P7YF0JEeCtp_-GJxiR4A">
              <body>/** 
 * Configures and provides access to Hibernate sessions, tied to the
 * current thread of execution.  Follows the Thread Local Session
 * pattern, see {@link http://hibernate.org/42.html }.
 */
</body>
            </ownedComment>
            <ownedAttribute xmi:id="_hHvOcF0JEeCtp_-GJxiR4A" name="CONFIG_FILE_LOCATION" visibility="private" isStatic="true">
              <ownedComment xmi:id="_hHyRwF0JEeCtp_-GJxiR4A">
                <body>/** 
 * Location of hibernate.cfg.xml file.
 * Location should be on the classpath as Hibernate uses  
 * #resourceAsStream style lookup for its configuration file. 
 * The default classpath location of the hibernate config file is 
 * in the default package. Use #setConfigFile() to update 
 * the location of the configuration file for the current session.   
 */
</body>
              </ownedComment>
              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
              <defaultValue xmi:type="uml:LiteralString" xmi:id="_hHvOcV0JEeCtp_-GJxiR4A" value="/hibernate.cfg.xml"/>
            </ownedAttribute>
            <ownedAttribute xmi:id="_hH0uAF0JEeCtp_-GJxiR4A" name="threadLocal" visibility="private" isStatic="true" type="_hHy40F0JEeCtp_-GJxiR4A" isReadOnly="true"/>
            <ownedAttribute xmi:id="_hH5mgF0JEeCtp_-GJxiR4A" name="configuration" visibility="private" isStatic="true" type="_g6n_gV0JEeCtp_-GJxiR4A"/>
            <ownedAttribute xmi:id="_hH_GEF0JEeCtp_-GJxiR4A" name="sessionFactory" visibility="private" isStatic="true" type="_hH8CwF0JEeCtp_-GJxiR4A"/>
            <ownedAttribute xmi:id="_hIDXgF0JEeCtp_-GJxiR4A" name="configFile" visibility="private" isStatic="true">
              <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
            </ownedAttribute>
            <ownedOperation xmi:id="_hIFzwF0JEeCtp_-GJxiR4A" name="getSession" visibility="public" isStatic="true">
              <ownedComment xmi:id="_hIIQAF0JEeCtp_-GJxiR4A">
                <body>/** 
 * Returns the ThreadLocal Session instance.  Lazy initialize
 * the &lt;code>SessionFactory&lt;/code> if needed.
 * @return Session
 * @throws HibernateException
 */
</body>
              </ownedComment>
              <ownedParameter xmi:id="_hIFzwV0JEeCtp_-GJxiR4A" name="return" type="_g6dAYV0JEeCtp_-GJxiR4A" direction="return"/>
            </ownedOperation>
            <ownedOperation xmi:id="_hII3EF0JEeCtp_-GJxiR4A" name="rebuildSessionFactory" visibility="public" isStatic="true">
              <ownedComment xmi:id="_hIKsQF0JEeCtp_-GJxiR4A">
                <body>/** 
 * Rebuild hibernate session factory
 */
</body>
              </ownedComment>
            </ownedOperation>
            <ownedOperation xmi:id="_hILTUF0JEeCtp_-GJxiR4A" name="closeSession" visibility="public" isStatic="true">
              <ownedComment xmi:id="_hINIgF0JEeCtp_-GJxiR4A">
                <body>/** 
 * Close the single hibernate session instance.
 * @throws HibernateException
 */
</body>
              </ownedComment>
            </ownedOperation>
            <ownedOperation xmi:id="_hINvkF0JEeCtp_-GJxiR4A" name="getSessionFactory" visibility="public" isStatic="true">
              <ownedComment xmi:id="_hIPkwF0JEeCtp_-GJxiR4A">
                <body>/** 
 * return session factory
 */
</body>
              </ownedComment>
              <ownedParameter xmi:id="_hINvkV0JEeCtp_-GJxiR4A" name="return" type="_hH8CwF0JEeCtp_-GJxiR4A" direction="return"/>
            </ownedOperation>
            <ownedOperation xmi:id="_hIQL0F0JEeCtp_-GJxiR4A" name="setConfigFile" visibility="public" isStatic="true">
              <ownedComment xmi:id="_hISoEF0JEeCtp_-GJxiR4A">
                <body>/** 
 * return session factory
 * session factory will be rebuilded in the next call
 */
</body>
              </ownedComment>
              <ownedParameter xmi:id="_hIQL0V0JEeCtp_-GJxiR4A" name="configFile">
                <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
              </ownedParameter>
            </ownedOperation>
            <ownedOperation xmi:id="_hITPIF0JEeCtp_-GJxiR4A" name="getConfiguration" visibility="public" isStatic="true">
              <ownedComment xmi:id="_hIWScF0JEeCtp_-GJxiR4A">
                <body>/** 
 * return hibernate configuration
 */
</body>
              </ownedComment>
              <ownedParameter xmi:id="_hITPIV0JEeCtp_-GJxiR4A" name="return" type="_g6n_gV0JEeCtp_-GJxiR4A" direction="return"/>
            </ownedOperation>
          </packagedElement>
          <packagedElement xmi:type="uml:Class" xmi:id="_g3Va8F0JEeCtp_-GJxiR4A" name="ContinueFTP">
            <ownedComment xmi:id="_g3gaEF0JEeCtp_-GJxiR4A">
              <body>/** 
 * 支持断点续传的FTP实用类
 * @author BenZhou
 * @version 0.1 实现基本断点上传下载
 * @version 0.2 实现上传下载进度汇报
 * @version 0.3 实现中文目录创建及中文文件创建，添加对于中文的支持
 */
</body>
            </ownedComment>
            <ownedAttribute xmi:id="_hIeOQF0JEeCtp_-GJxiR4A" name="ftpClient" visibility="public" type="_g6rC0l0JEeCtp_-GJxiR4A"/>
            <nestedClassifier xmi:type="uml:Enumeration" xmi:id="_g3l5oF0JEeCtp_-GJxiR4A" name="UploadStatus">
              <ownedLiteral xmi:id="_hJp6AF0JEeCtp_-GJxiR4A" name="Create_Directory_Fail"/>
              <ownedLiteral xmi:id="_hJp6AV0JEeCtp_-GJxiR4A" name="Create_Directory_Success"/>
              <ownedLiteral xmi:id="_hJp6Al0JEeCtp_-GJxiR4A" name="Upload_New_File_Success"/>
              <ownedLiteral xmi:id="_hJqhEF0JEeCtp_-GJxiR4A" name="Upload_New_File_Failed"/>
              <ownedLiteral xmi:id="_hJqhEV0JEeCtp_-GJxiR4A" name="File_Exits"/>
              <ownedLiteral xmi:id="_hJqhEl0JEeCtp_-GJxiR4A" name="Remote_Bigger_Local"/>
              <ownedLiteral xmi:id="_hJqhE10JEeCtp_-GJxiR4A" name="Upload_From_Break_Success"/>
              <ownedLiteral xmi:id="_hJqhFF0JEeCtp_-GJxiR4A" name="Upload_From_Break_Failed"/>
              <ownedLiteral xmi:id="_hJqhFV0JEeCtp_-GJxiR4A" name="Delete_Remote_Faild"/>
            </nestedClassifier>
            <nestedClassifier xmi:type="uml:Enumeration" xmi:id="_g3ucgF0JEeCtp_-GJxiR4A" name="DownloadStatus">
              <ownedLiteral xmi:id="_hJrIIF0JEeCtp_-GJxiR4A" name="Remote_File_Noexist"/>
              <ownedLiteral xmi:id="_hJrIIV0JEeCtp_-GJxiR4A" name="Local_Bigger_Remote"/>
              <ownedLiteral xmi:id="_hJrIIl0JEeCtp_-GJxiR4A" name="Download_From_Break_Success"/>
              <ownedLiteral xmi:id="_hJrII10JEeCtp_-GJxiR4A" name="Download_From_Break_Failed"/>
              <ownedLiteral xmi:id="_hJrIJF0JEeCtp_-GJxiR4A" name="Download_New_Success"/>
              <ownedLiteral xmi:id="_hJrvMF0JEeCtp_-GJxiR4A" name="Download_New_Failed"/>
            </nestedClassifier>
            <ownedOperation xmi:id="_hImKEV0JEeCtp_-GJxiR4A" name="connect" visibility="public">
              <ownedComment xmi:id="_hIs3wF0JEeCtp_-GJxiR4A">
                <body>/** 
 * 连接到FTP服务器
 * @param hostname主机名
 * @param port端口
 * @param username用户名
 * @param password密码
 * @return 是否连接成功
 * @throws IOException
 */
</body>
              </ownedComment>
              <ownedParameter xmi:id="_hImKEl0JEeCtp_-GJxiR4A" name="hostname">
                <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
              </ownedParameter>
              <ownedParameter xmi:id="_hImKE10JEeCtp_-GJxiR4A" name="port">
                <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#int"/>
              </ownedParameter>
              <ownedParameter xmi:id="_hImKFF0JEeCtp_-GJxiR4A" name="username">
                <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
              </ownedParameter>
              <ownedParameter xmi:id="_hImKFV0JEeCtp_-GJxiR4A" name="password">
                <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
              </ownedParameter>
              <ownedParameter xmi:id="_hImKFl0JEeCtp_-GJxiR4A" name="return" direction="return">
                <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#boolean"/>
              </ownedParameter>
            </ownedOperation>
            <ownedOperation xmi:id="_hIvUAF0JEeCtp_-GJxiR4A" name="download" visibility="public">
              <ownedComment xmi:id="_hI1aoF0JEeCtp_-GJxiR4A">
                <body>/** 
 * 从FTP服务器上下载文件,支持断点续传，上传百分比汇报
 * @param remote远程文件路径
 * @param local本地文件路径
 * @return 上传的状态
 * @throws IOException
 */
</body>
              </ownedComment>
              <ownedParameter xmi:id="_hIvUAV0JEeCtp_-GJxiR4A" name="remote">
                <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
              </ownedParameter>
              <ownedParameter xmi:id="_hIvUAl0JEeCtp_-GJxiR4A" name="local">
                <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
              </ownedParameter>
              <ownedParameter xmi:id="_hIvUA10JEeCtp_-GJxiR4A" name="return" type="_g3ucgF0JEeCtp_-GJxiR4A" direction="return"/>
            </ownedOperation>
            <ownedOperation xmi:id="_hI2BsF0JEeCtp_-GJxiR4A" name="upload" visibility="public">
              <ownedComment xmi:id="_hI8vYF0JEeCtp_-GJxiR4A">
                <body>/** 
 * 上传文件到FTP服务器，支持断点续传
 * @param local本地文件名称，绝对路径
 * @param remote远程文件路径，使用/home/directory1/subdirectory/file.ext
 * 按照Linux上的路径指定方式，支持多级目录嵌套，支持递归创建不存在的目录结构
 * @return 上传结果
 * @throws IOException
 */
</body>
              </ownedComment>
              <ownedParameter xmi:id="_hI2BsV0JEeCtp_-GJxiR4A" name="local">
                <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
              </ownedParameter>
              <ownedParameter xmi:id="_hI2Bsl0JEeCtp_-GJxiR4A" name="remote">
                <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
              </ownedParameter>
              <ownedParameter xmi:id="_hI2Bs10JEeCtp_-GJxiR4A" name="return" type="_g3l5oF0JEeCtp_-GJxiR4A" direction="return"/>
            </ownedOperation>
            <ownedOperation xmi:id="_hI8vYV0JEeCtp_-GJxiR4A" name="disconnect" visibility="public">
              <ownedComment xmi:id="_hJC2AF0JEeCtp_-GJxiR4A">
                <body>/** 
 * 断开与远程服务器的连接
 * @throws IOException
 */
</body>
              </ownedComment>
            </ownedOperation>
            <ownedOperation xmi:id="_hJEEIF0JEeCtp_-GJxiR4A" name="CreateDirecroty" visibility="public">
              <ownedComment xmi:id="_hJL_8F0JEeCtp_-GJxiR4A">
                <body>/** 
 * 递归创建远程服务器目录
 * @param remote远程服务器文件绝对路径
 * @param ftpClientFTPClient对象
 * @return 目录创建是否成功
 * @throws IOException
 */
</body>
              </ownedComment>
              <ownedParameter xmi:id="_hJEEIV0JEeCtp_-GJxiR4A" name="remote">
                <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
              </ownedParameter>
              <ownedParameter xmi:id="_hJEEIl0JEeCtp_-GJxiR4A" name="ftpClient" type="_g6rC0l0JEeCtp_-GJxiR4A"/>
              <ownedParameter xmi:id="_hJEEI10JEeCtp_-GJxiR4A" name="return" type="_g3l5oF0JEeCtp_-GJxiR4A" direction="return"/>
            </ownedOperation>
            <ownedOperation xmi:id="_hJNOEF0JEeCtp_-GJxiR4A" name="uploadFile" visibility="public">
              <ownedComment xmi:id="_hJT7wF0JEeCtp_-GJxiR4A">
                <body>/** 
 * 上传文件到服务器,新上传和断点续传
 * @param remoteFile远程文件名，在上传之前已经将服务器工作目录做了改变
 * @param localFile本地文件File句柄，绝对路径
 * @param processStep需要显示的处理进度步进值
 * @param ftpClientFTPClient引用
 * @return
 * @throws IOException
 */
</body>
              </ownedComment>
              <ownedParameter xmi:id="_hJNOEV0JEeCtp_-GJxiR4A" name="remoteFile">
                <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
              </ownedParameter>
              <ownedParameter xmi:id="_hJNOEl0JEeCtp_-GJxiR4A" name="localFile" type="_g6omkF0JEeCtp_-GJxiR4A"/>
              <ownedParameter xmi:id="_hJNOE10JEeCtp_-GJxiR4A" name="ftpClient" type="_g6rC0l0JEeCtp_-GJxiR4A"/>
              <ownedParameter xmi:id="_hJNOFF0JEeCtp_-GJxiR4A" name="remoteSize">
                <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/JavaPrimitiveTypes.library.uml#long"/>
              </ownedParameter>
              <ownedParameter xmi:id="_hJNOFV0JEeCtp_-GJxiR4A" name="return" type="_g3l5oF0JEeCtp_-GJxiR4A" direction="return"/>
            </ownedOperation>
            <ownedOperation xmi:id="_hJUi0F0JEeCtp_-GJxiR4A" name="makeDir" visibility="public">
              <ownedParameter xmi:id="_hJUi0V0JEeCtp_-GJxiR4A" name="dir">
                <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
              </ownedParameter>
            </ownedOperation>
            <ownedOperation xmi:id="_hJkacF0JEeCtp_-GJxiR4A" name="changeWorkingDir" visibility="public">
              <ownedParameter xmi:id="_hJkacV0JEeCtp_-GJxiR4A" name="dir">
                <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
              </ownedParameter>
            </ownedOperation>
          </packagedElement>
        </packagedElement>
      </packagedElement>
    </packagedElement>
  </packagedElement>
  <packagedElement xmi:type="uml:Package" xmi:id="_g6cZUF0JEeCtp_-GJxiR4A" name="org">
    <packagedElement xmi:type="uml:Package" xmi:id="_g6dAYF0JEeCtp_-GJxiR4A" name="hibernate">
      <packagedElement xmi:type="uml:DataType" xmi:id="_g6dAYV0JEeCtp_-GJxiR4A" name="Session"/>
      <packagedElement xmi:type="uml:DataType" xmi:id="_g6nYcF0JEeCtp_-GJxiR4A" name="HibernateException"/>
      <packagedElement xmi:type="uml:Package" xmi:id="_g6n_gF0JEeCtp_-GJxiR4A" name="cfg">
        <packagedElement xmi:type="uml:DataType" xmi:id="_g6n_gV0JEeCtp_-GJxiR4A" name="Configuration"/>
        <packagedElement xmi:type="uml:DataType" xmi:id="_g6n_gl0JEeCtp_-GJxiR4A" name="AnnotationConfiguration"/>
      </packagedElement>
      <packagedElement xmi:type="uml:DataType" xmi:id="_hH8CwF0JEeCtp_-GJxiR4A" name="SessionFactory"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Package" xmi:id="_g6qbwF0JEeCtp_-GJxiR4A" name="apache">
      <packagedElement xmi:type="uml:Package" xmi:id="_g6qbwV0JEeCtp_-GJxiR4A" name="commons">
        <packagedElement xmi:type="uml:Package" xmi:id="_g6qbwl0JEeCtp_-GJxiR4A" name="net">
          <packagedElement xmi:type="uml:DataType" xmi:id="_g6qbw10JEeCtp_-GJxiR4A" name="PrintCommandListener"/>
          <packagedElement xmi:type="uml:Package" xmi:id="_g6rC0F0JEeCtp_-GJxiR4A" name="ftp">
            <packagedElement xmi:type="uml:DataType" xmi:id="_g6rC0V0JEeCtp_-GJxiR4A" name="FTP"/>
            <packagedElement xmi:type="uml:DataType" xmi:id="_g6rC0l0JEeCtp_-GJxiR4A" name="FTPClient"/>
            <packagedElement xmi:type="uml:DataType" xmi:id="_g6rp4F0JEeCtp_-GJxiR4A" name="FTPFile"/>
            <packagedElement xmi:type="uml:DataType" xmi:id="_g6sQ8F0JEeCtp_-GJxiR4A" name="FTPReply"/>
          </packagedElement>
        </packagedElement>
      </packagedElement>
    </packagedElement>
  </packagedElement>
  <packagedElement xmi:type="uml:Package" xmi:id="_g6dncF0JEeCtp_-GJxiR4A" name="java">
    <packagedElement xmi:type="uml:Package" xmi:id="_g6dncV0JEeCtp_-GJxiR4A" name="util">
      <packagedElement xmi:type="uml:DataType" xmi:id="_g6eOgF0JEeCtp_-GJxiR4A" name="List"/>
      <packagedElement xmi:type="uml:DataType" xmi:id="_g6fcoF0JEeCtp_-GJxiR4A" name="Calendar"/>
      <packagedElement xmi:type="uml:DataType" xmi:id="_g6hR0F0JEeCtp_-GJxiR4A" name="Date"/>
      <packagedElement xmi:type="uml:DataType" xmi:id="_g6h44F0JEeCtp_-GJxiR4A" name="ArrayList"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Package" xmi:id="_g6gqwF0JEeCtp_-GJxiR4A" name="io">
      <packagedElement xmi:type="uml:DataType" xmi:id="_g6gqwV0JEeCtp_-GJxiR4A" name="Serializable"/>
      <packagedElement xmi:type="uml:DataType" xmi:id="_g6omkF0JEeCtp_-GJxiR4A" name="File"/>
      <packagedElement xmi:type="uml:DataType" xmi:id="_g6omkV0JEeCtp_-GJxiR4A" name="FileOutputStream"/>
      <packagedElement xmi:type="uml:DataType" xmi:id="_g6pNoF0JEeCtp_-GJxiR4A" name="IOException"/>
      <packagedElement xmi:type="uml:DataType" xmi:id="_g6pNoV0JEeCtp_-GJxiR4A" name="InputStream"/>
      <packagedElement xmi:type="uml:DataType" xmi:id="_g6pNol0JEeCtp_-GJxiR4A" name="OutputStream"/>
      <packagedElement xmi:type="uml:DataType" xmi:id="_g6p0sF0JEeCtp_-GJxiR4A" name="PrintWriter"/>
      <packagedElement xmi:type="uml:DataType" xmi:id="_g6p0sV0JEeCtp_-GJxiR4A" name="RandomAccessFile"/>
      <packagedElement xmi:type="uml:DataType" xmi:id="_g6p0sl0JEeCtp_-GJxiR4A" name="UnsupportedEncodingException"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Package" xmi:id="_g6k8MF0JEeCtp_-GJxiR4A" name="net">
      <packagedElement xmi:type="uml:DataType" xmi:id="_g6k8MV0JEeCtp_-GJxiR4A" name="InetAddress"/>
      <packagedElement xmi:type="uml:DataType" xmi:id="_g6k8Ml0JEeCtp_-GJxiR4A" name="UnknownHostException"/>
    </packagedElement>
  </packagedElement>
  <packagedElement xmi:type="uml:Package" xmi:id="_g6fcoV0JEeCtp_-GJxiR4A" name="javax">
    <packagedElement xmi:type="uml:Package" xmi:id="_g6fcol0JEeCtp_-GJxiR4A" name="persistence">
      <packagedElement xmi:type="uml:DataType" xmi:id="_g6fco10JEeCtp_-GJxiR4A" name="Entity"/>
      <packagedElement xmi:type="uml:DataType" xmi:id="_g6gDsF0JEeCtp_-GJxiR4A" name="GeneratedValue"/>
      <packagedElement xmi:type="uml:DataType" xmi:id="_g6gDsV0JEeCtp_-GJxiR4A" name="Id"/>
      <packagedElement xmi:type="uml:DataType" xmi:id="_g6gDsl0JEeCtp_-GJxiR4A" name="ManyToOne"/>
      <packagedElement xmi:type="uml:DataType" xmi:id="_g6if8F0JEeCtp_-GJxiR4A" name="OneToMany"/>
      <packagedElement xmi:type="uml:DataType" xmi:id="_g6jHAF0JEeCtp_-GJxiR4A" name="ManyToMany"/>
      <packagedElement xmi:type="uml:DataType" xmi:id="_g6ljQF0JEeCtp_-GJxiR4A" name="Column"/>
      <packagedElement xmi:type="uml:DataType" xmi:id="_g6mKUF0JEeCtp_-GJxiR4A" name="JoinColumn"/>
      <packagedElement xmi:type="uml:DataType" xmi:id="_g6mKUV0JEeCtp_-GJxiR4A" name="JoinTable"/>
      <packagedElement xmi:type="uml:DataType" xmi:id="_g6mxYF0JEeCtp_-GJxiR4A" name="Table"/>
    </packagedElement>
  </packagedElement>
  <packagedElement xmi:type="uml:DataType" xmi:id="_hC05QF0JEeCtp_-GJxiR4A" name="List&lt;SubmitInfo>"/>
  <packagedElement xmi:type="uml:DataType" xmi:id="_hEBMEF0JEeCtp_-GJxiR4A" name="List&lt;Homework>"/>
  <packagedElement xmi:type="uml:DataType" xmi:id="_hEQcoF0JEeCtp_-GJxiR4A" name="List&lt;User>"/>
  <packagedElement xmi:type="uml:DataType" xmi:id="_hFE8AF0JEeCtp_-GJxiR4A" name="List&lt;Comment>"/>
  <packagedElement xmi:type="uml:DataType" xmi:id="_hGFooF0JEeCtp_-GJxiR4A" name="List&lt;Course>"/>
  <packagedElement xmi:type="uml:DataType" xmi:id="_hGa_0F0JEeCtp_-GJxiR4A" name="List&lt;Message>"/>
  <packagedElement xmi:type="uml:DataType" xmi:id="_hHy40F0JEeCtp_-GJxiR4A" name="ThreadLocal&lt;Session>"/>
</uml:Model>
