001/** 002 * Copyright 2004-2014 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/* 017 * To change this template, choose Tools | Templates 018 * and open the template in the editor. 019 */ 020package org.kuali.student.contract.model.util; 021 022import java.io.PrintStream; 023 024import org.kuali.student.contract.model.ServiceMethod; 025import org.kuali.student.contract.model.ServiceMethodError; 026import org.kuali.student.contract.model.ServiceMethodParameter; 027 028/** 029 * 030 * @author nwright 031 */ 032public class ServiceMethodDumper { 033 034 private ServiceMethod method; 035 private PrintStream out; 036 037 public ServiceMethodDumper(ServiceMethod method, PrintStream out) { 038 this.method = method; 039 this.out = out; 040 } 041 042 public void dump() { 043 out.println(method.getService() + "." + method.getName() + " - " + method.getDescription()); 044 for (ServiceMethodParameter param : method.getParameters()) { 045 out.println(" Param: " + param.getName() + " (" + param.getType() + ") " + param.getDescription() + " http://XXX" + param.getUrl()); 046 } 047 for (ServiceMethodError param : method.getErrors()) { 048 out.println(" Error: " + param.getType() + " - " + param.getDescription()); 049 } 050 out.println(" return: " + method.getReturnValue().getType() + " - " + method.getReturnValue(). 051 getDescription() + " http://XXX" + method.getReturnValue().getUrl()); 052 } 053 054 public void writeTabbedHeader() { 055 out.print("Service"); 056 out.print("\t"); 057 out.print("Key"); 058 out.print("\t"); 059 out.print("ShortName"); 060 out.print("\t"); 061 out.print("LongName"); 062 out.print("\t"); 063 out.print("Description"); 064 out.print("\t"); 065 out.print("url"); 066 out.println(""); 067 } 068 069 public void writeTabbedData() { 070 out.print(method.getService()); 071 out.print("\t"); 072 out.print("Method"); 073 out.print("\t"); 074 out.print(method.getName()); 075 out.print("\t"); 076 out.print(""); 077 out.print("\t"); 078 out.print(""); 079 out.print("\t"); 080 out.print(method.getUrl()); 081 out.println(); 082 083 out.print(method.getService()); 084 out.print("\t"); 085 out.print("Description"); 086 out.print("\t"); 087 out.print(method.getDescription()); 088 out.print("\t"); 089 out.print(""); 090 out.println(); 091 if (method.getParameters().size() == 0) { 092 out.print(method.getService()); 093 out.print("\t"); 094 out.print("Parameters"); 095 out.print("\t"); 096 out.print("None"); 097 out.print("\t"); 098 out.print("None"); 099 out.print("\t"); 100 out.print("No parameters"); 101 out.print("\t"); 102 out.print(""); 103 out.println(); 104 } else { 105 String parameters = "Parameters"; 106 for (ServiceMethodParameter param : method.getParameters()) { 107 out.print(method.getService()); 108 out.print("\t"); 109 out.print(parameters); 110 parameters = ""; 111 out.print("\t"); 112 out.print(param.getType()); 113 out.print("\t"); 114 out.print(param.getName()); 115 out.print("\t"); 116 out.print(param.getDescription()); 117 out.print("\t"); 118 out.print(param.getUrl()); 119 out.println(); 120 } 121 } 122 123 out.print(method.getService()); 124 out.print("\t"); 125 out.print("Return"); 126 out.print("\t"); 127 out.print(method.getReturnValue().getType()); 128 out.print("\t"); 129 out.print(method.getReturnValue().getDescription()); 130 out.print("\t"); 131 out.print(""); 132 out.print("\t"); 133 out.print(method.getReturnValue().getUrl()); 134 out.println(); 135 136 String errors = "Errors"; 137 for (ServiceMethodError error : method.getErrors()) { 138 out.print(method.getService()); 139 out.print("\t"); 140 out.print(errors); 141 errors = ""; 142 out.print("\t"); 143 out.print(error.getType()); 144 out.print("\t"); 145 out.print(error.getDescription()); 146 out.print("\t"); 147 out.print(""); 148 out.print("\t"); 149 out.print(""); 150 out.println(); 151 } 152 153 out.print(method.getService()); 154 out.print("\t"); 155 out.print("Capabilities"); 156 out.print("\t"); 157 out.print(""); 158 out.print("\t"); 159 out.print(""); 160 out.print("\t"); 161 out.print(""); 162 out.print("\t"); 163 out.print(""); 164 out.println(); 165 166 out.print(method.getService()); 167 out.print("\t"); 168 out.print("Use Cases"); 169 out.print("\t"); 170 out.print(""); 171 out.print("\t"); 172 out.print(""); 173 out.print("\t"); 174 out.print(""); 175 out.print("\t"); 176 out.print(""); 177 out.println(); 178 179 out.print(method.getService()); 180 out.print("\t"); 181 out.print("Comments/Feedback"); 182 out.print("\t"); 183 out.print(""); 184 out.print("\t"); 185 out.print(""); 186 out.print("\t"); 187 out.print(""); 188 out.print("\t"); 189 out.print(""); 190 out.println(); 191 } 192}