/*********************************************************************************************************************** | |
* Copyright (c) 2008 empolis GmbH and brox IT Solutions GmbH. All rights reserved. This program and the accompanying | |
* materials are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, | |
* and is available at http://www.eclipse.org/legal/epl-v10.html | |
* | |
* Contributors: August Georg Schmidt (brox IT Solutions GmbH) - initial API and implementation | |
**********************************************************************************************************************/ | |
package org.eclipse.smila.search; | |
import org.apache.commons.logging.Log; | |
import org.apache.commons.logging.LogFactory; | |
import org.eclipse.smila.tools.XMLUtils; | |
import org.osgi.framework.BundleActivator; | |
import org.osgi.framework.BundleContext; | |
/** | |
* @author August Georg Schmidt (BROX) | |
* | |
*/ | |
public class EIFActivator implements BundleActivator { | |
/** | |
* name of bundle. Used in configuration reading. | |
*/ | |
public static final String BUNDLE_NAME = "org.eclipse.smila.search"; | |
/** | |
* Whether schemas have been initialized. | |
*/ | |
private static boolean schemasInitialized; | |
/** | |
* Bundle context. | |
*/ | |
public static BundleContext s_bundleContext; | |
/** | |
* {@inheritDoc} | |
* | |
* @see org.osgi.framework.BundleActivator#start(org.osgi.framework.BundleContext) | |
*/ | |
public void start(BundleContext context) throws Exception { | |
s_bundleContext = context; | |
} | |
/** | |
* {@inheritDoc} | |
* | |
* @see org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext) | |
*/ | |
public void stop(BundleContext context) throws Exception { | |
; // do nothing | |
} | |
public synchronized static void registerSchemas() { | |
if (schemasInitialized) { | |
return; | |
} | |
final Log log = LogFactory.getLog(EIFActivator.class); | |
try { | |
final String[] schemas = | |
{ "ParameterDescriptions.xsd", "ParameterSet.xsd", "ParameterDefinition.xsd", "ErrorMessage.xsd", | |
"DDConfigDateFieldHighlightingParameter.xsd", "DDConfigNumberFieldHighlightingParameter.xsd", | |
"DDConfigTextFieldHighlightingParameter.xsd", "AnyFinderSearchDateFieldParameter.xsd", | |
"AnyFinderSearchNumberFieldParameter.xsd", "AnyFinderSearchTextFieldParameter.xsd", | |
"AnyFinderEngineData.xsd", "AnyFinderOperation.xsd", "SearchParameterObjects.xsd", | |
"DataDictionaryConfiguration.xsd", "DataDictionaryConnection.xsd", "DataDictionaryMetaData.xsd", | |
"IndexStructure.xsd", "Queue.xsd", "RapidDeployerAdvancedSearchTemplateFields.xsd", | |
"RapidDeployerIndexStructure.xsd", "RecordTransformationDefinition.xsd", | |
"RecordTransformationProcess.xsd", "RecordTransformationSet.xsd", "SimpleTypeDefs.xsd", | |
"AnyFinderAdvancedSearch.xsd", "AnyFinderDataDictionary.xsd", "AnyFinderOperationResult.xsd", | |
"AnyFinderSearch.xsd", "AnyFinderSearchResult.xsd", "FieldTemplates.xsd", "SearchTemplates.xsd", | |
"AnyFinderFieldRequest.xsd", "AnyFinderFieldResult.xsd", "SearchPage.xsd", "NodeTransformerRegistry.xsd", | |
"HighlightingTransformerRegistry.xsd", "TransformerRegistry.xsd" }; | |
XMLUtils.clearGrammarCache(); | |
// read all schemas in defined order | |
for (final String schema : schemas) { | |
XMLUtils.loadSchema("../xml/" + schema, EIFActivator.s_bundleContext); | |
} | |
schemasInitialized = true; | |
} catch (final Exception exception) { | |
if (log.isErrorEnabled()) { | |
log.error(exception); | |
} | |
} | |
} | |
} |