⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 savebinding.java

📁 OpenWeb-UDDI是UDDI V2标准的实现
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
// 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 + -