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:
Alex Mukha
2020-10-19 14:15:27 +01:00
committed by GitHub
parent 88cb7a0be2
commit 7ddb31d5e8
161 changed files with 2738 additions and 16852 deletions

View File

@@ -117,12 +117,6 @@ public class CustomModelDefinitionImpl implements CustomModelDefinition
return this.active;
}
@Override
public String getAnalyserResourceBundleName()
{
return m2ModelDefinition.getAnalyserResourceBundleName();
}
@Override
public String getAuthor()
{

View File

@@ -280,11 +280,6 @@ public interface DictionaryDAO extends ModelQuery
// MT-specific
boolean isModelInherited(QName name);
/**
* @return String
*/
String getDefaultAnalyserResourceBundleName();
/**
* @return ClassLoader
*/

View File

@@ -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
*

View File

@@ -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()
*/

View File

@@ -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)
{

View File

@@ -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()
*/

View File

@@ -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;
}
}

View File

@@ -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;
}
}

View File

@@ -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)

View File

@@ -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()
{

View File

@@ -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)
{

View File

@@ -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;
}
}

View File

@@ -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>

View File

@@ -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
*

View File

@@ -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();
}

View File

@@ -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
*/

View File

@@ -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();
}