Search in sources :

Example 11 with ReportInstance

use of com.serotonin.m2m2.reports.vo.ReportInstance in project ma-modules-public by infiniteautomation.

the class Upgrade2 method upgrade.

@Override
protected void upgrade() throws Exception {
    runScript(new String[] { "alter table reportInstances add template varchar(40);", "alter table reportInstances add reportId int;", "update reportInstances set reportId=-1;", "alter table reportInstances add mapping blob;", "alter table reportInstancePoints add xid varchar(50);", "update reportInstancePoints set xid='legacyReport';" });
    ReportDao dao = ReportDao.instance;
    UserDao ud = UserDao.instance;
    List<ReportVO> reports = dao.getReports();
    List<ReportInstance> reportInstances;
    List<User> users = ud.getUsers();
    for (User u : users) {
        reportInstances = dao.getReportInstances(u.getId());
        for (ReportInstance ri : reportInstances) {
            for (ReportVO report : reports) {
                if (ri.getName().equals(report.getName())) {
                    ri.setReportId(report.getId());
                    dao.saveReportInstance(ri);
                    break;
                }
            }
        }
    }
    // Alter the column back to have no default
    Map<String, String[]> scripts = new HashMap<String, String[]>();
    scripts.put(DatabaseProxy.DatabaseType.DERBY.name(), new String[] { "alter table reportInstances alter column reportId NOT NULL; ", "alter table reportInstancePoints alter column xid NOT NULL;" });
    scripts.put(DatabaseProxy.DatabaseType.MYSQL.name(), new String[] { "ALTER TABLE reportInstances CHANGE COLUMN `reportId` `reportId` int NOT NULL;", "ALTER TABLE reportInstancePoints CHANGE COLUMN `xid` `xid` VARCHAR(50) NOT NULL;" });
    scripts.put(DatabaseProxy.DatabaseType.MSSQL.name(), new String[] { "alter table reportInstances alter column reportId int NOT NULL;", "alter table reportInstancePoints alter column xid varchar(50) NOT NULL;" });
    scripts.put(DatabaseProxy.DatabaseType.H2.name(), new String[] { "alter table reportInstances alter column reportId int NOT NULL;", "alter table reportInstancePoints alter column xid varchar(50) NOT NULL;" });
    runScript(scripts);
}
Also used : User(com.serotonin.m2m2.vo.User) UserDao(com.serotonin.m2m2.db.dao.UserDao) HashMap(java.util.HashMap) ReportVO(com.serotonin.m2m2.reports.vo.ReportVO) ReportDao(com.serotonin.m2m2.reports.ReportDao) ReportInstance(com.serotonin.m2m2.reports.vo.ReportInstance)

Aggregations

ReportInstance (com.serotonin.m2m2.reports.vo.ReportInstance)6 User (com.serotonin.m2m2.vo.User)5 ReportDao (com.serotonin.m2m2.reports.ReportDao)4 HashMap (java.util.HashMap)4 Translations (com.serotonin.m2m2.i18n.Translations)3 DataPointVO (com.serotonin.m2m2.vo.DataPointVO)3 ExportPointInfo (com.serotonin.m2m2.vo.export.ExportPointInfo)3 ArrayList (java.util.ArrayList)3 InvalidArgumentException (com.serotonin.InvalidArgumentException)2 PointValueDao (com.serotonin.m2m2.db.dao.PointValueDao)2 UserDao (com.serotonin.m2m2.db.dao.UserDao)2 NoSQLDao (com.serotonin.m2m2.db.dao.nosql.NoSQLDao)2 AnnotatedPointValueTime (com.serotonin.m2m2.rt.dataImage.AnnotatedPointValueTime)2 IdPointValueTime (com.serotonin.m2m2.rt.dataImage.IdPointValueTime)2 PointValueTime (com.serotonin.m2m2.rt.dataImage.PointValueTime)2 DataValue (com.serotonin.m2m2.rt.dataImage.types.DataValue)2 EventCsvStreamer (com.serotonin.m2m2.vo.export.EventCsvStreamer)2 ExportDataValue (com.serotonin.m2m2.vo.export.ExportDataValue)2 File (java.io.File)2 ShouldNeverHappenException (com.serotonin.ShouldNeverHappenException)1