org.rhq.enterprise.server.sync.importers
Class SystemSettingsImporter

java.lang.Object
  extended by org.rhq.enterprise.server.sync.importers.SystemSettingsImporter
All Implemented Interfaces:
Importer<NoSingleEntity,org.rhq.core.domain.sync.entity.SystemSettings>

public class SystemSettingsImporter
extends Object
implements Importer<NoSingleEntity,org.rhq.core.domain.sync.entity.SystemSettings>

Author:
Lukas Krejci

Field Summary
static String DEFAULT_IMPORTED_PROPERTIES_LIST
           
static String PROPERTIES_TO_IMPORT_PROPERTY
           
 
Constructor Summary
SystemSettingsImporter(org.rhq.core.domain.auth.Subject subject, SystemManagerLocal systemManager)
           
 
Method Summary
 void configure(org.rhq.core.domain.configuration.Configuration importConfiguration)
          Configures the importer.
 String finishImport()
          Finishes the import.
 Set<EntityValidator<org.rhq.core.domain.sync.entity.SystemSettings>> getEntityValidators()
          The set of entity validators that should be called on each entity before the import actually starts.
 ExportedEntityMatcher<NoSingleEntity,org.rhq.core.domain.sync.entity.SystemSettings> getExportedEntityMatcher()
          Returns an entity matcher that can match the entities from the export file with the real entities in the database.
 org.rhq.core.domain.configuration.definition.ConfigurationDefinition getImportConfigurationDefinition()
          A configuration definition describing the configuration of the importer and the default values for individual properties.
 org.rhq.core.domain.sync.entity.SystemSettings unmarshallExportedEntity(ExportReader reader)
          Unmarshalls an entity from the provided reader.
 void update(NoSingleEntity entity, org.rhq.core.domain.sync.entity.SystemSettings exportedEntity)
          Updates the entity with the data from the export.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

PROPERTIES_TO_IMPORT_PROPERTY

public static final String PROPERTIES_TO_IMPORT_PROPERTY
See Also:
Constant Field Values

DEFAULT_IMPORTED_PROPERTIES_LIST

public static final String DEFAULT_IMPORTED_PROPERTIES_LIST
See Also:
Constant Field Values
Constructor Detail

SystemSettingsImporter

public SystemSettingsImporter(org.rhq.core.domain.auth.Subject subject,
                              SystemManagerLocal systemManager)
Method Detail

getImportConfigurationDefinition

public org.rhq.core.domain.configuration.definition.ConfigurationDefinition getImportConfigurationDefinition()
Description copied from interface: Importer
A configuration definition describing the configuration of the importer and the default values for individual properties.

The returned configuration definition MUST define a default template.

Specified by:
getImportConfigurationDefinition in interface Importer<NoSingleEntity,org.rhq.core.domain.sync.entity.SystemSettings>

configure

public void configure(org.rhq.core.domain.configuration.Configuration importConfiguration)
Description copied from interface: Importer
Configures the importer.

Specified by:
configure in interface Importer<NoSingleEntity,org.rhq.core.domain.sync.entity.SystemSettings>
Parameters:
importConfiguration - the configuration of the import as defined by the Importer.getImportConfigurationDefinition()

getExportedEntityMatcher

public ExportedEntityMatcher<NoSingleEntity,org.rhq.core.domain.sync.entity.SystemSettings> getExportedEntityMatcher()
Description copied from interface: Importer
Returns an entity matcher that can match the entities from the export file with the real entities in the database.

Specified by:
getExportedEntityMatcher in interface Importer<NoSingleEntity,org.rhq.core.domain.sync.entity.SystemSettings>
Returns:

getEntityValidators

public Set<EntityValidator<org.rhq.core.domain.sync.entity.SystemSettings>> getEntityValidators()
Description copied from interface: Importer
The set of entity validators that should be called on each entity before the import actually starts.

Specified by:
getEntityValidators in interface Importer<NoSingleEntity,org.rhq.core.domain.sync.entity.SystemSettings>

update

public void update(NoSingleEntity entity,
                   org.rhq.core.domain.sync.entity.SystemSettings exportedEntity)
            throws Exception
Description copied from interface: Importer
Updates the entity with the data from the export.

This method is responsible for persisting the entity in the database using the provided entityManager. Note that the actual persist can also be delayed until the Importer.finishImport() method is called so that the importer can take advantage of batching.

Specified by:
update in interface Importer<NoSingleEntity,org.rhq.core.domain.sync.entity.SystemSettings>
Parameters:
entity - the entity to persist (may be null if the Importer.getExportedEntityMatcher() returned null of if the entity matcher didn't find a match)
exportedEntity - the entity found in the export file that should be used to update the entity in the database
Throws:
Exception

unmarshallExportedEntity

public org.rhq.core.domain.sync.entity.SystemSettings unmarshallExportedEntity(ExportReader reader)
                                                                        throws XMLStreamException
Description copied from interface: Importer
Unmarshalls an entity from the provided reader.

Specified by:
unmarshallExportedEntity in interface Importer<NoSingleEntity,org.rhq.core.domain.sync.entity.SystemSettings>
Returns:
Throws:
XMLStreamException

finishImport

public String finishImport()
Description copied from interface: Importer
Finishes the import. This method is called after all entities from the export file have been updated.

This is useful for importers that need to batch the updates to the database.

Specified by:
finishImport in interface Importer<NoSingleEntity,org.rhq.core.domain.sync.entity.SystemSettings>
Returns:
notes that should be transfered to the user. These should be any warnings and other messages that are not errors (which should throw an exception) but are deemed important for the (human) caller to be aware of.


Copyright © 2008-2012 Red Hat, Inc.. All Rights Reserved.