1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.juddi.example.partition;
18
19 import javax.xml.ws.BindingProvider;
20 import org.apache.commons.configuration.ConfigurationException;
21 import org.apache.juddi.v3.client.config.UDDIClerk;
22
23 import org.apache.juddi.v3.client.config.UDDIClient;
24 import org.apache.juddi.v3.client.transport.Transport;
25 import org.uddi.api_v3.AuthToken;
26 import org.uddi.api_v3.CategoryBag;
27 import org.uddi.api_v3.GetAuthToken;
28 import org.uddi.api_v3.KeyedReference;
29 import org.uddi.api_v3.Name;
30 import org.uddi.api_v3.SaveTModel;
31 import org.uddi.api_v3.TModel;
32 import org.uddi.api_v3.TModelDetail;
33 import org.uddi.v3_service.UDDIPublicationPortType;
34 import org.uddi.v3_service.UDDISecurityPortType;
35
36
37
38
39
40
41
42 public class SimpleCreateTmodelPartition {
43
44 private static UDDISecurityPortType security = null;
45 private static UDDIPublicationPortType publish = null;
46 private static UDDIClient uddiClient = null;
47
48
49
50
51 public SimpleCreateTmodelPartition() {
52 try {
53
54
55 uddiClient = new UDDIClient("META-INF/partition-uddi.xml");
56 uddiClient.start();
57
58
59
60
61 Transport transport = uddiClient.getTransport("default");
62
63
64 security = transport.getUDDISecurityService();
65 publish = transport.getUDDIPublishService();
66 } catch (Exception e) {
67 e.printStackTrace();
68 }
69 }
70
71 private static void DisplayHelp() {
72
73 }
74
75
76
77
78
79
80 public static void main(String args[]) throws ConfigurationException {
81 if (args.length == 1 && args[0].equalsIgnoreCase("help")) {
82 DisplayHelp();
83 return;
84 }
85 SimpleCreateTmodelPartition sp = new SimpleCreateTmodelPartition();
86 sp.TmodelsTheLongAndHardWay(args);
87 sp.TmodelsTheEasyWay(args);
88
89 uddiClient.stop();
90 }
91
92 public void TmodelsTheEasyWay(String[] args) {
93 try {
94
95
96 UDDIClerk clerk = uddiClient.getClerk("defaultClerk");
97
98
99 clerk.setPublisher("uddi");
100 clerk.setPassword("uddi");
101
102
103 TModel keygen = UDDIClerk.createKeyGenator("www.mycoolcompany.com", "My Company's Keymodel generator", "en");
104 clerk.register(keygen);
105 System.out.println("Creation of Partition Success!");
106
107
108
109 TModel tm = new TModel();
110 tm.setName(new Name());
111 tm.getName().setValue("My Company's Department");
112 tm.getName().setLang("en");
113 tm.setTModelKey("uddi:www.mycoolcompany.com:department");
114 clerk.register(tm);
115 System.out.println("Creation of tModel Department Success!");
116
117 tm = new TModel();
118 tm.setName(new Name());
119 tm.getName().setValue("My Company's Authentication Method");
120 tm.getName().setLang("en");
121 tm.setTModelKey("uddi:www.mycoolcompany.com:authmode");
122 clerk.register(tm);
123 System.out.println("Creation of tModel Auth Mode Success!");
124
125 clerk.discardAuthToken();
126 } catch (Exception e) {
127 e.printStackTrace();
128 }
129 }
130
131 public void TmodelsTheLongAndHardWay(String[] args) {
132 try {
133
134
135 AuthStyle style = AuthStyle.UDDI_AUTH;
136
137 String key = GetAuthKey("uddi", "password", style);
138
139
140
141
142
143
144
145 SaveTModel st = new SaveTModel();
146 st.setAuthInfo(key);
147 TModel tm = new TModel();
148 tm.setName(new Name());
149 tm.getName().setValue("My Company's Keymodel generator");
150 tm.getName().setLang("en");
151 tm.setCategoryBag(new CategoryBag());
152 KeyedReference kr = new KeyedReference();
153 kr.setTModelKey("uddi:uddi.org:categorization:types");
154 kr.setKeyName("uddi-org:keyGenerator");
155 kr.setKeyValue("keyGenerator");
156 tm.getCategoryBag().getKeyedReference().add(kr);
157 tm.setTModelKey("uddi:www.mycoolcompany.com:keygenerator");
158 st.getTModel().add(tm);
159 TModelDetail saveTModel = publish.saveTModel(st);
160 System.out.println("Creation of Partition Success!");
161
162
163 TModel keygen = UDDIClerk.createKeyGenator("www.mycoolcompany.com", "My Company's Keymodel generator", "en");
164
165
166
167
168
169
170
171 tm = new TModel();
172 tm.setName(new Name());
173 tm.getName().setValue("My Company's Department");
174 tm.getName().setLang("en");
175 tm.setTModelKey("uddi:www.mycoolcompany.com:department");
176 st.getTModel().add(tm);
177 saveTModel = publish.saveTModel(st);
178 System.out.println("Creation of tModel Department Success!");
179
180 tm = new TModel();
181 tm.setName(new Name());
182 tm.getName().setValue("My Company's Authentication Method");
183 tm.getName().setLang("en");
184 tm.setTModelKey("uddi:www.mycoolcompany.com:authmode");
185 st.getTModel().add(tm);
186 saveTModel = publish.saveTModel(st);
187 System.out.println("Creation of tModel Auth Mode Success!");
188
189 } catch (Exception e) {
190 e.printStackTrace();
191 }
192 }
193
194
195 private enum AuthStyle {
196
197 HTTP,
198 UDDI_AUTH
199
200 }
201
202
203
204
205
206
207
208
209
210
211 private String GetAuthKey(String username, String password, AuthStyle style) {
212 switch (style) {
213 case HTTP:
214 ((BindingProvider) publish).getRequestContext().put(BindingProvider.USERNAME_PROPERTY, username);
215 ((BindingProvider) publish).getRequestContext().put(BindingProvider.PASSWORD_PROPERTY, password);
216 return null;
217 case UDDI_AUTH:
218 try {
219
220 GetAuthToken getAuthTokenRoot = new GetAuthToken();
221 getAuthTokenRoot.setUserID(username);
222 getAuthTokenRoot.setCred(password);
223
224
225 AuthToken rootAuthToken = security.getAuthToken(getAuthTokenRoot);
226 System.out.println(username + " AUTHTOKEN = (don't log auth tokens!)");
227 return rootAuthToken.getAuthInfo();
228 } catch (Exception ex) {
229 System.out.println("Could not authenticate with the provided credentials " + ex.getMessage());
230 }
231 }
232
233 return null;
234 }
235 }