Search in sources :

Example 11 with ReportDao

use of com.serotonin.m2m2.reports.ReportDao 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

ReportDao (com.serotonin.m2m2.reports.ReportDao)10 ReportVO (com.serotonin.m2m2.reports.vo.ReportVO)6 User (com.serotonin.m2m2.vo.User)5 DwrPermission (com.serotonin.m2m2.web.dwr.util.DwrPermission)5 ArrayList (java.util.ArrayList)4 InvalidArgumentException (com.serotonin.InvalidArgumentException)3 ProcessResult (com.serotonin.m2m2.i18n.ProcessResult)3 HashMap (java.util.HashMap)3 TranslatableMessage (com.serotonin.m2m2.i18n.TranslatableMessage)2 Translations (com.serotonin.m2m2.i18n.Translations)2 ReportInstance (com.serotonin.m2m2.reports.vo.ReportInstance)2 EventCsvStreamer (com.serotonin.m2m2.vo.export.EventCsvStreamer)2 File (java.io.File)2 ShouldNeverHappenException (com.serotonin.ShouldNeverHappenException)1 LicenseViolatedException (com.serotonin.m2m2.LicenseViolatedException)1 DatabaseType (com.serotonin.m2m2.db.DatabaseProxy.DatabaseType)1 DataPointDao (com.serotonin.m2m2.db.dao.DataPointDao)1 UserDao (com.serotonin.m2m2.db.dao.UserDao)1 MessageFormatDirective (com.serotonin.m2m2.email.MessageFormatDirective)1 PostEmailRunnable (com.serotonin.m2m2.email.PostEmailRunnable)1