小编jn1*_*1kk的帖子

Eclipse将行标记为死代码

我有这个函数,有一些死的代码,由Eclipse标记.

我有两行检查a&b.检查b的行标记为空.

    public int[] runThis(List<Integer> buildIds, List<Integer> scenarios, boolean oflag) {

    int rating[] = new int[scenarios.size()];

    if(buildIds == null) {
        System.out.println("ERROR - Building ID list is null!");
        return null;
    }

    if(scenarios == null) {
        System.out.println("ERROR - Scenario list is null!"); //dead
        return null; //dead
    }

    return rating;      

}
Run Code Online (Sandbox Code Playgroud)

为什么Ellipse让这两条线死了?有帮助吗?非常感谢你花时间陪伴.

java eclipse dead-code

8
推荐指数
1
解决办法
3942
查看次数

IntelliJ IDEA报告合同违规警告

这是Java代码:

public static boolean anyEqual(Object needle, Object... haystack) {
    if(needle == null || haystack == null) {
        return false;
    }
    if(haystack.length == 0) {
        return false;
    }
    for(Object match : haystack) {
        if(match != null && needle.getClass() == match.getClass() && needle.equals(match)) {
            return true; // warning from IntelliJ here, 'contract clause !null, null -> false is violated'
        }
    }
    return false;
}
Run Code Online (Sandbox Code Playgroud)

有没有人知道为什么要显示它?contract clause !null, null -> false is violated?谢谢!

IntelliJ 14.0.2 build:139.659

截图: 在此输入图像描述

java intellij-idea

7
推荐指数
1
解决办法
1154
查看次数

Visual Studio Diagsession配置文件会话 - 显示损坏的功能名称

我从Azure App Service下载了一个分析会话.我在Visual Studio中打开它来观察为什么我的应用程序需要很长时间来处理请求.VS没有向我显示我的任何代码,我担心它会将其标记为"[Broken]".有没有办法来解决这个问题?以某种方式导入我的符号(我假设)?

谢谢你的帮助!

在此输入图像描述

profiling azure azure-web-app-service visual-studio-2017

7
推荐指数
0
解决办法
141
查看次数

JDOM中的命名空间(默认)

我正在尝试使用最新的JDOM包生成XML文档.我遇到了根元素和命名空间的问题.我需要生成这个根元素:

<ManageBuildingsRequest 
    xmlns="http://www.energystar.gov/manageBldgs/req" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://www.energystar.gov/manageBldgs/req 
                        http://estar8.energystar.gov/ESES/ABS20/Schemas/ManageBuildingsRequest.xsd">
Run Code Online (Sandbox Code Playgroud)

我用这个代码:

Element root = new Element("ManageBuildingsRequest");
root.setNamespace(Namespace.getNamespace("http://www.energystar.gov/manageBldgs/req"));
Namespace XSI = Namespace.getNamespace("xsi", "http://www.w3.org/2001/XMLSchema-instance");
root.addNamespaceDeclaration(XSI);
root.setAttribute("schemaLocation", "http://www.energystar.gov/manageBldgs/req http://estar8.energystar.gov/ESES/ABS20/Schemas/ManageBuildingsRequest.xsd", XSI);

Element customer = new Element("customer");
root.addContent(customer);
doc.addContent(root); // doc jdom Document
Run Code Online (Sandbox Code Playgroud)

但是,ManageBuildingsRequest之后的下一个元素也具有默认命名空间,这会破坏验证:

<customer xmlns="">
Run Code Online (Sandbox Code Playgroud)

有帮助吗?感谢您的时间.

java xml jdom

6
推荐指数
1
解决办法
6717
查看次数

编程到接口 - 避免后来的转换

所以,据我所知,应该总是编程到一个接口,如:

List<Integer> list = new LinkedList<Integer>();
Run Code Online (Sandbox Code Playgroud)

所以,在我的课程后期,我有:

public List<Integer> getIntegers() {
    return list;
}

public void processIntegers() {
    // I need an arraylist here
    ArrayList<Integer> list = (ArrayList<Integer>) getIntegers(); // can I do this better, without a cast?
}
Run Code Online (Sandbox Code Playgroud)

我可以在这里遵循更好的模式,或者以某种方式做些什么来避免演员表演?在这种情况下,施法似乎非常难看.

谢谢.

java interface

6
推荐指数
1
解决办法
222
查看次数

获取最高价格的物品的ID

我有一个包含物品ID和物品价格的表.我正在运行Oracle.我想得到价格最高的ID(s).

这适用于MySQL,但不适用于Oracle(为什么不呢!?!?).

SELECT Main.itemid 
  FROM Main 
HAVING MAX(Main.itemprice)
Run Code Online (Sandbox Code Playgroud)

因为我将在另一个嵌套查询中使用它,所以我需要使用它HAVING.有任何想法吗?谢谢!

顺便说一句,产生这个错误:

ORA-00920: invalid relational operator
Run Code Online (Sandbox Code Playgroud)

sql oracle

5
推荐指数
1
解决办法
1675
查看次数

AuthnRequest中的SAML请求属性

我有点理解基本的SAML身份验证应该如何工作:

SP
SP的用户请求资源向IDP发送auth请求IDP对
用户进行身份验证,并向userP发回一些userId
SP发送属性查询以获取有关userId的其他详细信息
IDP发送回属性
SP提供用户资源

我的问题是,你能绕过AttributeQuery吗?当我向我的测试Gluu/Shibboleth服务器发出SAML 2.0请求时,我回来了givenName(名字)和sn(姓氏).无论如何我可以inum在AuthnRequest中请求用户ID和电子邮件吗?

我的要求非常简单:

<samlp:AuthnRequest xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol" xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion" ID="MyPrefix1457456412304" Version="2.0" IssueInstant="2016-03-08T17:00:12Z" ProtocolBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST">
   <saml:Issuer>me.com</saml:Issuer>
</samlp:AuthnRequest>
Run Code Online (Sandbox Code Playgroud)

请求我回来是这样的:

<?xml version="1.0" encoding="UTF-8"?>
<saml2:Assertion xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion" ID="_bff09cf745ea5722aac3f3ec57c0ecf3" IssueInstant="2016-03-08T17:01:06.140Z" Version="2.0">
    <saml2:Issuer ....
    <saml2:AttributeStatement>
        <saml2:Attribute FriendlyName="sn" Name="urn:oid:2.5.4.4" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri">
            <saml2:AttributeValue xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">User</saml2:AttributeValue>
        </saml2:Attribute>
        <saml2:Attribute FriendlyName="givenName" Name="urn:oid:2.5.4.42" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri">
            <saml2:AttributeValue xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">Admin</saml2:AttributeValue>
        </saml2:Attribute>
    </saml2:AttributeStatement>
</saml2:Assertion>
Run Code Online (Sandbox Code Playgroud)

我阅读了规范的相关部分,似乎说服务器可以回馈它想要的任何东西(以及它想要多少属性)?同样,我的问题是我是否可以强制SAML Gluu/Shibboleth服务器将特定属性作为AuthnRequest的一部分返回给我.

java saml shibboleth saml-2.0 gluu

5
推荐指数
2
解决办法
2648
查看次数

验证 SAML 响应的签名

我正在尝试遵循以下规范来验证 SAML 响应的签名:https : //www.w3.org/TR/xmldsig-core/#sec-PKCS1

这是我的工作流程:我收到 SAML 响应。我摆脱了签名信封,将其规范化,检查摘要,然后检查签名。我能够成功计算转换后的 SAML 响应的 SHA1 摘要并对其进行验证。然而,RSA-SHA1 签名检查仍然让我望而却步。

SAML 响应包括签名方法算法:http : //www.w3.org/2000/09/xmldsig#rsa-sha1

我有这个方法来检查签名:

public static boolean verifySignature(String signatureType, PublicKey publicKey, byte[] contentBytes, byte[] sigBytes) {
    try {
        Signature sig = Signature.getInstance(signatureType);
        sig.initVerify(publicKey);
        sig.update(contentBytes);
        return sig.verify(sigBytes);
    } catch (Exception e) {
        Logger.log(e);
        return false;
    }
}
Run Code Online (Sandbox Code Playgroud)

我做这样的事情来称呼它:

String publicKeyStr =  "MIIDNDCCAhwCCQCEk14scLMSGjANBgkqhkiG9w0BAQsFADBcMR8wHQYDVQQDDBZhdXRoLnJldHJvZmljaWVuY3kuY29tMQ4wDAYDVQQKDAVSZXRybzELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAk1BMQ8wDQYDVQQHDAZCb3N0b24wHhcNMTYwMzAyMTU1NTQ4WhcNMTcwMzAyMTU1NTQ4WjBcMR8wHQYDVQQDDBZhdXRoLnJldHJvZmljaWVuY3kuY29tMQ4wDAYDVQQKDAVSZXRybzELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAk1BMQ8wDQYDVQQHDAZCb3N0b24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDwUlZ+qOA61kYh0MGHKTe4JtSL1qJVT/8/i6sWFqbAiGdV33pxSm8iBpqLNPG+fr8aZKugik8mN3y0kZEDwD+EATXGUpqT1v1R6Wr4rRUwsC0wl6d6EiWfdSsu66T11hdrugXF/psjyy4mmvIMMU4RlSaZmT2+gpe57IWPO522Y1HqbuvSvKJgjdyrlhIKLmw7HvZ1ZrQ1j01Hd3/rdK41+zWpSCLuSellHowiDmOzNnyFpTw+SZA0GKE+cm3BOTj/cM36GR2XJd0kIRqj1qqu29cGMlBjQ3cMleG6HoHR9oPNFwYtW1fDTHG6MnxRXYCfZiPeBdX3eBDSuz7GQAv5AgMBAAEwDQYJKoZIhvcNAQELBQADggEBAEuQEPhpWdAGg46PSbE20bNt4YH+PjiIzPaXzN5UmpJjyl2kbR18HYXZHEtAXc+ItrYnK+oe+6FhwJ9aiwlrf1/p+U61iyvA9/HWzyW4vflaLWRQ8FxNhAJiVu57IQObjZ13EQfu1O8RK4wzNUVJhOz+pp9toqTHn8wmUPApzqMIl0KpDCPy1TNrwItaiy/gzWQngBMgIcrDeycR8wK2EH6txT8BzI+aqdIc3gBXsn/kS90lelbvYreXqF7VHoMs8fVEPN5fTRjqT9oZb60b1DxcniiTEknZtqprYuMpgEzpOHrzmlbCoNU2yBHuNTQWBz3lG+XtSMtgh16v5Vm48ag=";
PublicKey publicKey = Security.getPublicKey(publicKeyStr); // uses Certificate class
String sig = "QfAcRJM2P65JucyBpqn6j48/zd1oSLPBJ0lYI1grH5/xenwBEh0D4Eh0S1J3535OUmldpW7D+G7DW6eAT5N8TdoqUvMXuIAUpFHHDR45KZykPXJPUtli+z2rwlCCHypZWnniT/wrcQYdpp1zzNJBBtKdkaqQg0NMktPSQ/0ti+ruMI3qwfTaL9kDQ3Zyi/a2J3RCAPA0RfviLnDLlid0PthiV1NEbs0AvnguDi57fWXAILk0L1Cx20sliQckxlFQ9u4OaHeMscXdjh3SfESkM9m0Y9PppisZWTrCYzGmvDwsZTCBPD3f/ZFIit+Smgh2fi1u8/gZq0yizPyacR3Y/A==";
String newXMLToOperateOn = "<saml2:Assertion xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:xs="http://www.w3.org/2001/XMLSchema" ID="_420cc1a25a3890bd5df1f4c04bd7e986" ...";

boolean sign = …
Run Code Online (Sandbox Code Playgroud)

java saml shibboleth digital-signature public-key-encryption

5
推荐指数
1
解决办法
2491
查看次数

在 Excel 中编辑嵌入 Word 文档中的 Excel 对象

我需要将 Excel 文档嵌入到 Word 文档中。我使用了这个问题的答案 -> How can I embed any file type into Microsoft Word using OpenXml 2.0

一切正常,除了:

DrawAspect = OVML.OleDrawAspectValues.Icon允许您通过打开新的 Excel 实例来编辑 Excel 对象。但是,当我编辑数据时,它不会在Word文档中更新。

DrawAspect = OVML.OleDrawAspectValues.Content允许您直接在 Word 文档中编辑 Excel 对象。

我的问题是,我必须在代码中更改哪些内容,以便我可以在新实例中编辑 Excel 对象并将其正确反映在 Word 文档中?我尝试了一切都无济于事。

有件事告诉我,DrawAspect = OVML.OleDrawAspectValues.Icon该对象充当图标,并且更改无法正确反映在该图标中。

c# excel interop ms-word openxml

3
推荐指数
1
解决办法
4599
查看次数

Java指令重新排序/线程缓存

读一本书,这个代码出现了:

public class Test {

    private static boolean ready = false;
    private static int number = 0;

    public static class ListenerThread extends Thread {

        public void run() {

            while(!ready) {
                Thread.yield();
            }
            System.out.println(number);

        }

    }

    public static void main (String[] args) {

        new ListenerThread().start();
        number = 10;
        ready = true;

    }

}
Run Code Online (Sandbox Code Playgroud)

笔者相对较快地提到了我感到惊讶的要点.

  1. 他们说ListenerThread可能永远不会终止.我想了几天(在我的脑后),我唯一的结论是它可能被ListenerThread缓存.真的吗?将readyvolatile设置为解决问题(因为它不应该再缓存它)?

  2. 他们还说该程序可能会打印0.我现在明白Java可能会重新排序指令,因此在更改数字之前准备就绪为另一个线程.有没有任何方法(技术),除了将这些指令放在同步块中解决问题(在中央锁定值上)?我在想也许实现notify()/ wait(),但我觉得它会遭受同样的后果.避免这个问题的最佳方法是什么?

谢谢!

编辑:

我只是觉得我已经阅读了很多代码,并且很少有人为防止在多个线程中重新排序而烦恼.这有多常见?

java multithreading caching

3
推荐指数
1
解决办法
963
查看次数