小编Chu*_*urk的帖子

在Controller中使用$ setValidity

我正在尝试对文件更改进行一些验证.这是我的代码:

查看/模板

<input type="file" name="file" id="file"  
       onchange="angular.element(this).scope().setFile(this)" 
       required />

<span class="error" ng-show="myForm.file.$error.required">Error</span>
<span class="error" ng-show="myForm.file.$error.size">Selected file is too large</span>
<span class="error" ng-show="myForm.file.$error.filetype">Unsupported File type</span>
Run Code Online (Sandbox Code Playgroud)

调节器

angular.module("myapp").controller("myctrl", function($scope) {
  $scope.setFile = function(element) {
    $scope.$apply(function($scope) {
      var fileObject = element.files[0];
      $scope.file.fileType = 
         fileObject.type.toUpperCase().substring(fileObject.type.indexOf("/") + 1);

      // Validation
      if (!$scope.isValidFileType($scope.file.fileType)) {
        myForm.file.$setValidity("myForm.file.$error.filetype", false);
      }

      if (fileObject.size > 1000*1000*10) {
        myForm.file.$setValidity("myForm.file.$error.size", false);
      }
    });
  };

  $scope.isValidFileType = function(fileExtension) {
    var supportedExtensions = ["doc", "docx", "ppt", "pptx", "jpg", "gif", "png"]; // etc.
    return (jQuery.inArray(fileExtension, supportedExtensions) …
Run Code Online (Sandbox Code Playgroud)

javascript angularjs angularjs-controller angularjs-forms

75
推荐指数
2
解决办法
12万
查看次数

如何编写一个不等于某事的匹配器

我正在尝试为通话创建一个模拟器.说我有这个方法我试图存根:

class ClassA {
  public String getString(String a) {
    return a + "hey";
  }
}
Run Code Online (Sandbox Code Playgroud)

我想嘲笑的是:第一个例子是

when(classA.getString(eq("a")).thenReturn(...);`
Run Code Online (Sandbox Code Playgroud)

在同一测试案例中

when(classA.getString([anything that is not a])).thenReturn(somethingelse);
Run Code Online (Sandbox Code Playgroud)

第二个案例是我的问题:我如何匹配anyString()"a"以外的其他?

java junit matcher mockito

45
推荐指数
3
解决办法
2万
查看次数

如何模拟javax.servlet.ServletInputStream

我正在创建一些单元测试并尝试模拟一些调用.这是我在工作代码中的内容:

String soapRequest = (SimUtil.readInputStream(request.getInputStream())).toString();
if (soapRequest.equals("My String")) { ... }
Run Code Online (Sandbox Code Playgroud)

和SimUtil.readInputSteam看起来像这样:

StringBuffer sb = new StringBuffer();
BufferedReader reader = null;
try  {
    reader = new BufferedReader(new InputStreamReader(inputStream));
    final int buffSize = 1024;
    char[] buf = new char[buffSize];
    int numRead = 0;
    while ((numRead = reader.read(buf)) != -1) {
        String readData = String.valueOf(buf, 0, numRead);
        sb.append(readData);
        buf = new char[buffSize];
    }
} catch (IOException e) {
    LOG.error(e.getMessage(), e);
} finally {
    try {
        if (reader != null) {
            reader.close();
        } …
Run Code Online (Sandbox Code Playgroud)

java unit-testing servlets inputstream mockito

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

存储过程或代码

我不是在征求意见,而是在征集文件.

我们有很多数据文件(XML,CSV,Plantext等),需要处理它们,数据挖掘它们.

领导数据库人员建议使用存储过程来完成任务.基本上我们有一个临时表,文件被序列化,并保存到clob或XML列中.然后从那里他建议进一步使用存储过程来处理文件.

我是一名具有数据库背景的应用程序开发人员,在应用程序开发方面更是如此,我可能会有偏见,但在数据库中使用此逻辑似乎是一个坏主意,我无法找到任何文档证明或不赞成我所指的把汽车放在火车轨道上以拉动一大堆货物.

所以我的问题是:当我们谈论正则表达式搜索,搜索和替换clob,dom遍历,递归中的数据时,DB(Oracle,DB2,MySQL,SqlServer)的表现如何?与Java,PHP或C#等编程语言相比,在同一问题上.

编辑

所以我正在寻找的是与DBMS相比特定编程语言的比较/运行时分析的文档,特别是对于字符串搜索和替换,正则表达式搜索和替换.XML Dom遍历.递归方法调用的内存使用情况.特别是当遇到10-100的GB数据时,它们的扩展程度如何.

database stored-procedures data-mining data-processing database-performance

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

如何模拟 @Inject 接口

我有这个服务接口

public interface ABC {
    public String getAbc();
}
Run Code Online (Sandbox Code Playgroud)

我有一个使用此服务的控制器

public class Do {
    @Inject ABC abc;

    public String doAbc() {
       String a = abc.getAbc();
    }
}
Run Code Online (Sandbox Code Playgroud)

在我的单元测试中,我希望能够模拟这个 ABC,而不必提供实际的实现。这是有效的:

public class TestDo {
   @Mock
   private Do do;

   @Mock
   private ABC abc;

   @Before
   public void init() {
       MockitoAnnotations.initMocks(this);
       do.abc = abc;
   }

   @Test
   public void testDo() {
       when(do.doAbc()).thenCallRealMethod();
       do.doAbc();
       assertSomething...
   }
}
Run Code Online (Sandbox Code Playgroud)

但我不想做的是do.abc = abc;,从我所有的搜索来看,为了执行@InjectMock,我需要提供一个具体的类。有没有一种方法可以让我使用该接口,但又能够将模拟接口注入到 do 中,而不需要在 Do 类中暴露我的 ABC 注入?我想让 ABC 成为私有变量,并且仍然能够通过 Mockito 注入接口。

java junit unit-testing mockito

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

Java静态初始化程序似乎是多余的

所以我确实阅读了从这个线程执行静态initalizer的内容.Java中的静态初始化程序.但是我遇到了别人写的一些旧代码,似乎无法理解为什么他会像他那样使用它.

我的课:

public class ClassA extends Thread {
  .... private vars ....

  private static Config config;

  static {
    config = null;
  }

  public ClassA(Config config) {
    ClassA.config = config;
  }
}
Run Code Online (Sandbox Code Playgroud)

他为什么不这样做呢?

public class ClassA extends Thread {
  .... private vars ....

  private static Config config = null;

  public ClassA(Config config) {
    ClassA.config = config;
  }
}
Run Code Online (Sandbox Code Playgroud)

我知道静态initalizer会被调用作为被重新类的类,因此它设置config => null,而如果我不使用静态initalizer,实例变量会在构造函数之前获得初始化,并且在super之后.那么两个班级不会做同样的事情吗?

java initialization

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

是否有用于提取MP4元数据的JAVA API

我想具体说明我的要求.我不是要求修改任何MP4文件,只是提取宽度和高度以及比特率和编码等元数据,这不在MP3标签中.

我已经测试了Xuggle,但是我需要有一个不使用JNI或任何本机代码的库.

我已经研究过MP4Parser和Apache Tika,他们都不提取元数据,只是标记信息或改变文件.

有这样的java lib吗?

java mp4 metadata

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

A == B vs B == A,有什么区别

所以长话短说.一位教授在课堂上将这个问题作为一个讨论启动者.除了明显的

B = new SomeClass("B"); // But B can be null, can can be new SomeClass("A");
A = new SomeClass("A");
A==B
Run Code Online (Sandbox Code Playgroud)

在比较时会保证没有NPE,使用B == A而不是A == B的原因是什么?

A和B的类型相同,这与语言无关.因此,您可以假设Java的A.equals(B),或者C或C++中的等效语法等....

不,这不是功课.

c# java programming-languages

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