Test fix ups for extra locales and to support non-stored non-indexed properties

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4935 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Andrew Hind
2007-01-26 09:48:27 +00:00
parent 0cad146565
commit 3ba0f45817
2 changed files with 39 additions and 35 deletions

View File

@@ -71,7 +71,7 @@ public class MLAnaysisModeExpansionTest extends TestCase
{ {
HashSet<Locale> locales = new HashSet<Locale>(); HashSet<Locale> locales = new HashSet<Locale>();
locales.addAll(MLAnalysisMode.getLocales(MLAnalysisMode.LOCALE_AND_ALL_CONTAINED_LOCALES, new Locale("en", "", ""), false)); locales.addAll(MLAnalysisMode.getLocales(MLAnalysisMode.LOCALE_AND_ALL_CONTAINED_LOCALES, new Locale("en", "", ""), false));
assertEquals(9, locales.size()); assertTrue(locales.size()>= 9);
assertTrue(locales.contains(new Locale("en", "", ""))); assertTrue(locales.contains(new Locale("en", "", "")));
assertTrue(locales.contains(new Locale("en", "AU", ""))); assertTrue(locales.contains(new Locale("en", "AU", "")));
assertTrue(locales.contains(new Locale("en", "GB", ""))); assertTrue(locales.contains(new Locale("en", "GB", "")));
@@ -92,7 +92,7 @@ public class MLAnaysisModeExpansionTest extends TestCase
locales = new HashSet<Locale>(); locales = new HashSet<Locale>();
locales.addAll(MLAnalysisMode.getLocales(MLAnalysisMode.ALL_LANGUAGES, new Locale("en", "GB", ""), false)); locales.addAll(MLAnalysisMode.getLocales(MLAnalysisMode.ALL_LANGUAGES, new Locale("en", "GB", ""), false));
assertEquals(9, locales.size()); assertTrue(locales.size()>= 9);
assertTrue(locales.contains(new Locale("en", "", ""))); assertTrue(locales.contains(new Locale("en", "", "")));
assertTrue(locales.contains(new Locale("en", "AU", ""))); assertTrue(locales.contains(new Locale("en", "AU", "")));
assertTrue(locales.contains(new Locale("en", "GB", ""))); assertTrue(locales.contains(new Locale("en", "GB", "")));
@@ -105,7 +105,7 @@ public class MLAnaysisModeExpansionTest extends TestCase
locales = new HashSet<Locale>(); locales = new HashSet<Locale>();
locales.addAll(MLAnalysisMode.getLocales(MLAnalysisMode.ALL_LANGUAGES_AND_ALL, new Locale("en", "GB", ""), false)); locales.addAll(MLAnalysisMode.getLocales(MLAnalysisMode.ALL_LANGUAGES_AND_ALL, new Locale("en", "GB", ""), false));
assertEquals(10, locales.size()); assertTrue(locales.size()>= 10);
assertTrue(locales.contains(new Locale("", "", ""))); assertTrue(locales.contains(new Locale("", "", "")));
assertTrue(locales.contains(new Locale("en", "", ""))); assertTrue(locales.contains(new Locale("en", "", "")));
assertTrue(locales.contains(new Locale("en", "AU", ""))); assertTrue(locales.contains(new Locale("en", "AU", "")));
@@ -146,7 +146,7 @@ public class MLAnaysisModeExpansionTest extends TestCase
locales = new HashSet<Locale>(); locales = new HashSet<Locale>();
locales.addAll(MLAnalysisMode.getLocales(MLAnalysisMode.ALL_COUNTRIES, new Locale("en", "", ""), false)); locales.addAll(MLAnalysisMode.getLocales(MLAnalysisMode.ALL_COUNTRIES, new Locale("en", "", ""), false));
assertEquals(9, locales.size()); assertTrue(locales.size()>= 9);
assertTrue(locales.contains(new Locale("en", "", ""))); assertTrue(locales.contains(new Locale("en", "", "")));
assertTrue(locales.contains(new Locale("en", "AU", ""))); assertTrue(locales.contains(new Locale("en", "AU", "")));
assertTrue(locales.contains(new Locale("en", "GB", ""))); assertTrue(locales.contains(new Locale("en", "GB", "")));
@@ -164,7 +164,7 @@ public class MLAnaysisModeExpansionTest extends TestCase
locales = new HashSet<Locale>(); locales = new HashSet<Locale>();
locales.addAll(MLAnalysisMode.getLocales(MLAnalysisMode.ALL_COUNTRIES_AND_ALL, new Locale("en", "", ""), false)); locales.addAll(MLAnalysisMode.getLocales(MLAnalysisMode.ALL_COUNTRIES_AND_ALL, new Locale("en", "", ""), false));
assertEquals(10, locales.size()); assertTrue(locales.size()>= 10);
assertTrue(locales.contains(new Locale("", "", ""))); assertTrue(locales.contains(new Locale("", "", "")));
assertTrue(locales.contains(new Locale("en", "", ""))); assertTrue(locales.contains(new Locale("en", "", "")));
assertTrue(locales.contains(new Locale("en", "AU", ""))); assertTrue(locales.contains(new Locale("en", "AU", "")));
@@ -197,7 +197,7 @@ public class MLAnaysisModeExpansionTest extends TestCase
locales = new HashSet<Locale>(); locales = new HashSet<Locale>();
locales.addAll(MLAnalysisMode.getLocales(MLAnalysisMode.EXACT_COUNRTY, new Locale("en", "", ""), false)); locales.addAll(MLAnalysisMode.getLocales(MLAnalysisMode.EXACT_COUNRTY, new Locale("en", "", ""), false));
assertEquals(9, locales.size()); assertTrue(locales.size()>= 9);
assertTrue(locales.contains(new Locale("en", "", ""))); assertTrue(locales.contains(new Locale("en", "", "")));
assertTrue(locales.contains(new Locale("en", "AU", ""))); assertTrue(locales.contains(new Locale("en", "AU", "")));
assertTrue(locales.contains(new Locale("en", "GB", ""))); assertTrue(locales.contains(new Locale("en", "GB", "")));
@@ -216,7 +216,7 @@ public class MLAnaysisModeExpansionTest extends TestCase
locales = new HashSet<Locale>(); locales = new HashSet<Locale>();
locales.addAll(MLAnalysisMode.getLocales(MLAnalysisMode.EXACT_COUNTRY_AND_ALL, new Locale("en", "", ""), false)); locales.addAll(MLAnalysisMode.getLocales(MLAnalysisMode.EXACT_COUNTRY_AND_ALL, new Locale("en", "", ""), false));
assertEquals(10, locales.size()); assertTrue(locales.size()>= 10);
assertTrue(locales.contains(new Locale("", "", ""))); assertTrue(locales.contains(new Locale("", "", "")));
assertTrue(locales.contains(new Locale("en", "", ""))); assertTrue(locales.contains(new Locale("en", "", "")));
assertTrue(locales.contains(new Locale("en", "AU", ""))); assertTrue(locales.contains(new Locale("en", "AU", "")));

View File

@@ -1553,7 +1553,7 @@ public class LuceneIndexerImpl2 extends LuceneBase2 implements LuceneIndexer2
Field.Index.UN_TOKENIZED, Field.TermVector.NO)); Field.Index.UN_TOKENIZED, Field.TermVector.NO));
doc.add(new Field(attributeName + ".size", Long.toString(contentData.getSize()), Field.Store.NO, doc.add(new Field(attributeName + ".size", Long.toString(contentData.getSize()), Field.Store.NO,
Field.Index.TOKENIZED, Field.TermVector.NO)); Field.Index.TOKENIZED, Field.TermVector.NO));
// TODO: Use the node locale in preferanced to the system locale // TODO: Use the node locale in preferanced to the system locale
Locale locale = contentData.getLocale(); Locale locale = contentData.getLocale();
if (locale == null) if (locale == null)
@@ -1692,6 +1692,7 @@ public class LuceneIndexerImpl2 extends LuceneBase2 implements LuceneIndexer2
{ {
Field.Store fieldStore = store ? Field.Store.YES : Field.Store.NO; Field.Store fieldStore = store ? Field.Store.YES : Field.Store.NO;
Field.Index fieldIndex; Field.Index fieldIndex;
if (index) if (index)
{ {
if (tokenise) if (tokenise)
@@ -1708,42 +1709,45 @@ public class LuceneIndexerImpl2 extends LuceneBase2 implements LuceneIndexer2
fieldIndex = Field.Index.NO; fieldIndex = Field.Index.NO;
} }
if (isMultiLingual) if ((fieldIndex != Field.Index.NO) || (fieldStore != Field.Store.NO))
{ {
MLText mlText = DefaultTypeConverter.INSTANCE.convert(MLText.class, value); if (isMultiLingual)
for (Locale locale : mlText.getLocales())
{ {
String localeString = mlText.getValue(locale); MLText mlText = DefaultTypeConverter.INSTANCE.convert(MLText.class, value);
for (Locale locale : mlText.getLocales())
{
String localeString = mlText.getValue(locale);
StringBuilder builder = new StringBuilder();
builder.append("\u0000").append(locale.toString()).append("\u0000").append(localeString);
doc.add(new Field(attributeName, builder.toString(), fieldStore, fieldIndex,
Field.TermVector.NO));
}
}
else if (isText)
{
// TODO: Use the node locale in preferanced to the system locale
Locale locale = null;
Serializable localeProperty = nodeService.getProperty(nodeRef, ContentModel.PROP_LOCALE);
if (localeProperty != null)
{
locale = DefaultTypeConverter.INSTANCE.convert(Locale.class, localeProperty);
}
if (locale == null)
{
locale = Locale.getDefault();
}
StringBuilder builder = new StringBuilder(); StringBuilder builder = new StringBuilder();
builder.append("\u0000").append(locale.toString()).append("\u0000").append(localeString); builder.append("\u0000").append(locale.toString()).append("\u0000").append(strValue);
doc.add(new Field(attributeName, builder.toString(), fieldStore, fieldIndex, doc.add(new Field(attributeName, builder.toString(), fieldStore, fieldIndex,
Field.TermVector.NO)); Field.TermVector.NO));
} }
} else
else if (isText)
{
// TODO: Use the node locale in preferanced to the system locale
Locale locale = null;
Serializable localeProperty = nodeService.getProperty(nodeRef, ContentModel.PROP_LOCALE);
if (localeProperty != null)
{ {
locale = DefaultTypeConverter.INSTANCE.convert(Locale.class, localeProperty); doc.add(new Field(attributeName, strValue, fieldStore, fieldIndex, Field.TermVector.NO));
} }
if (locale == null)
{
locale = Locale.getDefault();
}
StringBuilder builder = new StringBuilder();
builder.append("\u0000").append(locale.toString()).append("\u0000").append(strValue);
doc.add(new Field(attributeName, builder.toString(), fieldStore, fieldIndex, Field.TermVector.NO));
} }
else
{
doc.add(new Field(attributeName, strValue, fieldStore, fieldIndex, Field.TermVector.NO));
}
} }
} }