自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(117)
  • 资源 (2)
  • 收藏
  • 关注

原创 关于java web自动化测试工具 selenium

QTP 不会,找了下 还真找到了类似的工具 selenium ,是做web自动化测试用的,省得需要手工操作。 selenium 官网好像被GFW 给河蟹了,老方真是阻碍中国IT 发展的打手。记录下: 大致做法这样,先下载它的 firefox插件,用这个插件去录制你的网页上的操作, 回放通过后    导出java文件。 加工下这个java文件,对 填入的参数 进行参数化。

2013-10-24 21:39:41 4566

原创 获取transition表单的代码SQL

需要查询库,故查询的是部署版本,而非在designer中的未部署版本。 省去了 transition太多,每次都需要在designer内打开transition面板操作的麻烦。 Stateflow的 transition  查询SQL ( 其中 fromstate或 tostate为空的应该是 any节点的 transition) 数据库 是orac

2013-10-14 16:43:18 848

原创 热部署 和 在myecipse 中远程调试

这种 方式 极大地提升了开发调试的效率。现在了解的有3种开发方式。1.全部代码写在designer里面。这个和之前我做的 clearquest 一样,效率最低。2.调用外部的class文件 ,这种稍微好些,但是改动class文件需要重新启动服务。3.采用beanshell 这种脚本语言的动态执行java 代码的原理 调用外部的 java文件,这种效率比第二中还要好些,毕竟不需要重启

2013-10-13 16:38:34 1266

原创 记下另一种获取状态等UUID相关信息的方法

import java.util.*;import com.hansky.intf.stateflow.*;import com.hansky.intf.sat.*;import com.hansky.intf.butterfly.*;import com.hansky.sln.spdbank.extraclass.Common;import com.hansky.apps.butter

2013-05-21 11:14:44 651

原创 关于域脚本影响性能的情况

举个例子,比如页面上有5个single reference字段,而且是只读的,(反映到前台就是5个只读的下拉列表)分别引用了5个不同类型的BO,而且每个类型的BO表里的数据都有上千条记录。那么页面显示的时候,就有可能加载得特别慢。看下页面源代码,就可以发下, select的option 很多,把BO里面的所有记录都筛选出来了。这样就会造成加载慢的情况。要解决也很简单,为这写字段加上 域脚本

2013-04-18 14:15:31 618

原创 关于display string 和 lookup field

右击任意一个 bo,弹出business object properties 窗口,转到advanced页,有display string 和 lookup field选项比如 display string的值为 ${budget_order_no}(${budget_name}) 这里涉及到了freemarker,表示用这个bo里的 这2个字段表示这一行记录,类似主键一样。这样其他s

2013-04-11 10:18:52 831

原创 关于Designer中打开USERDB EXPLORER瞬间秒退或崩溃情况

可以肯定的一点,报错了,需要查看日志的报错信息。记录下某次纠错的信息:designer崩溃后,查看报错信息,报了一个如下的错:。。。。。。。。。。。。。。。。。。。。。。。。。。。。SELECT a.hs_modified_time, a.f_db_type, a.f_db_name, a.hs_uuid, a.hs_created_time, a.f_db_password, a

2013-04-10 15:54:52 972

原创 关于UDB升级降版本的问题

现象:在前台停掉 UDB后,在designer中升级 USERDB,升级进度条走到底,看似升级成功,但是刷新下,版本又降下去了。遇到这个问题。。。 buddy, you are so unlucky。。。。如果这个在生产环境上出现了,就不要做处理了,让甲方联系原厂吧,毕竟自己搞弄坏了就不好了。如果是在自己的开发环境或者是不重要的环境,可以通过数据库的还原来重新升级下。如果你升级

2013-04-10 10:13:29 761

原创 ORACLE 备份还原

记录下,以免忘记:备份:su - oracle -c "expdp system/oracle schemas=udb directory=d_backup parallel=2 exclude=TABLE:\"in(\'T_ATTACHMENT\')\" dumpfile=udb.dmp"su - oracle -c "expdp system/oracle schemas=sdb

2013-04-09 09:55:45 420

原创 关于BO新建权限问题

到现在才发现的,以前没大注意,记录下。一般是admin在前台登陆后,点击 系统设置,然后设置哪些BO可以哪些人可以读写。然后发现个问题:bo的权限设置后,建个链接,填上bo的新建页面的链接,发现新建提交可以成功。那个 业务对象文件夹 内BO的新建按钮倒是没有了。看来还得手工写代码来控制BO的新建权限。一方面是非代码控制BO的权限,另一方面是代码控制BO的权限,2者结合。(或者新

2013-04-08 16:53:19 795

原创 关于lov的option显示问题

注意几点:1.在designer 中以 中文模式 编辑lov,不要进入英文模式编辑。2.抓取option的代码 op.getText("zh_CN") ,这个“zh_CN”必不可少。 不加的话,默认抓取 hs_option 表的 f_display_name字段,加了的话,是hs_option表和hs_locale表关联,抓取hs_locale表的f_text字段。故这点需要注意下。3

2013-04-07 10:12:27 753

原创 关于在代码里面使用同一个Session创建的同一个DATAQUERY

场景: 在一个session下面创建了一个dataquery 对象,准备查询2次,查询第一个对象A,过后再settarget 想查询另一个对象B。数据库一直报错:       == == java.sql.SQLException :ORA - 00904 :"A"."F_CHECK_TYPE":invalid identifier打印出查询第一个对象的SQL 是完全没有问题的,一直没

2013-04-03 14:53:15 525

转载 记录下原厂的回复----升级UDB

在升级UDB时,务必注意以下几点:1、  SDB中hs_userdb记录与配置文件udb_config.xml的相关参数需保持一致2、  前台“服务器管理”中若stop了udb,请勿重启服务,会导致stop的udb消失。 解决2的方法:A. 删除udb_config.xml中被stop而消失的udbB. 重启服务C. 前台“服务器管理”重新挂载消失的

2013-03-20 11:09:00 757

原创 关于默认的邮件模板

估计导出sfo成xml 的时候默认把 email模板里面 类型为 ALL SFO 类型的email 模板全部导了出来。类型为该类 sfo 的模板也一并导出,其他类sfo的模板不导出。

2013-03-20 10:51:19 525

原创 关于HBP应用下的缓存

发现应用迁移到oracle后,升级udb的时候,时不时要清除缓存。windows环境下 倒是不是那么需要清除缓存。反正记住了,开发的时候升级一次,清除下缓存。 尤其是你 在 xml里面改动 域脚本的时候,更得清除下缓存,不然你死活找不到为什么错了。

2013-03-20 09:52:59 601

原创 SUSE samba 配置文件

linux-spdb:/etc/samba # cat smb.conf # smb.conf is the main Samba configuration file. You find a full commented# version at /usr/share/doc/packages/samba/examples/smb.conf.SUSE if the# samba-doc

2013-03-13 17:15:59 924

原创 随手记下通过API获取LOV名称和UUID的便捷方式

新建个文本文档,保存名字为 xxx.bsh.内容仿照如下: import java.util.*;import com.hansky.apps.butterfly.server.ButterflyServer;import com.hansky.intf.sat.IBusObject;import com.hansky.intf.sat.IDataCollection;

2013-03-04 10:00:19 862

原创 记录下运维一二事

1.public IStateflowObject getContainer()If this is a composite object under a stateflow object or business object, return its container.这个方法用来获取 composite bo 挂在哪个 sfo/bo下面记录下 在 fieldscript 里面无论如

2013-01-22 10:32:02 505

原创 每年年底31号晚修改PROJECT序列号

找到UDB的t_projects表,比如project的前缀是ABC2012 改下hs_proj_prefix 列 为ABCD2013,那么序列号以ABCD2013打头。如果序列号要从0重新开始,那么设置hs_max_count  (记录了这个流程有多少条记录)为 0 (表示0条记录) 最后重启下服务(因为这些项目信息存在缓存里面了,不重启服务无法更新) 另外说下有不需要重

2013-01-04 10:35:30 1345

原创 记录下运维过程中出现的问题1

某天磁盘满了,导致了如下的问题出现,最终通过重启服务解决了。某一类型的sfo,在某个transition操作的时候,页面表单缺失了大半部分,且css全部失效,为全白页面。无法点击确定按钮。 又某一天,发现freemaker 把数字类型的字段,超过3位数,自动加了个逗号。可能的解决办法:http://rongjih.blog.163.com/blog/static/3357446

2012-12-31 16:38:37 740

原创 关于我前任附件控制的做法

过了大半年了,现在终于知道前任是怎么做到附件隐藏的了。在这里不得不佩服下。这个tiny detail 都能找得到。原理 : 在 t_attachment 表里面,有个栏位f_type ,当 值为1 时 ,前台附件可见,值为3时附件不可见。然后在any 节点的can transit 里面控制,如果有权限则将f_type设为1,如果没有权限则设置为3. 大致就是这样。不过前任在判断完成后,起了个线

2012-12-03 13:45:29 366

原创 oracle的环境下判空

oracle 默认把 空字符串都当成 null 处理。mysql倒不一样。mysql 里面 执行select count(*)  from t_usr_pmsf where f_p_projman select count(*)  from t_usr_pmsf where f_p_projman = '';  3select count(*)  from t_usr_pmsf w

2012-11-27 16:19:15 860

原创 在整个xml中查找代码中的关键字

从这个SQL 中可以 快速定位到xml中的脚本的地方。 仔细分析下就知道了。但是这个sql 不能查any 状态下的transition 。 查询方式:select   hs_uuid,f_value  from hs_text_blob where f_value  like .......查出的f_value   栏位就是脚本代码。然后就是扩充下这个sql,可以快速定位到xm

2012-11-27 16:13:28 1346

转载 (严重)HBP oracle 环境,double field 必须设置初始值

场景: 新建流程,表单中有double 类型的字段,且未填数据,点击确定结果报错说数据下溢。  原因: double型的字段不use default value,前台新建流程该字段为空,API中getDoubleField()获得的值并不是0,而是4.9E-324,该大小已经超过了数据库字段类型所能存储的范围。 解决办法 以后designer中加 类型为double的字段,

2012-11-20 15:32:25 457

转载 前台的Project 里面加人员

前台Project 里面加人和 角色里面加人 是比较麻烦的,尤其是人员比较多的时候。之前我写了一篇javascript前台加人的文章。下面是原厂的加人代码 ProjectUtil.java package com.hansky.tools.util;import com.hansky.apps.butterfly.intf.IAddInManager;import com.

2012-11-15 16:32:40 1370

转载 将代码写在Butterfly外部的方法

//Designer中用于获取脚本路径的方法/** * Get path of scripts. * @param args  SFEventArgs * @return String  */public String getScriptsPath(SFEventArgs args){    String stateflowName = args.getStateflo

2012-11-15 16:14:58 406

原创 记录下我当时post butterfly的perl代码

#!/usr/bin/perl -wuse strict;use diagnostics;use warnings;use Win32::OLE;use LWP::UserAgent;use FindBin;use HTTP::Cookies;use File::Spec;use Encode;use  5.010;$| =1 ; #设置立刻刷新缓冲区

2012-11-15 15:48:51 1354

转载 Butterfly 操作 Tab页面等

Hansky/HBP/Server/rsrc/rsrc/chtml/uiext/udb.uuid/sfo.name/sf.name/  目录下/show/     +/sf_show.bsh  sf_show.bsh 里面的内容import java.util.*;import javax.servlet.*;import javax.servlet.http.

2012-11-15 15:43:17 617

转载 Butterfly UI 编写方式

Hansky/HBP/Server/rsrc/rsrc/chtml/uiext/udb.uuid/sfo.name/sf.name/  目录下/show/     +/sf_show.bsh     +/${state_name}.bsh/trshow/       +/${state_name}-{transition_name}.bsh       +/submit.b

2012-11-15 15:39:34 525

原创 记录下类似BUG的一件事情

有 4个状态 SA ----->SB ----->SC------SD  ,之间 的transition为 TA ,TB ,TCTA transition的aftertransition 里面开始自动流转,至SC状态。然后SC 的State面板指定 DEFAULT OWNER 为 f_p_projman 字段,然后在TC的transition 面板里面指定了 only the owner

2012-11-07 18:01:32 328

原创 搜索Designer中BO中的代码

如果是global scripts  还好点。找到 userdb  里面的 hs_global_script 表的f_script 栏位,存放的就是 全局脚本。如果是 transition 的代码或者  can ,before,after 里面的代码,在designer中就没法搜索了,得去数据库查。找到 userdb的hs_text_blob表, 搜索 f_value 栏位,看代码大概能够

2012-11-07 17:50:40 711

原创 Butterfly API 分析3

1.如下的例子:  ISession session = ctx.createSession();      session.txBegin();    IDataQuery dq =  session.createDataQuery();     dq.setTarget(session.getObjectDef("zbqdrelated"));     dq.addFiel

2012-11-06 21:00:35 1001

转载 Windows操作系统 hansky butterfly从32位jdk迁移至64jdk位启动服务

Hansky HPC、Firefly和HBP支持在64位Windows操作系统中使用64位JDK,配置和使用方法如下:以HPC为例。正常安装HPC,安装后做以下调整: 拷贝jsl.exe到HPC安装目录%Hansky%\HDS\nt-service\目录,替换原jsl.exe文件。 拷贝hansky2.dll到HPC安装目录%Hansky%\HDS\lib\目录,替换原hansky2.

2012-11-02 13:33:29 955

原创 关于solution中导出xml损坏

碰到过这样的一件事情,designer 导出xml,然后导入到其他机器发现无法导入,xml导出损坏了。问了下原厂:本地修改保存后,如果想要checkin。先关闭designer ,然后清除掉\Hansky\HBP\Server\rsrc\schema_cache 和Hansky\HBP\Server\rsrc\solution_cache 里面的缓存文件。然后再checkin 。这

2012-11-02 12:46:05 439

原创 userdb 的hs_business_object 表分析

这张表记录了userdb里面的BO 和对应的表。主要有以下几个字段 f_visible_flag , f_editable_flag ,f_is_sfo,f_name ,f_table_name 首先 f_name 对应的是BO的名称,f_table_name 对应的是 数据库的tablenamef_visible_flag  为 0 表示designer 一般模式下不可见,工

2012-11-02 12:41:32 815

原创 designer factory 模式

designer 可以进入工厂模式。 右击designer 快捷方式的属性,在快捷方式tab页的目标 选框中:"D:\Program Files\Hansky\HBP\Client\bin\HBPDesigner.exe"   改成"D:\Program Files\Hansky\HBP\Client\bin\HBPDesigner.exe" -factory那么designer

2012-11-02 12:32:47 770

原创 关于multireference 的筛选查询

比如有个字段 MRA,是 multireference 的类型。(比如我要删选MR 里面是否引用了一个BO )一般的做法是构造对 MRA的jointable,然后对这个jointable 添加过滤器 其实可以这样写  dq.addFilter("MRA",SATconstants.SQL_OP_EQUAL, BO.GetOid)代码自动实现了上述的功能。

2012-11-02 12:18:53 698

原创 关于windows平台下 ini配置文件value 的长度

启动文件 jsl.ini中有一行参数是指定jar 路径的。试了下 能支持到3270个字符左右。过了3300多个字符服务就启动不起来了。而linux 平台则没有这个限制。 又试了下,好像有不能重启的情况。3150左右字符服务可以启动。 最新的解决办法:Hansky\HBP\Server\rsrc\chtml\WEB-INF\lib 目录下的jar包会自动加载,不需要放到 jsl.in

2012-10-24 12:26:30 1419

原创 businessOBject 的composite only 属性

businessobject  右击,在business OBJECT properties 面板里面,advanced tab页里面。 有一个composite only 勾选项,勾选之后,前台的 业务对象里面是看不见的(推测应该是这样的),找了半天,页面上没找到这个bo,无论怎么升级都没用,不知怎么的想到了这个属性。我勾选了之后,save。然后再取消 勾选,然后designer 就会崩溃。

2012-10-23 16:48:58 895

原创 查找各个对象的UUID

查找sfo 的UUID (不是查找sfo的实例的UUID)select f_root_oid from hs_stateflow_object where f_bo_name =( select f_root_oid from hs_business_object where f_name='DT')DT 为sfo/bo 面板(即 stateflow object properties面板

2012-10-11 11:43:17 1307

butterfly部署外部代码

butterfly 外部代码文档,非 hansky butterfly 开发人员绝对用不到。

2012-11-15

Windows操作系统 hansky butterfly从32位jdk迁移至64位启动服务

Windows操作系统下, hansky butterfly从32位jdk迁移至64位启动服务

2012-11-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除