Hi all list,

    I'm trying to use the import function in Portal Site Manager to update
my existing PSMLs.
    at first, this function always can not work, and I always got a error
message 'Error occured during file import.', then I try to trace the source
code of class org.apache.jetspeed.portlets.site.PortalSiteManager,
    I find a bug(maybe) in the source code about processing with upload file 
    parts of source code in method processAction:
    while (fileIt.hasNext()) {
        FileItem fileItem = (FileItem) fileIt.next();
        if (fileItem.getFieldName().equals("psmlFile")) {
            synchronized (this) {
                fileName = fileItem.getName();   //<--- the fileName is a
full-path file name
                usrFolder = getTempFolder(request);
                path= System.getProperty("file.separator");
                String filePath = usrFolder + path + fileItem.getName();   
// <--- so the filePath should be a wrong full name of a file.
                FileOutputStream out = new FileOutputStream(filePath);
                out.write(fileItem.get());
                out.close();
            }
        }else if(fileItem.isFormField() &&
fileItem.getFieldName().equalsIgnoreCase("importPath")){
            destPath= fileItem.getString();
        }  
    }

    then I try to modify the code to
    fileName =
fileItem.getName().substring(fileItem.getName().lastIndexOf(File.separator)+1);
    and
    String filePath = usrFolder + path + fileName;
    then the orginal problem was fixed (maybe), but I still can not import
my existing PSML for update,
    the following message is the log of the new error:
2008-08-05 10:30:12,677 [http-8080-Processor23] ERROR
ibtek.trace.code.PortalSiteManager -
org.apache.jetspeed.page.PageNotUpdatedException: Page
/_user/template/account.psml not updated.
org.apache.jetspeed.page.PageNotUpdatedException: Page
/_user/template/account.psml not updated.
        at
org.apache.jetspeed.page.impl.DatabasePageManager.updatePage(DatabasePageManager.java:1036)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at
org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:304)
        at
org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:172)
        at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:139)
        at
org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:107)
        at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:161)
        at
org.apache.jetspeed.util.interceptors.PageManagerInterceptor.invoke(PageManagerInterceptor.java:42)
        at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:161)
        at
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
        at $Proxy5.updatePage(Unknown Source)
        at
org.apache.jetspeed.portlets.site.PortalSiteManager.processAction(PortalSiteManager.java:306)
        at
org.apache.jetspeed.factory.JetspeedPortletInstance.processAction(JetspeedPortletInstance.java:97)
        at
org.apache.jetspeed.container.JetspeedContainerServlet.doGet(JetspeedContainerServlet.java:258)
        at
org.apache.jetspeed.container.JetspeedContainerServlet.doPost(JetspeedContainerServlet.java:396)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
        at
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:691)
        at
org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:594)
        at
org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:505)
        at
org.apache.jetspeed.container.invoker.ServletPortletInvoker.invoke(ServletPortletInvoker.java:273)
        at
org.apache.jetspeed.container.invoker.ServletPortletInvoker.action(ServletPortletInvoker.java:148)
        at
org.apache.pluto.PortletContainerImpl.processPortletAction(PortletContainerImpl.java:164)
        at
org.apache.jetspeed.container.JetspeedPortletContainerWrapper.processPortletAction(JetspeedPortletContainerWrapper.java:133)
        at
org.apache.jetspeed.pipeline.valve.impl.ActionValveImpl.invoke(ActionValveImpl.java:148)
        at
org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(JetspeedPipeline.java:167)
        at
org.apache.jetspeed.container.ContainerValve.invoke(ContainerValve.java:109)
        at
org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(JetspeedPipeline.java:167)
        at
org.apache.jetspeed.container.PageHistoryValve.invoke(PageHistoryValve.java:108)
        at
org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(JetspeedPipeline.java:167)
        at
org.apache.jetspeed.profiler.impl.ProfilerValveImpl.invoke(ProfilerValveImpl.java:248)
        at
org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(JetspeedPipeline.java:167)
        at
org.apache.jetspeed.security.impl.LoginValidationValveImpl.invoke(LoginValidationValveImpl.java:159)
        at
org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(JetspeedPipeline.java:167)
        at
org.apache.jetspeed.security.impl.PasswordCredentialValveImpl.invoke(PasswordCredentialValveImpl.java:150)
        at
org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(JetspeedPipeline.java:167)
        at
org.apache.jetspeed.localization.impl.LocalizationValveImpl.invoke(LocalizationValveImpl.java:170)
        at
org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(JetspeedPipeline.java:167)
        at
org.apache.jetspeed.security.impl.AbstractSecurityValve$1.run(AbstractSecurityValve.java:138)
        at java.security.AccessController.doPrivileged(Native Method)
        at javax.security.auth.Subject.doAsPrivileged(Unknown Source)
        at
org.apache.jetspeed.security.JSSubject.doAsPrivileged(JSSubject.java:179)
        at
org.apache.jetspeed.security.impl.AbstractSecurityValve.invoke(AbstractSecurityValve.java:132)
        at
org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(JetspeedPipeline.java:167)
        at
org.apache.jetspeed.container.url.impl.PortalURLValveImpl.invoke(PortalURLValveImpl.java:67)
        at
org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(JetspeedPipeline.java:167)
        at
org.apache.jetspeed.capabilities.impl.CapabilityValveImpl.invoke(CapabilityValveImpl.java:126)
        at
org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(JetspeedPipeline.java:167)
        at
org.apache.jetspeed.pipeline.JetspeedPipeline.invoke(JetspeedPipeline.java:146)
        at
org.apache.jetspeed.engine.JetspeedEngine.service(JetspeedEngine.java:227)
        at
org.apache.jetspeed.engine.JetspeedServlet.doGet(JetspeedServlet.java:242)
        at
org.apache.jetspeed.engine.JetspeedServlet.doPost(JetspeedServlet.java:269)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
        at
ibtek.tp.ikm.portal.login.filter.PortalLoginFilter.doFilter(PortalLoginFilter.java:105)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
        at
org.apache.jetspeed.engine.servlet.XXSUrlAttackFilter.doFilter(XXSUrlAttackFilter.java:52)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
        at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
        at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
        at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433)
        at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
        at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
        at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
        at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
        at
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
        at
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
        at
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
        at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
        at java.lang.Thread.run(Unknown Source)
Caused by: org.springframework.dao.DataIntegrityViolationException: OJB
operation; SQL []; Duplicate entry '/_user/template/account.psml' for key 2;
nested exception is
com.mysql.jdbc.exceptions.MySQLIntegrityConstraintViolationException:
Duplicate entry '/_user/template/account.psml' for key 2
        at
org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.translate(SQLStateSQLExceptionTranslator.java:110)
        at
org.springframework.orm.ojb.OjbAccessor.convertJdbcAccessException(OjbAccessor.java:107)
        at
org.springframework.orm.ojb.OjbAccessor.convertOjbAccessException(OjbAccessor.java:89)
        at
org.springframework.orm.ojb.PersistenceBrokerTemplate.execute(PersistenceBrokerTemplate.java:141)
        at
org.springframework.orm.ojb.PersistenceBrokerTemplate.store(PersistenceBrokerTemplate.java:241)
        at
org.apache.jetspeed.page.impl.DatabasePageManager.updatePage(DatabasePageManager.java:992)
        ... 79 more
Caused by:
com.mysql.jdbc.exceptions.MySQLIntegrityConstraintViolationException:
Duplicate entry '/_user/template/account.psml' for key 2
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:931)
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2985)
        at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1631)
        at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1723)
        at com.mysql.jdbc.Connection.execSQL(Connection.java:3283)
        at
com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1332)
        at
com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1604)
        at
com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1519)
        at
com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1504)
        at
org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:102)
        at
org.apache.ojb.broker.accesslayer.JdbcAccessImpl.executeInsert(JdbcAccessImpl.java:216)
        at
org.apache.ojb.broker.core.PersistenceBrokerImpl.storeToDb(PersistenceBrokerImpl.java:1754)
        at
org.apache.ojb.broker.core.PersistenceBrokerImpl.store(PersistenceBrokerImpl.java:813)
        at
org.apache.ojb.broker.core.PersistenceBrokerImpl.store(PersistenceBrokerImpl.java:726)
        at
org.apache.ojb.broker.core.DelegatingPersistenceBroker.store(DelegatingPersistenceBroker.java:175)
        at
org.apache.ojb.broker.core.DelegatingPersistenceBroker.store(DelegatingPersistenceBroker.java:175)
        at
org.springframework.orm.ojb.PersistenceBrokerTemplate$9.doInPersistenceBroker(PersistenceBrokerTemplate.java:243)
        at
org.springframework.orm.ojb.PersistenceBrokerTemplate.execute(PersistenceBrokerTemplate.java:138)
        ... 81 more

    any one can help or tell me what is right way to update the existing
PSML with PSML store in DB?

Best Regards,
Bon
-- 
View this message in context: 
http://www.nabble.com/Does-it-a-bug-about-import-PSML-from-Portal-Site-Manager-tp18828769p18828769.html
Sent from the Jetspeed - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to