小编Kev*_*uli的帖子

Commons方法测试一个空的Java对象图?

我发现自己写的方法是这样的:

boolean isEmpty(MyStruct myStruct) {
  return (myStruct.getStringA() == null || myStruct.getStringA().isEmpty())
    && (myStruct.getListB() == null || myStruct.getListB().isEmpty());
}
Run Code Online (Sandbox Code Playgroud)

然后想象这个结构有很多其他属性和其他嵌套列表,你可以想象这个方法变得非常大并且与数据模型紧密耦合.

Apache Commons,或Spring,或其他一些FOSS实用程序是否能够递归反射地遍历对象图并确定它基本上没有任何有用的数据,除了列表,数组,地图等的持有者?所以我可以写:

boolean isEmpty(MyStruct myStruct) {
  return MagicUtility.isObjectEmpty(myStruct);
}
Run Code Online (Sandbox Code Playgroud)

java spring utilities apache-commons

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

为什么Firefox不发送If-Modified-Since标头?

根据Firebug,这是第一次检索资源时的响应头:

Accept-Ranges   bytes
Cache-Control   public, max-age=86400
Content-Language    en
Content-Length  232
Content-Location    http://localhost/myapp/cacheTest.html
Content-Type    text/html; charset=WINDOWS-1252
Date    Wed, 05 Sep 2012 15:59:31 GMT
Last-Modified   Tue, 01 May 2012 05:00:00 GMT
Server  Restlet-Framework/2.0.3
Vary    Accept-Charset, Accept-Encoding, Accept-Language, Accept
Run Code Online (Sandbox Code Playgroud)

我点击了然后点击返回,这里是发送到服务器的请求标头:

Accept  text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Encoding gzip, deflate
Accept-Language en-us,en;q=0.5
Connection  keep-alive
Host    localhost
Referer http://localhost/myapp/cacheTest2.html
User-Agent  Mozilla/5.0 (Windows NT 5.1; rv:15.0) Gecko/20100101 Firefox/15.0
Run Code Online (Sandbox Code Playgroud)

所以,当然,服务器不能像我想的那样发送304,而是再次发送整个资源.

这在Firefox 14中发生,我认为它可能是一个错误,所以我升级了.但它仍然在Firefox 15中发生.Chrome没有问题.

无论有没有"Expires"标题我都尝试过,它没有任何区别.Firefox只是拒绝发送If-Modified-Since标头.

firefox http browser-cache http-headers

10
推荐指数
2
解决办法
4446
查看次数

Lattix的开源替代品有哪些?

我有机会在过去与Lattix合作.我相信它所代表的范式(层次依赖矩阵)是大规模系统架构管理的未来.

然而,我工作的公司总是被价格标签推迟.是否有人知道存在任何良好的开源替代品?经过多次搜索,我似乎无法找到一个.

architecture dependencies lattix

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

如何在SPARQL中执行COUNT

鉴于这个非常简单的模型:

@prefix :        <http://example.org/tags#> .
@prefix owl:     <http://www.w3.org/2002/07/owl#> .
@prefix rdf:     <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs:    <http://www.w3.org/2000/01/rdf-schema#> .
@prefix xsd:     <http://www.w3.org/2001/XMLSchema#> .

:tag  rdf:type rdf:Property .

:item1
      rdf:type owl:Thing ;
      :tag    "a"^^xsd:string .

:item2
      rdf:type owl:Thing ;
      :tag    "a"^^xsd:string , "b"^^xsd:string .

:item3
      rdf:type owl:Thing ;
      :tag    "a"^^xsd:string , "b"^^xsd:string , "c"^^xsd:string .
Run Code Online (Sandbox Code Playgroud)

我想获得每个项目的列表和标签数量:

item  tagCount
===== ========
item1 1
item2 2
item3 3
Run Code Online (Sandbox Code Playgroud)

这是我的查询:

SELECT ?item (count(?tag) as ?tagcount)
WHERE {
     ?item :tag ?tag
}
Run Code Online (Sandbox Code Playgroud)

然而它正在回归:

item  tagCount
===== ======== …
Run Code Online (Sandbox Code Playgroud)

sparql

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

WHERE_IN使用复合键查询?

假设我有一个包含两部分组合键的表,以及4条记录,如下所示:

KEY_PART_1 KEY_PART_2
A          1
B          1
C          2
C          3
Run Code Online (Sandbox Code Playgroud)

我想编写一些动态SQL,只使用"WHERE IN"子句选择记录B,1和C,而不选择A,1或C,3.

有没有办法在没有临时表的情况下做到这一点?

这并不重要,但我们目前正在使用Oracle,并希望尽快转向PostgreSQL.

sql oracle

8
推荐指数
2
解决办法
9105
查看次数

Java包结构中的模块与层

我曾经把所有东西放在像这样的包中:

com.company.app.module1
com.company.app.module2
Run Code Online (Sandbox Code Playgroud)

但它已经使基于包的AOP切入点变得困难,并导致需要IDE理解的大型包.

所以现在我意识到我需要一个更深层的包结构,但我经常被撕裂.给出模块首选项,像这样?

com.company.app.module1.domain
com.company.app.module1.logic
com.company.app.module1.persistence
com.company.app.module2.domain
com.company.app.module2.logic
com.company.app.module2.persistence
Run Code Online (Sandbox Code Playgroud)

或给出图层偏好,像这样?

com.company.app.domain.module1
com.company.app.domain.module2
com.company.app.logic.module1
com.company.app.logic.module2
com.company.app.persistence.module1
com.company.app.persistence.module2
Run Code Online (Sandbox Code Playgroud)

各有利弊?

java architecture aop packages

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

一种指定模式字符串的方法,可以驱动任意对象的解析和格式化?

我正在使用Java 5为内部企业使用构建通用数据转换工具.各个部门对坐标信息(纬度/经度)使用不同的格式,并且他们希望以自己的格式查看数据.例如,白宫以DMS格式的坐标是

38°53'55.133"N,77°02'15.691"W

但也可以表达为:

385355.133/-0770215.691

我希望将每个系统所需的模式表示为字符串,然后使用这些模式来解析输入系统中的实例数据,并在格式化字符串以供输出系统使用时使用该模式.

因此它与日期/时间格式化问题没有什么不同,JDK提供了java.text.SimpleDateFormat,它允许您在各种日期/时间模式之间进行转换,这些模式由字符串定义,例如"YYYY-MM-DD"或"MM"/DD/YY".

我的问题是,我是否必须从头开始构建这个CoordinateFormat的东西,还是有一个很好的通用工具或明确的方法我可以用来指导我这项工作?

java formatting parsing

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

使用单个freemarker模板显示任意pojos表

注意提升Freemarker大师:

我想使用单个freemarker模板来输出任意pojos的表,其中要显示的列与数据分开定义.问题是我无法弄清楚如何在运行时获取pojo函数的句柄,然后让freemarker调用该函数(lambda样式).从浏览文档看,Freemarker似乎支持函数式编程,但我似乎无法论证正确的咒语.

我掀起了一个简单的具体例子.假设我有两个列表:具有firstName和lastName的人员列表,以及带有品牌和型号的汽车列表.想输出这两个表:

<table>
  <tr>
    <th>firstName</th>
    <th>lastName</th>
  </tr>
  <tr>
    <td>Joe</td>
    <td>Blow</d>
  </tr>
  <tr>
    <td>Mary</td>
    <td>Jane</d>
  </tr>
</table>
Run Code Online (Sandbox Code Playgroud)

<table>
  <tr>
    <th>make</th>
    <th>model</th>
  </tr>
  <tr>
    <td>Toyota</td>
    <td>Tundra</d>
  </tr>
  <tr>
    <td>Honda</td>
    <td>Odyssey</d>
  </tr>
</table>
Run Code Online (Sandbox Code Playgroud)

但我想使用相同的模板,因为这是一个必须处理几十种不同的pojo类型的框架的一部分.

给出以下代码:

public class FreemarkerTest {

  public static class Table {
    private final List<Column> columns = new ArrayList<Column>();

    public Table(Column[] columns) {
      this.columns.addAll(Arrays.asList(columns));
    }

    public List<Column> getColumns() {
      return columns;
    }

  }

  public static class Column {
    private final String name;

    public Column(String name) {
      this.name = name; …
Run Code Online (Sandbox Code Playgroud)

freemarker

6
推荐指数
2
解决办法
8771
查看次数

URL路径的最后部分是什么术语

在最后一个斜杠之后但在查询之前,您给URL的那一部分给出什么术语?似乎大多数人都将其称为“路径的最后部分”,例如但这只是……罗word。

例如此网址中的“内容”:

http://www.example.com/path/to/something?param=foo

更新:

我希望有一个我不知道的众所周知的答案,但似乎仍有一些争论,因此,这就是我的答案。猜猜我将继续称其为“最后一个斜杠之后的路径部分”。但是,如果有人提出令人信服的论点引起很多反对,我将不提这个问题。

url web

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

是否可以在Java SE环境中使用javax.interceptor?

我需要使用AOP来解决特定问题,但它是一个小型的独立Java程序(没有Java EE容器).

我可以使用javax.interceptor功能,还是必须下载一些第三方AOP实现?如果可能的话,我宁愿使用Java SE SDK附带的东西.

java aop java-ee cdi

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