diff --git a/libreplan-business/src/main/java/org/libreplan/business/workreports/entities/IWorkReportTypeBootstrap.java b/libreplan-business/src/main/java/org/libreplan/business/workreports/entities/IWorkReportTypeBootstrap.java
new file mode 100644
index 000000000..793d1bbbd
--- /dev/null
+++ b/libreplan-business/src/main/java/org/libreplan/business/workreports/entities/IWorkReportTypeBootstrap.java
@@ -0,0 +1,32 @@
+/*
+ * This file is part of LibrePlan
+ *
+ * Copyright (C) 2011 CafédeRed Solutions, S.L.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ */
+package org.libreplan.business.workreports.entities;
+
+import org.libreplan.business.IDataBootstrap;
+
+
+/**
+ * Interface for {@link WorkReportTypeBootstrap}.
+ *
+ * @author Ignacio Díaz Teijido
+ */
+
+public interface IWorkReportTypeBootstrap extends IDataBootstrap {
+ void loadRequiredData();
+}
diff --git a/libreplan-business/src/main/java/org/libreplan/business/workreports/entities/PredefinedWorkReportTypes.java b/libreplan-business/src/main/java/org/libreplan/business/workreports/entities/PredefinedWorkReportTypes.java
new file mode 100644
index 000000000..26e578a64
--- /dev/null
+++ b/libreplan-business/src/main/java/org/libreplan/business/workreports/entities/PredefinedWorkReportTypes.java
@@ -0,0 +1,44 @@
+/*
+ * This file is part of LibrePlan
+ *
+ * Copyright (C) 2011 CafédeRed Solutions, S.L.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ */
+package org.libreplan.business.workreports.entities;
+
+/**
+ * Defines the default {@link WorkReportType}.
+ *
+ * @author Ignacio Díaz Teijido
+ */
+public enum PredefinedWorkReportTypes {
+ DEFAULT("Default", true, true, true);
+
+ private WorkReportType workReportType;
+
+ private PredefinedWorkReportTypes(String name, boolean dateIsSharedByLines,
+ boolean resourceIsSharedInLines, boolean orderElementIsSharedInLines) {
+ workReportType = WorkReportType.create();
+ workReportType.setName(name);
+ workReportType.setDateIsSharedByLines(dateIsSharedByLines);
+ workReportType.setResourceIsSharedInLines(resourceIsSharedInLines);
+ workReportType
+ .setOrderElementIsSharedInLines(orderElementIsSharedInLines);
+ }
+
+ public WorkReportType getWorkReportType() {
+ return workReportType;
+ }
+}
diff --git a/libreplan-business/src/main/java/org/libreplan/business/workreports/entities/WorkReportTypeBootstrap.java b/libreplan-business/src/main/java/org/libreplan/business/workreports/entities/WorkReportTypeBootstrap.java
new file mode 100644
index 000000000..991001704
--- /dev/null
+++ b/libreplan-business/src/main/java/org/libreplan/business/workreports/entities/WorkReportTypeBootstrap.java
@@ -0,0 +1,63 @@
+/*
+ * This file is part of LibrePlan
+ *
+ * Copyright (C) 2011 CafédeRed Solutions, S.L.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ */
+package org.libreplan.business.workreports.entities;
+
+import org.libreplan.business.common.daos.IEntitySequenceDAO;
+import org.libreplan.business.common.entities.EntityNameEnum;
+import org.libreplan.business.workreports.daos.IWorkReportTypeDAO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Scope;
+import org.springframework.stereotype.Component;
+import org.springframework.transaction.annotation.Transactional;
+
+/**
+ * Creates the default {@link WorkReportType}.
+ *
+ * @author Ignacio Díaz Teijido
+ */
+
+@Component
+@Scope("singleton")
+public class WorkReportTypeBootstrap implements IWorkReportTypeBootstrap {
+
+ @Autowired
+ private IWorkReportTypeDAO workReportTypeDAO;
+
+ @Autowired
+ private IEntitySequenceDAO entitySequenceDAO;
+
+ @Override
+ @Transactional
+ public void loadRequiredData() {
+ for (PredefinedWorkReportTypes predefinedWorkReportType : PredefinedWorkReportTypes
+ .values()) {
+ WorkReportType workReportType = predefinedWorkReportType
+ .getWorkReportType();
+ if (!workReportTypeDAO
+ .existsOtherWorkReportTypeByName(workReportType)) {
+ workReportType.setCodeAutogenerated(true);
+ workReportType
+ .setCode(entitySequenceDAO
+ .getNextEntityCodeWithoutTransaction(EntityNameEnum.WORKREPORTTYPE));
+ workReportTypeDAO.save(workReportType);
+ }
+ }
+ }
+
+}