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

📄 mmiclient.java

📁 Sun公司Dream项目
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
            
            RightsSegment rightsSegment = new RightsSegment();
            rightsSegment.setProfileId(new ProfileId("org.omc.dream.profiles.media"));
            MMIRightsRequestElement[] mmiRightsRequestElement = new MMIRightsRequestElement[1];
            mmiRightsRequestElement[0] = new MMIRightsRequestElement();
            mmiRightsRequestElement[0].setReqElemId(new ReqElemId("23"));
            ContentId[] contentId = new ContentId[1];            
            contentId[0] = new ContentId("birds");
            mmiRightsRequestElement[0].setContentId(contentId);
            VerbElement[] verbElement = new VerbElement[1];
            verbElement[0] = new VerbElement();
            verbElement[0].setVerbElementId(new VerbElementId("1"));
            verbElement[0].setVerb(new Verb("SimplePlay"));
            verbElement[0].setCount(new Count("1"));
            mmiRightsRequestElement[0].setVerbElement(verbElement);
            rightsSegment.setMMIRightsRequestElement(mmiRightsRequestElement);
            
            mmiRequest.setRightsSegment(rightsSegment);
            mptm.setMMIDataObject(mmiRequest);            
        } catch (InvalidMMIObjectException imoe) {
            imoe.printStackTrace();
        }
        return mptm;        
    }

    public MMIPlainTextMessage SimpleRightsRelease2() {
        MMIMessageFactory mmf = MMIMessageFactory.PLAINTEXT;
        MMIPlainTextMessage mptm = (MMIPlainTextMessage)mmf.createMMIMessage();
        mptm.setMMIVersion("1.0");
        MMIRequest mmiRequest = new MMIRequest();
        try {
            mmiRequest.setMMIMessageType("MMIRightsRelease");
            IdentitySegment identitySegment = new IdentitySegment(new AuthServiceId("Anakin"), null);            
            mmiRequest.setIdentitySegment(identitySegment);
            DeviceSegment deviceSegment = new DeviceSegment();
            DeviceId[] deviceId = new DeviceId[1];
            deviceId[0] = new DeviceId("123456abc");           
            deviceSegment.setDeviceId(deviceId);
            mmiRequest.setDeviceSegment(deviceSegment);
            
            RightsSegment rightsSegment = new RightsSegment();
            rightsSegment.setProfileId(new ProfileId("org.omc.dream.profiles.media"));
            MMIRightsRequestElement[] mmiRightsRequestElement = new MMIRightsRequestElement[1];
            mmiRightsRequestElement[0] = new MMIRightsRequestElement();
            mmiRightsRequestElement[0].setReqElemId(new ReqElemId("23"));
            ContentId[] contentId = new ContentId[1];            
            contentId[0] = new ContentId("blahblah");
            mmiRightsRequestElement[0].setContentId(contentId);
            VerbElement[] verbElement = new VerbElement[1];
            verbElement[0] = new VerbElement();
            verbElement[0].setVerbElementId(new VerbElementId("1"));
            verbElement[0].setVerb(new Verb("SimplePlay"));
            verbElement[0].setCount(new Count("1"));
            mmiRightsRequestElement[0].setVerbElement(verbElement);
            rightsSegment.setMMIRightsRequestElement(mmiRightsRequestElement);
            
            mmiRequest.setRightsSegment(rightsSegment);
            mptm.setMMIDataObject(mmiRequest);            
        } catch (InvalidMMIObjectException imoe) {
            imoe.printStackTrace();
        }
        return mptm;        
    }
    
    
    public MMIPlainTextMessage SimpleRightsRequest() {
        MMIMessageFactory mmf = MMIMessageFactory.PLAINTEXT;
        MMIPlainTextMessage mptm = (MMIPlainTextMessage)mmf.createMMIMessage();
        mptm.setMMIVersion("1.0");
        MMIRequest mmiRequest = new MMIRequest();
        try {
            mmiRequest.setMMIMessageType("MMIRightsRequest");
            IdentitySegment identitySegment = new IdentitySegment(new AuthServiceId("Anakin"), null);            
            mmiRequest.setIdentitySegment(identitySegment);
            DeviceSegment deviceSegment = new DeviceSegment();
            DeviceId[] deviceId = new DeviceId[1];
            deviceId[0] = new DeviceId("123456abc");           
            deviceSegment.setDeviceId(deviceId);
            mmiRequest.setDeviceSegment(deviceSegment);
            
            RightsSegment rightsSegment = new RightsSegment();
            rightsSegment.setProfileId(new ProfileId("org.omc.dream.profiles.media"));
            MMIRightsRequestElement[] mmiRightsRequestElement = new MMIRightsRequestElement[1];
            mmiRightsRequestElement[0] = new MMIRightsRequestElement();
            mmiRightsRequestElement[0].setReqElemId(new ReqElemId("23"));
            ContentId[] contentId = new ContentId[1];            
            contentId[0] = new ContentId("birds");
            mmiRightsRequestElement[0].setContentId(contentId);
            VerbElement[] verbElement = new VerbElement[1];
            verbElement[0] = new VerbElement();
            verbElement[0].setVerbElementId(new VerbElementId("1"));
            verbElement[0].setVerb(new Verb("SimplePlay"));
            verbElement[0].setCount(new Count("1"));
            mmiRightsRequestElement[0].setVerbElement(verbElement);
            rightsSegment.setMMIRightsRequestElement(mmiRightsRequestElement);
            
            mmiRequest.setRightsSegment(rightsSegment);
            mptm.setMMIDataObject(mmiRequest);            
        } catch (InvalidMMIObjectException imoe) {
            imoe.printStackTrace();
        }
        return mptm;        
    }

    public MMIPlainTextMessage SimpleRightsRequest2() {
        MMIMessageFactory mmf = MMIMessageFactory.PLAINTEXT;
        MMIPlainTextMessage mptm = (MMIPlainTextMessage)mmf.createMMIMessage();
        mptm.setMMIVersion("1.0");
        MMIRequest mmiRequest = new MMIRequest();
        try {
            mmiRequest.setMMIMessageType("MMIRightsRequest");
            IdentitySegment identitySegment = new IdentitySegment(new AuthServiceId("Anakin"), null);            
            mmiRequest.setIdentitySegment(identitySegment);
            DeviceSegment deviceSegment = new DeviceSegment();
            DeviceId[] deviceId = new DeviceId[1];
            deviceId[0] = new DeviceId("123456abc");           
            deviceSegment.setDeviceId(deviceId);
            mmiRequest.setDeviceSegment(deviceSegment);
            
            RightsSegment rightsSegment = new RightsSegment();
            rightsSegment.setProfileId(new ProfileId("org.omc.dream.profiles.media"));
            MMIRightsRequestElement[] mmiRightsRequestElement = new MMIRightsRequestElement[1];
            mmiRightsRequestElement[0] = new MMIRightsRequestElement();
            mmiRightsRequestElement[0].setReqElemId(new ReqElemId("23"));
            ContentId[] contentId = new ContentId[1];            
            contentId[0] = new ContentId("blahblah");
            mmiRightsRequestElement[0].setContentId(contentId);
            VerbElement[] verbElement = new VerbElement[1];
            verbElement[0] = new VerbElement();
            verbElement[0].setVerbElementId(new VerbElementId("1"));
            verbElement[0].setVerb(new Verb("SimplePlay"));
            verbElement[0].setCount(new Count("1"));
            mmiRightsRequestElement[0].setVerbElement(verbElement);
            rightsSegment.setMMIRightsRequestElement(mmiRightsRequestElement);
            
            mmiRequest.setRightsSegment(rightsSegment);
            mptm.setMMIDataObject(mmiRequest);            
        } catch (InvalidMMIObjectException imoe) {
            imoe.printStackTrace();
        }
        return mptm;        
    }
    
    public MMIPlainTextMessage SimpleResponse() {
        MMIMessageFactory mmf = MMIMessageFactory.PLAINTEXT;
        MMIPlainTextMessage mptm = (MMIPlainTextMessage)mmf.createMMIMessage();
        mptm.setMMIVersion("1.0");
        MMIResponse mmiResponse = new MMIResponse();
        try {            
            Status[] status = new Status[1];
	    status[0] = new Status("RequestOK");
            mmiResponse.setStatus(status);

            MMIRightsResponseElement[] mmiRightsResponseElement = new MMIRightsResponseElement[1];
            mmiRightsResponseElement[0] = new MMIRightsResponseElement();
            mmiRightsResponseElement[0].setReqElemId(new ReqElemId("23"));
            mmiRightsResponseElement[0].setNotification(new Notification("granted"));
            Hint[] hint = new Hint[1];
            hint[0] = new Hint();
            hint[0].setHintIndexNum(new HintIndexNum("1"));
            hint[0].setLabel(new Label("CanDo"));
            
            ContentId[] contentId = new ContentId[3];
            contentId[0] = new ContentId("113");
            contentId[1] = new ContentId("114");
            contentId[2] = new ContentId("115");
            
            VerbElement[] verbElement = new VerbElement[1];
            verbElement[0] = new VerbElement();
            verbElement[0].setVerbElementId(new VerbElementId("1"));
            verbElement[0].setVerb(new Verb("SimplePlay"));
            verbElement[0].setCount(new Count("29"));
            hint[0].setVerbElement(verbElement);
            hint[0].setContentId(contentId);
                                  
            mmiRightsResponseElement[0].setHint(hint);
            mmiRightsResponseElement[0].setKeys(new Keys("OD6Ox9svtSgFJ+iXkZ"));
            //mmiRightsResponseElement[0].setRightsErrorStatus();
            
            
            mmiResponse.setMMIRightsResponseElement(mmiRightsResponseElement);
            
            ResponseId responseId = new ResponseId();
            responseId.setResponseId("1003");
            mmiResponse.setResponseId(responseId);
            
            RequestHashSegment requestHashSegment = new RequestHashSegment();
            requestHashSegment.setHashAlg(new HashAlg("http://www.w3.org/2001/10/xml-exc-c14n#"));
            requestHashSegment.setRequestHash(new RequestHash("jAxX0LfgwutvEdJb748IU4L+8obXPXfq TZ"));
            mmiResponse.setRequestHashSegment(requestHashSegment);
            
            SignatureSegment signatureSegment = new SignatureSegment();
            signatureSegment.setSigAlg(new SigAlg("http://www.w3.org/2001/10/xml-exc-c14n#"));
            signatureSegment.setSignature(new Signature("OWqP5Gqm8A1+/2b5gNzF4L4L"));
            mmiResponse.setSignatureSegment(signatureSegment);
            
            
            mptm.setMMIDataObject(mmiResponse);            
        } catch (InvalidMMIObjectException imoe) {
            imoe.printStackTrace();
        }
        return mptm;        
    }
    

    
/**
 * 
 * 
 * @poseidon-object-id [Im3611ec07m10a5e3fe01emm6c9d]
 * @param args the command line arguments
 */
    public static void main(String[] args) {        
        // TODO code application logic here
        if (args.length < 1) {
            System.out.println("require URL argument");
            System.exit(1);
        }
        MMIClient client = new MMIClient(args[0]);
        /* The following two messages are used to create a request and response message
         * NOTE: The servlet on the other other side will only read the message, parse it,
         * and then send back the same message.  This test is only to validate that the parser
         * can:
         * - parse through a MMI message in plain text and generate MMIObject
         * - test if the MMIMessage.print() results in the same message
         */
        try {
            MMIPlainTextMessage msg = client.sampleMMIMessage( "birds", "SimplePlay", false );
            System.out.println("REQUEST message: "+msg.print("&")); 
            System.out.println("Regurgitated REQUEST message from servlet: "+client.requestRightsByGET(msg).print("\n")); 
            msg = client.sampleMMIMessage( "birds", "SimplePlay", true );
            System.out.println("REQUEST message: "+msg.print("&")); 
            System.out.println("Regurgitated REQUEST message from servlet: "+client.requestRightsByGET(msg).print("\n")); 
            msg = client.sampleMMIMessage( "birds", "Record", false );
            System.out.println("REQUEST message: "+msg.print("&")); 
            System.out.println("Regurgitated REQUEST message from servlet: "+client.requestRightsByGET(msg).print("\n")); 
            msg = client.sampleMMIMessage( "birds", "Record", true );
            System.out.println("REQUEST message: "+msg.print("&")); 
            System.out.println("Regurgitated REQUEST message from servlet: "+client.requestRightsByGET(msg).print("\n")); 
            msg = client.sampleMMIMessage( "birds", "ForwardPlay", false );
            System.out.println("REQUEST message: "+msg.print("&")); 
            System.out.println("Regurgitated REQUEST message from servlet: "+client.requestRightsByGET(msg).print("\n")); 
            msg = client.sampleMMIMessage( "birds", "ForwardPlay", true );
            System.out.println("REQUEST message: "+msg.print("&")); 
            System.out.println("Regurgitated REQUEST message from servlet: "+client.requestRightsByGET(msg).print("\n")); 
            msg = client.sampleMMIMessage( "birds", "ReversePlay", false );
            System.out.println("REQUEST message: "+msg.print("&")); 
            System.out.println("Regurgitated REQUEST message from servlet: "+client.requestRightsByGET(msg).print("\n")); 
            msg = client.sampleMMIMessage( "birds", "ReversePlay", true );
            System.out.println("REQUEST message: "+msg.print("&")); 
            System.out.println("Regurgitated REQUEST message from servlet: "+client.requestRightsByGET(msg).print("\n")); 
            msg = client.sampleMMIMessage( "birds", "ClearCopy", false );
            System.out.println("REQUEST message: "+msg.print("&")); 
            System.out.println("Regurgitated REQUEST message from servlet: "+client.requestRightsByGET(msg).print("\n")); 
            msg = client.sampleMMIMessage( "birds", "ClearCopy", true );
            System.out.println("REQUEST message: "+msg.print("&")); 
            System.out.println("Regurgitated REQUEST message from servlet: "+client.requestRightsByGET(msg).print("\n")); 
            msg = client.sampleMMIMessage( "birds", "Adapt", false );
            System.out.println("REQUEST message: "+msg.print("&")); 
            System.out.println("Regurgitated REQUEST message from servlet: "+client.requestRightsByGET(msg).print("\n")); 
            msg = client.sampleMMIMessage( "birds", "Adapt", true );
            System.out.println("REQUEST message: "+msg.print("&")); 
            System.out.println("Regurgitated REQUEST message from servlet: "+client.requestRightsByGET(msg).print("\n")); 
            
        } catch (MMIClientException mce) {
            mce.printStackTrace();
        }
    } 
 }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -