mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-07 17:49:17 +00:00
Cleanly split CMIS interfaces from CMIS implementation.
- org.alfresco.cmis => public interfaces - org.alfresco.cmis.mapping / dictionary / search => implementation git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@13808 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -1,81 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2005-2007 Alfresco Software Limited.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
|
||||
* As a special exception to the terms and conditions of version 2.0 of
|
||||
* the GPL, you may redistribute this Program in connection with Free/Libre
|
||||
* and Open Source Software ("FLOSS") applications as described in Alfresco's
|
||||
* FLOSS exception. You should have recieved a copy of the text describing
|
||||
* the FLOSS exception, and it is also available here:
|
||||
* http://www.alfresco.com/legal/licensing"
|
||||
*/
|
||||
package org.alfresco.cmis.search;
|
||||
|
||||
import org.alfresco.error.AlfrescoRuntimeException;
|
||||
|
||||
/**
|
||||
* @author andyh
|
||||
*
|
||||
*/
|
||||
public class CMISQueryException extends AlfrescoRuntimeException
|
||||
{
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private static final long serialVersionUID = 8281715613061152219L;
|
||||
|
||||
/**
|
||||
* @param msgId
|
||||
*/
|
||||
public CMISQueryException(String msgId)
|
||||
{
|
||||
super(msgId);
|
||||
// TODO Auto-generated constructor stub
|
||||
}
|
||||
|
||||
/**
|
||||
* @param msgId
|
||||
* @param msgParams
|
||||
*/
|
||||
public CMISQueryException(String msgId, Object[] msgParams)
|
||||
{
|
||||
super(msgId, msgParams);
|
||||
// TODO Auto-generated constructor stub
|
||||
}
|
||||
|
||||
/**
|
||||
* @param msgId
|
||||
* @param cause
|
||||
*/
|
||||
public CMISQueryException(String msgId, Throwable cause)
|
||||
{
|
||||
super(msgId, cause);
|
||||
// TODO Auto-generated constructor stub
|
||||
}
|
||||
|
||||
/**
|
||||
* @param msgId
|
||||
* @param msgParams
|
||||
* @param cause
|
||||
*/
|
||||
public CMISQueryException(String msgId, Object[] msgParams, Throwable cause)
|
||||
{
|
||||
super(msgId, msgParams, cause);
|
||||
// TODO Auto-generated constructor stub
|
||||
}
|
||||
|
||||
}
|
@@ -1,95 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2005-2007 Alfresco Software Limited.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
|
||||
* As a special exception to the terms and conditions of version 2.0 of
|
||||
* the GPL, you may redistribute this Program in connection with Free/Libre
|
||||
* and Open Source Software ("FLOSS") applications as described in Alfresco's
|
||||
* FLOSS exception. You should have recieved a copy of the text describing
|
||||
* the FLOSS exception, and it is also available here:
|
||||
* http://www.alfresco.com/legal/licensing"
|
||||
*/
|
||||
package org.alfresco.cmis.search;
|
||||
|
||||
import java.util.Locale;
|
||||
|
||||
import org.alfresco.i18n.I18NUtil;
|
||||
import org.alfresco.repo.search.impl.querymodel.QueryOptions;
|
||||
import org.alfresco.service.cmr.repository.StoreRef;
|
||||
|
||||
/**
|
||||
* The options for a CMIS query
|
||||
*
|
||||
* @author andyh
|
||||
*/
|
||||
public class CMISQueryOptions extends QueryOptions
|
||||
{
|
||||
public enum CMISQueryMode
|
||||
{
|
||||
CMS_STRICT, CMS_WITH_ALFRESCO_EXTENSIONS ;
|
||||
}
|
||||
|
||||
|
||||
private CMISQueryMode queryMode = CMISQueryMode.CMS_STRICT;
|
||||
|
||||
/**
|
||||
* Create a CMISQueryOptions instance with the default options other than the query and store ref.
|
||||
* The query will be run using the locale returned by I18NUtil.getLocale()
|
||||
*
|
||||
* @param query - the query to run
|
||||
* @param storeRef - the store against which to run the query
|
||||
*/
|
||||
public CMISQueryOptions(String query, StoreRef storeRef)
|
||||
{
|
||||
this(query, storeRef, I18NUtil.getLocale());
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a CMISQueryOptions instance with the default options other than the query, store ref and locale.
|
||||
*
|
||||
* @param query - the query to run
|
||||
* @param storeRef - the store against which to run the query
|
||||
*/
|
||||
public CMISQueryOptions(String query, StoreRef storeRef, Locale locale)
|
||||
{
|
||||
super(query, storeRef, locale);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Get the query mode.
|
||||
*
|
||||
* @return the queryMode
|
||||
*/
|
||||
public CMISQueryMode getQueryMode()
|
||||
{
|
||||
return queryMode;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the query mode.
|
||||
*
|
||||
* @param queryMode the queryMode to set
|
||||
*/
|
||||
public void setQueryMode(CMISQueryMode queryMode)
|
||||
{
|
||||
this.queryMode = queryMode;
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -22,7 +22,7 @@
|
||||
* the FLOSS exception, and it is also available here:
|
||||
* http://www.alfresco.com/legal/licensing"
|
||||
*/
|
||||
package org.alfresco.cmis.search.impl;
|
||||
package org.alfresco.cmis.search;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
@@ -33,15 +33,15 @@ import java.util.Map;
|
||||
import java.util.StringTokenizer;
|
||||
|
||||
import org.alfresco.cmis.CMISCardinalityEnum;
|
||||
import org.alfresco.cmis.CMISDictionaryService;
|
||||
import org.alfresco.cmis.CMISJoinEnum;
|
||||
import org.alfresco.cmis.dictionary.CMISDictionaryService;
|
||||
import org.alfresco.cmis.dictionary.CMISPropertyDefinition;
|
||||
import org.alfresco.cmis.dictionary.CMISPropertyId;
|
||||
import org.alfresco.cmis.dictionary.CMISScope;
|
||||
import org.alfresco.cmis.dictionary.CMISTypeDefinition;
|
||||
import org.alfresco.cmis.search.CMISQueryException;
|
||||
import org.alfresco.cmis.search.CMISQueryOptions;
|
||||
import org.alfresco.cmis.search.CMISQueryOptions.CMISQueryMode;
|
||||
import org.alfresco.cmis.CMISPropertyDefinition;
|
||||
import org.alfresco.cmis.CMISPropertyId;
|
||||
import org.alfresco.cmis.CMISQueryException;
|
||||
import org.alfresco.cmis.CMISQueryOptions;
|
||||
import org.alfresco.cmis.CMISScope;
|
||||
import org.alfresco.cmis.CMISTypeDefinition;
|
||||
import org.alfresco.cmis.CMISQueryOptions.CMISQueryMode;
|
||||
import org.alfresco.repo.search.impl.parsers.CMISLexer;
|
||||
import org.alfresco.repo.search.impl.parsers.CMISParser;
|
||||
import org.alfresco.repo.search.impl.parsers.FTSLexer;
|
@@ -1,85 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2005-2007 Alfresco Software Limited.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
|
||||
* As a special exception to the terms and conditions of version 2.0 of
|
||||
* the GPL, you may redistribute this Program in connection with Free/Libre
|
||||
* and Open Source Software ("FLOSS") applications as described in Alfresco's
|
||||
* FLOSS exception. You should have recieved a copy of the text describing
|
||||
* the FLOSS exception, and it is also available here:
|
||||
* http://www.alfresco.com/legal/licensing"
|
||||
*/
|
||||
package org.alfresco.cmis.search;
|
||||
|
||||
import org.alfresco.cmis.CMISFullTextSearchEnum;
|
||||
import org.alfresco.cmis.CMISJoinEnum;
|
||||
import org.alfresco.cmis.CMISQueryEnum;
|
||||
|
||||
/**
|
||||
* Support to execute CMIS queries
|
||||
*
|
||||
* @author andyh
|
||||
*
|
||||
*/
|
||||
public interface CMISQueryService
|
||||
{
|
||||
/**
|
||||
* Execute a CMIS query as defined by options
|
||||
*
|
||||
* @param options
|
||||
* @return a result set
|
||||
*/
|
||||
public CMISResultSet query(CMISQueryOptions options);
|
||||
|
||||
/**
|
||||
* Execute a CMIS query with all the default options;
|
||||
*
|
||||
* @param query
|
||||
* @return
|
||||
*/
|
||||
public CMISResultSet query(String query);
|
||||
|
||||
|
||||
/**
|
||||
* Get the query support level
|
||||
*/
|
||||
public CMISQueryEnum getQuerySupport();
|
||||
|
||||
/**
|
||||
* Get the join support level in queries.
|
||||
*/
|
||||
public CMISJoinEnum getJoinSupport();
|
||||
|
||||
/**
|
||||
* Get the full text search support level in queries.
|
||||
*/
|
||||
public CMISFullTextSearchEnum getFullTextSearchSupport();
|
||||
|
||||
/**
|
||||
* Can you query Private Working Copies of a document.
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public boolean getPwcSearchable();
|
||||
|
||||
/**
|
||||
* Can you query non-latest versions of a document.
|
||||
* The current latest version is always searchable according to the type definition.
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public boolean getAllVersionsSearchable();
|
||||
}
|
@@ -22,22 +22,20 @@
|
||||
* the FLOSS exception, and it is also available here:
|
||||
* http://www.alfresco.com/legal/licensing"
|
||||
*/
|
||||
package org.alfresco.cmis.search.impl;
|
||||
package org.alfresco.cmis.search;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
import org.alfresco.cmis.CMISDictionaryService;
|
||||
import org.alfresco.cmis.CMISFullTextSearchEnum;
|
||||
import org.alfresco.cmis.CMISJoinEnum;
|
||||
import org.alfresco.cmis.CMISQueryEnum;
|
||||
import org.alfresco.cmis.CMISService;
|
||||
import org.alfresco.cmis.dictionary.CMISDictionaryService;
|
||||
import org.alfresco.cmis.search.CMISQueryOptions;
|
||||
import org.alfresco.cmis.search.CMISQueryService;
|
||||
import org.alfresco.cmis.search.CMISResultSet;
|
||||
import org.alfresco.cmis.search.CMISResultSetImpl;
|
||||
import org.alfresco.cmis.search.CmisFunctionEvaluationContext;
|
||||
import org.alfresco.cmis.CMISQueryOptions;
|
||||
import org.alfresco.cmis.CMISQueryService;
|
||||
import org.alfresco.cmis.CMISResultSet;
|
||||
import org.alfresco.cmis.CMISServices;
|
||||
import org.alfresco.repo.search.impl.querymodel.Query;
|
||||
import org.alfresco.repo.search.impl.querymodel.QueryEngine;
|
||||
import org.alfresco.repo.search.impl.querymodel.QueryEngineResults;
|
||||
@@ -49,7 +47,7 @@ import org.alfresco.service.cmr.search.ResultSet;
|
||||
*/
|
||||
public class CMISQueryServiceImpl implements CMISQueryService
|
||||
{
|
||||
private CMISService cmisService;
|
||||
private CMISServices cmisService;
|
||||
|
||||
private CMISDictionaryService cmisDictionaryService;
|
||||
|
||||
@@ -61,7 +59,7 @@ public class CMISQueryServiceImpl implements CMISQueryService
|
||||
* @param service
|
||||
* the service to set
|
||||
*/
|
||||
public void setCMISService(CMISService cmisService)
|
||||
public void setCMISService(CMISServices cmisService)
|
||||
{
|
||||
this.cmisService = cmisService;
|
||||
}
|
@@ -1,84 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2005-2007 Alfresco Software Limited.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
|
||||
* As a special exception to the terms and conditions of version 2.0 of
|
||||
* the GPL, you may redistribute this Program in connection with Free/Libre
|
||||
* and Open Source Software ("FLOSS") applications as described in Alfresco's
|
||||
* FLOSS exception. You should have recieved a copy of the text describing
|
||||
* the FLOSS exception, and it is also available here:
|
||||
* http://www.alfresco.com/legal/licensing"
|
||||
*/
|
||||
package org.alfresco.cmis.search;
|
||||
|
||||
|
||||
/**
|
||||
* A CMIS result set
|
||||
*
|
||||
* @author andyh
|
||||
*
|
||||
*/
|
||||
public interface CMISResultSet extends Iterable<CMISResultSetRow>
|
||||
{
|
||||
/**
|
||||
* Get the result set meta-data.
|
||||
* @return
|
||||
*/
|
||||
public CMISResultSetMetaData getMetaData();
|
||||
|
||||
/**
|
||||
* Get the start point for this results set in the overall
|
||||
* set of rows that match the query - this will be equal to the skip count
|
||||
* set when executing the query.
|
||||
* @return
|
||||
*/
|
||||
public int getStart();
|
||||
|
||||
/**
|
||||
* Get the number of rows in this result set.
|
||||
*
|
||||
* This will be less than or equal to the maximum number of rows requested or
|
||||
* the full length if no restriction on length is specified.
|
||||
*
|
||||
* If a skip count is given, the length represents the number of results
|
||||
* after the skip count and does not include the items skipped.
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public int getLength();
|
||||
|
||||
/**
|
||||
* Close the result set and release any resources held/
|
||||
* The result set is also bound to the transaction and will auto close at
|
||||
* the end of the transaction.
|
||||
*/
|
||||
public void close();
|
||||
|
||||
/**
|
||||
* Was this result set curtailed - are there more pages to the result set?
|
||||
* @return
|
||||
*/
|
||||
public boolean hasMore();
|
||||
|
||||
|
||||
/**
|
||||
* Get the given row
|
||||
* @param i -the position in this result set - start + i gives the position in the overall result set
|
||||
* @return
|
||||
*/
|
||||
public CMISResultSetRow getRow(int i);
|
||||
|
||||
}
|
@@ -1,55 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2005-2007 Alfresco Software Limited.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
|
||||
* As a special exception to the terms and conditions of version 2.0 of
|
||||
* the GPL, you may redistribute this Program in connection with Free/Libre
|
||||
* and Open Source Software ("FLOSS") applications as described in Alfresco's
|
||||
* FLOSS exception. You should have recieved a copy of the text describing
|
||||
* the FLOSS exception, and it is also available here:
|
||||
* http://www.alfresco.com/legal/licensing"
|
||||
*/
|
||||
package org.alfresco.cmis.search;
|
||||
|
||||
import org.alfresco.cmis.CMISDataTypeEnum;
|
||||
import org.alfresco.cmis.dictionary.CMISPropertyDefinition;
|
||||
|
||||
/**
|
||||
* The column meta data for a result set
|
||||
*
|
||||
* @author andyh
|
||||
*
|
||||
*/
|
||||
public interface CMISResultSetColumn
|
||||
{
|
||||
/**
|
||||
* The column name
|
||||
* @return - the column name
|
||||
*/
|
||||
public String getName();
|
||||
|
||||
/**
|
||||
* The property definition if there is one for the column
|
||||
* @return - the property definition or null if it does not make sense for the column
|
||||
*/
|
||||
public CMISPropertyDefinition getPropertyDefinition();
|
||||
|
||||
/**
|
||||
* The type of the column
|
||||
* @return - the CMIS type for the column
|
||||
*/
|
||||
public CMISDataTypeEnum getPropertyType();
|
||||
}
|
@@ -25,7 +25,8 @@
|
||||
package org.alfresco.cmis.search;
|
||||
|
||||
import org.alfresco.cmis.CMISDataTypeEnum;
|
||||
import org.alfresco.cmis.dictionary.CMISPropertyDefinition;
|
||||
import org.alfresco.cmis.CMISPropertyDefinition;
|
||||
import org.alfresco.cmis.CMISResultSetColumn;
|
||||
|
||||
/**
|
||||
* @author andyh
|
||||
|
@@ -31,7 +31,11 @@ import java.util.Iterator;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
import org.alfresco.cmis.dictionary.CMISDictionaryService;
|
||||
import org.alfresco.cmis.CMISDictionaryService;
|
||||
import org.alfresco.cmis.CMISQueryOptions;
|
||||
import org.alfresco.cmis.CMISResultSet;
|
||||
import org.alfresco.cmis.CMISResultSetMetaData;
|
||||
import org.alfresco.cmis.CMISResultSetRow;
|
||||
import org.alfresco.repo.search.impl.querymodel.Query;
|
||||
import org.alfresco.service.cmr.repository.NodeRef;
|
||||
import org.alfresco.service.cmr.repository.NodeService;
|
||||
|
@@ -1,78 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2005-2007 Alfresco Software Limited.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
|
||||
* As a special exception to the terms and conditions of version 2.0 of
|
||||
* the GPL, you may redistribute this Program in connection with Free/Libre
|
||||
* and Open Source Software ("FLOSS") applications as described in Alfresco's
|
||||
* FLOSS exception. You should have recieved a copy of the text describing
|
||||
* the FLOSS exception, and it is also available here:
|
||||
* http://www.alfresco.com/legal/licensing"
|
||||
*/
|
||||
package org.alfresco.cmis.search;
|
||||
|
||||
/**
|
||||
* The meta data associated with a result set
|
||||
*
|
||||
* @author andyh
|
||||
*
|
||||
*/
|
||||
public interface CMISResultSetMetaData
|
||||
{
|
||||
/**
|
||||
* The selector meta-data.
|
||||
* @return - the selector meta-data.
|
||||
*/
|
||||
public CMISResultSetSelector[] getSelectors();
|
||||
|
||||
/**
|
||||
* The column meta-data.
|
||||
* @return - the column meta-data.
|
||||
*/
|
||||
public CMISResultSetColumn[] getColumns();
|
||||
|
||||
/**
|
||||
* Get the query options used to create this result set
|
||||
* @return the query options
|
||||
*/
|
||||
public CMISQueryOptions getQueryOptions();
|
||||
|
||||
/**
|
||||
* Get the names of the selectors.
|
||||
* @return - the selector names.
|
||||
*/
|
||||
public String[] getSelectorNames();
|
||||
|
||||
/**
|
||||
* Get the column names.
|
||||
* @return - the names of the columns.
|
||||
*/
|
||||
public String[] getColumnNames();
|
||||
|
||||
/**
|
||||
* Get the selector meta-data by name.
|
||||
* @param name
|
||||
* @return - the selector meta-data.
|
||||
*/
|
||||
public CMISResultSetSelector getSelector(String name);
|
||||
|
||||
/**
|
||||
* Get the column meta-data by column name.
|
||||
* @param name
|
||||
* @return - the column meta-data.
|
||||
*/
|
||||
public CMISResultSetColumn getColumn(String name);
|
||||
}
|
@@ -28,9 +28,13 @@ import java.util.LinkedHashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import org.alfresco.cmis.CMISDataTypeEnum;
|
||||
import org.alfresco.cmis.dictionary.CMISDictionaryService;
|
||||
import org.alfresco.cmis.dictionary.CMISPropertyDefinition;
|
||||
import org.alfresco.cmis.dictionary.CMISTypeDefinition;
|
||||
import org.alfresco.cmis.CMISDictionaryService;
|
||||
import org.alfresco.cmis.CMISPropertyDefinition;
|
||||
import org.alfresco.cmis.CMISQueryOptions;
|
||||
import org.alfresco.cmis.CMISResultSetColumn;
|
||||
import org.alfresco.cmis.CMISResultSetMetaData;
|
||||
import org.alfresco.cmis.CMISResultSetSelector;
|
||||
import org.alfresco.cmis.CMISTypeDefinition;
|
||||
import org.alfresco.repo.search.impl.querymodel.Column;
|
||||
import org.alfresco.repo.search.impl.querymodel.PropertyArgument;
|
||||
import org.alfresco.repo.search.impl.querymodel.Query;
|
||||
|
@@ -1,98 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2005-2007 Alfresco Software Limited.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
|
||||
* As a special exception to the terms and conditions of version 2.0 of
|
||||
* the GPL, you may redistribute this Program in connection with Free/Libre
|
||||
* and Open Source Software ("FLOSS") applications as described in Alfresco's
|
||||
* FLOSS exception. You should have recieved a copy of the text describing
|
||||
* the FLOSS exception, and it is also available here:
|
||||
* http://www.alfresco.com/legal/licensing"
|
||||
*/
|
||||
package org.alfresco.cmis.search;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Map;
|
||||
|
||||
import org.alfresco.service.cmr.repository.NodeRef;
|
||||
|
||||
/**
|
||||
* A row in a CMISResultSet
|
||||
*
|
||||
* @author andyh
|
||||
*
|
||||
*/
|
||||
public interface CMISResultSetRow
|
||||
{
|
||||
/**
|
||||
* Get all the column data.
|
||||
* @return - a map of serializable column values with teh column name as the key
|
||||
*/
|
||||
public Map<String, Serializable> getValues();
|
||||
|
||||
/**
|
||||
* Get the data for a single column
|
||||
* @param columnName
|
||||
* @return the value
|
||||
*/
|
||||
public Serializable getValue(String columnName);
|
||||
|
||||
/**
|
||||
* Get the overall score.
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public float getScore();
|
||||
|
||||
/**
|
||||
* Get the scores .
|
||||
* @return a map of selector name to score.
|
||||
*/
|
||||
public Map<String, Float> getScores();
|
||||
|
||||
/**
|
||||
* Get the score related to the named selector.
|
||||
* @param selectorName
|
||||
* @return - the score.
|
||||
*/
|
||||
public float getScore(String selectorName);
|
||||
|
||||
/**
|
||||
* Gets the node refs
|
||||
* @return a map of selector name to node ref
|
||||
*/
|
||||
public Map<String, NodeRef> getNodeRefs();
|
||||
|
||||
/**
|
||||
* Gets the node ref related to the named selector
|
||||
* @param selectorName
|
||||
* @return the node ref
|
||||
*/
|
||||
public NodeRef getNodeRef(String selectorName);
|
||||
|
||||
/**
|
||||
* Get the index of this result set in the result set
|
||||
* If you want the overall position in paged reults you have to add the skipCount fo the result set.
|
||||
* @return
|
||||
*/
|
||||
public int getIndex();
|
||||
|
||||
/**
|
||||
* Get the result set for which this row is a member.
|
||||
* @return - the result set.
|
||||
*/
|
||||
public CMISResultSet getResultSet();
|
||||
}
|
@@ -28,7 +28,9 @@ import java.io.Serializable;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import org.alfresco.cmis.dictionary.CMISDictionaryService;
|
||||
import org.alfresco.cmis.CMISDictionaryService;
|
||||
import org.alfresco.cmis.CMISResultSet;
|
||||
import org.alfresco.cmis.CMISResultSetRow;
|
||||
import org.alfresco.repo.search.impl.querymodel.Column;
|
||||
import org.alfresco.repo.search.impl.querymodel.Query;
|
||||
import org.alfresco.service.cmr.repository.NodeRef;
|
||||
|
@@ -26,6 +26,9 @@ package org.alfresco.cmis.search;
|
||||
|
||||
import java.util.ListIterator;
|
||||
|
||||
import org.alfresco.cmis.CMISResultSet;
|
||||
import org.alfresco.cmis.CMISResultSetRow;
|
||||
|
||||
/**
|
||||
* @author andyh
|
||||
*/
|
||||
|
@@ -1,49 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2005-2007 Alfresco Software Limited.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
|
||||
* As a special exception to the terms and conditions of version 2.0 of
|
||||
* the GPL, you may redistribute this Program in connection with Free/Libre
|
||||
* and Open Source Software ("FLOSS") applications as described in Alfresco's
|
||||
* FLOSS exception. You should have recieved a copy of the text describing
|
||||
* the FLOSS exception, and it is also available here:
|
||||
* http://www.alfresco.com/legal/licensing"
|
||||
*/
|
||||
package org.alfresco.cmis.search;
|
||||
|
||||
import org.alfresco.cmis.dictionary.CMISTypeDefinition;
|
||||
|
||||
/**
|
||||
* The meta-data for a result set selector.
|
||||
*
|
||||
* @author andyh
|
||||
*
|
||||
*/
|
||||
public interface CMISResultSetSelector
|
||||
{
|
||||
/**
|
||||
* The name of the selector
|
||||
* @return - the selector name
|
||||
*/
|
||||
public String getName();
|
||||
|
||||
/**
|
||||
* Get the type definition for the selector.
|
||||
* @return - the CMIS type definition.
|
||||
*/
|
||||
public CMISTypeDefinition getTypeDefinition();
|
||||
|
||||
}
|
@@ -24,7 +24,8 @@
|
||||
*/
|
||||
package org.alfresco.cmis.search;
|
||||
|
||||
import org.alfresco.cmis.dictionary.CMISTypeDefinition;
|
||||
import org.alfresco.cmis.CMISResultSetSelector;
|
||||
import org.alfresco.cmis.CMISTypeDefinition;
|
||||
|
||||
/**
|
||||
* @author andyh
|
||||
|
@@ -28,8 +28,8 @@ import java.io.Serializable;
|
||||
import java.util.Collection;
|
||||
import java.util.Map;
|
||||
|
||||
import org.alfresco.cmis.dictionary.CMISDictionaryService;
|
||||
import org.alfresco.cmis.dictionary.CMISPropertyDefinition;
|
||||
import org.alfresco.cmis.CMISDictionaryService;
|
||||
import org.alfresco.cmis.CMISPropertyDefinition;
|
||||
import org.alfresco.repo.search.impl.lucene.LuceneQueryParser;
|
||||
import org.alfresco.repo.search.impl.querymodel.FunctionEvaluationContext;
|
||||
import org.alfresco.repo.search.impl.querymodel.PredicateMode;
|
||||
|
@@ -34,10 +34,15 @@ import java.util.List;
|
||||
import java.util.Locale;
|
||||
import java.util.Map;
|
||||
|
||||
import org.alfresco.cmis.dictionary.BaseCMISTest;
|
||||
import org.alfresco.cmis.dictionary.CMISDictionaryModel;
|
||||
import org.alfresco.cmis.dictionary.CMISTypeDefinition;
|
||||
import org.alfresco.cmis.search.CMISQueryOptions.CMISQueryMode;
|
||||
import org.alfresco.cmis.CMISDictionaryModel;
|
||||
import org.alfresco.cmis.CMISQueryException;
|
||||
import org.alfresco.cmis.CMISQueryOptions;
|
||||
import org.alfresco.cmis.CMISResultSet;
|
||||
import org.alfresco.cmis.CMISResultSetMetaData;
|
||||
import org.alfresco.cmis.CMISResultSetRow;
|
||||
import org.alfresco.cmis.CMISTypeDefinition;
|
||||
import org.alfresco.cmis.CMISQueryOptions.CMISQueryMode;
|
||||
import org.alfresco.cmis.mapping.BaseCMISTest;
|
||||
import org.alfresco.model.ContentModel;
|
||||
import org.alfresco.repo.search.impl.parsers.CMISLexer;
|
||||
import org.alfresco.repo.search.impl.parsers.CMISParser;
|
||||
|
Reference in New Issue
Block a user