小编Arn*_*nen的帖子

jqGrid:编辑时禁用表单域

我目前正在开发一个专门用于管理自动售货机等的Web应用程序.我决定在这个项目中使用jQuery,jQuery UI和jqGrid,因此我可以轻松地提供一个高度可定制的用户界面.
不幸的是,jqGrid文档已经过时了,并没有涵盖这个伟大的插件的所有功能(因为我真的很喜欢它,即使文档相当差).

无论如何,我想有足够的背景信息.让我们谈谈:
我使用内置于jqGrid的导航栏来添加,编辑和删除网格中的项目.
我有一个像魅力一样的工作,除了一件事:一些字段可能只在添加新项目时启用(或可见),而不是在编辑模式时(它们应该被隐藏和/或禁用).

示例:
我正在工作的公司出售自动售货机塔,这些塔有几种类型(不同尺寸和东西).将新塔添加到某个位置并输入系统时,必须设置该类型.但是塔楼并没有随着时间的推移而神奇地改变,因此以后可能无法编辑此字段.

有谁知道这种行为是否可以通过改变一些初始化参数来实现?
也许这是一个未记录的编辑选项(editoptions)或表单选项(formoptions)?
或者你可能有一个简单的解决方案吗?

我很想听听你的建议/解决方案!
谢谢=)

jquery editing jqgrid

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

GSON忽略错误类型的元素

我正在使用Retrofit(与OkHttp和GSON结合使用)与在线Web服务进行通信.webservice有一个默认的包装器,它的响应类似于:

{  
  "resultCode":"OK",
  "resultObj":"Can be a string or JSON object / array",
  "error":"",
  "message":""
}
Run Code Online (Sandbox Code Playgroud)

在这个例子resultCode中将是OKNO.此外error,message只有在处理请求时发生错误时才有任何内容.最后,但并非最不重要的是,resultObj将包含调用的实际结果(在示例中是一个字符串,但有些调用返回JSON数组或JSON对象).

为了处理这个元数据,我创建了一个泛型类,如下所示:

public class ApiResult<T> {

    private String error;
    private String message;
    private String resultCode;
    private T resultObj;

    // + some getters, setters etcetera
}
Run Code Online (Sandbox Code Playgroud)

我还创建了表示有时给出的响应的类,resultObj并且我已经定义了一个与Retrofit一起使用的接口,看起来有点像这样:

public interface SomeWebService {

    @GET("/method/string")
    ApiResult<String> someCallThatReturnsAString();

    @GET("/method/pojo")
    ApiResult<SomeMappedResult> someCallThatReturnsAnObject();

}
Run Code Online (Sandbox Code Playgroud)

只要请求有效,这一切都可以.但是当服务器端发生错误时,它仍将返回resultObj带有String类型的错误.这会导致someCallThatReturnsAnObjectRetrofit RestAdapter/GSON库内部崩溃,并显示如下消息:

retrofit.RetrofitError:com.google.gson.JsonSyntaxException:java.lang.IllegalStateException:

预期BEGIN_OBJECT但是STRING在第1行第110列路径$ .resultObj

现在,最后,我的问题是:

  1. 是否有(简单)方法告诉GSON如果属性与预期类型不匹配,它应该忽略(也就是"无效")属性?
  2. 我可以告诉GSON将空字符串视为空吗?

java android json gson retrofit

16
推荐指数
2
解决办法
8835
查看次数

Doctrine 2 - 使用类表继承时的访问级别问题

我正在尝试在我的Symfony 2项目中实现Class Table Inheritance Doctrine 2.假设有一个Pizza类,Burito类和一个MacAndCheese类,它们都继承自Food类.

食品类有如下设置:

<?php

namespace Kitchen;

use Doctrine\ORM\Mapping as ORM;

/** 
 * @ORM\Entity
 * @ORM\Table(name="food")
 * @ORM\InheritanceType("JOINED")
 * @ORM\DiscriminatorColumn(name="dish", type="string")
 * @ORM\DiscriminatorMap({"pizza" = "Pizza", "burito" = "Burito", "mac" => "MacAndCheese"})
 */
class Food {

/**
 * @ORM\Id
 * @ORM\Column(type="integer")
 * @ORM\GeneratedValue(strategy="AUTO")
 */
protected $id;
Run Code Online (Sandbox Code Playgroud)

并且继承的类具有这些设置(例如Pizza):

<?php

namespace Kitchen;

use Doctrine\ORM\Mapping as ORM;

/**
 * @ORM\Entity
 * @ORM\Table(name="food_pizza")
 */
class Pizza extends Food { …
Run Code Online (Sandbox Code Playgroud)

php doctrine symfony doctrine-orm

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

禁止来自CPD的C/C++代码警告

我们使用PMD复制粘贴检测器(CPD)来分析我们的C和C++代码.但是,代码的一些部分非常相似,但有充分的理由,我们希望抑制这些部分的警告.

PMD CPD文档仅提及有关注释的内容,但这对我们的这些语言不起作用.

我怎样才能忽略特定部件的警告?

也许有评论吗?

[更新]我正在使用以下Groovy脚本来运行CPD:

@GrabResolver(name = 'jcenter', root = 'https://jcenter.bintray.com/')
@Grab('net.sourceforge.pmd:pmd-core:5.4.+')
@Grab('net.sourceforge.pmd:pmd-cpp:5.4.+')
import net.sourceforge.pmd.cpd.CPD
import net.sourceforge.pmd.cpd.CPDConfiguration
import java.util.regex.Pattern

def tokens = 60
def scanDirs = ['./path/to/scan', './scan/this/too']
def ignores = [
    './ignore/this/path',
    './this/must/be/ignored/too'
    ].collect({ it.replace('/', File.separator) })
def rootDir = new File('.')
def outputDir = new File('./reports/analysis/')

def filename_date_format = 'yyyyMMdd'
def encoding = System.getProperty('file.encoding')
def language_converter = new CPDConfiguration.LanguageConverter()
def config = new CPDConfiguration()
config.language = new CPDConfiguration.LanguageConverter().convert('c')
config.minimumTileSize = tokens
config.renderer = …
Run Code Online (Sandbox Code Playgroud)

c c++ pmd static-code-analysis cpd

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

强制串行执行 CMake 中的特定目标

在我的 CMake 项目中,我有几个目标,它们只是运行一组特定的单元测试(例如runTestsForArunTestsForBrunTestsForC)。我还有一个目标,tests它取决于所有这些单元测试目标,因此我可以使用单个命令运行它们。

我使用的 CLion 是我的 IDE,它默认尝试使用并行 make 构建(我想要并且也在持续集成服务器上这样做)。但是,现在看起来测试也在并行运行,并且没有为此进行一些测试(它们使用本地环回对套接字进行一些魔术),这会导致它们失败......有时。

这就是为什么我想强制串行执行目标的某些/所有依赖项tests。不幸的是,当我搜索有关如何执行此操作的信息时,CMake 文档并没有帮助我。这让我想到了我的问题:这完全可能吗,如果可以,怎么做?

build-automation makefile cmake clion

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

从Jenkins Multijob迁移到Pipeline插件

目前我们正在使用Jenkins CI 1.643(我相信)使用Multijob插件和Job DSL.
使用Job DSL生成作业集合,以及包含特定顺序中的所有其他作业的多工作(构建,分析,单元测试,集成测试等).

我有兴趣升级到Jenkins 2并使用Pipeline插件(以前称为Workflow插件).Pipeline插件提供了一个很好的图形表示,还提供了一些我们目前没有的更高级功能(例如需要人工交互的"暂停"操作).Blue Ocean项目似乎也非常时尚,但需要Pipeline插件.

关于迁移,我有几个问题:

  • 我应该继续使用Job DSL吗?我们在Groovy中创建了一个非常好的模板机制,所以我们只需要输入一些关于产品的细节(比如正在使用的编译器和某些质量阈值).我想我想保留这个.
  • 是否有从Multijob插件"迁移"到Pipeline插件的指南?
  • 我应该记住哪些事情?(插件之间的主要区别.)

jenkins jenkins-job-dsl jenkins-pipeline jenkins-blueocean

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

将所选文件传递给Eclipse中的Make目标

在我目前正在工作的公司,正在使用几个IDE(他们为不同的嵌入式平台开发固件).他们所有的C项目都使用Makefile,所以我们决定在他们的默认Makefile中添加规则来运行静态代码分析工具.

他们使用的IDE之一是Eclipse.在这里,我们为Make Target视图添加了其他目标lint,例如,从Makefile 触发目标.由于我们使用多个IDE,因此我们可以告诉Makefile调用的工具为正在使用的IDE生成特定输出.对于Eclipse,我们通过调整Build Command并添加类似于IDE_ENV=eclipse结尾的内容来完成此操作.这很好用.

最近有一位工程师提到,如果他能够运行Makefile中定义的工具来获取单个文件,那将会非常有用.所以,我更新了Makefile,它现在接受一个变量SOURCE_FILE,其中包含需要检查的文件路径.

在Eclipse中我尝试添加SOURCE_FILE=${selected_resource_loc}并且只是SOURCE_FILE=${resource_loc},但是这些变量在运行Make Target时似乎不起作用.我也尝试过使用$(selected_resource_loc)$(resource_loc)Makefile文件直接,但没有任何运气.

有人可以告诉我当我从Make Target视图运行目标时如何将当前选定的文件传递给Make?

c c++ eclipse makefile eclipse-cdt

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