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

📄 shopservlet.java

📁 Sun公司Dream项目
💻 JAVA
📖 第 1 页 / 共 4 页
字号:
                            fwdInsert = true;

                        }

                        if (rightsInfo.verbElements[k].verbName.equals("ReversePlay") && rightsInfo.verbElements[k].verbArgName.equals("COUNT")) {

                            int existingPlayNum = Integer.parseInt(rightsInfo.verbElements[k].verbArgValue);

                            Integer argVal = new Integer(existingPlayNum+numPlaysInt);

                            rightsInfo.verbElements[k].verbArgValue = argVal.toString();

                            revInsert = true;

                        }                        

                    }

                    if (recordFlag != null) {

                        if (rightsInfo.verbElements[k].verbName.equals("Record") && rightsInfo.verbElements[k].verbArgName.equals("COUNT")) {

                            int existingRecordNum = Integer.parseInt(rightsInfo.verbElements[k].verbArgValue);

                            Integer argVal = new Integer(existingRecordNum+numRecordInt);

                            rightsInfo.verbElements[k].verbArgValue = argVal.toString();

                        }

                    }

                }

                if (playMode.equals("UnrestrictedPlay")){

                    if (!fwdInsert) {

                        VerbElement fwdElement = new VerbElement();

                        fwdElement.verbName = "ForwardPlay";

                        fwdElement.verbArgName = "COUNT";

                        fwdElement.verbArgValue = numPlays;

                        rightsInfo.InsertVerbElement(fwdElement);

                    }

                    if (!revInsert) {

                        VerbElement revElement = new VerbElement();

                        revElement.verbName = "ReversePlay";

                        revElement.verbArgName = "COUNT";

                        revElement.verbArgValue = numPlays;

                        rightsInfo.InsertVerbElement(revElement);

                    }

                }

            } else {

                if (playMode.equals("UnrestrictedPlay"))

                    numRights = 4;

                else

                    numRights = 2;

                rightsInfo.verbElements = new VerbElement[numRights];

                rightsInfo.verbElements[0] = new VerbElement();

                rightsInfo.verbElements[0].verbName = "SimplePlay";

                rightsInfo.verbElements[0].verbArgName = "COUNT";

                rightsInfo.verbElements[0].verbArgValue = numPlays;

                rightsInfo.verbElements[1] = new VerbElement();

                rightsInfo.verbElements[1].verbName = "Record";

                rightsInfo.verbElements[1].verbArgName = "COUNT";

                rightsInfo.verbElements[1].verbArgValue = numRecord;

                if (playMode.equals("UnrestrictedPlay")){

                    rightsInfo.verbElements[2] = new VerbElement();

                    rightsInfo.verbElements[2].verbName = "ForwardPlay";

                    rightsInfo.verbElements[2].verbArgName = "COUNT";

                    rightsInfo.verbElements[2].verbArgValue = numPlays;

                    rightsInfo.verbElements[3] = new VerbElement();

                    rightsInfo.verbElements[3].verbName = "ReversePlay";

                    rightsInfo.verbElements[3].verbArgName = "COUNT";

                    rightsInfo.verbElements[3].verbArgValue = numPlays;

                }

            }

        } else {

            System.out.println("ShopServlet: doBuyRights : creating new rightsInfo");

            rightsInfo = new RightsInfo();

            rightsInfo.userID = userID;

            rightsInfo.movieName = itemID;

            rightsInfo.movieid = 0;

            rightsInfo.rightsType = 0;

            rightsInfo.expired = false;

            rightsInfo.remainingRights = 1;

            rightsInfo.rightsStartDate = new Date();

            rightsInfo.rightsEndDate = new Date(rightsInfo.rightsStartDate.getTime() +  1000 * 60 * 60 * 24 * 365);

            if (playMode.equals("UnrestrictedPlay"))

                numRights = 4;

            else

                numRights = 2;

            rightsInfo.verbElements =new VerbElement[numRights];

            rightsInfo.verbElements[0] = new VerbElement();

            rightsInfo.verbElements[0].verbName = "SimplePlay";

            rightsInfo.verbElements[0].verbArgName = "COUNT";

            rightsInfo.verbElements[0].verbArgValue = numPlays;

            rightsInfo.verbElements[1] = new VerbElement();

            rightsInfo.verbElements[1].verbName = "Record";

            rightsInfo.verbElements[1].verbArgName = "COUNT";

            rightsInfo.verbElements[1].verbArgValue = numRecord;

            if (playMode.equals("UnrestrictedPlay")){

                rightsInfo.verbElements[2] = new VerbElement();

                rightsInfo.verbElements[2].verbName = "ForwardPlay";

                rightsInfo.verbElements[2].verbArgName = "COUNT";

                rightsInfo.verbElements[2].verbArgValue = numPlays;

                rightsInfo.verbElements[3] = new VerbElement();

                rightsInfo.verbElements[3].verbName = "ReversePlay";

                rightsInfo.verbElements[3].verbArgName = "COUNT";

                rightsInfo.verbElements[3].verbArgValue = numPlays;

            }            

        }

        //System.out.println("RightsInfo "+rightsInfo.userID+" "+rightsInfo.movieName+" "+rightsInfo.verbElements[0].verbName);

        printRightsInfo(rightsInfo);

        rightsCart.put(itemID, rightsInfo);

        sessioncache.setAttribute(sessionId, "opera.rights_cart", rightsCart);

        forwardToJSP(request, response, jspPath);

    }



    protected void doTransferRights(

            HttpServletRequest request,

            HttpServletResponse response)

            throws ServletException, IOException, ShopException, SQLException {

        

        String jspPath = request.getParameter("jsp_path");

        if (jspPath == null)

            jspPath = "/shop/index.jsp";

        System.out.println("Print inputs to ShopServlet : doTransferRights ");

        String userID = request.getParameter("userID");

        System.out.println("In doTransferRights : userID : "+userID);

        String transferTo = request.getParameter("transfer_to");

        System.out.println("In doTransferRights : transfer_to : "+transferTo);        

        String itemID = request.getParameter("item_id");

        System.out.println("In doTransferRights : item_id : "+itemID);

        String itemTitle = request.getParameter("item_title");

        logStrMessage("itemTitle",itemTitle);        

        int numRights = 1;

        String playMode = request.getParameter("PlayMode");

        logStrMessage("playMode",playMode);

        String numPlays = request.getParameter("NumPlays");

        int numPlaysInt = 0;        

        int numRecordInt = 0;

        logStrMessage("numPlays", numPlays);

        //System.out.println("Play Mode "+ ((playMode==null)?"NULL!!":playMode));

        String numDays = null;

        if (numPlays == null) {

            numPlays = "0";

            numDays = request.getParameter("NumDays");

            logStrMessage("numDays", numDays);

        } else {

            numPlaysInt = Integer.parseInt(numPlays);

        }

        

        String recordFlag = request.getParameter("Record");

        logStrMessage("recordFlag",recordFlag);

        String numRecord = null;

        if (recordFlag != null) {

            numRecord = request.getParameter("NumRecord");

            if (numRecord != null) 

                numRecordInt = Integer.parseInt(numRecord);

            else 

                numRecordInt = 5; //default value of 5 records

            numRights = numRights+1;

            System.out.println("numRights is "+numRights);

        } else

            numRecord = "0";



        RightsInfo rightsInfoFrom = conductor1.getUserRightsForContent(userID,itemID);

        RightsInfo rightsInfoTo = conductor1.getUserRightsForContent(transferTo,itemID);



        // Generate Exception as this should never happen in the my_account page

        if (rightsInfoFrom == null) {

            System.out.println("User doesn't have rights at all");

            return;            

        }



        if (rightsInfoFrom.verbElements == null) {

            System.out.println("User doesn't have rights at all");

            return;            

        }

        



        boolean allowTransfer = false;

        boolean allowPlay = false;

        boolean allowRecord = false;

        boolean allowForward = false;

        boolean allowRewind = false;

        

        for (int k=0; k < rightsInfoFrom.verbElements.length; k++) {

            if (rightsInfoFrom.verbElements[k].verbName.equals("SimplePlay") && rightsInfoFrom.verbElements[k].verbArgName.equals("COUNT")) {

                int existingPlayNum = Integer.parseInt(rightsInfoFrom.verbElements[k].verbArgValue);

                if (existingPlayNum >= numPlaysInt)

                    allowPlay = true;

                Integer argFromVal = new Integer(existingPlayNum-numPlaysInt);

                rightsInfoFrom.verbElements[k].verbArgValue = argFromVal.toString();

            }

            if (playMode.equals("UnrestrictedPlay")){

                if (rightsInfoFrom.verbElements[k].verbName.equals("ForwardPlay") && rightsInfoFrom.verbElements[k].verbArgName.equals("COUNT")) {

                    int existingPlayNum = Integer.parseInt(rightsInfoFrom.verbElements[k].verbArgValue);

                    if (existingPlayNum >= numPlaysInt)

                        allowForward = true;

                    Integer argVal = new Integer(existingPlayNum-numPlaysInt);

                    rightsInfoFrom.verbElements[k].verbArgValue = argVal.toString();

                }

                if (rightsInfoFrom.verbElements[k].verbName.equals("ReversePlay") && rightsInfoFrom.verbElements[k].verbArgName.equals("COUNT")) {

                    int existingPlayNum = Integer.parseInt(rightsInfoFrom.verbElements[k].verbArgValue);

                    if (existingPlayNum >= numPlaysInt)

                        allowRewind = true;

                    Integer argVal = new Integer(existingPlayNum-numPlaysInt);

                    rightsInfoFrom.verbElements[k].verbArgValue = argVal.toString();

                }

            }

            if (recordFlag != null) {

                if (rightsInfoTo.verbElements[k].verbName.equals("Record") && rightsInfoTo.verbElements[k].verbArgName.equals("COUNT")) {

                    int existingRecordNum = Integer.parseInt(rightsInfoFrom.verbElements[k].verbArgValue);

                    if (existingRecordNum >= numRecordInt) 

                        allowRecord = true;

                    Integer argFromVal = new Integer(existingRecordNum-numRecordInt);

                    rightsInfoFrom.verbElements[k].verbArgValue = argFromVal.toString();

                }

            }

        }

        

        allowTransfer = allowPlay;

        if (playMode.equals("UnrestrictedPlay")){

            allowTransfer = allowTransfer && allowForward && allowRewind;

        }

        if (recordFlag != null)

            allowTransfer = allowTransfer && allowRecord;

        

        if (allowTransfer) {

            if (rightsInfoTo != null) {

                System.out.println("ShopServlet: doTransferRights : rightsInfoTo is not null");

                if (rightsInfoTo.verbElements !=null){

                    boolean fwdInsert = false;

                    boolean revInsert = false;

                    for (int k=0; k< rightsInfoTo.verbElements.length; k++) {

                        if (rightsInfoTo.verbElements[k].verbName.equals("SimplePlay") && rightsInfoTo.verbElements[k].verbArgName.equals("COUNT")) {

                            int existingPlayNum = Integer.parseInt(rightsInfoTo.verbElements[k].verbArgValue);

                            Integer argToVal = new Integer(existingPlayNum+numPlaysInt);

                            rightsInfoTo.verbElements[k].verbArgValue = argToVal.toString();

                        }

                        if (playMode.equals("UnrestrictedPlay")){

                            if (rightsInfoTo.verbElements[k].verbName.equals("ForwardPlay") && rightsInfoTo.verbElements[k].verbArgName.equals("COUNT")) {

                                int existingPlayNum = Integer.parseInt(rightsInfoTo.verbElements[k].verbArgValue);

                                Integer argVal = new Integer(existingPlayNum+numPlaysInt);

                                rightsInfoTo.verbElements[k].verbArgValue = argVal.toString();

                            }

                            if (rightsInfoTo.verbElements[k].verbName.equals("ReversePlay") && rightsInfoTo.verbElements[k].verbArgName.equals("COUNT")) {

                                int existingPlayNum = Integer.parseInt(rightsInfoTo.verbElements[k].verbArgValue);

                                Integer argVal = new Integer(existingPlayNum+numPlaysInt);

                                rightsInfoTo.verbElements[k].verbArgValue = argVal.toString();

                            }

                        }

                        if (recordFlag != null) {

                            if (rightsInfoTo.verbElements[k].verbName.equals("Record") && rightsInfoTo.verbElements[k].verbArgName.equals("COUNT")) {

⌨️ 快捷键说明

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