mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-10-01 14:41:46 +00:00
SEARCH-2454 Remove old lucene (#23)
This PR removes legacy Lucene code and dependency to the lucene 2.4.1 library. The data type analysers were removed with an exception of the definitions in models (datadictionaryModel.xml and cmisModel.xml) to be backwards compatible with existing components (like older versions of Search Services) and to ensure the current old-style models can still work with repository and pass validation.
This commit is contained in:
@@ -117,12 +117,6 @@ public class CustomModelDefinitionImpl implements CustomModelDefinition
|
||||
return this.active;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getAnalyserResourceBundleName()
|
||||
{
|
||||
return m2ModelDefinition.getAnalyserResourceBundleName();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getAuthor()
|
||||
{
|
||||
|
@@ -280,11 +280,6 @@ public interface DictionaryDAO extends ModelQuery
|
||||
// MT-specific
|
||||
boolean isModelInherited(QName name);
|
||||
|
||||
/**
|
||||
* @return String
|
||||
*/
|
||||
String getDefaultAnalyserResourceBundleName();
|
||||
|
||||
/**
|
||||
* @return ClassLoader
|
||||
*/
|
||||
|
@@ -101,18 +101,6 @@ public class DictionaryDAOImpl implements DictionaryDAO, NamespaceDAO,
|
||||
this.dictionaryRegistryCache = dictionaryRegistryCache;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getDefaultAnalyserResourceBundleName()
|
||||
{
|
||||
return defaultAnalyserResourceBundleName;
|
||||
}
|
||||
|
||||
public void setDefaultAnalyserResourceBundleName(
|
||||
String defaultAnalyserResourceBundleName)
|
||||
{
|
||||
this.defaultAnalyserResourceBundleName = defaultAnalyserResourceBundleName;
|
||||
}
|
||||
|
||||
/**
|
||||
* Construct
|
||||
*
|
||||
|
@@ -234,15 +234,6 @@ import org.alfresco.service.namespace.QName;
|
||||
return Collections.unmodifiableMap(childassociations);
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.alfresco.service.cmr.dictionary.ClassDefinition#getAnalyserResourceBundleName()
|
||||
*/
|
||||
@Override
|
||||
public String getAnalyserResourceBundleName()
|
||||
{
|
||||
return type.getAnalyserResourceBundleName();
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.alfresco.service.cmr.dictionary.ClassDefinition#getParentClassDefinition()
|
||||
*/
|
||||
|
@@ -48,7 +48,7 @@ public abstract class M2Class
|
||||
private Boolean archive = null;
|
||||
private Boolean includedInSuperTypeQuery = null;
|
||||
private String analyserResourceBundleName = null;
|
||||
|
||||
|
||||
private List<M2Property> properties = new ArrayList<M2Property>();
|
||||
private List<M2PropertyOverride> propertyOverrides = new ArrayList<M2PropertyOverride>();
|
||||
private List<M2ClassAssociation> associations = new ArrayList<M2ClassAssociation>();
|
||||
@@ -270,19 +270,6 @@ public abstract class M2Class
|
||||
{
|
||||
return Collections.unmodifiableList(mandatoryAspects);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return String
|
||||
*/
|
||||
public String getAnalyserResourceBundleName()
|
||||
{
|
||||
return analyserResourceBundleName;
|
||||
}
|
||||
|
||||
public void setAnalyserResourceBundleName(String analyserResourceBundleName)
|
||||
{
|
||||
this.analyserResourceBundleName = analyserResourceBundleName;
|
||||
}
|
||||
|
||||
public void setConfigProperties(Properties configProperties)
|
||||
{
|
||||
|
@@ -206,8 +206,6 @@ import org.alfresco.util.EqualsHelper;
|
||||
defaultAspectNames.add(name);
|
||||
}
|
||||
}
|
||||
|
||||
this.analyserResourceBundleName = m2Class.getAnalyserResourceBundleName();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -761,15 +759,6 @@ import org.alfresco.util.EqualsHelper;
|
||||
return modelDiffs;
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.alfresco.service.cmr.dictionary.ClassDefinition#getAnalyserResourceBundleName()
|
||||
*/
|
||||
@Override
|
||||
public String getAnalyserResourceBundleName()
|
||||
{
|
||||
return analyserResourceBundleName;
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.alfresco.service.cmr.dictionary.ClassDefinition#getParentClassDefinition()
|
||||
*/
|
||||
|
@@ -40,86 +40,50 @@ public class M2DataType
|
||||
private String defaultAnalyserClassName = null;
|
||||
private String javaClassName = null;
|
||||
private String analyserResourceBundleName = null;
|
||||
|
||||
|
||||
|
||||
|
||||
/*package*/ M2DataType()
|
||||
{
|
||||
super();
|
||||
}
|
||||
|
||||
|
||||
public String getName()
|
||||
{
|
||||
return name;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public void setName(String name)
|
||||
{
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
|
||||
public String getTitle()
|
||||
{
|
||||
return title;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public void setTitle(String title)
|
||||
{
|
||||
this.title = title;
|
||||
}
|
||||
|
||||
|
||||
public String getDescription()
|
||||
{
|
||||
return description;
|
||||
}
|
||||
|
||||
|
||||
public void setDescription(String description)
|
||||
{
|
||||
this.description = description;
|
||||
}
|
||||
|
||||
|
||||
public String getDefaultAnalyserClassName()
|
||||
{
|
||||
return defaultAnalyserClassName;
|
||||
}
|
||||
|
||||
|
||||
public void setDefaultAnalyserClassName(String defaultAnalyserClassName)
|
||||
{
|
||||
this.defaultAnalyserClassName = defaultAnalyserClassName;;
|
||||
}
|
||||
|
||||
|
||||
public String getJavaClassName()
|
||||
{
|
||||
return javaClassName;
|
||||
}
|
||||
|
||||
|
||||
public void setJavaClassName(String javaClassName)
|
||||
{
|
||||
this.javaClassName = javaClassName;;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @return String
|
||||
*/
|
||||
public String getAnalyserResourceBundleName()
|
||||
{
|
||||
return analyserResourceBundleName;
|
||||
}
|
||||
|
||||
|
||||
public void setAnalyserResourceBundleName(String analyserResourceBundleName)
|
||||
{
|
||||
this.analyserResourceBundleName = analyserResourceBundleName;
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -67,7 +67,6 @@ import org.alfresco.service.namespace.QName;
|
||||
throw new DictionaryException(ERR_NOT_DEFINED_NAMESPACE, name.toPrefixString(), name.getNamespaceURI(), model.getName().toPrefixString());
|
||||
}
|
||||
this.dataType = propertyType;
|
||||
this.analyserResourceBundleName = dataType.getAnalyserResourceBundleName();
|
||||
}
|
||||
|
||||
|
||||
@@ -146,108 +145,9 @@ import org.alfresco.service.namespace.QName;
|
||||
return value;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getDefaultAnalyserClassName()
|
||||
{
|
||||
return dataType.getDefaultAnalyserClassName();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getJavaClassName()
|
||||
{
|
||||
return dataType.getJavaClassName();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getAnalyserResourceBundleName()
|
||||
{
|
||||
return analyserResourceBundleName;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String resolveAnalyserClassName()
|
||||
{
|
||||
return resolveAnalyserClassName(I18NUtil.getLocale());
|
||||
}
|
||||
|
||||
/**
|
||||
* @param locale Locale
|
||||
* @return String
|
||||
*/
|
||||
@Override
|
||||
public String resolveAnalyserClassName(Locale locale)
|
||||
{
|
||||
ClassLoader resourceBundleClassLoader = getModel().getDictionaryDAO().getResourceClassLoader();
|
||||
if(resourceBundleClassLoader == null)
|
||||
{
|
||||
resourceBundleClassLoader = this.getClass().getClassLoader();
|
||||
}
|
||||
|
||||
StringBuilder keyBuilder = new StringBuilder(64);
|
||||
keyBuilder.append(getModel().getName().toPrefixString());
|
||||
keyBuilder.append(".datatype");
|
||||
keyBuilder.append(".").append(getName().toPrefixString());
|
||||
keyBuilder.append(".analyzer");
|
||||
String key = StringUtils.replace(keyBuilder.toString(), ":", "_");
|
||||
|
||||
String analyserClassName = null;
|
||||
|
||||
String defaultAnalyserResourceBundleName = this.getModel().getDictionaryDAO().getDefaultAnalyserResourceBundleName();
|
||||
if(defaultAnalyserResourceBundleName != null)
|
||||
{
|
||||
ResourceBundle bundle = ResourceBundle.getBundle(defaultAnalyserResourceBundleName, locale, resourceBundleClassLoader);
|
||||
if(bundle.containsKey(key))
|
||||
{
|
||||
analyserClassName = bundle.getString(key);
|
||||
}
|
||||
}
|
||||
|
||||
String analyserResourceBundleName;
|
||||
if(analyserClassName == null)
|
||||
{
|
||||
analyserResourceBundleName = dataType.getAnalyserResourceBundleName();
|
||||
if(analyserResourceBundleName != null)
|
||||
{
|
||||
ResourceBundle bundle = ResourceBundle.getBundle(analyserResourceBundleName, locale, resourceBundleClassLoader);
|
||||
if(bundle.containsKey(key))
|
||||
{
|
||||
analyserClassName = bundle.getString(key);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(analyserClassName == null)
|
||||
{
|
||||
analyserResourceBundleName = getModel().getAnalyserResourceBundleName();
|
||||
if(analyserResourceBundleName != null)
|
||||
{
|
||||
ResourceBundle bundle = ResourceBundle.getBundle(analyserResourceBundleName, locale, resourceBundleClassLoader);
|
||||
if(bundle.containsKey(key))
|
||||
{
|
||||
analyserClassName = bundle.getString(key);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(analyserClassName == null)
|
||||
{
|
||||
// MLTEXT should fall back to TEXT for analysis
|
||||
if(name.equals(DataTypeDefinition.MLTEXT))
|
||||
{
|
||||
analyserClassName = model.getDictionaryDAO().getDataType(DataTypeDefinition.TEXT).resolveAnalyserClassName(locale);
|
||||
if(analyserClassName == null)
|
||||
{
|
||||
analyserClassName = dataType.getDefaultAnalyserClassName();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
analyserClassName = dataType.getDefaultAnalyserClassName();
|
||||
}
|
||||
}
|
||||
|
||||
return analyserClassName;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
@@ -469,21 +469,6 @@ public class M2Model
|
||||
return new ArrayList();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @return String
|
||||
*/
|
||||
public String getAnalyserResourceBundleName()
|
||||
{
|
||||
return analyserResourceBundleName;
|
||||
}
|
||||
|
||||
|
||||
public void setAnalyserResourceBundleName(String analyserResourceBundleName)
|
||||
{
|
||||
this.analyserResourceBundleName = analyserResourceBundleName;
|
||||
}
|
||||
|
||||
public void setConfigProperties(Properties configProperties)
|
||||
{
|
||||
if (types != null)
|
||||
|
@@ -55,7 +55,6 @@ public class M2ModelDefinition implements ModelDefinition
|
||||
{
|
||||
this.name = QName.createQName(model.getName(), resolver);
|
||||
this.model = model;
|
||||
this.analyserResourceBundleName = model.getAnalyserResourceBundleName();
|
||||
this.dictionaryDAO = dictionaryDAO;
|
||||
}
|
||||
|
||||
@@ -175,17 +174,6 @@ public class M2ModelDefinition implements ModelDefinition
|
||||
return model.getChecksum(bindingType);
|
||||
}
|
||||
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.alfresco.service.cmr.dictionary.ModelDefinition#getAnalyserResourceBundleName()
|
||||
*/
|
||||
@Override
|
||||
public String getAnalyserResourceBundleName()
|
||||
{
|
||||
return analyserResourceBundleName;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public DictionaryDAO getDictionaryDAO()
|
||||
{
|
||||
|
@@ -312,20 +312,6 @@ public class M2Property
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @return String
|
||||
*/
|
||||
public String getAnalyserResourceBundleName()
|
||||
{
|
||||
return analyserResourceBundleName;
|
||||
}
|
||||
|
||||
|
||||
public void setAnalyserResourceBundleName(String analyserResourceBundleName)
|
||||
{
|
||||
this.analyserResourceBundleName = analyserResourceBundleName;
|
||||
}
|
||||
|
||||
public void setConfigProperties(Properties configProperties)
|
||||
{
|
||||
|
@@ -78,7 +78,6 @@ import org.springframework.util.StringUtils;
|
||||
// Resolve Names
|
||||
this.name = QName.createQName(m2Property.getName(), prefixResolver);
|
||||
this.propertyTypeName = QName.createQName(m2Property.getType(), prefixResolver);
|
||||
this.analyserResourceBundleName = m2Property.getAnalyserResourceBundleName();
|
||||
}
|
||||
|
||||
|
||||
@@ -689,119 +688,4 @@ import org.springframework.util.StringUtils;
|
||||
|
||||
return modelDiffs;
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.alfresco.service.cmr.dictionary.PropertyDefinition#getAnalyserResourceBundleName()
|
||||
*/
|
||||
@Override
|
||||
public String getAnalyserResourceBundleName()
|
||||
{
|
||||
return analyserResourceBundleName;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String resolveAnalyserClassName()
|
||||
{
|
||||
return resolveAnalyserClassName(I18NUtil.getLocale());
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.alfresco.service.cmr.dictionary.PropertyDefinition#getAnalyserClassName(java.lang.String, java.util.Locale)
|
||||
*/
|
||||
@Override
|
||||
public String resolveAnalyserClassName(Locale locale
|
||||
)
|
||||
{
|
||||
ClassLoader resourceBundleClassLoader = getModel().getDictionaryDAO().getResourceClassLoader();
|
||||
if(resourceBundleClassLoader == null)
|
||||
{
|
||||
resourceBundleClassLoader = this.getClass().getClassLoader();
|
||||
}
|
||||
|
||||
StringBuilder keyBuilder = new StringBuilder(64);
|
||||
keyBuilder.append(getDataType().getModel().getName().toPrefixString());
|
||||
keyBuilder.append(".datatype");
|
||||
keyBuilder.append(".").append(getDataType().getName().toPrefixString());
|
||||
keyBuilder.append(".analyzer");
|
||||
String key = StringUtils.replace(keyBuilder.toString(), ":", "_");
|
||||
|
||||
String analyserClassName = null;
|
||||
|
||||
String analyserResourceBundleName = getAnalyserResourceBundleName();
|
||||
if(analyserResourceBundleName != null)
|
||||
{
|
||||
ResourceBundle bundle = ResourceBundle.getBundle(analyserResourceBundleName, locale, resourceBundleClassLoader);
|
||||
if(bundle.containsKey(key))
|
||||
{
|
||||
analyserClassName = bundle.getString(key);
|
||||
}
|
||||
}
|
||||
|
||||
// walk containing class and its hierarchy
|
||||
|
||||
ClassDefinition classDefinition = null;
|
||||
ClassDefinition parentClassDefinition = null;
|
||||
while(analyserClassName == null)
|
||||
{
|
||||
if(classDefinition == null)
|
||||
{
|
||||
classDefinition = getContainerClass();
|
||||
}
|
||||
else
|
||||
{
|
||||
if(parentClassDefinition == null)
|
||||
{
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
classDefinition = parentClassDefinition;
|
||||
}
|
||||
}
|
||||
|
||||
parentClassDefinition = classDefinition.getParentClassDefinition();
|
||||
|
||||
analyserResourceBundleName = classDefinition.getAnalyserResourceBundleName();
|
||||
if(analyserResourceBundleName != null)
|
||||
{
|
||||
ResourceBundle bundle = ResourceBundle.getBundle(analyserResourceBundleName, locale, resourceBundleClassLoader);
|
||||
if(bundle.containsKey(key))
|
||||
{
|
||||
analyserClassName = bundle.getString(key);
|
||||
}
|
||||
}
|
||||
if(analyserClassName == null)
|
||||
{
|
||||
if((parentClassDefinition == null) || !classDefinition.getModel().getName().equals(parentClassDefinition.getModel().getName()))
|
||||
{
|
||||
analyserResourceBundleName = classDefinition.getModel().getAnalyserResourceBundleName();
|
||||
if(analyserResourceBundleName != null)
|
||||
{
|
||||
ResourceBundle bundle = ResourceBundle.getBundle(analyserResourceBundleName, locale, resourceBundleClassLoader);
|
||||
if(bundle.containsKey(key))
|
||||
{
|
||||
analyserClassName = bundle.getString(key);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
String defaultAnalyserResourceBundleName = this.getContainerClass().getModel().getDictionaryDAO().getDefaultAnalyserResourceBundleName();
|
||||
if(analyserClassName == null)
|
||||
{
|
||||
if(defaultAnalyserResourceBundleName != null)
|
||||
{
|
||||
ResourceBundle bundle = ResourceBundle.getBundle(defaultAnalyserResourceBundleName, locale, resourceBundleClassLoader);
|
||||
if(bundle.containsKey(key))
|
||||
{
|
||||
analyserClassName = bundle.getString(key);
|
||||
}
|
||||
}
|
||||
}
|
||||
if(analyserClassName == null)
|
||||
{
|
||||
analyserClassName = getDataType().resolveAnalyserClassName(locale);
|
||||
}
|
||||
return analyserClassName;
|
||||
}
|
||||
}
|
||||
|
@@ -12,7 +12,7 @@
|
||||
<value name="published" field="published" usage="optional"/>
|
||||
<value name="version" field="version" usage="optional"/>
|
||||
<value name="analyserResourceBundleName" field="analyserResourceBundleName" usage="optional"/>
|
||||
|
||||
|
||||
<structure name="imports" usage="optional">
|
||||
<collection field="imports" factory="org.alfresco.repo.dictionary.M2Model.createList">
|
||||
<structure name="import" type="org.alfresco.repo.dictionary.M2Namespace" usage="optional">
|
||||
@@ -37,7 +37,7 @@
|
||||
<value style="attribute" name="name" field="name"/>
|
||||
<value name="title" field="title" usage="optional"/>
|
||||
<value name="description" field="description" usage="optional"/>
|
||||
<value name="default-analyser-class" field="defaultAnalyserClassName"/>
|
||||
<value name="default-analyser-class" field="defaultAnalyserClassName" usage="optional"/>
|
||||
<value name="analyserResourceBundleName" field="analyserResourceBundleName" usage="optional"/>
|
||||
<value name="java-class" field="javaClassName"/>
|
||||
</structure>
|
||||
@@ -179,4 +179,4 @@
|
||||
<value name="propagateTimestamps" field="propagateTimestamps" usage="optional"/>
|
||||
</mapping>
|
||||
|
||||
</binding>
|
||||
</binding>
|
||||
|
@@ -149,12 +149,6 @@ public interface ClassDefinition
|
||||
*/
|
||||
public List<AspectDefinition> getDefaultAspects(boolean inherited);
|
||||
|
||||
/**
|
||||
* Get the name of the property bundle that defines analyser mappings for this class (keyed by the type of the property)
|
||||
* @return the resource or null if not set.
|
||||
*/
|
||||
public String getAnalyserResourceBundleName();
|
||||
|
||||
/**
|
||||
* Get the parent class definition
|
||||
*
|
||||
|
@@ -98,33 +98,8 @@ public interface DataTypeDefinition
|
||||
*/
|
||||
public String getDescription(MessageLookup messageLookup);
|
||||
|
||||
/**
|
||||
* Get the name of the property bundle that defines analyser mappings for this data type (keyed by the type of the property)
|
||||
* @return the resource or null if not set.
|
||||
*/
|
||||
public String getAnalyserResourceBundleName();
|
||||
|
||||
/**
|
||||
* @return the equivalent java class name (or null, if not mapped)
|
||||
*/
|
||||
public String getJavaClassName();
|
||||
|
||||
/**
|
||||
* Get the default analyser class - used when no resource bundles can be found and no repository default is set.
|
||||
* @return String
|
||||
*/
|
||||
public String getDefaultAnalyserClassName();
|
||||
|
||||
/**
|
||||
* @param locale
|
||||
* @return String
|
||||
*/
|
||||
public String resolveAnalyserClassName(Locale locale);
|
||||
|
||||
/**
|
||||
*
|
||||
* @return String
|
||||
*/
|
||||
public String resolveAnalyserClassName();
|
||||
|
||||
}
|
||||
|
@@ -105,12 +105,6 @@ public interface ModelDefinition
|
||||
|
||||
public long getChecksum(XMLBindingType bindingType);
|
||||
|
||||
/**
|
||||
* Get the name of the property bundle that defines analyser mappings for this model (keyed by the type of the property)
|
||||
* @return the resource or null if not set.
|
||||
*/
|
||||
public String getAnalyserResourceBundleName();
|
||||
|
||||
/**
|
||||
* @return DictionaryDAO
|
||||
*/
|
||||
|
@@ -161,22 +161,4 @@ public interface PropertyDefinition extends ClassAttributeDefinition
|
||||
* @return Returns a list of property constraint definitions
|
||||
*/
|
||||
public List<ConstraintDefinition> getConstraints();
|
||||
|
||||
/**
|
||||
* Get the name of the property bundle that defines analyser mappings for this class.
|
||||
* @return the resource or null if not set.
|
||||
*/
|
||||
public String getAnalyserResourceBundleName();
|
||||
|
||||
/**
|
||||
* @param locale Locale
|
||||
* @return String
|
||||
*/
|
||||
public String resolveAnalyserClassName(Locale locale);
|
||||
|
||||
/**
|
||||
*
|
||||
* @return String
|
||||
*/
|
||||
public String resolveAnalyserClassName();
|
||||
}
|
||||
|
Reference in New Issue
Block a user