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