From: n.hoffmann Date: Fri, 7 Aug 2009 11:32:57 +0000 (+0000) Subject: fixes #862 X-Git-Tag: rcp.ss-first-working-version~789 X-Git-Url: https://dev.e-taxonomy.eu/gitweb/taxeditor.git/commitdiff_plain/e6fb562e93ef1e27d203ce9d978ead974963813e fixes #862 --- diff --git a/.gitattributes b/.gitattributes index d6cfd162b..238cb10eb 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1031,6 +1031,7 @@ taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/dialogs/SelectionDialogDeta taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/dialogs/SelectionDialogSelectionLabelProvider.java -text taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/dialogs/UriDialog.java -text taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/handler/ShowDataSourceViewHandler.java -text +taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/handler/ShowLoginWindowHandler.java -text taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/handler/ShowUserManagerViewHandler.java -text taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/io/AbstractExcelExportWizard.java -text taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/io/AbstractExcelImportWizard.java -text @@ -1038,8 +1039,9 @@ taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/io/AbstractExportWizard.jav taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/io/AbstractImportWizard.java -text taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/io/BerlinModelExportWizard.java -text taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/io/BerlinModelImportWizard.java -text +taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/io/ExportToFileDestinationWizardPage.java -text taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/io/GenericConfiguratorWizardPage.java -text -taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/io/JaxbExportDestinationWizardPage.java -text +taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/io/ImportFromFileDataSourceWizardPage.java -text taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/io/JaxbExportWizard.java -text taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/io/JaxbImportSourceWizardPage.java -text taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/io/JaxbImportWizard.java -text @@ -1152,6 +1154,7 @@ taxeditor-store/src/test/resources/eu/etaxonomy/cdm/cdmfs.xml -text taxeditor-store/src/test/resources/eu/etaxonomy/cdm/database/TermsDataSet-with_auditing_info.xml -text taxeditor-store/src/test/resources/eu/etaxonomy/cdm/database/TermsDataSet.xml -text taxeditor-store/src/test/resources/eu/etaxonomy/cdm/database/dataset.dtd -text +taxeditor-store/src/test/resources/eu/etaxonomy/taxeditor/io/TcsXmlImportConfiguratorTest-input.xml -text taxeditor-store/src/test/resources/eu/etaxonomy/taxeditor/store/CdmStoreTest.xml -text taxeditor-store/src/test/resources/eu/etaxonomy/taxeditor/store/ConcurrentSessionTest.xml -text taxeditor-store/src/test/resources/log4j.properties -text diff --git a/taxeditor-store/META-INF/MANIFEST.MF b/taxeditor-store/META-INF/MANIFEST.MF index d744e49c5..df91822b0 100644 --- a/taxeditor-store/META-INF/MANIFEST.MF +++ b/taxeditor-store/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: EDIT Taxonomic Editor - DataStore Bundle Bundle-SymbolicName: eu.etaxonomy.taxeditor.store;singleton:=true -Bundle-Version: 2.0.0.v20090708-1713 +Bundle-Version: 2.0.0.v20090805-1724 Bundle-Activator: eu.etaxonomy.taxeditor.store.internal.TaxeditorStorePlugin Bundle-Vendor: EDIT Export-Package: eu.etaxonomy.taxeditor.datasource, diff --git a/taxeditor-store/plugin.xml b/taxeditor-store/plugin.xml index d51fa4089..7958c5d9d 100644 --- a/taxeditor-store/plugin.xml +++ b/taxeditor-store/plugin.xml @@ -109,6 +109,11 @@ style="push"> + + + + - - - - diff --git a/taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/handler/ShowLoginWindowHandler.java b/taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/handler/ShowLoginWindowHandler.java new file mode 100644 index 000000000..41d5f11dc --- /dev/null +++ b/taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/handler/ShowLoginWindowHandler.java @@ -0,0 +1,45 @@ +// $Id$ +/** +* Copyright (C) 2007 EDIT +* European Distributed Institute of Taxonomy +* http://www.e-taxonomy.eu +* +* The contents of this file are subject to the Mozilla Public License Version 1.1 +* See LICENSE.TXT at the top of this package for the full license terms. +*/ + +package eu.etaxonomy.taxeditor.handler; + +import org.apache.log4j.Logger; +import org.eclipse.core.commands.AbstractHandler; +import org.eclipse.core.commands.ExecutionEvent; +import org.eclipse.core.commands.ExecutionException; +import org.eclipse.core.commands.IHandler; +import org.eclipse.ui.handlers.HandlerUtil; + +import eu.etaxonomy.taxeditor.dialogs.LoginDialog; + +/** + * @author n.hoffmann + * @created Aug 7, 2009 + * @version 1.0 + */ +public class ShowLoginWindowHandler extends AbstractHandler implements IHandler{ + private static final Logger logger = Logger + .getLogger(ShowLoginWindowHandler.class); + + /* (non-Javadoc) + * @see org.eclipse.core.commands.IHandler#execute(org.eclipse.core.commands.ExecutionEvent) + */ + public Object execute(ExecutionEvent event) throws ExecutionException { + + LoginDialog loginDialog = new LoginDialog(HandlerUtil.getActiveShell(event)); + loginDialog.open(); + + return null; + + } + + + +} diff --git a/taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/io/AbstractExportWizard.java b/taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/io/AbstractExportWizard.java index 0756f79a1..ed06186e0 100644 --- a/taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/io/AbstractExportWizard.java +++ b/taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/io/AbstractExportWizard.java @@ -59,7 +59,7 @@ public abstract class AbstractExportWizard exten public void addPages() { super.addPages(); - pageConfiguration = new GenericConfiguratorWizardPage(CONFIGURATION_PAGE, getConfigurator()); + pageConfiguration = GenericConfiguratorWizardPage.Export(CONFIGURATION_PAGE, getConfigurator()); this.addPage(pageConfiguration); } diff --git a/taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/io/AbstractImportWizard.java b/taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/io/AbstractImportWizard.java index 33ee33f07..120e49f4a 100644 --- a/taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/io/AbstractImportWizard.java +++ b/taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/io/AbstractImportWizard.java @@ -146,7 +146,7 @@ public abstract class AbstractImportWizard exten public void addPages() { super.addPages(); - pageConfiguration = new GenericConfiguratorWizardPage(CONFIGURATION_PAGE, getConfigurator()); + pageConfiguration = GenericConfiguratorWizardPage.Import(CONFIGURATION_PAGE, getConfigurator()); this.addPage(pageConfiguration); } diff --git a/taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/io/BerlinModelImportWizard.java b/taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/io/BerlinModelImportWizard.java index 90e57c2de..55e39a2bb 100644 --- a/taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/io/BerlinModelImportWizard.java +++ b/taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/io/BerlinModelImportWizard.java @@ -19,7 +19,6 @@ import eu.etaxonomy.cdm.io.berlinModel.in.BerlinModelImportConfigurator; import eu.etaxonomy.cdm.io.common.Source; import eu.etaxonomy.taxeditor.datasource.CdmDataSourceRepository; import eu.etaxonomy.taxeditor.datasource.wizard.CdmDataSourceSQLServerWizardPage; -import eu.etaxonomy.taxeditor.datasource.wizard.CdmDataSourceTypeSelectionWizardPage; import eu.etaxonomy.taxeditor.store.CdmStore; /** diff --git a/taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/io/JaxbExportDestinationWizardPage.java b/taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/io/ExportToFileDestinationWizardPage.java similarity index 74% rename from taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/io/JaxbExportDestinationWizardPage.java rename to taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/io/ExportToFileDestinationWizardPage.java index 88895ebeb..c48192c18 100644 --- a/taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/io/JaxbExportDestinationWizardPage.java +++ b/taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/io/ExportToFileDestinationWizardPage.java @@ -33,28 +33,44 @@ import eu.etaxonomy.taxeditor.datasource.CdmDataSourceRepository; * @created 15.06.2009 * @version 1.0 */ -public class JaxbExportDestinationWizardPage extends WizardPage{ +public class ExportToFileDestinationWizardPage extends WizardPage{ - public static final String DATE_FORMAT_NOW = "yyyyMMdd-HHmm"; + public static final String DATE_FORMAT_NOW = "yyyyMMddHHmm"; + + public static final String JAXB_EXPORT = "JAXB_EXPORT"; + + public static final String TCS_EXPORT = "TCS_EXPORT"; private static final Logger logger = Logger - .getLogger(JaxbExportDestinationWizardPage.class); + .getLogger(ExportToFileDestinationWizardPage.class); private DirectoryDialog folderDialog; private Text text_exportFileName; private Text text_folder; + + private String type; /** * @param pageName * @param selection */ - protected JaxbExportDestinationWizardPage(String pageName) { + private ExportToFileDestinationWizardPage(String pageName, String type, String title, String description) { super(pageName); - this.setTitle("JAXB Export"); + this.type = type; + + this.setTitle(title); this.setDescription("Exports the contents of the currently selected database into the cdm jaxb format."); } + + public static ExportToFileDestinationWizardPage Jaxb(){ + return new ExportToFileDestinationWizardPage(JAXB_EXPORT, "jaxb", "JAXB Export", "Exports the contents of the currently selected database into the cdm jaxb format."); + } + + public static ExportToFileDestinationWizardPage Tcs(){ + return new ExportToFileDestinationWizardPage(TCS_EXPORT, "tcs", "Tcs Export", "Export the contents of the currently selected database into TCS format."); + } /* (non-Javadoc) @@ -110,14 +126,16 @@ public class JaxbExportDestinationWizardPage extends WizardPage{ private String generateFilename(){ StringBuffer buffer = new StringBuffer(); - buffer.append("jaxb_export_"); - buffer.append(CdmDataSourceRepository.getDefault().getCurrentDataSource()); - buffer.append("-"); Calendar cal = Calendar.getInstance(); SimpleDateFormat sdf = new SimpleDateFormat(DATE_FORMAT_NOW); buffer.append(sdf.format(cal.getTime())); + buffer.append("-"); + + buffer.append(type + "_export-"); + buffer.append(CdmDataSourceRepository.getDefault().getCurrentDataSource()); + buffer.append(".xml"); return buffer.toString(); @@ -127,15 +145,15 @@ public class JaxbExportDestinationWizardPage extends WizardPage{ /** * @return the exportFileName */ - public Text getExportFileName() { - return text_exportFileName; + public String getExportFileName() { + return text_exportFileName.getText(); } /** * @return the folderText */ - public Text getFolderText() { - return text_folder; + public String getFolderText() { + return text_folder.getText(); } } diff --git a/taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/io/GenericConfiguratorWizardPage.java b/taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/io/GenericConfiguratorWizardPage.java index ac19b0fe2..a9aa26724 100644 --- a/taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/io/GenericConfiguratorWizardPage.java +++ b/taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/io/GenericConfiguratorWizardPage.java @@ -43,15 +43,24 @@ public class GenericConfiguratorWizardPage extends WizardPage { * @param pageName * @param configurator */ - protected GenericConfiguratorWizardPage(String pageName, IIoConfigurator configurator) { + private GenericConfiguratorWizardPage(String pageName, IIoConfigurator configurator, String title, String description) { super(pageName); - this.setTitle("Export Configuration"); + this.setTitle(title); - this.setDescription("Configure the export mechanism."); + this.setDescription(description); this.configurator = configurator; } + public static GenericConfiguratorWizardPage Import(String pageName, IIoConfigurator configurator){ + return new GenericConfiguratorWizardPage(pageName, configurator, "Import Configuration", "Configure the import mechanism."); + } + + public static GenericConfiguratorWizardPage Export(String pageName, IIoConfigurator configurator){ + return new GenericConfiguratorWizardPage(pageName, configurator, "Export Configuration", "Configure the export mechanism."); + } + + /* (non-Javadoc) * @see org.eclipse.jface.dialogs.IDialogPage#createControl(org.eclipse.swt.widgets.Composite) */ diff --git a/taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/io/ImportFromFileDataSourceWizardPage.java b/taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/io/ImportFromFileDataSourceWizardPage.java new file mode 100644 index 000000000..24600619a --- /dev/null +++ b/taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/io/ImportFromFileDataSourceWizardPage.java @@ -0,0 +1,105 @@ +// $Id$ +/** +* Copyright (C) 2007 EDIT +* European Distributed Institute of Taxonomy +* http://www.e-taxonomy.eu +* +* The contents of this file are subject to the Mozilla Public License Version 1.1 +* See LICENSE.TXT at the top of this package for the full license terms. +*/ + +package eu.etaxonomy.taxeditor.io; + +import org.apache.log4j.Logger; +import org.eclipse.jface.wizard.WizardPage; +import org.eclipse.swt.SWT; +import org.eclipse.swt.events.MouseAdapter; +import org.eclipse.swt.events.MouseEvent; +import org.eclipse.swt.layout.GridData; +import org.eclipse.swt.layout.GridLayout; +import org.eclipse.swt.widgets.Button; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.FileDialog; +import org.eclipse.swt.widgets.Label; +import org.eclipse.swt.widgets.Text; + +/** + * @author n.hoffmann + * @created 04.08.2009 + * @version 1.0 + */ +public class ImportFromFileDataSourceWizardPage extends WizardPage { + private static final Logger logger = Logger + .getLogger(ImportFromFileDataSourceWizardPage.class); + + public static final String PAGE_NAME = "CdmXmlDataSourceWizardPage"; + + private static final String[] EXTENSIONS = {"xml"}; + + private FileDialog fileDialog; + + private Text text_file; + + + /** + * @param pageName + */ + protected ImportFromFileDataSourceWizardPage() { + super(PAGE_NAME); + + setTitle("Xml File"); + + setDescription("Select XML file."); + } + + + + /* (non-Javadoc) + * @see org.eclipse.jface.dialogs.IDialogPage#createControl(org.eclipse.swt.widgets.Composite) + */ + public void createControl(Composite parent) { + final Composite composite = new Composite(parent, SWT.NULL); + + GridLayout gridLayout = new GridLayout(); + gridLayout.numColumns = 3; + composite.setLayout(gridLayout); + + Label folderLabel = new Label(composite, SWT.NONE); + folderLabel.setText("File"); + + fileDialog = new FileDialog(parent.getShell()); + + fileDialog.setFilterExtensions(EXTENSIONS); + + text_file = new Text(composite, SWT.BORDER); + text_file.setEditable(false); + text_file.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); + + + Button button = new Button(composite, SWT.PUSH); + button.setText("Browse..."); + + button.addMouseListener(new MouseAdapter(){ + + /* (non-Javadoc) + * @see org.eclipse.swt.events.MouseAdapter#mouseUp(org.eclipse.swt.events.MouseEvent) + */ + @Override + public void mouseUp(MouseEvent e) { + String path = fileDialog.open(); + text_file.setText(path); + setPageComplete(true); + } + + }); + + setControl(composite); + } + + /** + * @return + */ + public String getFile() { + return text_file.getText(); + } +} diff --git a/taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/io/JaxbExportWizard.java b/taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/io/JaxbExportWizard.java index a15d8b721..5e51d88dd 100644 --- a/taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/io/JaxbExportWizard.java +++ b/taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/io/JaxbExportWizard.java @@ -28,9 +28,7 @@ public class JaxbExportWizard extends AbstractExportWizard { private static final Logger logger = Logger .getLogger(TcsExportWizard.class); + private static final String TCS_EXPORT = "TCS_EXPORT"; + private TcsXmlExportConfigurator configurator; + private ExportToFileDestinationWizardPage page; /* (non-Javadoc) * @see org.eclipse.jface.wizard.Wizard#performFinish() */ @Override public boolean performFinish() { - // TODO Auto-generated method stub - return false; + String urlString = page.getFolderText() + File.separator + page.getExportFileName(); + + configurator.setDestination(new File(urlString)); + configurator.setCdmAppController(CdmStore.getApplicationController()); + + return doExport(configurator); } /* (non-Javadoc) * @see org.eclipse.ui.IWorkbenchWizard#init(org.eclipse.ui.IWorkbench, org.eclipse.jface.viewers.IStructuredSelection) */ public void init(IWorkbench workbench, IStructuredSelection selection) { - // TODO Auto-generated method stub + configurator = TcsXmlExportConfigurator.NewInstance(null, null); + } + /* (non-Javadoc) + * @see eu.etaxonomy.taxeditor.io.AbstractExportWizard#getConfigurator() + */ + @Override + public TcsXmlExportConfigurator getConfigurator() { + return configurator; + } + + /* (non-Javadoc) + * @see eu.etaxonomy.taxeditor.io.AbstractExportWizard#addPages() + */ + @Override + public void addPages() { + super.addPages(); + + page = ExportToFileDestinationWizardPage.Tcs(); + addPage(page); } + + } diff --git a/taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/io/TcsImportWizard.java b/taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/io/TcsImportWizard.java index 7288b42cb..4c8226a6f 100644 --- a/taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/io/TcsImportWizard.java +++ b/taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/io/TcsImportWizard.java @@ -12,33 +12,71 @@ package eu.etaxonomy.taxeditor.io; import org.apache.log4j.Logger; import org.eclipse.jface.viewers.IStructuredSelection; -import org.eclipse.jface.wizard.Wizard; -import org.eclipse.ui.IImportWizard; import org.eclipse.ui.IWorkbench; +import eu.etaxonomy.cdm.database.DbSchemaValidation; +import eu.etaxonomy.cdm.io.tcsxml.in.TcsXmlImportConfigurator; +import eu.etaxonomy.taxeditor.datasource.wizard.CdmDataSourceSQLServerWizardPage; +import eu.etaxonomy.taxeditor.store.CdmStore; + /** * @author n.hoffmann * @created 15.06.2009 * @version 1.0 */ -public class TcsImportWizard extends Wizard implements IImportWizard{ +public class TcsImportWizard extends AbstractImportWizard{ private static final Logger logger = Logger.getLogger(TcsImportWizard.class); + + private TcsXmlImportConfigurator configurator; + + private ImportFromFileDataSourceWizardPage dataSourcePage; /* (non-Javadoc) * @see org.eclipse.jface.wizard.Wizard#performFinish() */ @Override public boolean performFinish() { - // TODO Auto-generated method stub - return false; + + String file = dataSourcePage.getFile(); + + // TcsXmlImport expects a string that can be used to instantiate a URL instance + // TODO consolidate import and exports regarding what may be passed in as source + // will construct a url string for now + + file = "file://" + file; + + CdmStore.NewTransactionalConversation(); + + configurator.setSource(file); + configurator.setDbSchemaValidation(DbSchemaValidation.CREATE); + configurator.setCdmAppController(CdmStore.getApplicationController()); + + return doImportInternal(configurator); } /* (non-Javadoc) * @see org.eclipse.ui.IWorkbenchWizard#init(org.eclipse.ui.IWorkbench, org.eclipse.jface.viewers.IStructuredSelection) */ public void init(IWorkbench workbench, IStructuredSelection selection) { - // TODO Auto-generated method stub - + configurator = TcsXmlImportConfigurator.NewInstance(null, null); } + /* (non-Javadoc) + * @see eu.etaxonomy.taxeditor.io.AbstractImportWizard#getConfigurator() + */ + @Override + public TcsXmlImportConfigurator getConfigurator() { + return configurator; + } + + /* (non-Javadoc) + * @see eu.etaxonomy.taxeditor.io.AbstractImportWizard#addPages() + */ + @Override + public void addPages() { + super.addPages(); + + dataSourcePage = new ImportFromFileDataSourceWizardPage(); + addPage(dataSourcePage); + } } diff --git a/taxeditor-store/src/test/resources/eu/etaxonomy/taxeditor/io/TcsXmlImportConfiguratorTest-input.xml b/taxeditor-store/src/test/resources/eu/etaxonomy/taxeditor/io/TcsXmlImportConfiguratorTest-input.xml new file mode 100644 index 000000000..545f7c862 --- /dev/null +++ b/taxeditor-store/src/test/resources/eu/etaxonomy/taxeditor/io/TcsXmlImportConfiguratorTest-input.xml @@ -0,0 +1,382 @@ + + + + + + + + + + + + + + + + + + Fl. SSR + + + Copeland, H.F. (1943). A study, anatomical and taxonomic, of the + genera of Rhododendroideae. Am. Midl.Nat. 30:533-625 + + + Wilson, E.H. & Rehder, A. (1921). A monograph of the azaleas. + Publication of the Arnold Arboretum No. 9 Harvard University, Cambridge + MA. + + + Judd, W.S. & Kron, K.A. (1995) A Revision of Rhododendron VI + Edinb. J. Bot. 52(1): 1-54 + + + Maximoxicz, C.J. (1870) Rhododendron schlippenbachii. Mem. Acad. Sci. + St Petersbourg. ser.3 15. + + + + + Rhododendron + + + Rhododendron subgenus Pentanthera (G. Don) Poyarkova + + Rhododedron subgenus Pentanthera + Rhododendron + Pentanthera + + + (G.Don) Poyarkova + + G. Don + + G. Don + + + + Poyarkova + + Poyarkova + + + + Fl. SSR Vol 18 (1952) + Page 57 + + Rhododendron flavum G.Don + + + + + + Rhododendron sect. Sciadorhodion Rehder & Wilson + + Rhododendron sect. Sciadorhodion + Rhododendron + Sciadorhodion + + + Rehder & Wilson + + Rehder & Wilson + + + Wislon & Rehder Monogr. Azaleas 79 (1921) + Page 79 + + + + Rhododendron quinquefolium Bisset + & Moore + Copeland, H.F.(1943) + + + + Azalea subgen. Sciadorhodion (Rhehder & Wilson) + Copeland + + + + Rhododendron quinquefolium Bisset & Moore + + + + Azalea subgen. Sciadorhodion (Rhehder & Wilson) Copeland + + Rhododendron sect. Sciadorhodion Rehder & + Wilson + + + + Rhododendron schlippenbachii Maxim. + Species + + Rhododendron schlippenbachii + Rhododendron + schlippenbachii + + + Maxim. + + Maxim. + + Maximoxicz, C.J. + + + + Bull. Acad. Sci. St Petersbourg, ser. 3 15 (1870) + Page 226 + + + + + + + Page 15 + + + + + Page 15 + + + + + + Azalea schlippenbachii (Maxim.) Kuntze + + Azalea schlippenbachii + Azalea + schlippenbachii + + + (Maxim.) Kuntze + + Maxim. + + + Kuntze + + + Revis. Gen.Pl. 2:387 (1891) + + + + + [Russia] Manchuria, shores of Possiet Bay, [SW of + Vladivostok], 1860, C. Maximowicz LE + + Page 15 + + + + + + Rhododendron pentaphyllum Maxim. + + Rhododendron pentaphyllum + Rhododendron + pentaphyllum + + + Maxim. + + Bull. Acad. Sci. St Petersbourg, ser. 3, 31:65 (1887) + + + + + Japan, Kyushiu, prov. Osumi, summit, Mt Taka-kuma, Tashiro + (LE) + + + + + + + Azalea pentaphylla (Maxim.) Copeland + + Azalea pentaphylla + Azalea + pentaphylla + + + (Maxim.) Copeland + + Maxim. + + + Copeland + + + Am.Midl.Nat. 30:595 (1943) + + + + + Japan, Kyushiu, prov. Osumi, summit, Mt Taka-kuma, Tashiro + (LE) + + + + + + Rhododendron pentaphyllum var. nikoense Komatsu + variety + + Rhododendron pentaphyllum var. nikoense + Rhododendron + pentaphyllum + nikoense + + + Konatsu + + Icon. Pl. Koisikav. 3: 45, t 168 (1916) + + + Rhododendron nikoense (Komatsu) Nakai + Species + + Rhododendron nikoense + Rhododendron + nikoense + + + (Komatsu) Nakai + + Komatsu + + + Nakai + + + Nakai & Koidz. Trees and Shrubs Japan 1: 68 (1922) + + Rhododendron pentaphyllum var. nikoense + + + + Rhododendron quinquefolium Bisset & S. Moore var. roseum Rehder + variety + + Rhododendron quinquefolium + Rhododendron + quinquefolium + roseum + + + Rehder + + Bailey, Stand. Cycl. Hort. 5: 2947 (1916) + + + Rhododendron pentaphyllum Maxim. var. shikokianum T. Yamazaki + species + + Rhododendron pentaphyllum var. shikokianum + Rhododendron + pentaphyllum + shikokianum + + + T. Yamazaki + + Jap. Bot. 63: 312 (1988) + + + + + Rhododendron sect. Sciadorhodion Rehder + & Wilson + Section + + Judd & Kron (1995) + + Judd & Kron (1995) A Revision of + Rhododendron VI + Page 13-14 + + + + + + + + + + Rhododendron schlippenbachii Maxim. + + Judd & Kron (1995) + + + Page 15 + + + + + Rhododendron sect. Sciadorhodion Rehder & + Wilson + + + + + Azalea schlippenbachii (Maxim.) Kuntze + + Kuntze (1891) + + + + + + + + + Rhododendron pentaphyllum Maxim. + + Judd & Kron (1995) + + + + + + + + + + + + Rhododendron pentaphyllum var. nikoense + Komatsu + + + + Rhododendron pentaphyllum Maxim. var. shikokianum T. + Yamazaki + + + Rhododendron quinquefolium Bisset & S. Moore var. roseum + Rehder + + + + + Rhododendron nikoense (Komatsu) Nakai + + + Rhododendron nikoense (Komatsu) Nakai + + + Rhododendron pentaphyllum var. nikoense Komatsu + + +