Hi everybody..finally I add a new dashboard in nuxeo but I don't see it
(I add with theme manager) what I forgot? this is my code..thank you
for the help
note: when I change the link in dashboard_workflow.xhtml with for
example DOMAIN_LAST_PUBLISHED_DOCUMENT it works and return the document
published..that I think is a problem with link to file and query..thank
you
dashboard_workflow.xhtml
<nxu:methodResult name="provider"
value="#{resultsProvidersCache.get('WORKFLOW_APPROVATI')}">
<ui:decorate template="/incl/foldable_box_document_listing.xhtml">
<ui:param name="documents" value="#{provider.currentPage}" />
<ui:param name="provider" value="#{provider}" />
<ui:param name="heading" value="#{messages}" />
<ui:param name="idParam" value="WORKFLOW_APPROVATI" />
</ui:decorate>
</nxu:methodResult>
querymodel-contrib.xml
<?xml version="1.0"?>
<component name="org.nuxeo.project.sample.queryModels">
<extension
target="org.nuxeo.ecm.core.search.api.client.querymodel.QueryModelService"
point="model">
<queryModel name="WORKFLOW_APPROVATI">
<pattern>
SELECT * FROM Document WHERE ecm:path STARTSWITH ? AND ecm:mixinType !=
'Folderish' AND ecm:mixinType != 'HiddenInNavigation' AND
ecm:isCheckedInVersion = 0 AND ecm:isProxy = 1
</pattern>
<sortable value="true" defaultSortColumn="dc:modified"
defaultSortAscending="false" />
<max>5</max>
</queryModel>
.....
resultsprovider-contrib.xml
<?xml version="1.0"?>
<component name="org.nuxeo.project.sample.resultsproviders">
<extension target="org.nuxeo.ecm.webapp.pagination.ResultsProviderService"
point="model">
<resultsProvider name="WORKFLOW_APPROVATI" farm="dashboardActions"/>
</extension>
</component>
theme-contrib.xml
<view name="nuxeo5 approvati"
template-engine="jsf-facelets">
<!-- Fragment to be displayed as part of the dashboard to display the
list of documents that have been published recently -->
<format-type>widget</format-type>
<template>incl/dashboard_workflow.xhtml</template>
<resource>foldable-box.js</resource>
</view>
dashboardactionsbean.java
package org.nuxeo.ecm.webapp.dashboard;
import java.security.Principal;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import javax.annotation.security.PermitAll;
import javax.ejb.Remove;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.jboss.seam.ScopeType;
import org.jboss.seam.annotations.Destroy;
import org.jboss.seam.annotations.Factory;
import org.jboss.seam.annotations.In;
import org.jboss.seam.annotations.Install;
import org.jboss.seam.annotations.Name;
import org.jboss.seam.annotations.Observer;
import org.jboss.seam.annotations.Scope;
import org.jboss.seam.annotations.web.RequestParameter;
import org.jboss.seam.contexts.Context;
import org.nuxeo.ecm.core.api.ClientException;
import org.nuxeo.ecm.core.api.CoreSession;
import org.nuxeo.ecm.core.api.DocumentModel;
import org.nuxeo.ecm.core.api.DocumentModelList;
import org.nuxeo.ecm.core.api.IdRef;
import org.nuxeo.ecm.core.api.PagedDocumentsProvider;
import org.nuxeo.ecm.core.api.SortInfo;
import org.nuxeo.ecm.core.api.impl.EmptyResultsProvider;
import org.nuxeo.ecm.core.schema.FacetNames;
import org.nuxeo.ecm.platform.jbpm.dashboard.DashBoardItem;
import org.nuxeo.ecm.platform.jbpm.dashboard.DocumentProcessItem;
import org.nuxeo.ecm.platform.jbpm.dashboard.WorkflowDashBoard;
import org.nuxeo.ecm.platform.ui.web.api.NavigationContext;
import org.nuxeo.ecm.platform.ui.web.api.WebActions;
import
org.nuxeo.ecm.platform.ui.web.pagination.ResultsProviderFarmUserException;
import org.nuxeo.ecm.webapp.clipboard.ClipboardActionsBean;
import org.nuxeo.ecm.webapp.helpers.EventNames;
import org.nuxeo.ecm.webapp.pagination.ResultsProvidersCache;
import org.nuxeo.ecm.webapp.querymodel.QueryModelActions;
/**
* Dash board actions.
*
* Those actions are related to the current authenticated principal.
*
* @author Julien Anguenot
*/
@Name("dashboardActions")
@Scope(ScopeType.CONVERSATION)
@Install(precedence = Install.FRAMEWORK)
public class DashBoardActionsBean implements DashboardActions {
private static final long serialVersionUID = 7737098220471277412L;
private static final Log log =
LogFactory.getLog(DashBoardActionsBean.class);
protected static final String REVIEW_TAB_ID = "TAB_CONTENT_REVIEW";
// Result providers
protected static final String BOARD_LATEST_MODIFIED = "DOMAIN_DOCUMENTS";
protected static final String BOARD_LATEST_PUBLISHED =
"DOMAIN_PUBLISHED_DOCUMENTS";
protected static final String BOARD_USER = "USER_DOCUMENTS";
protected static final String BOARD_WORKSPACES = "USER_WORKSPACES";
protected static final String BOARD_SITES = "USER_SITES";
protected static final String BOARD_SECTIONS = "USER_SECTIONS";
protected static final String BOARD_WORKFLOW = "WORKFLOW_APPROVATI";
@In
protected transient Context eventContext;
@In(create = true)
protected transient CoreSession documentManager;
@In(create = true)
protected transient QueryModelActions queryModelActions;
@In(required = false)
protected transient Principal currentUser;
@In(create = true)
protected DashboardNavigationHelper dashboardNavigationHelper;
protected transient DocumentModel selectedDomain;
protected transient List<DocumentModel> availableDomains;
@In(create = true)
protected transient WebActions webActions;
@In(create = true)
protected transient NavigationContext navigationContext;
@In(create = true)
protected transient ResultsProvidersCache resultsProvidersCache;
@In(create = true, required = false)
protected WorkflowDashBoard workflowDashBoardActions;
@RequestParameter("sortColumn")
protected String newSortColumn;
protected SortInfo sortInfo;
@Factory(value = "currentUserTasks", scope = ScopeType.EVENT)
public Collection<DashBoardItem> computeDashboardItems()
throws ClientException {
if (workflowDashBoardActions == null) {
return new ArrayList<DashBoardItem>();
}
return workflowDashBoardActions.computeDashboardItems();
}
@Factory(value = "currentUserProcesses", scope = ScopeType.EVENT)
public Collection<DocumentProcessItem> computeDocumentProcessItems()
throws ClientException {
if (workflowDashBoardActions == null) {
return new ArrayList<DocumentProcessItem>();
}
return workflowDashBoardActions.computeDocumentProcessItems();
}
public void invalidateDocumentProcessItems() {
if (workflowDashBoardActions == null) {
return;
}
workflowDashBoardActions.invalidateDocumentProcessItems();
}
public void invalidateDashboardItems() {
if (workflowDashBoardActions == null) {
return;
}
workflowDashBoardActions.invalidateDashboardItems();
}
@Destroy
@Remove
@PermitAll
public void destroy() {
}
public String viewDashboard() {
return dashboardNavigationHelper.navigateToDashboard();
}
@Observer(value = { EventNames.DOMAIN_SELECTION_CHANGED }, create = false,
inject = false)
public void invalidateDomainBoundInfo() throws ClientException {
selectedDomain = null;
invalidateDomainResultProviders();
}
public void invalidateDomainResultProviders() throws ClientException {
String[] domainProviders = { BOARD_USER, BOARD_LATEST_MODIFIED,
BOARD_LATEST_PUBLISHED, BOARD_WORKSPACES, BOARD_SITES,
BOARD_SECTIONS, BOARD_WORKFLOW };
for (String providerName : domainProviders) {
resultsProvidersCache.invalidate(providerName);
}
}
public PagedDocumentsProvider getResultsProvider(String name,
SortInfo sortInfo) throws ClientException,
ResultsProviderFarmUserException {
DocumentModel domain = getSelectedDomain();
if (domain == null) {
return new EmptyResultsProvider();
}
String location = domain.getPathAsString();
String templates = location + "/templates";
Object[] params;
if (BOARD_USER.equals(name)) {
params = new Object[] { currentUser.getName(), location };
} else if (BOARD_LATEST_MODIFIED.equals(name)) {
params = new Object[] { location, templates };
} else if (BOARD_LATEST_PUBLISHED.equals(name)) {
params = new Object[] { location };
} else if (BOARD_WORKSPACES.equals(name)) {
params = new Object[] { location, templates };
} else if (BOARD_SITES.equals(name)) {
params = new Object[] { location, templates };
} else if (BOARD_SECTIONS.equals(name)) {
params = new Object[] { location };
} else if (BOARD_WORKFLOW.equals(name)) {
params = new Object[] { location };
} else {
throw new ClientException("Unknown board: " + name);
}
PagedDocumentsProvider provider;
try {
provider = getQmDocuments(name, params, sortInfo);
} catch (Exception e) {
log.error("sorted query failed");
log.debug(e);
log.error("retrying without sort parameters");
provider = getQmDocuments(name, params, null);
}
provider.setName(name);
return provider;
}
public PagedDocumentsProvider getResultsProvider(String name)
throws ClientException, ResultsProviderFarmUserException {
return getResultsProvider(name, null);
}
protected PagedDocumentsProvider getQmDocuments(String qmName,
Object[] params, SortInfo sortInfo) throws ClientException {
return queryModelActions.get(qmName).getResultsProvider(
documentManager, params, sortInfo);
}
public String navigateToDocumentTab(DocumentModel dm)
throws ClientException {
String view = navigationContext.navigateToDocument(dm);
webActions.resetTabList();
webActions.setCurrentTabAction(REVIEW_TAB_ID);
return view;
}
public DocumentModelList getLastModifiedDocuments() throws ClientException {
return resultsProvidersCache.get("DOMAIN_DOCUMENTS").getCurrentPage();
}
public DocumentModelList getUserDocuments() {
return null;
}
public DocumentModelList getUserWorkspaces() {
return null;
}
public String refreshDashboardItems() {
if (workflowDashBoardActions == null) {
return null;
}
return workflowDashBoardActions.refreshDashboardItems();
}
public String refreshDocumentProcessItems() {
if (workflowDashBoardActions == null) {
return null;
}
return workflowDashBoardActions.refreshDocumentProcessItems();
}
public String refreshProvider(String providerName) {
resultsProvidersCache.invalidate(providerName);
return null;
}
public String doSearch() {
return null;
}
public SortInfo getSortInfo() {
return sortInfo;
}
public DocumentModel getSelectedDomain() throws ClientException {
List<DocumentModel> availableDomains = getAvailableDomains();
if (selectedDomain == null) {
// initialize to current domain, or take first domain found
DocumentModel currentDomain = navigationContext.getCurrentDomain();
if (currentDomain != null) {
selectedDomain = currentDomain;
} else {
if (availableDomains != null && !availableDomains.isEmpty()) {
selectedDomain = availableDomains.get(0);
}
}
} else if (availableDomains != null
&& !availableDomains.contains(selectedDomain)) {
// reset old domain: it's not available anymore
selectedDomain = availableDomains.get(0);
}
return selectedDomain;
}
@Factory(value = "availableDomains", scope = ScopeType.EVENT)
public List<DocumentModel> getAvailableDomains() throws ClientException {
if (availableDomains == null) {
DocumentModel rootDocument = documentManager.getRootDocument();
String query = String.format(
"SELECT * from Document WHERE ecm:parentId = '%s' "
+ "AND ecm:currentLifeCycleState != '%s' "
+ "AND ecm:mixinType != '%s'",
rootDocument.getId(),
ClipboardActionsBean.DELETED_LIFECYCLE_STATE,
FacetNames.HIDDEN_IN_NAVIGATION);
availableDomains = documentManager.query(query);
}
return availableDomains;
}
@Observer(value = { EventNames.DOCUMENT_CHANGED,
EventNames.DOCUMENT_SECURITY_CHANGED,
EventNames.DOCUMENT_CHILDREN_CHANGED }, create = false)
public void invalidateAvailableDomains() throws ClientException {
availableDomains = null;
}
public String getSelectedDomainId() throws ClientException {
DocumentModel selectedDomain = getSelectedDomain();
if (selectedDomain != null) {
return selectedDomain.getId();
}
return null;
}
public void setSelectedDomainId(String selectedDomainId)
throws ClientException {
selectedDomain = documentManager.getDocument(new
IdRef(selectedDomainId));
}
public String submitSelectedDomainChange() throws ClientException {
invalidateDomainResultProviders();
return null;
}
}
failed to obtain sorted resultProvider
org.nuxeo.ecm.core.api.ClientException: Unknown results provider:
WORKFLOW_APPROVATI
at
org.nuxeo.ecm.webapp.pagination.ResultsProvidersCacheBean.getProviderFarmFor(ResultsProvidersCacheBean.java:280)
at
org.nuxeo.ecm.webapp.pagination.ResultsProvidersCacheBean.get(ResultsProvidersCacheBean.java:144)
at
org.nuxeo.ecm.webapp.pagination.ResultsProvidersCacheBean.get(ResultsProvidersCacheBean.java:126)
at sun.reflect.GeneratedMethodAccessor239.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:592)
at org.jboss.seam.util.Reflections.invoke(Reflections.java:21)
at
org.jboss.seam.intercept.RootInvocationContext.proceed(RootInvocationContext.java:31)
at
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:56)
at
org.jboss.seam.transaction.RollbackInterceptor.aroundInvoke(RollbackInterceptor.java:31)
at
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
at
org.jboss.seam.core.BijectionInterceptor.aroundInvoke(BijectionInterceptor.java:46)
at
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
at
org.jboss.seam.core.MethodContextInterceptor.aroundInvoke(MethodContextInterceptor.java:42)
at
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
at
org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:107)
at
org.jboss.seam.intercept.JavaBeanInterceptor.interceptInvocation(JavaBeanInterceptor.java:166)
at
org.jboss.seam.intercept.JavaBeanInterceptor.invoke(JavaBeanInterceptor.java:102)
at
org.nuxeo.ecm.webapp.pagination.ResultsProvidersCacheBean_$$_javassist_16.get(ResultsProvidersCacheBean_$$_javassist_16.java)
at sun.reflect.GeneratedMethodAccessor238.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:592)
at
org.jboss.el.util.ReflectionUtil.invokeMethod(ReflectionUtil.java:329)
at
org.jboss.el.util.ReflectionUtil.invokeMethod(ReflectionUtil.java:274)
at org.jboss.el.parser.AstMethodSuffix.getValue(AstMethodSuffix.java:59)
at org.jboss.el.parser.AstMethodSuffix.invoke(AstMethodSuffix.java:65)
at org.jboss.el.parser.AstValue.invoke(AstValue.java:96)
at
org.jboss.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276)
at
com.sun.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:68)
at
org.nuxeo.ecm.platform.ui.web.binding.MethodValueExpression.getValue(MethodValueExpression.java:112)
at org.jboss.el.parser.AstIdentifier.getValue(AstIdentifier.java:40)
at org.jboss.el.parser.AstValue.getValue(AstValue.java:63)
at
org.jboss.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)
at
com.sun.facelets.el.TagValueExpression.getValue(TagValueExpression.java:71)
at org.jboss.el.parser.AstIdentifier.getValue(AstIdentifier.java:40)
at org.jboss.el.parser.AstEmpty.getValue(AstEmpty.java:29)
at org.jboss.el.parser.AstNot.getValue(AstNot.java:26)
at
org.jboss.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)
at
com.sun.facelets.el.TagValueExpression.getValue(TagValueExpression.java:71)
at
javax.faces.component.UIComponentBase.isRendered(UIComponentBase.java:390)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:930)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:942)
at
com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:578)
at
org.ajax4jsf.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:100)
at
org.ajax4jsf.application.AjaxViewHandler.renderView(AjaxViewHandler.java:176)
at
com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:109)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
at
org.nuxeo.ecm.platform.ui.web.lifecycle.NuxeoLifeCycleImpl.render(NuxeoLifeCycleImpl.java:98)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:266)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83)
at
org.jboss.seam.debug.hot.HotDeployFilter.doFilter(HotDeployFilter.java:68)
at
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:85)
at
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64)
at
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45)
at
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:178)
at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
at
org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:368)
at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:495)
at org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:60)
at
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
at org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:58)
at
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.nuxeo.wss.servlet.WSSFilter.doFilter(WSSFilter.java:115)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at
org.nuxeo.ecm.platform.ui.web.auth.NuxeoAuthenticationFilter.doFilter(NuxeoAuthenticationFilter.java:311)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at
org.nuxeo.ecm.platform.web.common.exceptionhandling.NuxeoExceptionFilter.doFilter(NuxeoExceptionFilter.java:80)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:654)
at
org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:445)
at
org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:379)
at
org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:292)
at
org.nuxeo.ecm.platform.ui.web.rest.FancyURLFilter.doFilter(FancyURLFilter.java:119)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at
org.nuxeo.ecm.platform.ui.web.auth.NuxeoAuthenticationFilter.doFilter(NuxeoAuthenticationFilter.java:468)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at
org.nuxeo.ecm.platform.web.common.requestcontroller.filter.NuxeoRequestControllerFilter.doFilter(NuxeoRequestControllerFilter.java:133)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at
org.nuxeo.ecm.platform.web.common.exceptionhandling.NuxeoExceptionFilter.doFilter(NuxeoExceptionFilter.java:80)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:182)
at
org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at
org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
at java.lang.Thread.run(Thread.java:595)
_________________________________________________________________
Hotmail: posta elettronica attendibile grazie alla protezione avanzata dalla
posta indesiderata.
https://signup.live.com/signup.aspx?id=60969_______________________________________________
ECM mailing list
[email protected]
http://lists.nuxeo.com/mailman/listinfo/ecm
To unsubscribe, go to http://lists.nuxeo.com/mailman/options/ecm