Index: build/DatabaseStructure.sql
===================================================================
diff -u -r20a7f01e04fc17eee5db148fbb7e5a0f21be0d0f -r755360927a67d206d503b10e0d4c40d5426c4a3b
--- build/DatabaseStructure.sql	(.../DatabaseStructure.sql)	(revision 20a7f01e04fc17eee5db148fbb7e5a0f21be0d0f)
+++ build/DatabaseStructure.sql	(.../DatabaseStructure.sql)	(revision 755360927a67d206d503b10e0d4c40d5426c4a3b)
@@ -1,6 +1,6 @@
 /* ---------------------------------------------------- */
 /*  Generated by Enterprise Architect Version 12.0 		*/
-/*  Created On : 01-May-2017 3:53:59 PM 				*/
+/*  Created On : 02-May-2017 11:13:54 				*/
 /*  DBMS       : SQLite 								*/
 /* ---------------------------------------------------- */
 
@@ -15,13 +15,10 @@
 DROP TABLE IF EXISTS 'ProjectEntity'
 ;
 
-DROP TABLE IF EXISTS 'StabilityPointStructuresCalculationEntity'
-;
-
 DROP TABLE IF EXISTS 'AssessmentSectionEntity'
 ;
 
-DROP TABLE IF EXISTS 'FailureMechanismEntity'
+DROP TABLE IF EXISTS 'StabilityPointStructuresCalculationEntity'
 ;
 
 DROP TABLE IF EXISTS 'FailureMechanismSectionEntity'
@@ -30,21 +27,24 @@
 DROP TABLE IF EXISTS 'PipingFailureMechanismMetaEntity'
 ;
 
-DROP TABLE IF EXISTS 'StabilityPointStructuresFailureMechanismMetaEntity'
+DROP TABLE IF EXISTS 'FailureMechanismEntity'
 ;
 
-DROP TABLE IF EXISTS 'ClosingStructuresFailureMechanismMetaEntity'
+DROP TABLE IF EXISTS 'StabilityStoneCoverFailureMechanismMetaEntity'
 ;
 
-DROP TABLE IF EXISTS 'DuneErosionFailureMechanismMetaEntity'
+DROP TABLE IF EXISTS 'ClosingStructuresFailureMechanismMetaEntity'
 ;
 
 DROP TABLE IF EXISTS 'CalculationGroupEntity'
 ;
 
-DROP TABLE IF EXISTS 'HeightStructuresFailureMechanismMetaEntity'
+DROP TABLE IF EXISTS 'StabilityPointStructuresFailureMechanismMetaEntity'
 ;
 
+DROP TABLE IF EXISTS 'DuneErosionFailureMechanismMetaEntity'
+;
+
 DROP TABLE IF EXISTS 'HydraulicLocationEntity'
 ;
 
@@ -57,6 +57,9 @@
 DROP TABLE IF EXISTS 'GrassCoverErosionInwardsCalculationEntity'
 ;
 
+DROP TABLE IF EXISTS 'HeightStructuresFailureMechanismMetaEntity'
+;
+
 DROP TABLE IF EXISTS 'GrassCoverErosionOutwardsFailureMechanismMetaEntity'
 ;
 
@@ -126,6 +129,9 @@
 DROP TABLE IF EXISTS 'MicrostabilitySectionResultEntity'
 ;
 
+DROP TABLE IF EXISTS 'WaveImpactAsphaltCoverFailureMechanismMetaEntity'
+;
+
 DROP TABLE IF EXISTS 'PipingStructureSectionResultEntity'
 ;
 
@@ -246,6 +252,23 @@
 )
 ;
 
+CREATE TABLE 'AssessmentSectionEntity'
+(
+	'AssessmentSectionEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+	'ProjectEntityId' INTEGER NOT NULL,
+	'Id' TEXT,
+	'Name' VARCHAR (260),
+	'Comments' TEXT,
+	'Norm' REAL NOT NULL,
+	'HydraulicDatabaseVersion' TEXT,
+	'HydraulicDatabaseLocation' TEXT,
+	'Composition' TINYINT (1) NOT NULL, -- Enum: 1 = Dike, 2 = Dune, 3 = DikeAndDune
+	'ReferenceLinePointXml' TEXT,
+	'Order' INT (4) NOT NULL,
+	CONSTRAINT 'FK_AssessmentSectionEntity_ProjectEntity' FOREIGN KEY ('ProjectEntityId') REFERENCES 'ProjectEntity' ('ProjectEntityId') ON DELETE Cascade ON UPDATE Cascade
+)
+;
+
 CREATE TABLE 'StabilityPointStructuresCalculationEntity'
 (
 	'StabilityPointStructuresCalculationEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
@@ -318,23 +341,28 @@
 )
 ;
 
-CREATE TABLE 'AssessmentSectionEntity'
+CREATE TABLE 'FailureMechanismSectionEntity'
 (
-	'AssessmentSectionEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
-	'ProjectEntityId' INTEGER NOT NULL,
-	'Id' TEXT,
-	'Name' VARCHAR (260),
-	'Comments' TEXT,
-	'Norm' REAL NOT NULL,
-	'HydraulicDatabaseVersion' TEXT,
-	'HydraulicDatabaseLocation' TEXT,
-	'Composition' TINYINT (1) NOT NULL, -- Enum: 1 = Dike, 2 = Dune, 3 = DikeAndDune
-	'ReferenceLinePointXml' TEXT,
-	'Order' INT (4) NOT NULL,
-	CONSTRAINT 'FK_AssessmentSectionEntity_ProjectEntity' FOREIGN KEY ('ProjectEntityId') REFERENCES 'ProjectEntity' ('ProjectEntityId') ON DELETE Cascade ON UPDATE Cascade
+	'FailureMechanismSectionEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+	'FailureMechanismEntityId' INTEGER NOT NULL,
+	'Name' VARCHAR (260) NOT NULL,
+	'FailureMechanismSectionPointXml' TEXT NOT NULL,
+	CONSTRAINT 'FK_FailureMechanismSectionEntity_FailureMechanismEntity' FOREIGN KEY ('FailureMechanismEntityId') REFERENCES 'FailureMechanismEntity' ('FailureMechanismEntityId') ON DELETE Cascade ON UPDATE Cascade
 )
 ;
 
+CREATE TABLE 'PipingFailureMechanismMetaEntity'
+(
+	'PipingFailureMechanismMetaEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+	'FailureMechanismEntityId' INTEGER NOT NULL,
+	'A' REAL NOT NULL,
+	'WaterVolumetricWeight' REAL NOT NULL,
+	'StochasticSoilModelCollectionSourcePath' TEXT,
+	'SurfaceLineCollectionSourcePath' TEXT,
+	CONSTRAINT 'FK_PipingFailureMechanismMetaEntity_FailureMechanismEntity' FOREIGN KEY ('FailureMechanismEntityId') REFERENCES 'FailureMechanismEntity' ('FailureMechanismEntityId') ON DELETE Cascade ON UPDATE Cascade
+)
+;
+
 CREATE TABLE 'FailureMechanismEntity'
 (
 	'FailureMechanismEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
@@ -351,55 +379,25 @@
 )
 ;
 
-CREATE TABLE 'FailureMechanismSectionEntity'
+CREATE TABLE 'StabilityStoneCoverFailureMechanismMetaEntity'
 (
-	'FailureMechanismSectionEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+	'StabilityStoneCoverFailureMechanismMetaEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
 	'FailureMechanismEntityId' INTEGER NOT NULL,
-	'Name' VARCHAR (260) NOT NULL,
-	'FailureMechanismSectionPointXml' TEXT NOT NULL,
-	CONSTRAINT 'FK_FailureMechanismSectionEntity_FailureMechanismEntity' FOREIGN KEY ('FailureMechanismEntityId') REFERENCES 'FailureMechanismEntity' ('FailureMechanismEntityId') ON DELETE Cascade ON UPDATE Cascade
+	'ForeshoreProfileCollectionSourcePath' TEXT,
+	CONSTRAINT 'FK_StabilityStoneCoverFailureMechanismMetaEntity_FailureMechanismEntity' FOREIGN KEY ('FailureMechanismEntityId') REFERENCES 'FailureMechanismEntity' ('FailureMechanismEntityId') ON DELETE Cascade ON UPDATE Cascade
 )
 ;
 
-CREATE TABLE 'PipingFailureMechanismMetaEntity'
-(
-	'PipingFailureMechanismMetaEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
-	'FailureMechanismEntityId' INTEGER NOT NULL,
-	'A' REAL NOT NULL,
-	'WaterVolumetricWeight' REAL NOT NULL,
-	'StochasticSoilModelSourcePath' TEXT,
-	'SurfaceLineSourcePath' TEXT,
-	CONSTRAINT 'FK_PipingFailureMechanismMetaEntity_FailureMechanismEntity' FOREIGN KEY ('FailureMechanismEntityId') REFERENCES 'FailureMechanismEntity' ('FailureMechanismEntityId') ON DELETE Cascade ON UPDATE Cascade
-)
-;
-
-CREATE TABLE 'StabilityPointStructuresFailureMechanismMetaEntity'
-(
-	'StrengthStabilityPointConstructionFailureMechanismMetaEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
-	'FailureMechanismEntityId' INTEGER NOT NULL,
-	'N' INT (4) NOT NULL,
-	CONSTRAINT 'FK_StrengthStabilityPointConstructionFailureMechanismMetaEntity_FailureMechanismEntity' FOREIGN KEY ('FailureMechanismEntityId') REFERENCES 'FailureMechanismEntity' ('FailureMechanismEntityId') ON DELETE Cascade ON UPDATE Cascade
-)
-;
-
 CREATE TABLE 'ClosingStructuresFailureMechanismMetaEntity'
 (
 	'ClosingStructuresFailureMechanismMetaEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
 	'FailureMechanismEntityId' INTEGER NOT NULL,
 	'N2A' INT (4) NOT NULL,
+	'ForeshoreProfileCollectionSourcePath' TEXT,
 	CONSTRAINT 'FK_ClosingStructuresFailureMechanismMetaEntity_FailureMechanismEntity' FOREIGN KEY ('FailureMechanismEntityId') REFERENCES 'FailureMechanismEntity' ('FailureMechanismEntityId') ON DELETE Cascade ON UPDATE Cascade
 )
 ;
 
-CREATE TABLE 'DuneErosionFailureMechanismMetaEntity'
-(
-	'DuneErosionFailureMechanismMetaEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
-	'FailureMechanismEntityId' INTEGER NOT NULL,
-	'N' REAL NOT NULL,
-	CONSTRAINT 'FK_DuneErosionFailureMechanismMetaEntity_FailureMechanismEntity' FOREIGN KEY ('FailureMechanismEntityId') REFERENCES 'FailureMechanismEntity' ('FailureMechanismEntityId') ON DELETE Cascade ON UPDATE Cascade
-)
-;
-
 CREATE TABLE 'CalculationGroupEntity'
 (
 	'CalculationGroupEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
@@ -410,16 +408,25 @@
 )
 ;
 
-CREATE TABLE 'HeightStructuresFailureMechanismMetaEntity'
+CREATE TABLE 'StabilityPointStructuresFailureMechanismMetaEntity'
 (
-	'HeightStructuresFailureMechanismMetaEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+	'StabilityPointStructuresFailureMechanismMetaEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
 	'FailureMechanismEntityId' INTEGER NOT NULL,
 	'N' INT (4) NOT NULL,
-	'HeightStructureCollectionSourcePath' TEXT,
-	CONSTRAINT 'FK_HeightStructuresFailureMechanismMetaEntity_FailureMechanismEntity' FOREIGN KEY ('FailureMechanismEntityId') REFERENCES 'FailureMechanismEntity' ('FailureMechanismEntityId') ON DELETE Cascade ON UPDATE Cascade
+	'ForeshoreProfileCollectionSourcePath' TEXT,
+	CONSTRAINT 'FK_StrengthStabilityPointConstructionFailureMechanismMetaEntity_FailureMechanismEntity' FOREIGN KEY ('FailureMechanismEntityId') REFERENCES 'FailureMechanismEntity' ('FailureMechanismEntityId') ON DELETE Cascade ON UPDATE Cascade
 )
 ;
 
+CREATE TABLE 'DuneErosionFailureMechanismMetaEntity'
+(
+	'DuneErosionFailureMechanismMetaEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+	'FailureMechanismEntityId' INTEGER NOT NULL,
+	'N' REAL NOT NULL,
+	CONSTRAINT 'FK_DuneErosionFailureMechanismMetaEntity_FailureMechanismEntity' FOREIGN KEY ('FailureMechanismEntityId') REFERENCES 'FailureMechanismEntity' ('FailureMechanismEntityId') ON DELETE Cascade ON UPDATE Cascade
+)
+;
+
 CREATE TABLE 'HydraulicLocationEntity'
 (
 	'HydraulicLocationEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
@@ -495,11 +502,23 @@
 )
 ;
 
+CREATE TABLE 'HeightStructuresFailureMechanismMetaEntity'
+(
+	'HeightStructuresFailureMechanismMetaEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+	'FailureMechanismEntityId' INTEGER NOT NULL,
+	'N' INT (4) NOT NULL,
+	'HeightStructureCollectionSourcePath' TEXT,
+	'ForeshoreProfileCollectionSourcePath' TEXT,
+	CONSTRAINT 'FK_HeightStructuresFailureMechanismMetaEntity_FailureMechanismEntity' FOREIGN KEY ('FailureMechanismEntityId') REFERENCES 'FailureMechanismEntity' ('FailureMechanismEntityId') ON DELETE Cascade ON UPDATE Cascade
+)
+;
+
 CREATE TABLE 'GrassCoverErosionOutwardsFailureMechanismMetaEntity'
 (
 	'GrassCoverErosionOutwardsFailureMechanismMetaEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
 	'FailureMechanismEntityId' INTEGER NOT NULL,
 	'N' INT (4) NOT NULL,
+	'ForeshoreProfileCollectionSourcePath' TEXT,
 	CONSTRAINT 'FK_GrassCoverErosionOutwardsFailureMechanismMetaEntity_FailureMechanismEntity' FOREIGN KEY ('FailureMechanismEntityId') REFERENCES 'FailureMechanismEntity' ('FailureMechanismEntityId') ON DELETE Cascade ON UPDATE Cascade
 )
 ;
@@ -782,6 +801,15 @@
 )
 ;
 
+CREATE TABLE 'WaveImpactAsphaltCoverFailureMechanismMetaEntity'
+(
+	'WaveImpactAsphaltCoverFailureMechanismMetaEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+	'FailureMechanismEntityId' INTEGER NOT NULL,
+	'ForeshoreProfileCollectionSourcePath' TEXT,
+	CONSTRAINT 'FK_WaveImpactAsphaltCoverFailureMechanismMetaEntity_FailureMechanismEntity' FOREIGN KEY ('FailureMechanismEntityId') REFERENCES 'FailureMechanismEntity' ('FailureMechanismEntityId') ON DELETE Cascade ON UPDATE Cascade
+)
+;
+
 CREATE TABLE 'PipingStructureSectionResultEntity'
 (
 	'PipingStructureSectionResultEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
@@ -879,7 +907,8 @@
 	'Y' REAL,
 	'X0' REAL,
 	'Order' INT (4) NOT NULL,
-	CONSTRAINT 'FK_ForeshoreProfileEntity_FailureMechanismEntity' FOREIGN KEY ('FailureMechanismEntityId') REFERENCES 'FailureMechanismEntity' ('FailureMechanismEntityId') ON DELETE Cascade ON UPDATE Cascade
+	CONSTRAINT 'FK_ForeshoreProfileEntity_FailureMechanismEntity' FOREIGN KEY ('FailureMechanismEntityId') REFERENCES 'FailureMechanismEntity' ('FailureMechanismEntityId') ON DELETE Cascade ON UPDATE Cascade,
+	CONSTRAINT 'UQ_ForeshoreProfileEntity_IdFailureMechanismEntityId' UNIQUE ('Id','FailureMechanismEntityId')
 )
 ;
 
@@ -1391,6 +1420,10 @@
  ON 'GrassCoverErosionInwardsDikeHeightOutputEntity' ('GrassCoverErosionInwardsOutputEntityId' ASC)
 ;
 
+CREATE INDEX 'IXFK_AssessmentSectionEntity_ProjectEntity'
+ ON 'AssessmentSectionEntity' ('ProjectEntityId' ASC)
+;
+
 CREATE INDEX 'IXFK_StabilityPointStructuresCalculationEntity_CalculationGroupEntity'
  ON 'StabilityPointStructuresCalculationEntity' ('CalculationGroupEntityId' ASC)
 ;
@@ -1407,10 +1440,14 @@
  ON 'StabilityPointStructuresCalculationEntity' ('StabilityPointStructureEntityId' ASC)
 ;
 
-CREATE INDEX 'IXFK_AssessmentSectionEntity_ProjectEntity'
- ON 'AssessmentSectionEntity' ('ProjectEntityId' ASC)
+CREATE INDEX 'IXFK_FailureMechanismSectionEntity_FailureMechanismEntity'
+ ON 'FailureMechanismSectionEntity' ('FailureMechanismEntityId' ASC)
 ;
 
+CREATE INDEX 'IXFK_PipingFailureMechanismMetaEntity_FailureMechanismEntity'
+ ON 'PipingFailureMechanismMetaEntity' ('FailureMechanismEntityId' ASC)
+;
+
 CREATE INDEX 'IXFK_FailureMechanismEntity_AssessmentSectionEntity'
  ON 'FailureMechanismEntity' ('AssessmentSectionEntityId' ASC)
 ;
@@ -1419,34 +1456,26 @@
  ON 'FailureMechanismEntity' ('CalculationGroupEntityId' ASC)
 ;
 
-CREATE INDEX 'IXFK_FailureMechanismSectionEntity_FailureMechanismEntity'
- ON 'FailureMechanismSectionEntity' ('FailureMechanismEntityId' ASC)
+CREATE INDEX 'IXFK_StabilityStoneCoverFailureMechanismMetaEntity_FailureMechanismEntity'
+ ON 'StabilityStoneCoverFailureMechanismMetaEntity' ('FailureMechanismEntityId' ASC)
 ;
 
-CREATE INDEX 'IXFK_PipingFailureMechanismMetaEntity_FailureMechanismEntity'
- ON 'PipingFailureMechanismMetaEntity' ('FailureMechanismEntityId' ASC)
-;
-
-CREATE INDEX 'IXFK_StrengthStabilityPointConstructionFailureMechanismMetaEntity_FailureMechanismEntity'
- ON 'StabilityPointStructuresFailureMechanismMetaEntity' ('FailureMechanismEntityId' ASC)
-;
-
 CREATE INDEX 'IXFK_ClosingStructuresFailureMechanismMetaEntity_FailureMechanismEntity'
  ON 'ClosingStructuresFailureMechanismMetaEntity' ('FailureMechanismEntityId' ASC)
 ;
 
-CREATE INDEX 'IXFK_DuneErosionFailureMechanismMetaEntity_FailureMechanismEntity'
- ON 'DuneErosionFailureMechanismMetaEntity' ('FailureMechanismEntityId' ASC)
-;
-
 CREATE INDEX 'IXFK_CalculationGroupEntity_CalculationGroupEntity'
  ON 'CalculationGroupEntity' ('ParentCalculationGroupEntityId' ASC)
 ;
 
-CREATE INDEX 'IXFK_HeightStructuresFailureMechanismMetaEntity_FailureMechanismEntity'
- ON 'HeightStructuresFailureMechanismMetaEntity' ('FailureMechanismEntityId' ASC)
+CREATE INDEX 'IXFK_StrengthStabilityPointConstructionFailureMechanismMetaEntity_FailureMechanismEntity'
+ ON 'StabilityPointStructuresFailureMechanismMetaEntity' ('FailureMechanismEntityId' ASC)
 ;
 
+CREATE INDEX 'IXFK_DuneErosionFailureMechanismMetaEntity_FailureMechanismEntity'
+ ON 'DuneErosionFailureMechanismMetaEntity' ('FailureMechanismEntityId' ASC)
+;
+
 CREATE INDEX 'IXFK_HydraulicLocationEntity_AssessmentSectionEntity'
  ON 'HydraulicLocationEntity' ('AssessmentSectionEntityId' ASC)
 ;
@@ -1483,6 +1512,10 @@
  ON 'GrassCoverErosionInwardsCalculationEntity' ('HydraulicLocationEntityId' ASC)
 ;
 
+CREATE INDEX 'IXFK_HeightStructuresFailureMechanismMetaEntity_FailureMechanismEntity'
+ ON 'HeightStructuresFailureMechanismMetaEntity' ('FailureMechanismEntityId' ASC)
+;
+
 CREATE INDEX 'IXFK_GrassCoverErosionOutwardsFailureMechanismMetaEntity_FailureMechanismEntity'
  ON 'GrassCoverErosionOutwardsFailureMechanismMetaEntity' ('FailureMechanismEntityId' ASC)
 ;
@@ -1583,6 +1616,10 @@
  ON 'MicrostabilitySectionResultEntity' ('FailureMechanismSectionEntityId' ASC)
 ;
 
+CREATE INDEX 'IXFK_WaveImpactAsphaltCoverFailureMechanismMetaEntity_FailureMechanismEntity'
+ ON 'WaveImpactAsphaltCoverFailureMechanismMetaEntity' ('FailureMechanismEntityId' ASC)
+;
+
 CREATE INDEX 'IXFK_PipingStructureSectionResultEntity_FailureMechanismSectionEntity'
  ON 'PipingStructureSectionResultEntity' ('FailureMechanismSectionEntityId' ASC)
 ;
