Terry.Li-彬

虚其心,可解天下之问;专其心,可治天下之学;静其心,可悟天下之理;恒其心,可成天下之业。

  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  143 随笔 :: 344 文章 :: 130 评论 :: 0 Trackbacks

1、 解压 liferay-portal-src-4.4.1.rar SpagoBI-src-1.9.4.rar liferay-portal-tomcat-5.5-jdk5-4.4.1.rar 三个 rar 包到 workspace 目录下

2、 打开 eclipse ,导入 liferay-portal-src-4.4.1 SpagoBI-src-1.9.4

3、 加入 maven 依赖

4、 eclipse 中修改 SpagoBI-src-1.9.4\LiferayPortalSecurityProvider\pom.xml 中的

< dependency >

      < groupId > liferay </ groupId >

      < artifactId > liferay.portal-service </ artifactId >

      < version > 4.2.2 </ version >

      < scope > system </ scope >

      < systemPath > ${liferay.lib.dir}/portal-service.jar </ systemPath >

    </ dependency >

    < dependency >

       < groupId > liferay </ groupId >

      < artifactId > liferay.portal-kernel </ artifactId >

      < version > 4.2.2 </ version >

      < scope > system </ scope >

      < systemPath > ${liferay.lib.dir}/portal-kernel.jar </ systemPath >

</ dependency >    

<systemPath 路径指为 liferay-portal-tomcat-5.5-jdk5-4.4.1/common/lib/ext/portal-service.jar liferay-portal-tomcat-5.5-jdk5-4.4.1/common/lib/ext/portal-kernel.jar

例如:

< dependency >

      < groupId > liferay </ groupId >

      < artifactId > liferay.portal-service </ artifactId >

      < version > 4.2.2 </ version >

      < scope > system </ scope >

      < systemPath > E:/workspacse_all/liferay-spagobi-4.4.1/liferay-portal-tomcat-5.5-jdk5-4.4.1/common/lib/ext/portal-service.jar </ systemPath >

    </ dependency >

    < dependency >

      < groupId > liferay </ groupId >

      < artifactId > liferay.portal-kernel </ artifactId >

      < version > 4.2.2 </ version >

      < scope > system </ scope >

      < systemPath > E:/workspacse_all/liferay-spagobi-4.4.1/liferay-portal-tomcat-5.5-jdk5-4.4.1/common/lib/ext/portal-kernel.jar </ systemPath >

    </ dependency >

这样在 eclipse 保存后,代码会根据 liferay4.4.1 的包来编译代码,容易看到错误

 

 

5、  修改代码 SpagoBI-src-1.9.4\LiferayPortalSecurityProvider\src\it\eng\spagobi\security\LiferaySecurityProviderImpl.java 中的: User user = UserServiceUtil.getUserById(userName); User user = UserServiceUtil.getUserById(Long.parseLong(userName));

6、  修改代码 SpagoBI-src-1.9.4\LiferayPortalSecurityProvider\src\it\eng\spagobi\security\LiferayUserProfileImpl.java 中的: User user = UserServiceUtil.getUserById(userUniqueIdentifier); User user = UserServiceUtil.getUserById(Long.parseLong(userUniqueIdentifier));

7、  紧接着修改下面的 userAttributes.put(USER_ID, user.getUserId()); userAttributes.put(USER_ID, user.getUserId()+"");

修改 liferay-portal-src-4.4.1\portal-impl\src\com\liferay\portal\servlet\taglib\portlet\ActionURLTagUtil.java 中的代码,添加一个方法: /**

      * Terry 添加

      * @param action

      * @param windowState

      * @param portletMode

      * @param var

      * @param varImpl

      * @param secure

      * @param portletName

      * @param anchor

      * @param encrypt

      * @param doAsUserId

      * @param portletConfiguration

      * @param params

      * @param writeOutput

      * @param pageContext

      * @return

      * @throws JspException

      */

    public static String doEndTag(

           boolean action, String windowState, String portletMode, String var,

           String varImpl, Boolean secure, String portletName, Boolean anchor,

           Boolean encrypt, String doAsUserId, Boolean portletConfiguration,

           Map params, boolean writeOutput, PageContext pageContext)

       throws JspException {

       try {

           long lDoAsUserId = 0;

           if ( null != doAsUserId && ! "" .equals(doAsUserId) && Long.parseLong(doAsUserId)>0) {

              lDoAsUserId = Long.parseLong(doAsUserId);           

           }

           return doEndTag(action, windowState, portletMode, var,

                  varImpl, secure, portletName, anchor,

                  encrypt, lDoAsUserId, portletConfiguration,

                  params, writeOutput, pageContext);

       } catch (Exception e) {

           _log .error(e, e);

 

           throw new JspException(e);

       }

      

8、  }

9、  到这里 spagobi 部分的代码就修改完了。

10、  liferay-portal-tomcat-5.5-jdk5-4.4.1\webapps\ROOT\WEB-INF\lib\portal-impl.jar 使用 winrar 文件打开到 portal-impl.jar\com\liferay\portal\servlet\taglib\portlet 把里面的 ActionURLTagUtil.class 文件删除,将 liferay-portal-src-4.4.1\bin\com\liferay\portal\servlet\taglib\portlet 下面修改后的 class 文件拖到 portal-impl.jar 相应目录下

11、              SpagoBI-src-1.9.4. 路径下使用 maven 命令 mvn -Pspagobi-liferay package

12、             

13、              拷贝 SpagoBI-src-1.9.4\build\tomcat-server\common\lib\ext 下的 *.jar liferay-portal-tomcat-5.5-jdk5-4.4.1\common\lib\ext 中不覆盖已经存在的 jar

14、              拷贝 SpagoBI-src-1.9.4\build\tomcat-server\conf\server.xml 中的 <Context 数据源到 liferay-portal-tomcat-5.5-jdk5-4.4.1\conf\server.xml

15、              liferay-portal-tomcat-5.5-jdk5-4.4.1\conf\server.xml <Context path="/spagobi" 标签中的数据源定义 <Resource 剪切到 liferay-portal-tomcat-5.5-jdk5-4.4.1\conf\context.xml

16、              拷贝 SpagoBI-src-1.9.4\build\tomcat-server\webapps 下的所有文件到 liferay-portal-tomcat-5.5-jdk5-4.4.1\webapps

17、              修改 liferay-portal-tomcat-5.5-jdk5-4.4.1\webapps\spagobi\WEB-INF\conf 下的 cms.xml ,将其中

<PARAMETERS>

                   <PARAMETER name="repository_path" value="${SERVER_HOME}/sbidata/jcrRepositoryFS/" />

                   <PARAMETER name="conf_file_path" value="${SERVER_HOME}/sbidata/jcrRepositoryFS/repository.xml" />

               </PARAMETERS>

替换为

<PARAMETERS>

                   <PARAMETER name="repository_path" value="jcrRepositoryFS/" />

                   <PARAMETER name="conf_file_path" value="jcrRepositoryFS/repository.xml" />

               </PARAMETERS>        

18、              liferay-portal-tomcat-5.5-jdk5-4.4.1\webapps\spagobi 目录下建立文件夹 jcrRepositoryFS

19、              jcrRepositoryFS 文件夹下建立 repository 文件夹

20、              拷贝 SpagoBI-src-1.9.4\SpagoBIProject\src 下的 repository.xml 文件到 liferay-portal-tomcat-5.5-jdk5-4.4.1\webapps\spagobi\jcrRepositoryFS

21、              拷贝 SpagoBI-src-1.9.4\SpagoBIUtilityFiles\liferay-libraries 下的 hibernate-3.1rc2.jar liferay-portal-tomcat-5.5-jdk5-4.4.1\webapps\spagobi\WEB-INF\lib

22、              SpagoBI-src-1.9.4\SpagoBIUtilityFiles\tomcat-server 下的 sbidata 拷贝到 liferay-portal-tomcat-5.5-jdk5-4.4.1 目录下

23、              启动 liferay-portal-tomcat-5.5-jdk5-4.4.1\sbidata\database\start.bat 数据库

24、              启动 tomcat   liferay-portal-tomcat-5.5-jdk5-4.4.1\bin\startup.bat

 

 

 

 

 

 

 

 

5. 更改liferay sapgoBI的数据库

Liferay sapgoBI默认的数据库都是内存数据库HSQL,为了方便开发,我们需要更改为别的数据库,下面一SQLserver为例来操作。

< >.更改liferay的数据库

<1>. liferay官网上下载和所用liferay版本相同的SQL,例如我们现在的liferay版本是4.2.2,那么SQL就是:liferay-portal-sql-4.2.2,解压后运行create/create-sql-server.sql,在本地sqlserver中就创建了相应的db

<2> 更改tomcatliferay4.2.2/conf/Catalina/localhost下的ROOT.xml,将其中的内容:

.

<Resource

       name="jdbc/LiferayPool"

       auth="Container"

       type="javax.sql.DataSource"

       driverClassName="org.hsqldb.jdbcDriver"

       url="jdbc:hsqldb:lportal"

       username="sa"

       password=""

       maxActive="20"

    />

.

改为:

<Resource

       name="jdbc/LiferayPool"

       auth="Container"

       type="javax.sql.DataSource"

        driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"

        username="sa"

        password="bbbbb"

        url="jdbc:sqlserver://localhost;DatabaseName=lportal"

        maxActive="20"

    />

<3>. sqljdbc的驱动包,拷贝到tomcatliferay4.2.2/common/ext

<4>liferay 默认的数据库名称为lportal,如果需要自定义一个数据库,那么需要将将上面的数据源名称修改,还要把liferay-portal-tomcat-5.5-jdk5-4.4.1\webapps\spagobi\WEB-INF\conf\spagobi下的spagobi.xml

<HIBERNATE-CFGFILE>hibernate.cfg.sqlserver.xml</HIBERNATE-CFGFILE> 换为对应数据库的hibernate配置文件连接。
下面把<SPAGOBI_CONTEXT_PATH>http://10.16.202.74:8080/spagobi</SPAGOBI_CONTEXT_PATH>修改

到此,liferay4.2.2db更换完毕。

 

< >更换SpagoBI1.9.4的数据库,仍然以SQL server为例:

<1>. SpagoBI官网上下载sql,其名称为:sqlserver-dbscript-1.9.4.zip

<2>. 解压后执行其中的SQLServer_create.sqlSQLServer_create_fk.sqlSQLserver_create_quartz_schema.sqlSQLServer_insert.sql,此时就会在本地SQLserver中建立spagoBI1.9.4相关的DBTable

<3>. 修改tomcatliferay4.2.2/conf下的server.xml,db的连接由HSQL改为SQLServer

<Resource

       name="jdbc/sbifoodmart"

       auth="Container"

       type="javax.sql.DataSource"

       username="sa"

       password=""

       driverClassName="org.hsqldb.jdbcDriver"

       url="jdbc:hsqldb:hsql://localhost:9001/foodmart"

    />

..

改为:

<Resource

       name="jdbc/sbifoodmart"

       auth="Container"

       type="javax.sql.DataSource"

       username="sa"

       password="bbbbb"

       driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"

       url="jdbc:sqlserver://localhost;DatabaseName=suggested"

    />

其余依次类推

<4>. sqljdbc的驱动包,拷贝到tomcatliferay4.2.2/common/ext下,因为在更换liferay数据库的时候已完成了这一步,所以在这里这个步骤可以省略。

以上就是更换SpagoBI1.9.4db的步骤。

 

posted on 2009-05-20 13:23 礼物 阅读(1516) 评论(0)  编辑  收藏 所属分类: Liferay