View Javadoc
1   /*
2    * Copyright 2010 The Regents of the University of California.
3    */
4   package org.kuali.ole.sys.web.dddumper;
5   
6   import java.util.ArrayList;
7   import java.util.HashSet;
8   import java.util.List;
9   import java.util.Set;
10  
11  import org.apache.log4j.Logger;
12  import org.kuali.rice.kns.datadictionary.BusinessObjectEntry;
13  import org.kuali.rice.kns.datadictionary.MaintenanceDocumentEntry;
14  import org.kuali.rice.kns.document.MaintenanceDocument;
15  import org.kuali.rice.kns.service.KNSServiceLocator;
16  import org.kuali.rice.kns.web.struts.form.KualiForm;
17  import org.kuali.rice.krad.bo.BusinessObject;
18  import org.kuali.rice.kns.bo.GlobalBusinessObject;
19  import org.kuali.rice.krad.datadictionary.DataDictionaryEntry;
20  import org.kuali.rice.krad.datadictionary.DocumentEntry;
21  import org.kuali.rice.krad.service.KRADServiceLocator;
22  
23  public class DataDictionaryDumperForm extends KualiForm {
24  	private static final long serialVersionUID = 3632283509506923869L;
25      private Set<DataDictionaryEntry> dataDictionaryEntries = new HashSet<DataDictionaryEntry>();
26      private List<BusinessObjectEntry> businessObjectEntries = new ArrayList<BusinessObjectEntry>();
27      private List<DocumentEntry> documentEntries = new ArrayList<DocumentEntry>();
28      private List<DocumentEntry> maintenanceDocumentEntries = new ArrayList<DocumentEntry>();
29      private List<DocumentEntry> transactionalDocumentEntries = new ArrayList<DocumentEntry>();
30  
31      private static final Logger LOG = Logger.getLogger(DataDictionaryDumperForm.class);
32  
33      public Set<DataDictionaryEntry> getDataDictionaryEntries() {
34  		return dataDictionaryEntries;
35  	}
36  	public void setDataDictionaryEntries(Set<DataDictionaryEntry> dataDictionaryEntries) {
37  		this.dataDictionaryEntries = dataDictionaryEntries;
38  	}
39  	public List<DocumentEntry> getDocumentEntries() {
40  		return documentEntries;
41  	}
42  	public void setDocumentEntries(List<DocumentEntry> documentEntries) {
43  		for (DocumentEntry currentEntry : documentEntries){
44  //			try{
45  //				if (!KNSServiceLocator.getWorkflowInfoService().isCurrentActiveDocumentType(currentEntry.getDocumentTypeName())) continue; //Skip inactive.
46  //			}catch (WorkflowException we){
47  //				if(LOG.isInfoEnabled()){
48  //					LOG.info("Doc "+currentEntry.getDocumentTypeName()+" not listed due to exception. ", we);
49  //				}
50  //				continue; //Assume if this happens that we just want to skip this doc type.
51  //			}
52  			if (MaintenanceDocument.class.isAssignableFrom(currentEntry.getDocumentClass())){
53  				Class<? extends BusinessObject> boClass = ((MaintenanceDocumentEntry)currentEntry).getBusinessObjectClass();
54  
55  				if( GlobalBusinessObject.class.isAssignableFrom(boClass) )
56                   {
57                      continue; //Skip globals.
58                  }
59  				if ( !KNSServiceLocator.getPersistenceStructureService().isPersistable( boClass ))
60                   {
61                      continue;  //Skip user and its ilk.
62                  }
63  
64  				addMaintenanceDocumentEntry(currentEntry);
65  			}else{
66  				addTransactionalDocumentEntry(currentEntry);
67  			}
68  		}
69  		this.documentEntries = documentEntries;
70  	}
71  	public List<BusinessObjectEntry> getBusinessObjectEntries() {
72  		return businessObjectEntries;
73  	}
74  	public void setBusinessObjectEntries(
75  			List<BusinessObjectEntry> businessObjectEntries) {
76  		this.businessObjectEntries = businessObjectEntries;
77  	}
78  	public List<DocumentEntry> getMaintenanceDocumentEntries() {
79  		return maintenanceDocumentEntries;
80  	}
81  	public void addMaintenanceDocumentEntry(DocumentEntry maintenanceDocumentEntry) {
82  		this.maintenanceDocumentEntries.add(maintenanceDocumentEntry);
83  	}
84  	public List<DocumentEntry> getTransactionalDocumentEntries() {
85  		return transactionalDocumentEntries;
86  	}
87  	public void addTransactionalDocumentEntry(DocumentEntry transactionalDocumentEntry) {
88  		this.transactionalDocumentEntries.add(transactionalDocumentEntry);
89  	}
90  
91  }