【问题标题】:Alfresco Share Search 5.0a broken?Alfresco Share Search 5.0a 坏了?
【发布时间】:2014-09-10 23:18:51
【问题描述】:

我已经试用过 Alfresco 5.0a 的 OS X 和 Windows 版本。每次我尝试在 Alfresco Share 中搜索时,都会遇到错误并显示以下消息:“加载搜索结果时出错” 这是一个错误还是有解决此问题的解决方案?

Tomcat catalina.out 显示如下:

Caused by: org.alfresco.scripts.ScriptException: 08100023 Failed to execute script 'classpath*:alfresco/templates/webscripts/org/alfresco/slingshot/search/search.get.js': No enum constant org.alfresco.service.cmr.search.SearchParameters.Operator.
at org.alfresco.repo.jscript.RhinoScriptProcessor.execute(RhinoScriptProcessor.java:204)
at org.alfresco.repo.processor.ScriptServiceImpl.execute(ScriptServiceImpl.java:212)
at org.alfresco.repo.processor.ScriptServiceImpl.executeScript(ScriptServiceImpl.java:174)
at org.alfresco.repo.web.scripts.RepositoryScriptProcessor.executeScript(RepositoryScriptProcessor.java:102)
at org.springframework.extensions.webscripts.AbstractWebScript.executeScript(AbstractWebScript.java:1364)
at org.springframework.extensions.webscripts.DeclarativeWebScript.execute(DeclarativeWebScript.java:86)
... 31 more
Caused by: java.lang.IllegalArgumentException: No enum constant org.alfresco.service.cmr.search.SearchParameters.Operator.
at java.lang.Enum.valueOf(Enum.java:236)
at org.alfresco.service.cmr.search.SearchParameters$Operator.valueOf(SearchParameters.java:80)
at org.alfresco.repo.jscript.Search.queryResultSet(Search.java:679)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:126)
at org.mozilla.javascript.NativeJavaMethod.call(NativeJavaMethod.java:225)
at org.mozilla.javascript.optimizer.OptRuntime.call1(OptRuntime.java:32)
at org.mozilla.javascript.gen.classpath__alfresco_templates_webscripts_org_alfresco_slingshot_search_search_get_js_17._c_getSearchResults_20(classpath*:alfresco/templates/webscripts/org/alfresco/slingshot/search/search.get.js:1127)
at org.mozilla.javascript.gen.classpath__alfresco_templates_webscripts_org_alfresco_slingshot_search_search_get_js_17.call(classpath*:alfresco/templates/webscripts/org/alfresco/slingshot/search/search.get.js)
at org.mozilla.javascript.optimizer.OptRuntime.callName(OptRuntime.java:63)
at org.mozilla.javascript.gen.classpath__alfresco_templates_webscripts_org_alfresco_slingshot_search_search_get_js_17._c_main_22(classpath*:alfresco/templates/webscripts/org/alfresco/slingshot/search/search.get.js:1199)
at org.mozilla.javascript.gen.classpath__alfresco_templates_webscripts_org_alfresco_slingshot_search_search_get_js_17.call(classpath*:alfresco/templates/webscripts/org/alfresco/slingshot/search/search.get.js)
at org.mozilla.javascript.optimizer.OptRuntime.callName0(OptRuntime.java:74)
at org.mozilla.javascript.gen.classpath__alfresco_templates_webscripts_org_alfresco_slingshot_search_search_get_js_17._c_script_0(classpath*:alfresco/templates/webscripts/org/alfresco/slingshot/search/search.get.js:1202)
at org.mozilla.javascript.gen.classpath__alfresco_templates_webscripts_org_alfresco_slingshot_search_search_get_js_17.call(classpath*:alfresco/templates/webscripts/org/alfresco/slingshot/search/search.get.js)
at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:394)
at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3091)
at org.mozilla.javascript.gen.classpath__alfresco_templates_webscripts_org_alfresco_slingshot_search_search_get_js_17.call(classpath*:alfresco/templates/webscripts/org/alfresco/slingshot/search/search.get.js)
at org.mozilla.javascript.gen.classpath__alfresco_templates_webscripts_org_alfresco_slingshot_search_search_get_js_17.exec(classpath*:alfresco/templates/webscripts/org/alfresco/slingshot/search/search.get.js)
at org.alfresco.repo.jscript.RhinoScriptProcessor.executeScriptImpl(RhinoScriptProcessor.java:502)
at org.alfresco.repo.jscript.RhinoScriptProcessor.execute(RhinoScriptProcessor.java:200)
... 36 more

【问题讨论】:

    标签: alfresco alfresco-share


    【解决方案1】:

    Alfresco 5.0.a 引入了可自定义的默认运算符来组合搜索词。看起来构建查询的组件设置了一个空值。在Search.java 中写道:

    Map<Serializable, Serializable> def = (Map<Serializable, Serializable>)obj;
    // ...
    String defaultOperator = (String)def.get("defaultOperator");
    // ...
    if (defaultOperator != null)
    {
      sp.setDefaultOperator(Operator.valueOf(defaultOperator.toUpperCase())); // 679
    }
    

    允许值 ANDOR。查看负责构建查询的代码。问题就在那里。它可能是一个过时的扩展。

    【讨论】:

      【解决方案2】:

      正确的是,该扩展的向后兼容性似乎已被破坏(删除它并且搜索将正常工作)-我们将在最终 5.0 版本之前尽快修复该问题。

      【讨论】:

        【解决方案3】:

        原来修改 $ALFRESCO_HOME/tomcat/webapps/alfresco/WEB-INF/classes/alfresco/extension/templates/webscripts/org/alfresco/slingshot/search/ 中的 search.get.config.xml 破坏了 Alfresco 共享搜索。

        【讨论】:

          猜你喜欢
          • 2015-05-09
          • 1970-01-01
          • 2016-08-17
          • 2013-06-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多