小编Man*_*dit的帖子

最终类中的Powermock静态最终方法

我正在写的测试案例:

public class AClassUnderTest {

    // This test class has a method call
    public Long methodUnderTest() {

         // Uses the FinalUtilityClass which contains static final method
         FinalUtilityClass.myStaticFinalMethod(<3-parameters-here>);

         // I want to mock above call so that test case for my "methodUnderTest" passes
    }
}
Run Code Online (Sandbox Code Playgroud)

我有一个最后一堂课.

public final class FinalUtilityClass {

   /**
    * Method has 3 parameters
    */
   public static final MyBean myStaticFinalMethod(<3-parameters-here>) {

   }
}
Run Code Online (Sandbox Code Playgroud)

我已经在我的测试类中添加了以下代码:

@RunWith(PowerMockRunner.class)
@PrepareForTest({ FinalUtilityClass.class })
Run Code Online (Sandbox Code Playgroud)

我想写一个测试用例来嘲笑它.我想模拟调用,myStaticFinalMethod()以便我可以获得预期的MyBeaninstatnce,我可以在进一步的代码中使用它来通过我的测试用例.

<3-parameters-here>是日历,字符串,字符串.

我试过做: …

java unit-testing powermockito

4
推荐指数
1
解决办法
1万
查看次数

多个站点和多个 SSL 证书的 IIS10 SSL 配置

我有一个场景,我正在处理 URL 路由的 IIS 网站配置。我已添加网站并在服务器上导入所需的证书。

我的场景是(我有多个网站 URL 和两个 SSL 证书 - 如下):

qtest1.abc.com

qtest2.abc.com

qtest3.abc.com

以上 3 个 URL 需要在一个 SSL 证书(即QA 证书)上配置。

另一个网址是:

perftest.abc.com

对于此 URL,有一个单独的证书作为PERF(性能)证书

这就是我在 MS IIS 10 上配置 IIS 设置的任务的方式。

现在我面临的问题是:

  1. 无法在同一个 IIS 上配置所有 URL 配置,根据给我的任务,我应该在同一个 IIS 上配置它们。
  2. 收到一条奇怪的消息(附图),它不允许我在同一台计算机上的同一 IIS 上配置所有上述网站 URL。

    iis-https-绑定-错误消息

  3. 还尝试阅读有关 SNI 的信息(但不确定在这种情况下如何使用 SNI)。

    iis-https-绑定-sni

需要 IIS 专家的帮助,他们可以支持我完成此活动。

iis ssl ssl-certificate iis-10

4
推荐指数
1
解决办法
9142
查看次数

Guava可选作为可选参数的方法参数

最近我和我的队友讨论了Guava Optional在方法中使用可选参数的问题.

我们说方法是

List<Book> getBooks(String catalogId, Optional<String> categoryId) {
     Validate.notNull(catalogId);
     Validate.notNull(categoryId); // Point of conflict. Is this required?
Run Code Online (Sandbox Code Playgroud)

它接受一个catalogId和一个可选项 categoryId,它返回该目录中列出的书籍,如果类别也被传递,则只返回该类别中的书籍.

冲突点是,验证Optional<String> categoryId空检查.我认为不应该对它进行空检查,因为它是一个可选参数.该函数的调用者可以传递nullOptional.<String>absent()getBooks功能应做处理这两种情况if(categoryId==null && categoryId.isPresent())在执行.

我的意见是,Optional对于可选参数,只是使方法的合同更加清晰.通过查看方法签名,可以告诉该参数是可选的,并且不需要读取javadoc.但是Optional.absent()当他不想使用那个可选参数时,他不应该被迫通过.

我的队友有不同的看法.他想对它进行空检查,因此强制调用者总是通过Optional.<String>absent().他的观点是我们为什么要传递null可选.而且getBooks("catalog123", Optional.absent())看起来更可读getBooks("catalog123", null).

此方法位于我们的一个库包中,由我们拥有的多个包使用.

Optional对此方案的使用有何建议?

谢谢

java optional-parameters guava

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

ArrayIndexOutOfBoundsException:在JTable创建/ tablechanged上为-1

我已经阅读了所有的线程,看起来好像可以解决我的问题,我也在这里阅读了所有的答案,但我仍然在我的智慧结束.我不确定为什么会抛出异常,尽管我觉得这可能与之有关threading.如果确实如此,请告诉我在哪里包括,new Runnable()以及是否,invokeLater()或者invokeAndWait(),因为我已经尝试过无济于事.

请告诉我,我给你的代码导致异常+堆栈跟踪(下面).

编辑:我在调用之前sysoAnnoTable部分中包含了一些s tableChanged并且它们没有出现在控制台中,因此我认为问题必须在应用程序到达那一点之前发生,即从它调用时AAView或者当数据和表模型被实例化时......

编辑II:问题是覆盖的tableChanged方法.这显然会触发异常.我已经删除了这个tableChanged()电话(也没有什么区别).现在我遇到了另一个问题:了解底层数据(AnnoData)的更改如何自动更新表.虽然这可能是针对另一个查询(在扩展的Google搜索之后),但请随时在此主题中发布有用的评论,因为我将继续阅读它...感谢所有有用的评论和提示!

编辑III:*我已经解决了这个问题.我需要实例化另一个对象AnnoData,将其传递给一个新的实例AnnoTableModel,将此实例设置为我的表然后fireTableDataChanged().

编辑IV:好的,所以fireTableDataChanged()(编辑III中使用的)毕竟是不必要的.我仍然想要使用它而不是一直创建新对象.我想我应该问一个新问题......谢谢!

这个方法AAView应该创建一个扩展a的对象JTable,把它放到一个JScrollPane等等(后者确实有效).

private JPanel createAnnoTablePanel() {
    annoTablePanel = new JPanel();
    annoTable = new AnnoTable(aameth);
    setAnnoTable(annoTable);
    JScrollPane scrollPane = new JScrollPane(getAnnoTable());
    annoTablePanel.add(scrollPane);
    return annoTablePanel;
}
Run Code Online (Sandbox Code Playgroud)

这是类AnnoTable(aameth是一个包含访问数据模型的业务逻辑的实例对象,工作正常).

public class AnnoTable extends JTable …
Run Code Online (Sandbox Code Playgroud)

java swing multithreading jtable abstracttablemodel

2
推荐指数
1
解决办法
2064
查看次数

尝试使用itext签署pdf时出错:线程"main"中的异常java.lang.NoClassDefFoundError:org/bouncycastle/cert/X509CertificateHolder

我在使用Bruno Lowagie的白皮书中的代码示例2.2尝试签署PDF时出现以下错误:PDF文档的数字签名

Exception in thread "main" java.lang.NoClassDefFoundError: org/bouncycastle/cert/X509CertificateHolder
at com.itextpdf.text.pdf.security.MakeSignature.signDetached(MakeSignature.java:143)
at com.howtodoinjava.demo.poi.PDFSign.sign(PDFSign.java:77)
at com.howtodoinjava.demo.poi.PDFSign.main(PDFSign.java:51)
Run Code Online (Sandbox Code Playgroud)

引起:java.lang.ClassNotFoundException:org.bouncycastle.cert.X509CertificateHolder ......

第77行包含以下代码行:MakeSignature.signDetached(appearance,digest,signature,chain,null,null,null,0,subfilter);

第51行包含这一行:

app.sign(SRC, String.format(DEST, 1), chain, pk, DigestAlgorithms.SHA256,
provider.getName(), CryptoStandard.CMS, "Test 1", "Harare");
Run Code Online (Sandbox Code Playgroud)

import com.itextpdf.text.DocumentException;
import com.itextpdf.text.Rectangle;
import com.itextpdf.text.pdf.PdfReader;
import com.itextpdf.text.pdf.PdfSignatureAppearance;
import com.itextpdf.text.pdf.PdfStamper;
import com.itextpdf.text.pdf.security.DigestAlgorithms;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.security.GeneralSecurityException;
import java.security.KeyStore;
import java.security.PrivateKey;
import java.security.Security;
import java.security.cert.Certificate;
import org.bouncycastle.jce.provider.BouncyCastleProvider;
import com.itextpdf.text.pdf.security.BouncyCastleDigest;
import com.itextpdf.text.pdf.security.ExternalDigest;
import com.itextpdf.text.pdf.security.ExternalSignature;
import com.itextpdf.text.pdf.security.MakeSignature.CryptoStandard;
import com.itextpdf.text.pdf.security.PrivateKeySignature;
import com.itextpdf.text.pdf.security.MakeSignature;


/**
 *
 * @author hdear
 */
public class …
Run Code Online (Sandbox Code Playgroud)

java pdf itext

2
推荐指数
1
解决办法
3275
查看次数

Java 7已检查异常规则

我知道有关检查异常的规则,但我无法解决这个问题.为什么第二种方法不能编译,但第一种方法呢?错误是最后一个throws语句中的"Unhandled exception type Exception".我能理解为什么我得到这个错误,但我不明白为什么第一种方法没问题,它应该有同样的问题?!

eclipse和intellij都显示相同的错误.

import java.util.concurrent.Callable;

public class ThrowableWeirdness {

    public void doWithMetrics(String name, Runnable runnable) {

        try {
            runnable.run();
        } catch (Throwable e) {
            System.out.printf(name + ".failed");
            throw e;
        }
    }

    public <RET> RET doWithMetrics(String name, Callable<RET> runnable) {

        try {
            return runnable.call();
        } catch (Throwable e) {
            System.out.printf(name + ".failed");
            throw e; // Compilation error on this line: unhandled exception
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

你能解释一下这两种方法的区别吗?

java unhandled-exception java-7

2
推荐指数
1
解决办法
151
查看次数

java在静态方法中注入局部变量

是否可以在java中为静态方法注入局部变量,例如

@Inject
public void someMethod()
{
    @MyInjectQualifier MyObjectClass myobject;
    // use myobject here
}
Run Code Online (Sandbox Code Playgroud)

java inject cdi

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

对于HashMap类型,方法replace(String,ArrayList <>)是未定义的

我的代码在我的机器上运行正常:

ArrayList<Posting> postings = invertedLists.get(key);
//---- Apply some changes on postings -----     
invertedLists.replace(key, postings);
Run Code Online (Sandbox Code Playgroud)

当我的朋友克隆代码时,它给了她这个错误:

The method replace(String, ArrayList<Posting>) is undefined for the type HashMap<String,ArrayList<Posting>>
Run Code Online (Sandbox Code Playgroud)

注意:invertLists是一个 HashMap<String,ArrayList<Posting>>

我们检查了我的项目; 我使用的是JavaSE-1.6,她使用的是JavaSE-1.7.

什么可能导致这个问题?

java hashmap java-7

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

否则没有错误?

我想知道为什么这段代码给了我这个问题,请记住它已经在同一个项目的早期表单中工作但它拒绝在这里工作.

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt){                                         
if (jCheckBox1.isSelected()== true)
jCheckBox1.equals(56);
if (jCheckBox2.isSelected()== true)
jCheckBox2.equals(50);
if (jCheckBox3.isSelected()== true)
jCheckBox3.equals(56);
if (jCheckBox4.isSelected()== true)
jCheckBox4.equals(56);
if (jCheckBox5.isSelected()== true)
jCheckBox5.equals(56);
if (jCheckBox6.isSelected()== true)
jCheckBox6.equals(56);
new Form6().setVisible(true); 

else
if (jCheckBox1.isSelected()== false)
jCheckBox1.equals(0);
if (jCheckBox2.isSelected()== false)
jCheckBox2.equals(0);
if (jCheckBox3.isSelected()== false)
jCheckBox3.equals(0);
if (jCheckBox4.isSelected()== false)
jCheckBox4.equals(0);
if (jCheckBox5.isSelected()== false)
jCheckBox5.equals(0);
if (jCheckBox6.isSelected()== false)
jCheckBox6.equals(0);

JOptionPane.showMessageDialog(this, "Please Choose An Option and Try Again");
Run Code Online (Sandbox Code Playgroud)

如果我有办法jCheckBox用不同的方法计算价值,那么我非常渴望学习.我的教授说,他几乎了解了所有关于java netbeans和东西的东西,但到目前为止,他并没有多大的帮助.

java swing syntax-error jcheckbox

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