Examples of Ambiguity


Examples of cn.edu.pku.dr.requirement.elicitation.data.Ambiguity

    }

    public String getAmbiguityByGroup(Long userId, ArrayList ambiguities) {
        StringBuffer buffer = new StringBuffer();
        Ambiguity ab = new Ambiguity();
        ArrayList type2 = new ArrayList();
        ArrayList type1 = new ArrayList();
        ArrayList type0 = new ArrayList();
        for (int i = 0; i < ambiguities.size(); i++) {
            ab = (Ambiguity) ambiguities.get(i);
            if (ab.getAmbiguityTypeId().intValue() == 2) {
                type2.add(ab);
            } else if (ab.getAmbiguityTypeId().intValue() == 1) {
                type1.add(ab);
            } else if (ab.getAmbiguityTypeId().intValue() == 0) {
                type0.add(ab);
            }
        }
        buffer
                .append("<div class=\"t2\"><span style=\"color:#FF0000\">分类:有歧义</span></div>");
View Full Code Here

Examples of cn.edu.pku.dr.requirement.elicitation.data.Ambiguity

    }

    public String getAmbiguityNotByGroup(Long userId, ArrayList ambiguities) {
        StringBuffer buffer = new StringBuffer();
        AmbiguityEvaluation ae = new AmbiguityEvaluation();
        Ambiguity ab = new Ambiguity();
        if (ambiguities.size() > 0) {
            for (int i = 0; i < ambiguities.size(); i++) {
                ab = (Ambiguity) ambiguities.get(i);
                buffer
                        .append("<div class=\"f14 p90 pl10\" class=\"answer_content\">"
                                + ab.getAmbiguityContent() + "</div>");
                boolean flag = true;
                int j = 0;
                ArrayList aes = ab.getAmbiguityEvaluations();
                while (flag == true && j < aes.size()) {
                    ae = (AmbiguityEvaluation) aes.get(j);
                    if (ae.getCreatorId().intValue() == userId.intValue()) {
                        flag = false;

                    }
                    j++;
                }
                if (userId.intValue() != ab.getCreatorId().intValue()
                        && ab.getIsoverdue().equals("N") && flag) {
                    // 登陆者不是这个ambiguity的作者,且没有评价过,且这个ambiguity还没有过期
                    buffer
                            .append("<IMG src=\"/image/flower.gif\"> <A class=brown12 id=\"flower"
                                    + ab.getAmbiguityId()
                                    + "\" href=\"javascript:Problem.flower("
                                    + ab.getProblemId()
                                    + ","
                                    + ab.getAmbiguityId()
                                    + ","
                                    + userId
                                    + ")\">送鲜花</A>(得<SPAN id=\"flowernum"
                                    + ab.getAmbiguityId()
                                    + "\">"
                                    + ab.getGoodNum() + "</SPAN>支)");
                    buffer
                            .append("<IMG height=15 src=\"/image/badegg.gif\" width=16><A id=\"badegg"
                                    + ab.getAmbiguityId()
                                    + "\"class=brown12  href=\"javascript:Problem.badegg("
                                    + ab.getProblemId()
                                    + ","
                                    + ab.getAmbiguityId()
                                    + ","
                                    + userId
                                    + ")\">扔鸡蛋</A>(得<SPAN class=orange12 id=\"badeggnum"
                                    + ab.getAmbiguityId()
                                    + "\">"
                                    + ab.getBadNum() + "</SPAN>个)");
                } else {
                    buffer.append("<IMG src=\"/image/flower.gif\"> (得<SPAN>"
                            + ab.getGoodNum() + "</SPAN>支)");
                    buffer
                            .append("<IMG height=15 src=\"/image/badegg.gif\" width=16>(得<SPAN class=orange12>"
                                    + ab.getBadNum() + "</SPAN>个)");
                }

                if (ab.getIsoverdue().equals("N")
                        && userId.intValue() == ab.getCreatorId().intValue()) {
                    // 只有是作者且还没有失效的时候才会出现实效按钮
                    buffer
                            .append("<br><IMG height=15 src=\"/image/assoc_delete.gif\" width=16><A id=\"overdue"
                                    + ab.getAmbiguityId()
                                    + "\" class=brown12  href=\"javascript:Problem.overdue("
                                    + ab.getProblemId()
                                    + ","
                                    + ab.getAmbiguityId()
                                    + ","
                                    + userId
                                    + ")\">失效</A><div id=\"overdue2"
                                    + ab.getAmbiguityId()
                                    + "\" style=\"display:none\">您已设置该回复失效</div>");
                } else if (ab.getIsoverdue().equals("Y")
                        && userId.intValue() == ab.getCreatorId().intValue()) {
                    buffer
                            .append("<br><IMG height=15 src=\"/image/assoc_delete.gif\" width=16>您已设置该回复失效");
                } else if (ab.getIsoverdue().equals("Y")
                        && userId.intValue() != ab.getCreatorId().intValue()) {
                    buffer
                            .append("<br><IMG height=15 src=\"/image/assoc_delete.gif\" width=16>该作者已设置该回复失效");
                }

                if (userId.intValue() == ab.getCreatorId().intValue()
                        && ab.getProblemChange().equals("Y")) {
                    buffer
                            .append("<br><IMG height=15 src=\"/image/agree.gif\" width=16><A id=\"confirm1"
                                    + ab.getAmbiguityId()
                                    + "\" class=brown12  href=\"javascript:Problem.confirm("
                                    + ab.getProblemId()
                                    + ","
                                    + ab.getAmbiguityId()
                                    + ","
                                    + userId
                                    + ")\">确认</A>&nbsp;&nbsp;<A id=\"reject1"
                                    + ab.getAmbiguityId()
                                    + "\" class=brown12  href=\"javascript:Problem.reject("
                                    + ab.getProblemId()
                                    + ","
                                    + ab.getAmbiguityId()
                                    + ","
                                    + userId
                                    + ")\">拒绝</A><div id=\"confirm2"
                                    + ab.getAmbiguityId()
                                    + "\" style=\"display:none\">您已确认</div><div id=\"reject2"
                                    + ab.getAmbiguityId()
                                    + "\" style=\"display:none\">您已拒绝</div>");
                    // 只有是作者
                } else if (ab.getProblemChange().equals("C")
                        && userId.intValue() == ab.getCreatorId().intValue()) {
                    buffer
                            .append("<br><IMG height=15 src=\"/image/agree.gif\" width=16>您已确认");
                } else if (ab.getProblemChange().equals("C")
                        && userId.intValue() != ab.getCreatorId().intValue()) {
                    buffer
                            .append("<br><IMG height=15 src=\"/image/agree.gif\" width=16>该文章作者已确认");
                } else if (ab.getProblemChange().equals("D")
                        && userId.intValue() == ab.getCreatorId().intValue()) {
                    buffer
                            .append("<br><IMG height=15 src=\"/image/agree.gif\" width=16>您已拒绝");
                } else if (ab.getProblemChange().equals("D")
                        && userId.intValue() != ab.getCreatorId().intValue()) {
                    buffer
                            .append("<br><IMG height=15 src=\"/image/agree.gif\" width=16>该文章作者已拒绝");
                }

                buffer
                        .append("<div align=\"right\" style=\"margin: 5px 5px 8px;\" id=\"comment_info\"><span class=\"gray\">评论者:"
                                + ab.getUserName()
                                + " 时间:"
                                + ab.getBuildTime()
                                + "</span></div>");
                if (i < ambiguities.size() - 1) {
                    buffer.append("<div id=\"Lg\" ></div>");

                }
View Full Code Here

Examples of cn.edu.pku.dr.requirement.elicitation.data.Ambiguity

            throws EasyJException, IOException {
        String confirm;
        String overdue;
        CompositeDataProxy cdp = CompositeDataProxy.getInstance();
        SingleDataProxy sdp = SingleDataProxy.getInstance();
        Ambiguity ab = new Ambiguity();
        ab.setAmbiguityId(ae.getAmbiguityId());
        ab = (Ambiguity) cdp.get(ab);
        StringBuffer xml = new StringBuffer("<result>");
        ProblemVersion problemversion = new ProblemVersion();
        problemversion.setProblemId(ab.getProblemId());
        Long problemversioncount = sdp.getCount(problemversion);

        try {
            if (request.getParameter("flower") != null) {

                ab.setGoodNum(new Long(ab.getGoodNum().intValue() + 1));
                cdp.update(ab);
                ae.setIsGood("Y");
                sdp.create(ae);
                xml
                        .append("<message>success</message><choose>flower</choose><ambiguityId>"
                                + ae.getAmbiguityId()
                                + "</ambiguityId></result>");

            }
        } catch (EasyJException e) {
            xml.append("<message>failure</message></result>");
        }
        try {
            if (request.getParameter("badegg") != null) {
                ab.setBadNum(new Long(ab.getBadNum().intValue() + 1));
                cdp.update(ab);
                ae.setIsGood("N");
                sdp.create(ae);
                xml
                        .append("<message>success</message><choose>badegg</choose><ambiguityId>"
                                + ae.getAmbiguityId()
                                + "</ambiguityId></result>");

            }

        } catch (EasyJException e) {
            xml.append("<message>failure</message></result>");
        }

        // 对于确认的处理,暂时只是设置一下用户的选择,以后如果peoblem_version建立之后会有改动,要增加确认对应的版本信息

        if (request.getParameter("confirm") != null) {
            if (request.getParameter("confirm").equals("y")) {
                ab.setProblemChange("C");
                ab.setSolvedVersion(problemversioncount);
                try {
                    cdp.update(ab);
                    xml
                            .append("<message>success</message><choose>confirm</choose><ambiguityId>"
                                    + ae.getAmbiguityId()
                                    + "</ambiguityId></result>");

                } catch (EasyJException e) {
                    xml.append("<message>failure</message></result>");
                }

            } else {
                ab.setProblemChange("D");
                try {

                    cdp.update(ab);
                    xml
                            .append("<message>success</message><choose>reject</choose><ambiguityId>"
                                    + ae.getAmbiguityId()
                                    + "</ambiguityId></result>");

                } catch (EasyJException e) {
                    xml.append("<message>failure</message></result>");
                }

            }
        }
        try {
            if (request.getParameter("overdue") != null) {

                ab.setIsoverdue("Y");
                ab.setProblemOverdueVersion(problemversioncount);
                cdp.update(ab);
                xml
                        .append("<message>success</message><choose>overdue</choose><ambiguityId>"
                                + ae.getAmbiguityId()
                                + "</ambiguityId></result>");
View Full Code Here

Examples of cn.edu.pku.dr.requirement.elicitation.data.Ambiguity

        if (order.equals("time")) {
            // 原本就是按照时间排序的
        } else {
            Collections.sort(ambiguities);
        }
        Ambiguity ambiguity = new Ambiguity();
        int allnum = 0;
        int num0 = 0;
        buffer
                .append("<TABLE class=f9 id=newsTable cellSpacing=0 cellPadding=0 width=\"100%\" align=center bgColor=#ffffff border=0><TBODY>");
        buffer
                .append("<TR bgColor=#f3f3f3><TD class=tdline28 noWrap width=\"5%\"></TD> <TD class=tdline28 width=\"14%\" height=30><b>有歧义</b></TD><TD class=tdline28 width=\"1%\">&nbsp;</TD><TD class=tdline28><B>用户疑问概要</B></TD><TD class=tdline28 width=\"15%\"><B>&nbsp;</B></TD></TR>");
        for (int i = 0; i < ambiguities.size(); i++) {
            ambiguity = (Ambiguity) ambiguities.get(i);
            if (ambiguity.getIsoverdue().equals("N")
                    && ambiguity.getAmbiguityTypeId().intValue() == 0) {
                num0++;
                buffer
                        .append("<TR id=trBG"
                                + allnum
                                + "><TD class=tdline28 noWrap align=left ><INPUT onclick=\"Problem.changeTRbg(this,'trBG"
                                + allnum
                                + "')\" type=\"checkbox\" value=\""
                                + ambiguity.getAmbiguityId()
                                + "\" name=\"overdue_ambiguity\"></TD><TD class=tdline28 align=left>"
                                + num0 + "</TD>");
                if (ambiguity.getAmbiguityContent().length() > 10) {
                    buffer
                            .append("<TD class=tdline28 align=right>&nbsp;</TD><TD class=tdline28 align=left >"
                                    + ambiguity.getAmbiguityContent()
                                            .substring(0, 9) + "....</TD>");
                } else {
                    buffer
                            .append("<TD class=tdline28 align=right>&nbsp;</TD><TD class=tdline28 align=left >"
                                    + ambiguity.getAmbiguityContent() + "</TD>");
                }

                buffer
                        .append("<TD class=tdline28 noWrap align=left><A class=\"bluelink \"  href=\"javascript:Problem.newsShowHide('ambiguity"
                                + allnum + "');\">查看详细描述</A></TD></TR> ");
                buffer
                        .append("<TR><TD class=tdline28 id=ambiguity"
                                + allnum
                                + " style=\"DISPLAY: none\" noWrap align=left colSpan=5><BR><TABLE class=zh cellSpacing=0 cellPadding=0 width=\"96%\" align=center border=0><TBODY><TR><TD>");
                buffer
                        .append("<DIV id=MSGcontent"
                                + allnum
                                + "><div id=\"Lg\"></div><div class=\"f14 p90 pl10\" class=\"answer_content\" ><span style=\"color:#FF0000\">详细描述:</span><br>"
                                + ambiguity.getAmbiguityContent());
                buffer
                        .append("<br><IMG src=\"/image/flower.gif\">(共<SPAN id=\"flower_num\">"
                                + ambiguity.getGoodNum() + "</SPAN>支)");
                buffer
                        .append("<IMG height=15 src=\"/image/badegg.gif\" width=16>(共<SPAN class=orange12>"
                                + ambiguity.getBadNum() + "</SPAN>个)");
                buffer
                        .append("</DIV><BR></TD><TD vAlign=top noWrap align=right width=50><FONT id=close0><A class=bluelink onclick=\"Problem.newsShowHide('ambiguity"
                                + allnum
                                + "')\" href=\"#\">关闭</A></FONT></TD></TR></TBODY></TABLE>");
                allnum++;
            }
        }
        if (num0 == 0) {
            buffer
                    .append("<TR ><TD class=tdline28 noWrap width=\"5%\"></TD> <TD class=tdline28 width=\"14%\" height=30><b></b></TD><TD class=tdline28 width=\"1%\">&nbsp;</TD><TD class=tdline28><B>评论已失效或无此类评论</B></TD><TD class=tdline28 width=\"15%\"><B>&nbsp;</B></TD></TR>");
            buffer
                    .append("</TBODY></TABLE><DIV id=rt0></DIV><BR></TD></TR></TBODY></TABLE>");

        } else {
            buffer.append("<DIV id=rt0></DIV><BR></TD></TR></TBODY></TABLE>");
        }

        int num1 = 0;
        buffer
                .append("<TABLE class=f9 id=newsTable cellSpacing=0 cellPadding=0 width=\"100%\" align=center bgColor=#ffffff border=0><TBODY>");
        buffer
                .append("<TR bgColor=#f3f3f3><TD class=tdline28 noWrap width=\"5%\"></TD> <TD class=tdline28 width=\"14%\" height=30><b>不易理解</b></TD><TD class=tdline28 width=\"1%\">&nbsp;</TD><TD class=tdline28><B>用户疑问概要</B></TD><TD class=tdline28 width=\"15%\"><B>&nbsp;</B></TD></TR>");
        for (int i = 0; i < ambiguities.size(); i++) {
            ambiguity = (Ambiguity) ambiguities.get(i);
            if (ambiguity.getIsoverdue().equals("N")
                    && ambiguity.getAmbiguityTypeId().intValue() == 1) {
                num1++;
                buffer
                        .append("<TR id=trBG"
                                + allnum
                                + "><TD class=tdline28 noWrap align=left ><INPUT onclick=\"Problem.changeTRbg(this,'trBG"
                                + allnum
                                + "')\" type=\"checkbox\" value=\""
                                + ambiguity.getAmbiguityId()
                                + "\" name=\"overdue_ambiguity\"></TD><TD class=tdline28 align=left>"
                                + num1 + "</TD>");
                if (ambiguity.getAmbiguityContent().length() > 10) {
                    buffer
                            .append("<TD class=tdline28 align=right>&nbsp;</TD><TD class=tdline28 align=left >"
                                    + ambiguity.getAmbiguityContent()
                                            .substring(0, 9) + "....</TD>");
                } else {
                    buffer
                            .append("<TD class=tdline28 align=right>&nbsp;</TD><TD class=tdline28 align=left >"
                                    + ambiguity.getAmbiguityContent() + "</TD>");
                }

                buffer
                        .append("<TD class=tdline28 noWrap align=left><A class=\"bluelink \"  href=\"javascript:Problem.newsShowHide('ambiguity"
                                + allnum + "');\">查看详细描述</A></TD></TR> ");
                buffer
                        .append("<TR><TD class=tdline28 id=ambiguity"
                                + allnum
                                + " style=\"DISPLAY: none\" noWrap align=left colSpan=5><BR><TABLE class=zh cellSpacing=0 cellPadding=0 width=\"96%\" align=center border=0><TBODY><TR><TD>");
                buffer
                        .append("<DIV id=MSGcontent"
                                + allnum
                                + "><div id=\"Lg\"></div><div class=\"f14 p90 pl10\" class=\"answer_content\" ><span style=\"color:#FF0000\">详细描述:</span><br>"
                                + ambiguity.getAmbiguityContent());
                buffer
                        .append("<br><IMG src=\"/image/flower.gif\">(共<SPAN id=\"flower_num\">"
                                + ambiguity.getGoodNum() + "</SPAN>支)");
                buffer
                        .append("<IMG height=15 src=\"/image/badegg.gif\" width=16>(共<SPAN class=orange12>"
                                + ambiguity.getBadNum() + "</SPAN>个)");
                buffer
                        .append("</DIV><BR></TD><TD vAlign=top noWrap align=right width=50><FONT id=close0><A class=bluelink onclick=\"Problem.newsShowHide('ambiguity"
                                + allnum
                                + "')\" href=\"#\">关闭</A></FONT></TD></TR></TBODY></TABLE>");
                allnum++;
            }
        }
        if (num1 == 0) {
            buffer
                    .append("<TR ><TD class=tdline28 noWrap width=\"5%\"></TD> <TD class=tdline28 width=\"14%\" height=30><b></b></TD><TD class=tdline28 width=\"1%\">&nbsp;</TD><TD class=tdline28><B>评论已失效或无此类评论</B></TD><TD class=tdline28 width=\"15%\"><B>&nbsp;</B></TD></TR>");
            buffer
                    .append("</TBODY></TABLE><DIV id=rt0></DIV><BR></TD></TR></TBODY></TABLE>");

        } else {
            buffer.append("<DIV id=rt0></DIV><BR></TD></TR></TBODY></TABLE>");
        }

        int num2 = 0;
        buffer
                .append("<TABLE class=f9 id=newsTable cellSpacing=0 cellPadding=0 width=\"100%\" align=center bgColor=#ffffff border=0><TBODY>");
        buffer
                .append("<TR bgColor=#f3f3f3><TD class=tdline28 noWrap width=\"5%\"></TD> <TD class=tdline28 width=\"14%\" height=30><b>易理解</b></TD><TD class=tdline28 width=\"1%\">&nbsp;</TD><TD class=tdline28><B>用户疑问概要</B></TD><TD class=tdline28 width=\"15%\"><B>&nbsp;</B></TD></TR>");
        for (int i = 0; i < ambiguities.size(); i++) {
            ambiguity = (Ambiguity) ambiguities.get(i);
            if (ambiguity.getIsoverdue().equals("N")
                    && ambiguity.getAmbiguityTypeId().intValue() == 2) {
                num2++;
                buffer
                        .append("<TR id=trBG"
                                + allnum
                                + "><TD class=tdline28 noWrap align=left ><INPUT onclick=\"Problem.changeTRbg(this,'trBG"
                                + allnum
                                + "')\" type=\"checkbox\" value=\""
                                + ambiguity.getAmbiguityId()
                                + "\" name=\"overdue_ambiguity\"></TD><TD class=tdline28 align=left>"
                                + num2 + "</TD>");
                if (ambiguity.getAmbiguityContent().length() > 10) {
                    buffer
                            .append("<TD class=tdline28 align=right>&nbsp;</TD><TD class=tdline28 align=left >"
                                    + ambiguity.getAmbiguityContent()
                                            .substring(0, 9) + "....</TD>");
                } else {
                    buffer
                            .append("<TD class=tdline28 align=right>&nbsp;</TD><TD class=tdline28 align=left >"
                                    + ambiguity.getAmbiguityContent() + "</TD>");
                }

                buffer
                        .append("<TD class=tdline28 noWrap align=left><A class=\"bluelink \"  href=\"javascript:Problem.newsShowHide('ambiguity"
                                + allnum + "');\">查看详细描述</A></TD></TR> ");
                buffer
                        .append("<TR><TD class=tdline28 id=ambiguity"
                                + allnum
                                + " style=\"DISPLAY: none\" noWrap align=left colSpan=5><BR><TABLE class=zh cellSpacing=0 cellPadding=0 width=\"96%\" align=center border=0><TBODY><TR><TD>");
                buffer
                        .append("<DIV id=MSGcontent"
                                + allnum
                                + "><div id=\"Lg\"></div><div class=\"f14 p90 pl10\" class=\"answer_content\" ><span style=\"color:#FF0000\">详细描述:</span><br>"
                                + ambiguity.getAmbiguityContent());
                buffer
                        .append("<br><IMG src=\"/image/flower.gif\">(共<SPAN id=\"flower_num\">"
                                + ambiguity.getGoodNum() + "</SPAN>支)");
                buffer
                        .append("<IMG height=15 src=\"/image/badegg.gif\" width=16>(共<SPAN class=orange12>"
                                + ambiguity.getBadNum() + "</SPAN>个)");
                buffer
                        .append("</DIV><BR></TD><TD vAlign=top noWrap align=right width=50><FONT id=close0><A class=bluelink onclick=\"Problem.newsShowHide('ambiguity"
                                + allnum
                                + "')\" href=\"#\">关闭</A></FONT></TD></TR></TBODY></TABLE>");
                allnum++;
View Full Code Here

Examples of cn.edu.pku.dr.requirement.elicitation.data.Ambiguity

            pv.setProblemId(problem.getProblemId());
            SingleDataProxy sdp = SingleDataProxy.getInstance();
            // todo:需要判定是否有overdue_ambiguity,即name是否为空
            if (name != null) {
                for (int i = 0; i < name.length; i++) {
                    Ambiguity ambiguity = new Ambiguity();

                    ambiguity.setAmbiguityId(new Long(name[i]));
                    ambiguity = (Ambiguity) cdp.get(ambiguity);
                    ambiguity.setProblemChange("Y");
                    ambiguity.setSolvePendingVersion(sdp.getCount(pv));
                    cdp.update(ambiguity);

                }
            }
View Full Code Here

Examples of cn.edu.pku.dr.requirement.elicitation.data.Ambiguity

    public void getAmbiguity() throws EasyJException, IOException {
        AmbiguityImpl targetObject = new AmbiguityImpl();
        AmbiguityInterface ambiguityInterface = null;
        Object proxy = AmbiguityProxyFactory.getProxy(targetObject);
        ambiguityInterface = (AmbiguityInterface) proxy;
        Ambiguity ambiguity = new Ambiguity();
        ambiguity = (Ambiguity) object;
        try {
            response.getWriter().println(
                    ambiguityInterface.getAmbiguity(ambiguity, this.request,
                            false).toString());
View Full Code Here

Examples of cn.edu.pku.dr.requirement.elicitation.data.Ambiguity

    public void creatingAmbiguity() throws EasyJException, IOException {
        AmbiguityImpl targetObject = new AmbiguityImpl();
        AmbiguityInterface ambiguityInterface = null;
        Object proxy = AmbiguityProxyFactory.getProxy(targetObject);
        ambiguityInterface = (AmbiguityInterface) proxy;
        Ambiguity ab = new Ambiguity();
        ab = (Ambiguity) object;
        returnMessage = ambiguityInterface.creatingAmbiguity(ab, this.request,
                response);
    }
View Full Code Here

Examples of cn.edu.pku.dr.requirement.elicitation.data.Ambiguity

    public void viewAllAmbiguity() throws EasyJException, IOException {
        AmbiguityImpl targetObject = new AmbiguityImpl();
        AmbiguityInterface ambiguityInterface = null;
        Object proxy = AmbiguityProxyFactory.getProxy(targetObject);
        ambiguityInterface = (AmbiguityInterface) proxy;
        Ambiguity ambiguity = new Ambiguity();
        ambiguity = (Ambiguity) object;
        try {
            response.getWriter().println(
                    ambiguityInterface
                            .viewAllAmbiguity(ambiguity, this.request)
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.