⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 formtest.java

📁 采用tapestry的简单OA系统
💻 JAVA
字号:
package com.ejsun.entapps.test;

import java.util.Date;

import com.ejsun.entapps.domain.organization.User;
import com.ejsun.entapps.domain.simpleoa.Attribute;
import com.ejsun.entapps.domain.simpleoa.ChangeGroup;
import com.ejsun.entapps.domain.simpleoa.Comment;
import com.ejsun.entapps.domain.simpleoa.Form;
import com.ejsun.entapps.domain.simpleoa.Template;
import com.ejsun.entapps.domain.simpleoa.TemplateAttribute;
import com.ejsun.entapps.service.organization.OrganizationService;
import com.ejsun.entapps.service.simpleoa.FormService;
import com.ejsun.entapps.service.simpleoa.TemplateService;
import com.ejsun.entapps.util.CurrentUser;

/**
 * 
 * @author	Quake Wang
 * @since	2004-4-17
 * @version $Revision: 1.3 $
 * 
 **/
public class FormTest extends AbstractTest {
	
	private FormService getFormService() {
		return (FormService) serviceLocator.getService("formService");
	}
	
	private TemplateService getTemplateService() {
		return (TemplateService) serviceLocator.getService("templateService");
	}
	
	private OrganizationService getOrganizationService() {
		return (OrganizationService) serviceLocator.getService("organizationService");
	}		
			
	public void testCRUDForm() {		
		Template template = new Template();
		template.setName("TEST_CRUD_FORM_TEMPLATE");
		template.setVersion("1");
		template.addAttribute(new TemplateAttribute("FIELD1"));
		template.addAttribute(new TemplateAttribute("FIELD2", Attribute.DATE_TYPE));
		template.addAttribute(new TemplateAttribute("FIELD3", Attribute.TEXT_TYPE));
		getTemplateService().createTemplate(template);
		
		User author = new User();
		author.setLoginId("TEST_CRUD_DOCUMENT_AUTHOR");
		getOrganizationService().createUser(author);
		
		Form form = getFormService().generateFormDraft(template);
		assertTrue(form.isDraft());
		form.setAuthor(author);
		form.setAttributeValue("FIELD1", "test one");
		form.setAttributeValue("FIELD2", new Date());
		form.setAttributeValue("FIELD3", "test two");
		getFormService().updateForm(form);
		
		Form newForm = getFormService().loadFormById(form.getId());
		assertEquals(newForm.getAuthor(), author);
		assertEquals(newForm.getAttributeValue("FIELD1"), "test one");
		assertNotNull(newForm.getAttributeValue("FIELD2"));
		
		getFormService().deleteForm(newForm);
		assertNull(getFormService().loadFormById(form.getId()));
	}
	
	public void testComment() {
		Template template = new Template();
		template.setName("TEST_FORM_COMMENT");
		template.setVersion("1");
		getTemplateService().createTemplate(template);
		
		User user = new User();
		user.setLoginId("TEST_FORM_COMMENT_USER");
		getOrganizationService().createUser(user);
		
		Form form = getFormService().generateFormDraft(template);
		form.setAuthor(user);
		getFormService().updateForm(form);
		
		Comment comment = new Comment();
		comment.setAuthor(user);
		comment.setContent("new comment");
		getFormService().addComment(form, comment);
		
		Form newForm = getFormService().loadFormById(form.getId());
		assertEquals("new comment", ((Comment) newForm.getComments().get(0)).getContent());
		assertEquals(user, ((Comment) newForm.getComments().get(0)).getAuthor()); 		
	}

	public void testChangeGroup() {
		Template template = new Template();
		template.setName("TEST_FORM_CHANGE_GROUP");
		template.setVersion("1");
		template.addAttribute(new TemplateAttribute("FIELD_A"));
		template.addAttribute(new TemplateAttribute("FIELD_B", Attribute.DATE_TYPE));
		template.addAttribute(new TemplateAttribute("FIELD_C", Attribute.TEXT_TYPE));
		getTemplateService().createTemplate(template);
		
		User author = new User();
		author.setLoginId("TEST_FORM_CHANGE_GROUP_AUTHOR");
		getOrganizationService().createUser(author);
				
		User user = new User();				
		user.setLoginId("TEST_FORM_CHANGE_GROUP_USER");
		getOrganizationService().createUser(user);
		
		CurrentUser.set(author);
		Form form = getFormService().generateFormDraft(template);
		assertTrue(form.isDraft());
		form.setAttributeValue("FIELD_A", "VALUE A");
		form.setAttributeValue("FIELD_B", new Date());
		form.setAttributeValue("FIELD_C", "VALUE C");
		form.setDraft(false);
		getFormService().updateForm(form);
		assertEquals(0, form.getChangeGroups().size());

		CurrentUser.set(user);
		form.setAttributeValue("FIELD_A", "NEW VALUE A");
		form.setAttributeValue("FIELD_B", null);
		getFormService().updateForm(form);
		assertEquals(1, form.getChangeGroups().size());
		assertEquals(user, ((ChangeGroup) form.getChangeGroups().get(0)).getAuthor());
		
		CurrentUser.set(author);
		form.setAttributeValue("FIELD_C", "VALUE C");
		getFormService().updateForm(form);		
		assertEquals(1, form.getChangeGroups().size());
	}
	
	public void testSearchForm() {
		Template template = new Template();
		template.setName("TEST_SEARCH_FORM");
		template.setVersion("1");
		template.addAttribute(new TemplateAttribute("FIELD_A"));
		template.addAttribute(new TemplateAttribute("FIELD_B", Attribute.DATE_TYPE));
		template.addAttribute(new TemplateAttribute("FIELD_C", Attribute.TEXT_TYPE));
		getTemplateService().createTemplate(template);
		
		Form form = getFormService().generateFormDraft(template);
		form.setSubject("YOUGOTSEARCHRESULT");
		form.setAttributeValue("FIELD_A", "a unique word YOUGOTSEARCHRESULT");
		form.setDraft(false);
		getFormService().updateForm(form);

		Form[] searchResult = getFormService().search("YOUGOTSEARCHRESULT");		
		assertEquals(1, searchResult.length);
	} 

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -