📄 savebinding.java
字号:
// Decompiled by Jad v1.5.7g. Copyright 2000 Pavel Kouznetsov.
// Jad home page: http://www.geocities.com/SiliconValley/Bridge/8617/jad.html
// Decompiler options: packimports(3) fieldsfirst ansi
// Source File Name: SaveBinding.java
package org.huihoo.openweb.uddiserver.publish;
import java.io.IOException;
import java.io.PrintStream;
import java.sql.*;
import java.util.Enumeration;
import org.huihoo.openweb.uddi.*;
import org.huihoo.openweb.uddiserver.util.JavaUUIDGenerator;
import org.huihoo.openweb.uddiserver.util.SqlConnection;
// Referenced classes of package org.huihoo.openweb.uddiserver.publish:
// Authority
public class SaveBinding
{
Connection con;
String userkey;
public String getuserkey()
{
return userkey;
}
public void setuserkey(String a)
{
userkey = a;
}
public SaveBinding(Connection c)
{
con = c;
}
public UddiObject save(Save_Binding sb)
throws SQLException, UDDIXmlException, ClassNotFoundException, IOException
{
AuthInfo authinfo = sb.getAuthInfo();
setuserkey(authinfo.getValue());
DispositionReport dr = new DispositionReport();
BindingDetail bd = new BindingDetail();
if(authinfo == null || authinfo.getValue() == null || authinfo.getValue().equals(""))
{
Result result = Result.getResult(10120, "No auth token given");
dr.setResult(result);
return dr;
}
for(Enumeration enum = sb.getBindingTemplate(); enum.hasMoreElements();)
{
BindingTemplate bindingTemplate = (BindingTemplate)enum.nextElement();
UddiObject obj = null;
try
{
obj = save(authinfo, bindingTemplate);
BindingTemplate bt = (BindingTemplate)obj;
bd.setBindingTemplate(bt);
}
catch(ClassCastException e)
{
return obj;
}
}
return bd;
}
public UddiObject save(AuthInfo aInfo, BindingTemplate bindingTemplate)
throws SQLException, UDDIXmlException, ClassNotFoundException, IOException
{
DispositionReport dr = new DispositionReport();
String serviceKey = bindingTemplate.getServiceKey().getValue();
String authinfo = aInfo.getValue();
String userid = SqlConnection.getUserIdfromServiceKey(serviceKey);
if(!SqlConnection.isPresent("BusinessService", "servicekey", serviceKey))
{
Result result = Result.getResult(10210, "serviceKey not present: " + serviceKey);
dr.setResult(result);
return dr;
}
if(!SqlConnection.isPresent("authentiTokens", "keys", authinfo))
{
Result result = Result.getResult(10120, "Auth token is not valid");
dr.setResult(result);
return dr;
}
if(!Authority.isAuthorised(userid, authinfo))
{
Result result = Result.getResult(10140, "This user does not control this service");
dr.setResult(result);
return dr;
}
Statement stmt = con.createStatement();
String query = "select * from TModelDetails where tmodelkey='" + ((TModelInstanceInfo)bindingTemplate.getTModelInstanceDetails().getTModelInstanceInfo().nextElement()).getTModelKey() + "'";
ResultSet rs = stmt.executeQuery(query);
if(rs.next())
{
int i = rs.getInt("ishidden");
if(i == 1)
{
Result result = Result.getResult(40000, "Tmodelkey is hidden");
dr.setResult(result);
return dr;
}
}
return save(bindingTemplate);
}
public UddiObject save(BindingTemplate bindingTemplate)
throws SQLException, UDDIXmlException, ClassNotFoundException
{
System.out.println("savebinding: begin");
Statement stmt = con.createStatement();
System.out.println("savebinding: after createStatement");
String serviceKey = bindingTemplate.getServiceKey().getValue();
System.out.println("savebinding: " + serviceKey);
String description = "";
for(Enumeration enum = bindingTemplate.getDescription(); enum.hasMoreElements();)
description = ((UddiObject)enum.nextElement()).getValue();
System.out.println("savebinding: " + description);
String bindingKey = "";
System.out.println("111111111111111111111111");
if(bindingTemplate.getElement("bindingKey") != null)
{
System.out.println("22222222222222");
bindingKey = bindingTemplate.getBindingKey().getValue();
}
boolean isPresent = false;
String query = "";
if(bindingKey == null || bindingKey.equals(""))
{
System.out.println("3333333333333333333333333");
bindingKey = JavaUUIDGenerator.uuidgen();
System.out.println(bindingKey);
BindingKey bindKey = new BindingKey();
bindKey.setValue(bindingKey);
bindingTemplate.setBindingKey( bindKey);
System.out.println("after setValue");
} else
{
query = "SELECT * from BindingTemplate where bindingkey = '" + bindingKey + "'";
ResultSet rs = stmt.executeQuery(query);
if(rs.next())
{
DispositionReport dr1 = new DispositionReport();
String sk = rs.getString("servicekey");
Statement stmt11 = con.createStatement();
String query1 = "select * from businessservice where servicekey='" + sk + "'";
ResultSet rs11 = stmt11.executeQuery(query1);
String bk = rs11.getString("businesskey");
stmt11.close();
Statement stmt22 = con.createStatement();
String query2 = "select * from businessdetails where businesskey='" + bk + "'";
ResultSet rs22 = stmt22.executeQuery(query2);
String userid_1 = rs22.getString("userid");
stmt22.close();
rs22.close();
Statement stmt33 = con.createStatement();
String query3 = "select * from authentikokens where keys='" + getuserkey() + "'";
ResultSet rs33 = stmt33.executeQuery(query3);
String userid_2 = rs33.getString("useid");
stmt33.close();
rs33.close();
if(!userid_1.equals(userid_2))
{
Result result = Result.getResult(10120, "Auth token is not valid");
dr1.setResult(result);
return dr1;
}
isPresent = true;
}
}
AccessPoint aPoint = bindingTemplate.getAccessPoint();
String accessPoint = aPoint.getUrl();
String urlType = aPoint.getUrlType();
String hostRedirector = "";
if(bindingTemplate.getHostingRedirector() == null)
hostRedirector = "";
else
hostRedirector = bindingTemplate.getHostingRedirector().getBindingKey().getValue();
if(isPresent)
query = "UPDATE BindingTemplate set servicekey = '" + serviceKey + "', description = '" + description + "', accesspoint = '" + accessPoint + "', servicetype = '" + urlType + "', hostingRedirector = '" + hostRedirector + "'";
else
query = "INSERT into BindingTemplate values('" + bindingKey + "','" + serviceKey + "','" + description + "','" + accessPoint + "','" + urlType + "','" + hostRedirector + "')";
stmt.executeUpdate(query);
System.out.println(query);
TModelInstanceDetails tmiDetails = new TModelInstanceDetails();
tmiDetails = null;
if(bindingTemplate.getElement("tModelInstanceDetails") != null)
tmiDetails = bindingTemplate.getTModelInstanceDetails();
for(Enumeration infoEnum = tmiDetails.getTModelInstanceInfo(); infoEnum.hasMoreElements(); System.out.println("uuuuuuuuuuuuuuuuuuuuuuuuuuuuu"))
{
TModelInstanceInfo tmiInfo = (TModelInstanceInfo)infoEnum.nextElement();
//sky加,2005-10-4
//对于第三方发布的验证服务的服务绑定,将在注册中心的Operational businessEntity中
//发布一个服务绑定,这个服务绑定使用的是hostingRedirector,它指向的是刚刚第三方
//发布的服务绑定的accessPoint
String tModelKey=tmiInfo.getTModelKey().getValue();
if(tModelKey!=""&&tModelKey.equals("uuid:1E3E9CBC-F8CE-41AB-8F99-88326BAD324A")){
saveBindToOpBusinessEntity(bindingTemplate);
}
saveTmodelInstanceInfo(tmiInfo, bindingKey);
}
stmt.close();
return bindingTemplate;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -