r335 - in wikengo_core-wikitty: wikengo_core-wikitty-api/src/main/java/org/sharengo/wikitty wikengo_core-wikitty-api/src/main/java/org/sharengo/wikitty/search wikengo_core-wikitty-jdbc-impl/src/main/java/org/sharengo/wikitty/jdbc wikengo_core-wikitty-solr-impl wikengo_core-wikitty-solr-impl/src/main/java/org/sharengo/wikitty/solr
Author: kmorin Date: 2009-11-25 17:03:07 +0100 (Wed, 25 Nov 2009) New Revision: 335 Modified: wikengo_core-wikitty/wikengo_core-wikitty-api/src/main/java/org/sharengo/wikitty/FieldType.java wikengo_core-wikitty/wikengo_core-wikitty-api/src/main/java/org/sharengo/wikitty/WikittyExtension.java wikengo_core-wikitty/wikengo_core-wikitty-api/src/main/java/org/sharengo/wikitty/WikittyUtil.java wikengo_core-wikitty/wikengo_core-wikitty-api/src/main/java/org/sharengo/wikitty/search/Element.java wikengo_core-wikitty/wikengo_core-wikitty-jdbc-impl/src/main/java/org/sharengo/wikitty/jdbc/WikittyExtensionStorageJDBC.java wikengo_core-wikitty/wikengo_core-wikitty-jdbc-impl/src/main/java/org/sharengo/wikitty/jdbc/WikittyServiceJDBC.java wikengo_core-wikitty/wikengo_core-wikitty-solr-impl/pom.xml wikengo_core-wikitty/wikengo_core-wikitty-solr-impl/src/main/java/org/sharengo/wikitty/solr/WikittySearchEngineSolr.java Log: - upgrade solr to 1.4 - add solrconfig.xml directory to the constructor of WikittySearchEngineSolr - add space management in the wikittyExtension fields Modified: wikengo_core-wikitty/wikengo_core-wikitty-api/src/main/java/org/sharengo/wikitty/FieldType.java =================================================================== --- wikengo_core-wikitty/wikengo_core-wikitty-api/src/main/java/org/sharengo/wikitty/FieldType.java 2009-11-23 17:35:02 UTC (rev 334) +++ wikengo_core-wikitty/wikengo_core-wikitty-api/src/main/java/org/sharengo/wikitty/FieldType.java 2009-11-25 16:03:07 UTC (rev 335) @@ -62,6 +62,8 @@ public static final int NOLIMIT = Integer.MAX_VALUE; + public static String WORD_SEPARATOR = "_"; + TYPE type; int lowerBound; int upperBound; @@ -111,7 +113,7 @@ * @return */ public String toDefinition(String name) { - String result = type + " " + name; + String result = type + " " + name.replace(" ", WORD_SEPARATOR); if (lowerBound != 0 || upperBound != 0) { if (upperBound != NOLIMIT) { result += "[" + lowerBound + "-" + upperBound + "]"; @@ -126,7 +128,7 @@ result += " not null"; } for (String tag : tagValues.keySet()) { - result += " " + tag + "=" + tagValues.get(tag); + result += " " + tag + "=" + tagValues.get(tag).replace(" ", WORD_SEPARATOR); } return result; } Modified: wikengo_core-wikitty/wikengo_core-wikitty-api/src/main/java/org/sharengo/wikitty/WikittyExtension.java =================================================================== --- wikengo_core-wikitty/wikengo_core-wikitty-api/src/main/java/org/sharengo/wikitty/WikittyExtension.java 2009-11-23 17:35:02 UTC (rev 334) +++ wikengo_core-wikitty/wikengo_core-wikitty-api/src/main/java/org/sharengo/wikitty/WikittyExtension.java 2009-11-25 16:03:07 UTC (rev 335) @@ -94,13 +94,13 @@ * @return */ static public String computeId(String name, String version) { - String result = name + "[" + version + "]"; + String result = name.replace(" ", FieldType.WORD_SEPARATOR) + "[" + version + "]"; return result; } static public String computeName(String id) { int i = id.lastIndexOf("["); - String result = id.substring(0, i); + String result = id.substring(0, i).replace(FieldType.WORD_SEPARATOR, " "); return result; } @@ -117,7 +117,7 @@ } public String getName() { - return name; + return name.replace(FieldType.WORD_SEPARATOR, " "); } public String getVersion() { Modified: wikengo_core-wikitty/wikengo_core-wikitty-api/src/main/java/org/sharengo/wikitty/WikittyUtil.java =================================================================== --- wikengo_core-wikitty/wikengo_core-wikitty-api/src/main/java/org/sharengo/wikitty/WikittyUtil.java 2009-11-23 17:35:02 UTC (rev 334) +++ wikengo_core-wikitty/wikengo_core-wikitty-api/src/main/java/org/sharengo/wikitty/WikittyUtil.java 2009-11-25 16:03:07 UTC (rev 335) @@ -138,7 +138,7 @@ } else { String tag = tagValueTab[0]; String value = tagValueTab[1]; - fieldType.addTagValue(tag, value); + fieldType.addTagValue(tag, value.replace(FieldType.WORD_SEPARATOR, " ")); } } } @@ -211,7 +211,6 @@ /** * increment minor version. - * @param version version as 3.1 where 1 is minor and 3 major * @return incremented minor number (3.1 -> 3.2) */ static public String incrementMinorRevision(String v) { @@ -234,7 +233,6 @@ /** * increment minor version. - * @param version version as 3.2 where 2 is minor and 3 major * @return incremented majar number and reset minor number (3.2 -> 4.0) */ static public String incrementMajorRevision(String v) { Modified: wikengo_core-wikitty/wikengo_core-wikitty-api/src/main/java/org/sharengo/wikitty/search/Element.java =================================================================== --- wikengo_core-wikitty/wikengo_core-wikitty-api/src/main/java/org/sharengo/wikitty/search/Element.java 2009-11-23 17:35:02 UTC (rev 334) +++ wikengo_core-wikitty/wikengo_core-wikitty-api/src/main/java/org/sharengo/wikitty/search/Element.java 2009-11-25 16:03:07 UTC (rev 335) @@ -16,6 +16,8 @@ *##%*/ package org.sharengo.wikitty.search; +import org.sharengo.wikitty.FieldType; + import java.io.Serializable; /** @@ -40,7 +42,7 @@ } public Element(String name) { - this.name = name; + this.name = name.replace(" ", FieldType.WORD_SEPARATOR); } public String getName() { @@ -48,7 +50,7 @@ } public void setName(String name) { - this.name = name; + this.name = name.replace(" ", FieldType.WORD_SEPARATOR); } } Modified: wikengo_core-wikitty/wikengo_core-wikitty-jdbc-impl/src/main/java/org/sharengo/wikitty/jdbc/WikittyExtensionStorageJDBC.java =================================================================== --- wikengo_core-wikitty/wikengo_core-wikitty-jdbc-impl/src/main/java/org/sharengo/wikitty/jdbc/WikittyExtensionStorageJDBC.java 2009-11-23 17:35:02 UTC (rev 334) +++ wikengo_core-wikitty/wikengo_core-wikitty-jdbc-impl/src/main/java/org/sharengo/wikitty/jdbc/WikittyExtensionStorageJDBC.java 2009-11-25 16:03:07 UTC (rev 335) @@ -88,8 +88,6 @@ */ protected Properties conf = loadProperties(); - public static String WORD_SEPARATOR = "_"; - class CommandJDBC implements Command { protected String queries; @@ -171,8 +169,8 @@ for (int i = 0 ; i < ext.getFieldNames().size() ; i++) { FieldType type = ext.getFieldType(ext.getFieldNames().get(i)); batch.append(String.format(conf.getProperty(dataInsertQ), - ext.getId(), ext.getFieldNames().get(i).replace(" ", WORD_SEPARATOR), - type.toDefinition(ext.getFieldNames().get(i).replace(" ", WORD_SEPARATOR)), i)); + ext.getId(), ext.getFieldNames().get(i).replace(" ", FieldType.WORD_SEPARATOR), + type.toDefinition(ext.getFieldNames().get(i)), i)); } } else { log.warn("The extension is found " + id); @@ -365,7 +363,7 @@ String fieldDef = dataResultSet.getString(COL_FIELDTYPE); FieldType fieldType = new FieldType(); String fieldName = WikittyUtil.parseField(fieldDef, fieldType); - fieldTypes.put(fieldName.replace(WORD_SEPARATOR, " "), fieldType); + fieldTypes.put(fieldName, fieldType); } result = new WikittyExtension(extName, extVersion, extRequires, fieldTypes); Modified: wikengo_core-wikitty/wikengo_core-wikitty-jdbc-impl/src/main/java/org/sharengo/wikitty/jdbc/WikittyServiceJDBC.java =================================================================== --- wikengo_core-wikitty/wikengo_core-wikitty-jdbc-impl/src/main/java/org/sharengo/wikitty/jdbc/WikittyServiceJDBC.java 2009-11-23 17:35:02 UTC (rev 334) +++ wikengo_core-wikitty/wikengo_core-wikitty-jdbc-impl/src/main/java/org/sharengo/wikitty/jdbc/WikittyServiceJDBC.java 2009-11-25 16:03:07 UTC (rev 335) @@ -61,9 +61,13 @@ protected WikittyStorage wikittyStorage; public WikittyServiceJDBC() { + this(null); + } + + public WikittyServiceJDBC(String solrDataDir) { extensionStorage = new WikittyExtensionStorageJDBC(); wikittyStorage = new WikittyStorageJDBC(extensionStorage); - searchEngine = new WikittySearchEngineSolr(extensionStorage); + searchEngine = new WikittySearchEngineSolr(extensionStorage, solrDataDir); } @Override Modified: wikengo_core-wikitty/wikengo_core-wikitty-solr-impl/pom.xml =================================================================== --- wikengo_core-wikitty/wikengo_core-wikitty-solr-impl/pom.xml 2009-11-23 17:35:02 UTC (rev 334) +++ wikengo_core-wikitty/wikengo_core-wikitty-solr-impl/pom.xml 2009-11-25 16:03:07 UTC (rev 335) @@ -29,7 +29,7 @@ <dependency> <groupId>org.apache.solr</groupId> <artifactId>solr-core</artifactId> - <version>1.3.0</version> + <version>1.4.0</version> </dependency> <dependency> Modified: wikengo_core-wikitty/wikengo_core-wikitty-solr-impl/src/main/java/org/sharengo/wikitty/solr/WikittySearchEngineSolr.java =================================================================== --- wikengo_core-wikitty/wikengo_core-wikitty-solr-impl/src/main/java/org/sharengo/wikitty/solr/WikittySearchEngineSolr.java 2009-11-23 17:35:02 UTC (rev 334) +++ wikengo_core-wikitty/wikengo_core-wikitty-solr-impl/src/main/java/org/sharengo/wikitty/solr/WikittySearchEngineSolr.java 2009-11-25 16:03:07 UTC (rev 335) @@ -41,6 +41,9 @@ import org.apache.solr.common.SolrDocumentList; import org.apache.solr.common.SolrInputDocument; import org.apache.solr.core.CoreContainer; +import org.apache.solr.core.CoreDescriptor; +import org.apache.solr.core.SolrConfig; +import org.apache.solr.core.SolrCore; import org.nuiton.util.FileUtil; import org.sharengo.wikitty.Criteria; import org.sharengo.wikitty.FacetTopic; @@ -89,6 +92,8 @@ static final public String TREENODE_ROOT = TREENODE_PREFIX + "root"; static final public String TREENODE_PATH = TREENODE_PREFIX + "path"; + static final public String SOLRCONFIG = "solrconfig.xml"; + static protected class CommandSolr implements Command { /** if is store command toStore is true, if is delete toStore is false */ boolean toStore; @@ -225,9 +230,16 @@ protected TypeFieldModifer fieldModifier; public WikittySearchEngineSolr(WikittyExtensionStorage extensionStorage) { + this(extensionStorage, null); + } + + public WikittySearchEngineSolr(WikittyExtensionStorage extensionStorage, String dataDir) { super(); try { CoreContainer.Initializer initializer = new CoreContainer.Initializer(); + if(dataDir != null) { + initializer.setSolrConfigFilename(dataDir + File.separator + SOLRCONFIG); + } CoreContainer coreContainer = initializer.initialize(); solrServer = new EmbeddedSolrServer(coreContainer, "");
participants (1)
-
kmorin@users.nuiton.org