org.argouml.model.uml
Class NsumlXmiReader

java.lang.Object
  extended byorg.xml.sax.HandlerBase
      extended byru.novosoft.uml.xmi.XMIReader
          extended byorg.argouml.model.uml.NsumlXmiReader
All Implemented Interfaces:
DocumentHandler, DTDHandler, EntityResolver, ErrorHandler

class NsumlXmiReader
extends ru.novosoft.uml.xmi.XMIReader

Parses an XMI file. Extended from the NSUML XMIReader since this reader does not handle errorhandling very well and is not very well programmed at all. This led to issues loading xmi files and hanging ArgoUML by doing that.

See Also:
XMIReader

Nested Class Summary
 
Nested classes inherited from class ru.novosoft.uml.xmi.XMIReader
 
Field Summary
private  boolean errors
           
private static Logger LOG
           
private  Parser theParser
           
 
Fields inherited from class ru.novosoft.uml.xmi.XMIReader
element2xmiid, element2xmiuuid, HELPTEXT, INT_STATE_EXTENSION, INT_STATE_MODEL, INT_STATE_MULTIPLE, INT_STATE_SINGLE, INT_STATE_UNKNOWN, INT_STATE_XMI, INT_STATE_XMI_CONTENT, STATE_EXTENSION, STATE_MODEL, STATE_MULTIPLE, STATE_SINGLE, STATE_UNKNOWN, STATE_XMI, STATE_XMI_CONTENT, xmiid, xmiid2Element, xmiuuid2Element
 
Constructor Summary
NsumlXmiReader()
          Constructor for XMIReader.
NsumlXmiReader(ru.novosoft.uml.MFactory pFactory)
          Constructor for XMIReader.
 
Method Summary
 boolean getErrors()
           
 Parser getParser()
           
protected  void parseSourceStream(InputSource pIs)
          Parses an xmi inputsource.
 ru.novosoft.uml.model_management.MModel parseToModel(InputSource pIs)
          Parses a given inputsource to a model.
 void setErrors(boolean e)
           
 void setParser(Parser parser)
           
 
Methods inherited from class ru.novosoft.uml.xmi.XMIReader
characters, cleanup, convertStringXMIValue, convertXMIBooleanValue, endDocument, endElement, error, fatalError, getFactory, getObject, getObject, getObjectByRef, getObjectToXMIIDMap, getObjectToXMIUUIDMap, getParsedElements, getParsedModel, getXMIID, getXMIIDByElement, getXMIIDToObjectMap, getXMIUUID, getXMIUUIDByElement, getXMIUUIDToObjectMap, ignorableWhitespace, link, link, main, parse, parseStream, performLinking, postprocessAbstractionAttributes, postprocessAbstractionMain, postprocessAbstractionRoles, postprocessActionAttributes, postprocessActionExpressionAttributes, postprocessActionExpressionMain, postprocessActionExpressionRoles, postprocessActionMain, postprocessActionRoles, postprocessActionSequenceAttributes, postprocessActionSequenceMain, postprocessActionSequenceRoles, postprocessActionStateAttributes, postprocessActionStateMain, postprocessActionStateRoles, postprocessActivityGraphAttributes, postprocessActivityGraphMain, postprocessActivityGraphRoles, postprocessActorAttributes, postprocessActorMain, postprocessActorRoles, postprocessArgListsExpressionAttributes, postprocessArgListsExpressionMain, postprocessArgListsExpressionRoles, postprocessArgumentAttributes, postprocessArgumentMain, postprocessArgumentRoles, postprocessAssociationAttributes, postprocessAssociationClassAttributes, postprocessAssociationClassMain, postprocessAssociationClassRoles, postprocessAssociationEndAttributes, postprocessAssociationEndMain, postprocessAssociationEndRoleAttributes, postprocessAssociationEndRoleMain, postprocessAssociationEndRoleRoles, postprocessAssociationEndRoles, postprocessAssociationMain, postprocessAssociationRoleAttributes, postprocessAssociationRoleMain, postprocessAssociationRoleRoles, postprocessAssociationRoles, postprocessAttributeAttributes, postprocessAttributeLinkAttributes, postprocessAttributeLinkMain, postprocessAttributeLinkRoles, postprocessAttributeMain, postprocessAttributeRoles, postprocessBehavioralFeatureAttributes, postprocessBehavioralFeatureRoles, postprocessBindingAttributes, postprocessBindingMain, postprocessBindingRoles, postprocessBooleanExpressionAttributes, postprocessBooleanExpressionMain, postprocessBooleanExpressionRoles, postprocessCallActionAttributes, postprocessCallActionMain, postprocessCallActionRoles, postprocessCallEventAttributes, postprocessCallEventMain, postprocessCallEventRoles, postprocessCallStateAttributes, postprocessCallStateMain, postprocessCallStateRoles, postprocessChangeEventAttributes, postprocessChangeEventMain, postprocessChangeEventRoles, postprocessClassAttributes, postprocessClassifierAttributes, postprocessClassifierInStateAttributes, postprocessClassifierInStateMain, postprocessClassifierInStateRoles, postprocessClassifierMain, postprocessClassifierRoleAttributes, postprocessClassifierRoleMain, postprocessClassifierRoleRoles, postprocessClassifierRoles, postprocessClassMain, postprocessClassRoles, postprocessCollaborationAttributes, postprocessCollaborationMain, postprocessCollaborationRoles, postprocessCommentAttributes, postprocessCommentMain, postprocessCommentRoles, postprocessComponentAttributes, postprocessComponentInstanceAttributes, postprocessComponentInstanceMain, postprocessComponentInstanceRoles, postprocessComponentMain, postprocessComponentRoles, postprocessCompositeStateAttributes, postprocessCompositeStateMain, postprocessCompositeStateRoles, postprocessConstraintAttributes, postprocessConstraintMain, postprocessConstraintRoles, postprocessCreateActionAttributes, postprocessCreateActionMain, postprocessCreateActionRoles, postprocessDataTypeAttributes, postprocessDataTypeMain, postprocessDataTypeRoles, postprocessDataValueAttributes, postprocessDataValueMain, postprocessDataValueRoles, postprocessDependencyAttributes, postprocessDependencyMain, postprocessDependencyRoles, postprocessDestroyActionAttributes, postprocessDestroyActionMain, postprocessDestroyActionRoles, postprocessElementAttributes, postprocessElementImportAttributes, postprocessElementImportMain, postprocessElementImportRoles, postprocessElementResidenceAttributes, postprocessElementResidenceMain, postprocessElementResidenceRoles, postprocessElementRoles, postprocessEventAttributes, postprocessEventRoles, postprocessExceptionAttributes, postprocessExceptionMain, postprocessExceptionRoles, postprocessExpressionAttributes, postprocessExpressionMain, postprocessExpressionRoles, postprocessExtendAttributes, postprocessExtendMain, postprocessExtendRoles, postprocessExtensionPointAttributes, postprocessExtensionPointMain, postprocessExtensionPointRoles, postprocessFeatureAttributes, postprocessFeatureRoles, postprocessFinalStateAttributes, postprocessFinalStateMain, postprocessFinalStateRoles, postprocessFlowAttributes, postprocessFlowMain, postprocessFlowRoles, postprocessGeneralizableElementAttributes, postprocessGeneralizableElementRoles, postprocessGeneralizationAttributes, postprocessGeneralizationMain, postprocessGeneralizationRoles, postprocessGuardAttributes, postprocessGuardMain, postprocessGuardRoles, postprocessIncludeAttributes, postprocessIncludeMain, postprocessIncludeRoles, postprocessInstanceAttributes, postprocessInstanceMain, postprocessInstanceRoles, postprocessIntegerMain, postprocessInteractionAttributes, postprocessInteractionMain, postprocessInteractionRoles, postprocessInterfaceAttributes, postprocessInterfaceMain, postprocessInterfaceRoles, postprocessIterationExpressionAttributes, postprocessIterationExpressionMain, postprocessIterationExpressionRoles, postprocessLinkAttributes, postprocessLinkEndAttributes, postprocessLinkEndMain, postprocessLinkEndRoles, postprocessLinkMain, postprocessLinkObjectAttributes, postprocessLinkObjectMain, postprocessLinkObjectRoles, postprocessLinkRoles, postprocessMappingExpressionAttributes, postprocessMappingExpressionMain, postprocessMappingExpressionRoles, postprocessMessageAttributes, postprocessMessageMain, postprocessMessageRoles, postprocessMethodAttributes, postprocessMethodMain, postprocessMethodRoles, postprocessModelAttributes, postprocessModelElementAttributes, postprocessModelElementRoles, postprocessModelMain, postprocessModelRoles, postprocessMultiplicityAttributes, postprocessMultiplicityMain, postprocessMultiplicityRangeAttributes, postprocessMultiplicityRangeMain, postprocessMultiplicityRangeRoles, postprocessMultiplicityRoles, postprocessNamespaceAttributes, postprocessNamespaceMain, postprocessNamespaceRoles, postprocessNodeAttributes, postprocessNodeInstanceAttributes, postprocessNodeInstanceMain, postprocessNodeInstanceRoles, postprocessNodeMain, postprocessNodeRoles, postprocessObjectAttributes, postprocessObjectFlowStateAttributes, postprocessObjectFlowStateMain, postprocessObjectFlowStateRoles, postprocessObjectMain, postprocessObjectRoles, postprocessObjectSetExpressionAttributes, postprocessObjectSetExpressionMain, postprocessObjectSetExpressionRoles, postprocessOperationAttributes, postprocessOperationMain, postprocessOperationRoles, postprocessPackageAttributes, postprocessPackageMain, postprocessPackageRoles, postprocessParameterAttributes, postprocessParameterMain, postprocessParameterRoles, postprocessPartitionAttributes, postprocessPartitionMain, postprocessPartitionRoles, postprocessPermissionAttributes, postprocessPermissionMain, postprocessPermissionRoles, postprocessPresentationElementAttributes, postprocessPresentationElementRoles, postprocessProcedureExpressionAttributes, postprocessProcedureExpressionMain, postprocessProcedureExpressionRoles, postprocessPseudostateAttributes, postprocessPseudostateMain, postprocessPseudostateRoles, postprocessReceptionAttributes, postprocessReceptionMain, postprocessReceptionRoles, postprocessRelationshipAttributes, postprocessRelationshipMain, postprocessRelationshipRoles, postprocessReturnActionAttributes, postprocessReturnActionMain, postprocessReturnActionRoles, postprocessSendActionAttributes, postprocessSendActionMain, postprocessSendActionRoles, postprocessSignalAttributes, postprocessSignalEventAttributes, postprocessSignalEventMain, postprocessSignalEventRoles, postprocessSignalMain, postprocessSignalRoles, postprocessSimpleStateAttributes, postprocessSimpleStateMain, postprocessSimpleStateRoles, postprocessStateAttributes, postprocessStateMachineAttributes, postprocessStateMachineMain, postprocessStateMachineRoles, postprocessStateMain, postprocessStateRoles, postprocessStateVertexAttributes, postprocessStateVertexRoles, postprocessStereotypeAttributes, postprocessStereotypeMain, postprocessStereotypeRoles, postprocessStimulusAttributes, postprocessStimulusMain, postprocessStimulusRoles, postprocessStructuralFeatureAttributes, postprocessStructuralFeatureRoles, postprocessStubStateAttributes, postprocessStubStateMain, postprocessStubStateRoles, postprocessSubactivityStateAttributes, postprocessSubactivityStateMain, postprocessSubactivityStateRoles, postprocessSubmachineStateAttributes, postprocessSubmachineStateMain, postprocessSubmachineStateRoles, postprocessSubsystemAttributes, postprocessSubsystemMain, postprocessSubsystemRoles, postprocessSynchStateAttributes, postprocessSynchStateMain, postprocessSynchStateRoles, postprocessTaggedValueAttributes, postprocessTaggedValueMain, postprocessTaggedValueRoles, postprocessTemplateParameterAttributes, postprocessTemplateParameterMain, postprocessTemplateParameterRoles, postprocessTerminateActionAttributes, postprocessTerminateActionMain, postprocessTerminateActionRoles, postprocessTimeEventAttributes, postprocessTimeEventMain, postprocessTimeEventRoles, postprocessTimeExpressionAttributes, postprocessTimeExpressionMain, postprocessTimeExpressionRoles, postprocessTransitionAttributes, postprocessTransitionMain, postprocessTransitionRoles, postprocessTypeExpressionAttributes, postprocessTypeExpressionMain, postprocessTypeExpressionRoles, postprocessUninterpretedActionAttributes, postprocessUninterpretedActionMain, postprocessUninterpretedActionRoles, postprocessUsageAttributes, postprocessUsageMain, postprocessUsageRoles, postprocessUseCaseAttributes, postprocessUseCaseInstanceAttributes, postprocessUseCaseInstanceMain, postprocessUseCaseInstanceRoles, postprocessUseCaseMain, postprocessUseCaseRoles, postprocessXMIExtensionMain, process, processAbstractionAttributes, processAbstractionMain, processAbstractionRoles, processActionAttributes, processActionExpressionAttributes, processActionExpressionMain, processActionExpressionRoles, processActionMain, processActionRoles, processActionSequenceAttributes, processActionSequenceMain, processActionSequenceRoles, processActionStateAttributes, processActionStateMain, processActionStateRoles, processActivityGraphAttributes, processActivityGraphMain, processActivityGraphRoles, processActorAttributes, processActorMain, processActorRoles, processArgListsExpressionAttributes, processArgListsExpressionMain, processArgListsExpressionRoles, processArgumentAttributes, processArgumentMain, processArgumentRoles, processAssociationAttributes, processAssociationClassAttributes, processAssociationClassMain, processAssociationClassRoles, processAssociationEndAttributes, processAssociationEndMain, processAssociationEndRoleAttributes, processAssociationEndRoleMain, processAssociationEndRoleRoles, processAssociationEndRoles, processAssociationMain, processAssociationRoleAttributes, processAssociationRoleMain, processAssociationRoleRoles, processAssociationRoles, processAttributeAttributes, processAttributeLinkAttributes, processAttributeLinkMain, processAttributeLinkRoles, processAttributeMain, processAttributeRoles, processBehavioralFeatureAttributes, processBehavioralFeatureRoles, processBindingAttributes, processBindingMain, processBindingRoles, processBooleanExpressionAttributes, processBooleanExpressionMain, processBooleanExpressionRoles, processCallActionAttributes, processCallActionMain, processCallActionRoles, processCallEventAttributes, processCallEventMain, processCallEventRoles, processCallStateAttributes, processCallStateMain, processCallStateRoles, processChangeEventAttributes, processChangeEventMain, processChangeEventRoles, processClassAttributes, processClassifierAttributes, processClassifierInStateAttributes, processClassifierInStateMain, processClassifierInStateRoles, processClassifierMain, processClassifierRoleAttributes, processClassifierRoleMain, processClassifierRoleRoles, processClassifierRoles, processClassMain, processClassRoles, processCollaborationAttributes, processCollaborationMain, processCollaborationRoles, processCommentAttributes, processCommentMain, processCommentRoles, processComponentAttributes, processComponentInstanceAttributes, processComponentInstanceMain, processComponentInstanceRoles, processComponentMain, processComponentRoles, processCompositeStateAttributes, processCompositeStateMain, processCompositeStateRoles, processConstraintAttributes, processConstraintMain, processConstraintRoles, processCreateActionAttributes, processCreateActionMain, processCreateActionRoles, processDataTypeAttributes, processDataTypeMain, processDataTypeRoles, processDataValueAttributes, processDataValueMain, processDataValueRoles, processDependencyAttributes, processDependencyMain, processDependencyRoles, processDestroyActionAttributes, processDestroyActionMain, processDestroyActionRoles, processElementAttributes, processElementImportAttributes, processElementImportMain, processElementImportRoles, processElementResidenceAttributes, processElementResidenceMain, processElementResidenceRoles, processElementRoles, processEventAttributes, processEventRoles, processExceptionAttributes, processExceptionMain, processExceptionRoles, processExpressionAttributes, processExpressionMain, processExpressionRoles, processExtendAttributes, processExtendMain, processExtendRoles, processExtensionPointAttributes, processExtensionPointMain, processExtensionPointRoles, processFeatureAttributes, processFeatureRoles, processFinalStateAttributes, processFinalStateMain, processFinalStateRoles, processFlowAttributes, processFlowMain, processFlowRoles, processGeneralizableElementAttributes, processGeneralizableElementRoles, processGeneralizationAttributes, processGeneralizationMain, processGeneralizationRoles, processGuardAttributes, processGuardMain, processGuardRoles, processIncludeAttributes, processIncludeMain, processIncludeRoles, processingInstruction, processInstanceAttributes, processInstanceMain, processInstanceRoles, processIntegerMain, processInteractionAttributes, processInteractionMain, processInteractionRoles, processInterfaceAttributes, processInterfaceMain, processInterfaceRoles, processIterationExpressionAttributes, processIterationExpressionMain, processIterationExpressionRoles, processLinkAttributes, processLinkEndAttributes, processLinkEndMain, processLinkEndRoles, processLinkMain, processLinkObjectAttributes, processLinkObjectMain, processLinkObjectRoles, processLinkRoles, processMain, processMappingExpressionAttributes, processMappingExpressionMain, processMappingExpressionRoles, processMessageAttributes, processMessageMain, processMessageRoles, processMethodAttributes, processMethodMain, processMethodRoles, processModelAttributes, processModelElementAttributes, processModelElementRoles, processModelMain, processModelRoles, processMultiplicityAttributes, processMultiplicityMain, processMultiplicityRangeAttributes, processMultiplicityRangeMain, processMultiplicityRangeRoles, processMultiplicityRoles, processNamespaceAttributes, processNamespaceMain, processNamespaceRoles, processNodeAttributes, processNodeInstanceAttributes, processNodeInstanceMain, processNodeInstanceRoles, processNodeMain, processNodeRoles, processObjectAttributes, processObjectFlowStateAttributes, processObjectFlowStateMain, processObjectFlowStateRoles, processObjectMain, processObjectRoles, processObjectSetExpressionAttributes, processObjectSetExpressionMain, processObjectSetExpressionRoles, processOperationAttributes, processOperationMain, processOperationRoles, processPackageAttributes, processPackageMain, processPackageRoles, processParameterAttributes, processParameterMain, processParameterRoles, processPartitionAttributes, processPartitionMain, processPartitionRoles, processPermissionAttributes, processPermissionMain, processPermissionRoles, processPresentationElementAttributes, processPresentationElementRoles, processProcedureExpressionAttributes, processProcedureExpressionMain, processProcedureExpressionRoles, processPseudostateAttributes, processPseudostateMain, processPseudostateRoles, processReceptionAttributes, processReceptionMain, processReceptionRoles, processRelationshipAttributes, processRelationshipMain, processRelationshipRoles, processReturnActionAttributes, processReturnActionMain, processReturnActionRoles, processSendActionAttributes, processSendActionMain, processSendActionRoles, processSignalAttributes, processSignalEventAttributes, processSignalEventMain, processSignalEventRoles, processSignalMain, processSignalRoles, processSimpleStateAttributes, processSimpleStateMain, processSimpleStateRoles, processStateAttributes, processStateMachineAttributes, processStateMachineMain, processStateMachineRoles, processStateMain, processStateRoles, processStateVertexAttributes, processStateVertexRoles, processStereotypeAttributes, processStereotypeMain, processStereotypeRoles, processStimulusAttributes, processStimulusMain, processStimulusRoles, processStructuralFeatureAttributes, processStructuralFeatureRoles, processStubStateAttributes, processStubStateMain, processStubStateRoles, processSubactivityStateAttributes, processSubactivityStateMain, processSubactivityStateRoles, processSubmachineStateAttributes, processSubmachineStateMain, processSubmachineStateRoles, processSubsystemAttributes, processSubsystemMain, processSubsystemRoles, processSynchStateAttributes, processSynchStateMain, processSynchStateRoles, processTaggedValueAttributes, processTaggedValueMain, processTaggedValueRoles, processTemplateParameterAttributes, processTemplateParameterMain, processTemplateParameterRoles, processTerminateActionAttributes, processTerminateActionMain, processTerminateActionRoles, processTimeEventAttributes, processTimeEventMain, processTimeEventRoles, processTimeExpressionAttributes, processTimeExpressionMain, processTimeExpressionRoles, processTransitionAttributes, processTransitionMain, processTransitionRoles, processTypeExpressionAttributes, processTypeExpressionMain, processTypeExpressionRoles, processUninterpretedActionAttributes, processUninterpretedActionMain, processUninterpretedActionRoles, processUsageAttributes, processUsageMain, processUsageRoles, processUseCaseAttributes, processUseCaseInstanceAttributes, processUseCaseInstanceMain, processUseCaseInstanceRoles, processUseCaseMain, processUseCaseRoles, processXMIExtensionMain, processXMIMain, putObject, putObjectByRef, putXMIID, putXMIUUID, removeXMIID, removeXMIUUID, resolveEntity, startDocument, startElement, warning
 
Methods inherited from class org.xml.sax.HandlerBase
notationDecl, setDocumentLocator, unparsedEntityDecl
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

LOG

private static final Logger LOG

errors

private boolean errors

theParser

private Parser theParser
Constructor Detail

NsumlXmiReader

public NsumlXmiReader()
               throws SAXException,
                      javax.xml.parsers.ParserConfigurationException
Constructor for XMIReader.

Throws:
SAXException - when there is a XML problem
javax.xml.parsers.ParserConfigurationException - if a parser cannot be created which satisfies the requested configuration

NsumlXmiReader

public NsumlXmiReader(ru.novosoft.uml.MFactory pFactory)
               throws SAXException,
                      javax.xml.parsers.ParserConfigurationException
Constructor for XMIReader.

Parameters:
pFactory - the factory
Throws:
SAXException - if there is a XML problem
javax.xml.parsers.ParserConfigurationException - if a parser cannot be created which satisfies the requested configuration
Method Detail

parseSourceStream

protected void parseSourceStream(InputSource pIs)
                          throws SAXException,
                                 IOException
Parses an xmi inputsource. Sets errors to true if an exception is thrown. Could not change the API from the superclass. Therefore this strange construction.

Throws:
SAXException
IOException
See Also:
XMIReader.parseStream(InputSource)

parseToModel

public ru.novosoft.uml.model_management.MModel parseToModel(InputSource pIs)
                                                     throws SAXException,
                                                            IOException
Parses a given inputsource to a model. Does not override the novosoft parse method since that does not have the right signature.

Parameters:
pIs - the input source for parsing
Returns:
MModel the UML model
Throws:
SAXException - if there is an XML problem
IOException - if there is a file I/O problem

setErrors

public void setErrors(boolean e)
Parameters:
e - true if there are errors

getErrors

public boolean getErrors()
Returns:
true if there were errors

setParser

public void setParser(Parser parser)
Parameters:
parser - the parser

getParser

public Parser getParser()
Returns:
the parser


ArgoUML © 1996-2004 (20050222)ArgoUML HomepageArgoUML Developers' pageArgoUML Cookbook