一:项目背景 1.1:cognos的两种建模工具 为了更好的满足客户的需求,提升报表展现的效率,一种建模工具已经不能满足报表开发和展现的需要.Cognos除了给我们提供了一种基于关系型数据库的建模工具Framework之外,还为我们提供了另外一种基于立方体数据的建模工具Transform.这种工具可以生产cube立方体,用户可以直接从立方体读取数据. 1.2:利用Javaproject来维护cube安全的必要性 有数据就要有安全,通常给cube设置安全就是通过在cube下面创建custom vi…
Cognos建模工具除了Framework之外,还有一个Transform,两者的最大区别就是在于Framework是通过结构直连关系数据库的,数据根据数据仓库的变化而变化,而Transform是生产立方体,数据和最后一次执行cube时对应的数据库数据保持一致,而且如果不再次生成cube的话,最新数据永远停留在那一刻. 关于cube权限,大家都知道的就是直接打开Transform在Custom Views窗口手动的去添加Custom View →添加role/user→设置对应Custom vi…
  综述 许多信息资料都或多或少的包含一些多余的数据.通常会导致在客户端与服务器之间,应用程序与计算机之间极大的数据传输量.最常见的解决数据存储和信息传送的方法是安装额外的存储设备和扩展现有的通讯能力.这样做是可以的,但无疑会增加组织的运作成本.一种有效的解决数据存储与信息传输的方法是通过更有效率的代码来存储数据.这篇文章简要的介绍了数据的压缩与解压缩,并展示了用java.util.zip包来实现数据的压缩与解压缩是多么的方便与高效. 当然用诸如WinZip,gzip,和Java压缩(或jar)…
日子过得好苦逼,我过的很好,只是缺少¥.时间在变,而问题始终未变,你解不解决它都在那里一动不动.不知不觉已经发现手机的中央,电脑的右下角已经出现了201411的字样,突然从桌子上爬起来,差点忘记了自己还是一个上进的人,吹了几分钟牛逼了,接下来我们还是开始说一说这次的问题吧,往下看你会很快看到解决问题的方法的哦........ 在本系列文章的第3篇文章中我们已经在6.3的扩展中写下了这么一段话,接下来我们先熟悉一下 --6.3扩展----------------------------------…
在上一篇笔记中我已经说了如何利用FM自带的机制配合我们已经通过验证的用户空间的组来实现行级数据安全的控制,但是由于上一个方法存在的缺点是以后如果对该对象增加基于用户或者角色的访问权限就需要开发人员去FM模型添加操作,这样就大大的增加了我们系统的维护成本,下面我们就来说一下另外一种方法:基于用户级别的中间表机制实现行级数据安全 ps:这种方法命名只是笔者的一种定义说法,属个人想法而已,各位千万不要拿来铭记,重要的是过程,至于名字,就让他随风飘吧. 下面我们就走入正题,如何利用基于用户级别的中间表机…
转自:https://blog.csdn.net/ShadowerWArden/article/details/80652377 1. 使用JDBC操作Oracle数据库时,使用java.sql.Date类型对应数据库的date类型,此时只能保存和读取日期部分, 时间(时分秒)部分不能读取和保存:  查询结果集可以直接获取Date类型的数据:java.sql.Date date=resultSet.getDate("dateTime"): java.sql.Date类型的数据也可以直接…
利用Java动态生成 PDF 文档,则需要开源的API.首先我们先想象需求,在企业应用中,客户会提出一些复杂的需求,比如会针对具体的业务,构建比较典型的具备文档性质的内容,一般会导出PDF进行存档.那么目前最佳的解决方案,你可能会想到 iText ,对没错... iText+(Velocity / Freemarker)可以实现.不过据我熟悉,iText本身提供的HTML解析器还是不够强大,许多HTML标签和属性无法识别,更悲催的是简单的CSS它不认识,排版调整样式会让你头大的.不要失望,接下来…
访问权限控制           java提供了访问权限修饰词,以供类库开发人员向客户端程序员指明哪些是可用的,哪些是不可用的.访问权限控制的等级,从最大权限到最小权限依次是:public.protected.包访问权限(没有关键字).private.   包:库单元         包内有一组类,它们在单一名字空间之下被组织在了一起.如果你向导入某个标准库中的类的话,可以使用import关键字.我们之所以要导入,就是要提供一个管理名字空间的机制.所有类成员的名称都是彼此分离的.所以具有相同方法…
1 编程范式 1.1 面向过程 1.2 面向对象 1.3 面向切面编程 1.4 函数式编程 1.5 事件驱动编程 2 什么是面向切面编程 2.1 是一种编程范式,而不是一种编程语言 2.2 解决一些特定的问题 2.3 作为面向对象编程的一种补充 3  AOP产生的初衷 3.1 解决代码重复性问题 Don't Repeat Yourself 3.2 解决关注点分离问题 Separation of Concerns 3.2.1 水平分离(技术上划分) 控制层 -> 服务层 -> 持久层 3.2.2…
原文:http://blog.csdn.net/woshinia/article/details/11766567 1,今天和一位朋友谈到父类私有方法的调用问题,本来以为利用反射很轻松就可以实现,因为在反射看来根本不区分是否是private的,没有想到调用本身的私有方法是可以的,但是调用父类的私有方法则不行,后来纠其原因很有可能是因为getDeclaredMethod方法和getMethod方法并不会查找父类的私有方法,于是只好自己写递归了,经过尝试果然如此.把代码放出来方便更多人.这段代码可以…