Skip to content

Commit

Permalink
Merge pull request #280 from rareddy/TEIID-3045
Browse files Browse the repository at this point in the history
TEIID-3045: removing the import properties as translator properties
  • Loading branch information
rareddy committed Jul 25, 2014
2 parents 90b79a1 + df468f3 commit 449bd95
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 4 deletions.
11 changes: 7 additions & 4 deletions runtime/src/main/java/org/teiid/deployers/TranslatorUtil.java
Expand Up @@ -315,15 +315,18 @@ private static void readTranslatorPropertyAsExtendedMetadataProperties(
Class clazz) {
Map<Method, TranslatorProperty> tps = TranslatorUtil.getTranslatorProperties(clazz);
for (Method m:tps.keySet()) {

Object defaultValue = getDefaultValue(instance, m, tps.get(m));
if (defaultValue != null) {
metadata.addProperty(getPropertyName(m), defaultValue.toString());
}

TranslatorProperty tp = tps.get(m);
boolean importProperty = tp.category()==TranslatorProperty.PropertyType.IMPORT;
if (defaultValue != null && !importProperty) {
metadata.addProperty(getPropertyName(m), defaultValue.toString());
}

ExtendedPropertyMetadata epm = new ExtendedPropertyMetadata();
epm.category = tp.category().name();
epm.name = tp.category()==TranslatorProperty.PropertyType.IMPORT?"importer."+getPropertyName(m):getPropertyName(m); //$NON-NLS-1$
epm.name = importProperty?"importer."+getPropertyName(m):getPropertyName(m); //$NON-NLS-1$
epm.description = tp.description();
epm.advanced = tp.advanced();
if (defaultValue != null) {
Expand Down
24 changes: 24 additions & 0 deletions runtime/src/test/java/org/teiid/deployers/TestTranslatorUtil.java
Expand Up @@ -27,7 +27,12 @@
import java.util.ArrayList;

import org.junit.Test;
import org.mockito.Mockito;
import org.teiid.adminapi.impl.VDBTranslatorMetaData;
import org.teiid.logging.LogConstants;
import org.teiid.logging.LogManager;
import org.teiid.logging.Logger;
import org.teiid.logging.MessageLevel;
import org.teiid.metadata.Column;
import org.teiid.metadata.ExtensionMetadataProperty;
import org.teiid.metadata.MetadataFactory;
Expand Down Expand Up @@ -95,6 +100,25 @@ public void testImportProperties() throws Exception {
assertEquals("default-import-property", importProperties.get(0).defaultValue);
}

@Test
public void testInject() throws Exception {
VDBTranslatorMetaData tm = new VDBTranslatorMetaData();
tm.setExecutionFactoryClass(MyTranslator.class);
tm.addProperty("MyProperty", "correctly-assigned");

MyTranslator my = (MyTranslator)TranslatorUtil.buildExecutionFactory(tm);
assertEquals("correctly-assigned", my.getMyProperty());

VDBTranslatorMetaData metadata = TranslatorUtil.buildTranslatorMetadata(my, "my-module");
metadata.addProperty("MyProperty", "correctly-assigned");

Logger logger = Mockito.mock(Logger.class);
Mockito.stub(logger.isEnabled(Mockito.anyString(), Mockito.anyInt())).toReturn(true);
Mockito.doThrow(new RuntimeException("fail")).when(logger).log(Mockito.eq(MessageLevel.WARNING), Mockito.eq(LogConstants.CTX_RUNTIME), Mockito.anyString());
LogManager.setLogListener(logger);
TranslatorUtil.buildExecutionFactory(metadata);
}

@Test
public void testExtensionMetadataProperties() throws Exception {
VDBTranslatorMetaData tm = new VDBTranslatorMetaData();
Expand Down

0 comments on commit 449bd95

Please sign in to comment.