标签: rules

C++中各种智能指针之间的转换规则是什么?

TR1引入了shared_ptr,weak_ptr,scoped_ptr和unique_ptr等.

我想知道这些类型之间的各种转换/类型提升规则.

例如,将scoped_ptr分配给shared_ptr时会发生什么?这种转换是否可行/有意义以及此类转换的一些用例是什么?

(具体是否有表格?)

c++ rules smart-pointers

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

流口水

我对drools有一个奇怪的问题:

我有以下规则:

rule "is my dog a baby?"
  ruleflow-group "dog"
  salience 10
  when 
     dog : Dog(age <1 )
  then 
     dog.setIsBaby(true);
end


rule "baby dog"
    ruleflow-group "dog"
    salience 9
    when
        myData : MyData( myDog.isBaby() == false)
    then
        System.out.println(myData.getMyDog().getIsBaby());
end
Run Code Online (Sandbox Code Playgroud)

我插入我的会话myData和myData.getMyDog(),在哪里myData.getMyDog.isBaby==false

第一条规则被解雇,我的狗将成为一个婴儿.然后第二个被触发,甚至它打印为真.(即使条件是假的)

当我在解决所有规则后进行测试时,myData中的myDog将被设置为婴儿.

我在这做错了什么?为什么第二条规则被解雇了?是会话中的问题(在我的情况下是有状态的)?

我想我需要说我修改了myData:myDog,但我不知道在哪里.

如果不告诉我,希望我的问题很清楚.

java rules drools

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

如何在java中验证JSON对象?

我使用sf.json库来映射我的Web应用程序中的传入请求的表单数据.

让我们说传入的请求是http:// localhost:8080/app/addProfile,表单数据为:

formData: {  
   "name":"applicant Name",
   "Age":"26",
   "academics":{  
      "college":"80",
      "inter":"67",
      "matriculation":"89"
   },
   "skill":{  
      "computer":"c,c++,java",
      "maths":"limit,permutation,statistics"
   },
   "dateOfBirth":"09-07-1988"
}
Run Code Online (Sandbox Code Playgroud)

服务器端 :

String requestFormData=request.getParameter("formData");
JSONObject formData = JSONObject.fromObject(requestFormData);
String name= formData.getString("name");

if(name.length>70){
//error message for length validation
}

if(!name.matches("regex for name"){
//error message for name validation
}
...
...
...
Run Code Online (Sandbox Code Playgroud)

这种方法的主要问题是如果结构中有微小的修改JSON,那么整个代码需要修改.

是否有任何API可以配置验证所需的规则?

java validation json rules

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

PostgreSQL的规则和nextval()/ serial问题(非常PostgreSQL特有的)

当我使用重写规则将插入一个表拆分为两个其他表的插入时,其中一个插入值具有默认的nextval('some_sequence'),两个表具有相同的序列,则插入的默认值在两张桌子.这可能是由于重写规则的简单文本替换.我曾希望首先解析默认值,然后将相同的值写入两个表.

这是一个例子(正如你可能猜到的,我正在尝试使用规则实现特化/泛化):

-- first and third commands can be skipped if id is defined as serial
create sequence parents_id_seq;
create table Parents(
  id integer default(nextval('parents_id_seq')) primary key,
  type varchar(50) not null check(type in ('Child1', 'Child2')),
  unique (id, type),
  attribute1 varchar(50) not null unique check(length(attribute1) > 0)
);
alter sequence parents_id_seq owned by parents.id;
Run Code Online (Sandbox Code Playgroud)

特定于第一类儿童的数据保留在

create table Partial_Children1(
  id integer default(nextval('parents_id_seq')) primary key,
  type varchar(50) not null check(type = 'Child1'),
  foreign key (id, type) references Parents(id, type),
  attribute2 varchar(50) not null …
Run Code Online (Sandbox Code Playgroud)

postgresql rules

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

Java中的谓词搜索

不太确定如何说出这个问题.我想知道是否有一种方法来检查自定义java类的某些部分,看它是否符合某个标准.比如这个

public Name(String forename, String middlename, String surname)
Run Code Online (Sandbox Code Playgroud)

然后当创建该类的实例数组时,

Name[] applicants = new Name[4];

applicants[0] = new Name("john","bob", "rush");
applicants[1] = new Name("joe","bob", "rushden");
applicants[2] = new Name("jack","bob", "rushden");
applicants[3] = new Name("jake","bob", "rushden");
Run Code Online (Sandbox Code Playgroud)

是否可以搜索类的实例

midddlename.equals("bob") && surname.equals("rush")
Run Code Online (Sandbox Code Playgroud)

我并不是在寻找解决方案if(surname.equals("bob")) then else等等

但更多内置的java类允许快速搜索数组.速度非常重要.

java arrays search rules predicates

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

取决于make中的目录

这是我之前的问题的后续内容:SO 4403861,因为建议的解决方案打破了依赖关系,使makefile无用.我无法弄清楚为什么.

我正在使用gnu make 3.82我有一个规则,如果已经创建了obj目录:

objdir:=../obj
$(objdir)/%.o: %.C
    $(COMPILE) -MM -MT$(objdir)/$(notdir $@) $< -o $(DEPDIR)/$(notdir $(basename $<).d )
    $(COMPILE) -o $(objdir)/$(notdir $@ ) -c $<
Run Code Online (Sandbox Code Playgroud)

但是,如果obj目录不存在,则make失败.我希望make能够根据需要自动创建../obj,所以我添加了我认为非常简单的内容:

$(objdir)/%.o: %.C $(objdir)
    $(COMPILE) -MM -MT$(objdir)/$(notdir $@) $< -o $(DEPDIR)/$(notdir $(basename $<).d )
    $(COMPILE) -o $(objdir)/$(notdir $@ ) -c $<

$(objdir):
   if [ ! -d $(objdir) ] ; then mkdir $(objdir) ; fi
Run Code Online (Sandbox Code Playgroud)

当我这样做时,每次都要强制编译.为什么?除非没有目录,否则不应该发生mkdir?为什么这个简单的改变破坏了依赖?

makefile rules gnu-make

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

JUnit @Rule与@Before的生命周期交互

我有一些使用的JUnit测试TemporaryFolder @Rule.他们使用TemporaryFolderin @Before方法执行一些设置:

@Rule
public TemporaryFolder folder = new TemporaryFolder();

@Before
public void init() {
  folder.newFile("my-file.txt");
}

@Test
public void myTest() { ... }
Run Code Online (Sandbox Code Playgroud)

大部分时间这都很完美.但是,在使用时SpringJUnit4ClassRunner我发现在某些情况下,在应用内部实例init()之前调用该方法.因此,临时文件夹位置未设置(即:)在内部使用时,我的文件最终在工作目录中,而不是.StatementTemporaryFoldernullfolderinit()/tmp

因此,在某些情况下,@Before方法会在规则之前执行,但是,我无法建立明确的模式.我偶尔会看到一些与我自己的规则实现类似的问题.

有什么方法可以确保在任何设置方法之前应用我的规则语句?

java lifecycle junit rules

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

无法在Eclipse中导入PMD Ruleset

我想在我的IDE(Eclipse)中使用与Sonar配置文件相同的Ruleset.

我从Sonar Permalinks获得了PMD XML规则集,并希望将其导入我的PMD Eclipse插件,但是当我尝试这样做时,"确定"按钮被取消激活...

无法在PMD Eclipse插件中导入PMD规则集

有人能帮我吗 ?

import eclipse-plugin rules pmd sonarqube

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

数据驱动规则引擎 - 流口水

我一直在评估Drools作为规则引擎,用于我们的业务Web应用程序.

我的用例是订单管理应用程序.
规则如下:
- 如果用户类型为"特殊",则额外提供5%的折扣.
- 如果用户已经进行了10次以上的购买,请额外享受3%的折扣.
- 如果产品类别为"旧",请向价值5美元的用户赠送礼品篮.
- 如果产品类别为"新",请向价值1美元的用户赠送礼品篮
- 如果用户过去已购买超过1000美元,则免费送货

我看到的直接挑战是:
- 没有有意义的用户界面可以提供给最终用户修改规则.
- 从最终用户的角度来看,Guvnor UI或任何修改drl文件的编辑器都是不可接受的 - 这些规则中的大多数都将在db中可用的大量数据上运行

所以,
- 我想让管理员用户在我的Web App UI中指定这些规则.
- 我可以将这些"规则"存储在数据库中,然后通过Drools对它们进行操作 - 至少允许我通过"自己的"UI"修改"这些规则.所以这就像数据库中的决策表.
- 最好的方法是什么?

java rules drools decision-tree

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

在Drools 6中以编程方式创建新drools规则的新方法是什么?

简而言之,我想在运行时从规则库创建,编辑和删除规则.我很难弄清楚如何在流氓6+中做到这一点.

我知道在先前版本的drools(<= 5.6)中,有一个.drl文件的XML表示和一个用于它的API:https://docs.jboss.org/drools/release/5.6.0 .Final/drools-expert-docs/html/ch04.html#d0e8052.

从5.6开始的drools文档表明这个已弃用,它似乎在6处被完全删除.我不想使用已知没有直接升级路径的API.

由于工作流程要求以及Web用户界面的复杂性,将Guvnor或Workbench UI公开给用户进行规则编辑也不太合适.我想从Java代码创建和管理规则.

我想要一个比.drl文件的字符串模板更好的方法来创建新规则和修改规则.从Java以编程方式创建新规则的用途是什么?我做了很多搜索,但似乎无法为此找到一组Java API调用.

java rules drools drools-guvnor

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