Skip to content

Commit

Permalink
Merge remote-tracking branch 'remotes/origin/master'
Browse files Browse the repository at this point in the history
  • Loading branch information
Esko Pekkarinen committed Jun 29, 2018
2 parents fd2dd49 + 6f82cdb commit f88a726
Show file tree
Hide file tree
Showing 27 changed files with 621 additions and 94 deletions.
36 changes: 29 additions & 7 deletions IPXACTmodels/BusDefinition/validators/BusDefinitionValidator.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -13,19 +13,20 @@

#include <editors/ComponentEditor/common/ExpressionParser.h>

#include <IPXACTmodels/BusDefinition/BusDefinition.h>

#include <IPXACTmodels/common/validators/ParameterValidator.h>

#include <IPXACTmodels/Component/Choice.h>
#include <IPXACTmodels/BusDefinition/BusDefinition.h>

#include <library/LibraryInterface.h>

//-----------------------------------------------------------------------------
// Function: BusDefinitionValidator::BusDefinitionValidator()
//-----------------------------------------------------------------------------
BusDefinitionValidator::BusDefinitionValidator(QSharedPointer<ExpressionParser> expressionParser):
expressionParser_(expressionParser),
parameterValidator_(new ParameterValidator(expressionParser,
QSharedPointer<QList<QSharedPointer<Choice> > >()))
BusDefinitionValidator::BusDefinitionValidator(LibraryInterface* library,
QSharedPointer<ExpressionParser> expressionParser):
library_(library),
expressionParser_(expressionParser),
parameterValidator_(new ParameterValidator(expressionParser, QSharedPointer<QList<QSharedPointer<Choice> > >()))
{

}
Expand All @@ -47,6 +48,11 @@ bool BusDefinitionValidator::validate(QSharedPointer<const BusDefinition> busDef
{
return false;
}

if (!extendIsValid(busDefinition))
{
return false;
}

bool validMasters = false;
expressionParser_->parseExpression(busDefinition->getMaxMasters(), &validMasters);
Expand All @@ -73,6 +79,16 @@ bool BusDefinitionValidator::validate(QSharedPointer<const BusDefinition> busDef
return true;
}

//-----------------------------------------------------------------------------
// Function: BusDefinitionValidator::extendIsValid()
//-----------------------------------------------------------------------------
bool BusDefinitionValidator::extendIsValid(QSharedPointer<const BusDefinition> busDefinition) const
{
VLNV extendVLNV = busDefinition->getExtends();
return extendVLNV.isEmpty() ||
(library_->getModelReadOnly(extendVLNV) && extendVLNV.getType() == VLNV::BUSDEFINITION);
}

//-----------------------------------------------------------------------------
// Function: BusDefinitionValidator::findErrorsIn()
//-----------------------------------------------------------------------------
Expand All @@ -85,6 +101,12 @@ void BusDefinitionValidator::findErrorsIn(QVector<QString>& errors,
context = QObject::tr("bus definition %1").arg(busDefinition->getVlnv().toString());
}

if (!extendIsValid(busDefinition))
{
errors.append(QObject::tr("Extend VLNV '%1' is not valid within %2.").arg(
busDefinition->getExtends().toString(), context));
}

bool mastersValid = false;
expressionParser_->parseExpression(busDefinition->getMaxMasters(), &mastersValid);
if (mastersValid == false)
Expand Down
20 changes: 19 additions & 1 deletion IPXACTmodels/BusDefinition/validators/BusDefinitionValidator.h
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
class BusDefinition;
class ExpressionParser;
class ParameterValidator;
class LibraryInterface;

//-----------------------------------------------------------------------------
//! Validator for ipxact:BusDefinition.
Expand All @@ -32,9 +33,10 @@ class IPXACTMODELS_EXPORT BusDefinitionValidator
/*!
* The constructor.
*
* @param [in] library The library interface.
* @param [in] expressionParser The expression parser to use.
*/
BusDefinitionValidator(QSharedPointer<ExpressionParser> expressionParser);
BusDefinitionValidator(LibraryInterface* library, QSharedPointer<ExpressionParser> expressionParser);

//! The destructor.
virtual ~BusDefinitionValidator();
Expand Down Expand Up @@ -62,6 +64,22 @@ class IPXACTMODELS_EXPORT BusDefinitionValidator
BusDefinitionValidator(BusDefinitionValidator const& rhs);
BusDefinitionValidator& operator=(BusDefinitionValidator const& rhs);

/*!
* Check if the extend value of the selected bus definition is valid.
*
* @param [in] busDefinition The selected bus definition.
*
* @return True, if the extend value is valid, false otherwise.
*/
bool extendIsValid(QSharedPointer<const BusDefinition> busDefinition) const;

//-----------------------------------------------------------------------------
// Data.
//-----------------------------------------------------------------------------

//! The library interface.
LibraryInterface* library_;

//! The expression parser to use.
QSharedPointer<ExpressionParser> expressionParser_;

Expand Down
42 changes: 25 additions & 17 deletions Kactus2.pri
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,16 @@
# This file is generated by the Qt Visual Studio Tools.
# ------------------------------------------------------

# This is a reminder that you are using a generated .pro file.
# Remove it when you are finished editing this file.
message("You are running qmake on a generated .pro file. This may not work!")


HEADERS += ./editors/ComponentEditor/treeStructure/SingleIndirectInterfaceItem.h \
./VersionHelper.h \
./editors/ComponentEditor/common/ComponentParameterFinder.h \
./editors/ComponentEditor/referenceCounter/ParameterReferenceCounter.h \
./editors/ComponentEditor/referenceCounter/ReferenceCounter.h \
./common/NameGenerationPolicy.h \
./common/Global.h \
./common/KactusColors.h \
Expand Down Expand Up @@ -512,7 +519,6 @@ HEADERS += ./editors/ComponentEditor/treeStructure/SingleIndirectInterfaceItem.h
./editors/ComponentEditor/common/SystemVerilogExpressionParser.h \
./editors/ComponentEditor/common/SystemVerilogSyntax.h \
./editors/ComponentEditor/common/AbstractParameterModel.h \
./editors/ComponentEditor/common/ComponentParameterFinder.h \
./editors/ComponentEditor/common/CompleterPopupTable.h \
./editors/ComponentEditor/common/ExpressionDelegate.h \
./editors/ComponentEditor/common/ExpressionEditor.h \
Expand All @@ -523,8 +529,6 @@ HEADERS += ./editors/ComponentEditor/treeStructure/SingleIndirectInterfaceItem.h
./editors/ComponentEditor/common/ParameterizableTable.h \
./editors/ComponentEditor/common/ReferencingTableModel.h \
./editors/ComponentEditor/common/ReferenceSelector/ReferenceSelector.h \
./editors/ComponentEditor/referenceCounter/ParameterReferenceCounter.h \
./editors/ComponentEditor/referenceCounter/ReferenceCounter.h \
./editors/ComponentEditor/referenceCounter/ComponentParameterReferenceCounter.h \
./editors/ComponentEditor/parameterReferenceTree/ParameterReferenceTree.h \
./editors/ComponentEditor/parameterReferenceTree/ComponentParameterReferenceTree.h \
Expand Down Expand Up @@ -578,12 +582,21 @@ HEADERS += ./editors/ComponentEditor/treeStructure/SingleIndirectInterfaceItem.h
./editors/CatalogEditor/CatalogFileDelegate.h \
./editors/CatalogEditor/CatalogFileFilter.h \
./editors/CatalogEditor/CatalogFileView.h \
./editors/BusDefinitionEditor/AbstractionTransactionalPortColumns.h \
./editors/BusDefinitionEditor/AbstractionTransactionalPortsSortFilter.h \
./editors/BusDefinitionEditor/LogicalPortColumns.h \
./editors/BusDefinitionEditor/absdefgroup.h \
./editors/BusDefinitionEditor/busdefgroup.h \
./editors/BusDefinitionEditor/BusDefinitionEditor.h \
./editors/BusDefinitionEditor/AbstractionDefinitionPortsSortFilter.h \
./editors/BusDefinitionEditor/AbstractionPortsView.h \
./editors/BusDefinitionEditor/AbstractionWirePortsEditor.h \
./editors/BusDefinitionEditor/AbstractionTransactionalPortsEditor.h \
./editors/BusDefinitionEditor/AbstractionPortsDelegate.h \
./editors/BusDefinitionEditor/AbstractionWirePortsModel.h \
./editors/BusDefinitionEditor/AbstractionTransactionalPortsModel.h \
./editors/BusDefinitionEditor/AbstractionWirePortsDelegate.h \
./editors/BusDefinitionEditor/AbstractionTransactionalPortsDelegate.h \
./editors/common/ColumnTypes.h \
./editors/common/DefaultRouting.h \
./editors/common/DesignDiagramResolver.h \
Expand Down Expand Up @@ -756,14 +769,7 @@ HEADERS += ./editors/ComponentEditor/treeStructure/SingleIndirectInterfaceItem.h
./kactusGenerators/DocumentGenerator/ViewDocumentGenerator.h \
./kactusGenerators/DocumentGenerator/GeneralDocumentGenerator.h \
./kactusGenerators/DocumentGenerator/documentgenerator.h \
./editors/BusDefinitionEditor/AbstractionWirePortsDelegate.h \
./editors/BusDefinitionEditor/AbstractionWirePortsModel.h \
./editors/BusDefinitionEditor/AbstractionWirePortsEditor.h \
./editors/BusDefinitionEditor/AbstractionTransactionalPortsEditor.h \
./editors/BusDefinitionEditor/AbstractionTransactionalPortColumns.h \
./editors/BusDefinitionEditor/AbstractionTransactionalPortsModel.h \
./editors/BusDefinitionEditor/AbstractionTransactionalPortsDelegate.h \
./editors/BusDefinitionEditor/AbstractionPortsDelegate.h
./editors/BusDefinitionEditor/SystemGroupListEditor.h
SOURCES += ./VersionHelper.cpp \
./common/GenericEditProvider.cpp \
./common/NameGenerationPolicy.cpp \
Expand Down Expand Up @@ -1254,9 +1260,15 @@ SOURCES += ./VersionHelper.cpp \
./editors/ConfigurationTools/ViewConfigurerDelegate.cpp \
./editors/BusDefinitionEditor/absdefgroup.cpp \
./editors/BusDefinitionEditor/AbstractionDefinitionPortsSortFilter.cpp \
./editors/BusDefinitionEditor/AbstractionPortsDelegate.cpp \
./editors/BusDefinitionEditor/AbstractionPortsView.cpp \
./editors/BusDefinitionEditor/AbstractionTransactionalPortsDelegate.cpp \
./editors/BusDefinitionEditor/AbstractionTransactionalPortsEditor.cpp \
./editors/BusDefinitionEditor/AbstractionTransactionalPortsModel.cpp \
./editors/BusDefinitionEditor/AbstractionTransactionalPortsSortFilter.cpp \
./editors/BusDefinitionEditor/AbstractionWirePortsDelegate.cpp \
./editors/BusDefinitionEditor/AbstractionWirePortsEditor.cpp \
./editors/BusDefinitionEditor/AbstractionWirePortsModel.cpp \
./editors/BusDefinitionEditor/AbstractionPortsView.cpp \
./editors/BusDefinitionEditor/busdefgroup.cpp \
./editors/BusDefinitionEditor/BusDefinitionEditor.cpp \
./editors/CatalogEditor/CatalogEditor.cpp \
Expand Down Expand Up @@ -1425,9 +1437,5 @@ SOURCES += ./VersionHelper.cpp \
./kactusGenerators/DocumentGenerator/documentgenerator.cpp \
./kactusGenerators/DocumentGenerator/GeneralDocumentGenerator.cpp \
./kactusGenerators/DocumentGenerator/ViewDocumentGenerator.cpp \
./editors/BusDefinitionEditor/AbstractionWirePortsEditor.cpp \
./editors/BusDefinitionEditor/AbstractionTransactionalPortsEditor.cpp \
./editors/BusDefinitionEditor/AbstractionTransactionalPortsModel.cpp \
./editors/BusDefinitionEditor/AbstractionTransactionalPortsDelegate.cpp \
./editors/BusDefinitionEditor/AbstractionPortsDelegate.cpp
./editors/BusDefinitionEditor/SystemGroupListEditor.cpp
RESOURCES += kactus.qrc
Loading

0 comments on commit f88a726

Please sign in to comment.