001 /** 002 * Copyright 2005-2011 The Kuali Foundation 003 * 004 * Licensed under the Educational Community License, Version 2.0 (the "License"); 005 * you may not use this file except in compliance with the License. 006 * You may obtain a copy of the License at 007 * 008 * http://www.opensource.org/licenses/ecl2.php 009 * 010 * Unless required by applicable law or agreed to in writing, software 011 * distributed under the License is distributed on an "AS IS" BASIS, 012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 013 * See the License for the specific language governing permissions and 014 * limitations under the License. 015 */ 016 package mocks; 017 018 import java.io.InputStream; 019 import java.util.Collection; 020 import java.util.HashMap; 021 import java.util.List; 022 import java.util.Map; 023 024 import org.jdom.Element; 025 import org.kuali.rice.core.api.impex.ExportDataSet; 026 import org.kuali.rice.kew.doctype.bo.DocumentType; 027 import org.kuali.rice.kew.doctype.service.DocumentTypeService; 028 import org.kuali.rice.kew.framework.postprocessor.PostProcessor; 029 import org.kuali.rice.kew.rule.bo.RuleAttribute; 030 031 032 public class MockDocumentTypeServiceImpl implements DocumentTypeService { 033 034 public DocumentType setDocumentTypeVersion(DocumentType documentType, boolean currentInd) { 035 return null; 036 } 037 public DocumentType getMostRecentDocType(String docTypeName) { 038 return null; 039 } 040 public boolean isLockedForRouting(DocumentType documentType) { 041 return false; 042 } 043 private Map<String, DocumentType> documentsById = new HashMap<String, DocumentType>(); 044 private Map<String, DocumentType> documentsByName = new HashMap<String, DocumentType>(); 045 private Map<String, PostProcessor> postProcessors = new HashMap<String, PostProcessor>(); 046 047 public void makeCurrent(List documentTypes) { 048 throw new UnsupportedOperationException("not yet implmeneted"); 049 } 050 051 public void addDocumentType(DocumentType documentType, PostProcessor postProcessor) { 052 documentsById.put(documentType.getDocumentTypeId(), documentType); 053 documentsByName.put(documentType.getName(), documentType); 054 postProcessors.put(documentType.getDocumentTypeId(), postProcessor); 055 } 056 057 public DocumentType findByDocumentId(String documentId) { 058 throw new UnsupportedOperationException("not yet implemented"); 059 } 060 061 public Integer getMaxVersionNumber(String name){ 062 return new Integer(0); 063 } 064 public DocumentType findById(String documentTypeId) { 065 return (DocumentType) documentsById.get(documentTypeId); 066 } 067 068 public DocumentType findByName(String name) { 069 return (DocumentType) documentsByName.get(name); 070 } 071 072 public DocumentType findByNameCaseInsensitive(String name) { 073 return (DocumentType) documentsByName.get(name); 074 } 075 076 public void versionAndSave(DocumentType documentType) { 077 addDocumentType(documentType, new MockPostProcessor(true)); 078 } 079 080 public PostProcessor getPostProcessor(String documentTypeId) { 081 return (PostProcessor) postProcessors.get(documentTypeId); 082 } 083 084 public Collection findRouteLevels(String documentTypeId) { 085 return (Collection) ((DocumentType)documentsById.get(documentTypeId)).getRouteLevels(); 086 } 087 088 public Collection find(DocumentType documentType, String docGroupName, boolean climbHiearchy) { 089 throw new UnsupportedOperationException("not implemented in MockDocumentTypeServiceImpl"); 090 } 091 092 public void delete(DocumentType documentType) { 093 documentsById.remove(documentType.getDocumentTypeId()); 094 documentsByName.remove(documentType.getName()); 095 } 096 097 public List findByRouteHeaderId (String documentId) { 098 throw new UnsupportedOperationException("not implemented in MockDocumentTypeServiceImpl"); 099 } 100 public void makeCurrent(String documentId) { 101 throw new UnsupportedOperationException("not implemented in MockDocumentTypeServiceImpl"); 102 } 103 104 public List findAllCurrentRootDocuments() { 105 return null; 106 } 107 108 /* (non-Javadoc) 109 * @see org.kuali.rice.kew.doctype.DocumentTypeService#getRootDocumentType(org.kuali.rice.kew.doctype.DocumentType) 110 */ 111 public DocumentType findRootDocumentType(DocumentType docType) { 112 return null; 113 } 114 public void loadXml(InputStream inputStream, String principalId) { 115 throw new UnsupportedOperationException("Mock document type service can't load xml"); 116 } 117 public Element export(ExportDataSet dataSet) { 118 return null; 119 } 120 @Override 121 public boolean supportPrettyPrint() { 122 return true; 123 } 124 public List findAllCurrent() { 125 return null; 126 } 127 public List getChildDocumentTypes(String documentTypeId) { 128 return null; 129 } 130 public DocumentType findByNameIgnoreCache(String documentTypeId) { 131 return null; 132 } 133 public void save(DocumentType documentType) { 134 135 } 136 public void save(DocumentType documentType, boolean flushCache) { 137 138 } 139 public void flushCache() { 140 141 } 142 public void clearCacheForAttributeUpdate(RuleAttribute ruleAttribute) { 143 144 } 145 public Integer getDocumentTypeCount() { 146 return null; 147 } 148 public List<DocumentType> findPreviousInstances(String documentTypeName) { 149 return null; 150 } 151 152 }