package de.uhh.l2g.plugins.migration.controller;
import java.io.FileNotFoundException;
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.apache.log4j.Logger;
import com.liferay.counter.model.Counter;
import com.liferay.counter.service.CounterLocalServiceUtil;
import com.liferay.portal.kernel.bean.PortletBeanLocatorUtil;
import com.liferay.portal.kernel.dao.orm.DynamicQuery;
import com.liferay.portal.kernel.dao.orm.DynamicQueryFactoryUtil;
import com.liferay.portal.kernel.dao.orm.OrderFactoryUtil;
import com.liferay.portal.kernel.dao.orm.PropertyFactoryUtil;
import com.liferay.portal.kernel.dao.orm.QueryUtil;
import com.liferay.portal.kernel.exception.PortalException;
import com.liferay.portal.kernel.exception.SystemException;
import com.liferay.portal.kernel.json.JSONFactoryUtil;
import com.liferay.portal.kernel.log.Log;
import com.liferay.portal.kernel.log.LogFactoryUtil;
import com.liferay.portal.kernel.util.PropsUtil;
import com.liferay.portal.kernel.util.WebKeys;
import com.liferay.portal.model.Company;
import com.liferay.portal.model.Group;
import com.liferay.portal.model.Role;
import com.liferay.portal.service.AddressLocalServiceUtil;
import com.liferay.portal.service.CompanyLocalServiceUtil;
import com.liferay.portal.service.ContactLocalServiceUtil;
import com.liferay.portal.service.GroupLocalServiceUtil;
import com.liferay.portal.service.RoleLocalServiceUtil;
import com.liferay.portal.service.UserLocalServiceUtil;
import com.liferay.portal.theme.ThemeDisplay;
import de.uhh.l2g.plugins.migration.mapper.CategoryMapper;
import de.uhh.l2g.plugins.migration.mapper.CoordinatorMapper;
import de.uhh.l2g.plugins.migration.mapper.CreatorMapper;
import de.uhh.l2g.plugins.migration.mapper.FacilityHostMapper;
import de.uhh.l2g.plugins.migration.mapper.FacilityMapper;
import de.uhh.l2g.plugins.migration.mapper.HostMapper;
import de.uhh.l2g.plugins.migration.mapper.L2gSysMapper;
import de.uhh.l2g.plugins.migration.mapper.LastVideoListMapper;
import de.uhh.l2g.plugins.migration.mapper.LectureseriesCategoryMapper;
import de.uhh.l2g.plugins.migration.mapper.LectureseriesCreatorMapper;
import de.uhh.l2g.plugins.migration.mapper.LectureseriesFacilityMapper;
import de.uhh.l2g.plugins.migration.mapper.LectureseriesMapper;
import de.uhh.l2g.plugins.migration.mapper.LicenseMapper;
import de.uhh.l2g.plugins.migration.mapper.MetadataMapper;
import de.uhh.l2g.plugins.migration.mapper.OfficeMapper;
import de.uhh.l2g.plugins.migration.mapper.ProducerLectureseriesMapper;
import de.uhh.l2g.plugins.migration.mapper.ProducerMapper;
import de.uhh.l2g.plugins.migration.mapper.SegmentMapper;
import de.uhh.l2g.plugins.migration.mapper.StatisticMapper;
import de.uhh.l2g.plugins.migration.mapper.TermMapper;
import de.uhh.l2g.plugins.migration.mapper.UserIDMapper;
import de.uhh.l2g.plugins.migration.mapper.VideoCategoryMapper;
import de.uhh.l2g.plugins.migration.mapper.VideoCreatorMapper;
import de.uhh.l2g.plugins.migration.mapper.VideoFacilityMapper;
import de.uhh.l2g.plugins.migration.mapper.VideoHitlistMapper;
import de.uhh.l2g.plugins.migration.mapper.VideoLectureseriesMapper;
import de.uhh.l2g.plugins.migration.mapper.VideoMapper;
import de.uhh.l2g.plugins.migration.model.LegacyContact;
import de.uhh.l2g.plugins.migration.model.LegacyCoordinator;
import de.uhh.l2g.plugins.migration.model.LegacyFacility;
import de.uhh.l2g.plugins.migration.model.LegacyFacilityHost;
import de.uhh.l2g.plugins.migration.model.LegacyHost;
import de.uhh.l2g.plugins.migration.model.LegacyL2gSys;
import de.uhh.l2g.plugins.migration.model.LegacyLastVideoList;
import de.uhh.l2g.plugins.migration.model.LegacyLectureSeries;
import de.uhh.l2g.plugins.migration.model.LegacyLectureSeriesFacility;
import de.uhh.l2g.plugins.migration.model.LegacyLicense;
import de.uhh.l2g.plugins.migration.model.LegacyMetadata;
import de.uhh.l2g.plugins.migration.model.LegacyOffice;
import de.uhh.l2g.plugins.migration.model.LegacyProducer;
import de.uhh.l2g.plugins.migration.model.LegacyProducerLectureseries;
import de.uhh.l2g.plugins.migration.model.LegacySegment;
import de.uhh.l2g.plugins.migration.model.LegacyStatistic;
import de.uhh.l2g.plugins.migration.model.LegacyVideoHitlist;
import de.uhh.l2g.plugins.migration.model.LegacyUser;
import de.uhh.l2g.plugins.migration.model.LegacyVideo;
import de.uhh.l2g.plugins.migration.model.LegacyVideoFacility;
import de.uhh.l2g.plugins.migration.service.LegacyAddressLocalServiceUtil;
import de.uhh.l2g.plugins.migration.service.LegacyContactLocalServiceUtil;
import de.uhh.l2g.plugins.migration.service.LegacyCoordinatorLocalServiceUtil;
import de.uhh.l2g.plugins.migration.service.LegacyFacilityHostLocalServiceUtil;
import de.uhh.l2g.plugins.migration.service.LegacyFacilityLocalServiceUtil;
import de.uhh.l2g.plugins.migration.service.LegacyHostLocalServiceUtil;
import de.uhh.l2g.plugins.migration.service.LegacyL2gSysLocalServiceUtil;
import de.uhh.l2g.plugins.migration.service.LegacyLastVideoListLocalServiceUtil;
import de.uhh.l2g.plugins.migration.service.LegacyLectureSeriesFacilityLocalServiceUtil;
import de.uhh.l2g.plugins.migration.service.LegacyLectureSeriesLocalServiceUtil;
import de.uhh.l2g.plugins.migration.service.LegacyLicenseLocalServiceUtil;
import de.uhh.l2g.plugins.migration.service.LegacyMetadataLocalServiceUtil;
import de.uhh.l2g.plugins.migration.service.LegacyOfficeLocalServiceUtil;
import de.uhh.l2g.plugins.migration.service.LegacyProducerLectureseriesLocalServiceUtil;
import de.uhh.l2g.plugins.migration.service.LegacyProducerLocalServiceUtil;
import de.uhh.l2g.plugins.migration.service.LegacySegmentLocalServiceUtil;
import de.uhh.l2g.plugins.migration.service.LegacyStatisticLocalServiceUtil;
import de.uhh.l2g.plugins.migration.service.LegacyVideoHitlistLocalServiceUtil;
import de.uhh.l2g.plugins.migration.service.LegacyUserLocalServiceUtil;
import de.uhh.l2g.plugins.migration.service.LegacyVideoFacilityLocalServiceUtil;
import de.uhh.l2g.plugins.migration.service.LegacyVideoLocalServiceUtil;
import de.uhh.l2g.plugins.model.Category;
import de.uhh.l2g.plugins.model.Coordinator;
import de.uhh.l2g.plugins.model.Creator;
import de.uhh.l2g.plugins.model.Host;
import de.uhh.l2g.plugins.model.Institution;
import de.uhh.l2g.plugins.model.Institution_Host;
import de.uhh.l2g.plugins.model.Lastvideolist;
import de.uhh.l2g.plugins.model.Lectureseries;
import de.uhh.l2g.plugins.model.Lectureseries_Category;
import de.uhh.l2g.plugins.model.Lectureseries_Creator;
import de.uhh.l2g.plugins.model.Lectureseries_Institution;
import de.uhh.l2g.plugins.model.License;
import de.uhh.l2g.plugins.model.Metadata;
import de.uhh.l2g.plugins.model.Office;
import de.uhh.l2g.plugins.model.Producer;
import de.uhh.l2g.plugins.model.Producer_Lectureseries;
import de.uhh.l2g.plugins.model.Segment;
import de.uhh.l2g.plugins.model.Sys;
import de.uhh.l2g.plugins.model.Statistic;
import de.uhh.l2g.plugins.model.Term;
import de.uhh.l2g.plugins.model.Video;
import de.uhh.l2g.plugins.model.Video_Category;
import de.uhh.l2g.plugins.model.Video_Creator;
import de.uhh.l2g.plugins.model.Video_Institution;
import de.uhh.l2g.plugins.model.Video_Lectureseries;
import de.uhh.l2g.plugins.model.Videohitlist;
import de.uhh.l2g.plugins.service.CategoryLocalServiceUtil;
import de.uhh.l2g.plugins.service.ClpSerializer;
import de.uhh.l2g.plugins.service.CoordinatorLocalServiceUtil;
import de.uhh.l2g.plugins.service.CreatorLocalServiceUtil;
import de.uhh.l2g.plugins.service.HostLocalServiceUtil;
import de.uhh.l2g.plugins.service.InstitutionLocalServiceUtil;
import de.uhh.l2g.plugins.service.Institution_HostLocalServiceUtil;
import de.uhh.l2g.plugins.service.LastvideolistLocalServiceUtil;
import de.uhh.l2g.plugins.service.LectureseriesLocalServiceUtil;
import de.uhh.l2g.plugins.service.Lectureseries_CategoryLocalServiceUtil;
import de.uhh.l2g.plugins.service.Lectureseries_CreatorLocalServiceUtil;
import de.uhh.l2g.plugins.service.Lectureseries_InstitutionLocalServiceUtil;
import de.uhh.l2g.plugins.service.LicenseLocalServiceUtil;
import de.uhh.l2g.plugins.service.MetadataLocalServiceUtil;
import de.uhh.l2g.plugins.service.OfficeLocalServiceUtil;
import de.uhh.l2g.plugins.service.ProducerLocalServiceUtil;
import de.uhh.l2g.plugins.service.Producer_LectureseriesLocalServiceUtil;
import de.uhh.l2g.plugins.service.SegmentLocalServiceUtil;
import de.uhh.l2g.plugins.service.SysLocalServiceUtil;
import de.uhh.l2g.plugins.service.TermLocalServiceUtil;
import de.uhh.l2g.plugins.service.StatisticLocalServiceUtil;
import de.uhh.l2g.plugins.service.VideoLocalServiceUtil;
import de.uhh.l2g.plugins.service.Video_CategoryLocalServiceUtil;
import de.uhh.l2g.plugins.service.Video_CreatorLocalServiceUtil;
import de.uhh.l2g.plugins.service.Video_InstitutionLocalServiceUtil;
import de.uhh.l2g.plugins.service.Video_LectureseriesLocalServiceUtil;
import de.uhh.l2g.plugins.service.VideohitlistLocalServiceUtil;
import javax.portlet.ActionRequest;
import javax.portlet.PortletRequest;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
/**
* View controller.
*/
@Controller
@RequestMapping("VIEW")
public class MigrationController {
private static final Log log = LogFactoryUtil.getLog(MigrationController.class);
private static Logger portletLog = Logger.getLogger("migrationLog");
private long companyId = 0;
private long siteId = 0;
private String sites = "";
private String logInfoString = "";
private boolean propsOk = false;
private static Pattern termPattern = Pattern.compile("\\s*(\\w+)\\s+(\\d+\\W*\\d+)");
// comma separated values of SiteIds are allowed. GoupIds must match name in DB or in Site-Settings of backend.
private static String failed = "<font color=\"red\">failed!!</font>";
private static String ok = "<font color=\"green\">ok!!</font>";
/**
* View handler (default).
*/
@RequestMapping
public String list(PortletRequest request, Model model) throws SystemException {
String actionResponse = (String) request.getAttribute("logInfoString");
if (actionResponse == null || actionResponse.isEmpty() ) {
logInfoString = "";
} else {
logInfoString = actionResponse;
}
logInfo("Rendering defaultView");
ThemeDisplay themeDisplay = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY);
logInfo("themeDisplay:" +themeDisplay.getCompanyId());
logInfo("scopeGroupID:" +themeDisplay.getScopeGroupId());
boolean signedIn = themeDisplay.isSignedIn();
if (!signedIn) {
model.addAttribute("logInfoString", logInfoString);
return "pleaseLogin";
}
if (!propsOk) {
propsOk = checkProps();
model.addAttribute("logInfoString", logInfoString);
if (!propsOk) {
return "pleaseSetProps";
}
}
if (companyId < 1 || siteId < 1 || sites.isEmpty()) {
companyId = loadCompanyId();
siteId = loadSiteId();
sites = loadSites();
}
// Liferay 52 Entites
// User Rel Entries
model.addAttribute("userEntrieSize", LegacyUserLocalServiceUtil.getLegacyUsersCount());
model.addAttribute("contactEntrieSize", LegacyContactLocalServiceUtil.getLegacyContactsCount());
model.addAttribute("addressEntrieSize", LegacyAddressLocalServiceUtil.getLegacyAddressesCount());
model.addAttribute("segmentEntrieSize", LegacySegmentLocalServiceUtil.getLegacySegmentsCount());
model.addAttribute("coordinatorEntrieSize", LegacyCoordinatorLocalServiceUtil.getLegacyCoordinatorsCount());
model.addAttribute("producerEntrieSize", LegacyProducerLocalServiceUtil.getLegacyProducersCount());
model.addAttribute("videoEntrieSize", LegacyVideoLocalServiceUtil.getLegacyVideosCount());
//model.addAttribute("uploadEntrieSize", LegacyUploadLocalServiceUtil.getLegacyUploadsCount());
// Single Entries
model.addAttribute("officeEntrieSize", LegacyOfficeLocalServiceUtil.getLegacyOfficesCount());
model.addAttribute("metadataEntrieSize", LegacyMetadataLocalServiceUtil.getLegacyMetadatasCount());
model.addAttribute("faciliyEntrieSize", LegacyFacilityLocalServiceUtil.getLegacyFacilitiesCount());
model.addAttribute("licenseEntrieSize", LegacyLicenseLocalServiceUtil.getLegacyLicensesCount());
model.addAttribute("hostEntrieSize", LegacyHostLocalServiceUtil.getLegacyHostsCount());
model.addAttribute("l2gsysEntrieSize", LegacyL2gSysLocalServiceUtil.getLegacyL2gSysesCount());
model.addAttribute("lectureseriesEntrieSize", LegacyLectureSeriesLocalServiceUtil.getLegacyLectureSeriesesCount());
model.addAttribute("videohitlistEntrieSize", LegacyVideoHitlistLocalServiceUtil.getLegacyVideoHitlistsCount());
model.addAttribute("lastvideolistEntrieSize", LegacyLastVideoListLocalServiceUtil.getLegacyLastVideoListsCount());
// Mapping Entries
model.addAttribute("legacyLectureSeriesFacitityEntrieSize", LegacyLectureSeriesFacilityLocalServiceUtil.getLegacyLectureSeriesFacilitiesCount());
model.addAttribute("legacyProducerLectureseriesEntrieSize", LegacyProducerLectureseriesLocalServiceUtil.getLegacyProducerLectureseriesesCount());
model.addAttribute("legacyVideoFacilityEntrieSize", LegacyVideoFacilityLocalServiceUtil.getLegacyVideoFacilitiesCount());
model.addAttribute("legacyFacilityHostEntrieSize", LegacyFacilityHostLocalServiceUtil.getLegacyFacilityHostsCount());
// Liferay 62 entities
model.addAttribute("userEntrieSize62", UserLocalServiceUtil.getUsersCount());
model.addAttribute("contactEntrieSize62", ContactLocalServiceUtil.getContactsCount());
model.addAttribute("addressEntrieSize62", AddressLocalServiceUtil.getAddressesCount());
model.addAttribute("segmentEntrieSize62", SegmentLocalServiceUtil.getSegmentsCount());
model.addAttribute("coordinatorEntrieSize62", CoordinatorLocalServiceUtil.getCoordinatorsCount());
model.addAttribute("producerEntrieSize62", ProducerLocalServiceUtil.getProducersCount());
model.addAttribute("videoEntrieSize62", VideoLocalServiceUtil.getVideosCount());
//model.addAttribute("uploadEntrieSize62", UploadLocalServiceUtil.getUploadsCount());
// Single Entries
model.addAttribute("officeEntrieSize62", OfficeLocalServiceUtil.getOfficesCount());
model.addAttribute("metadataEntrieSize62", MetadataLocalServiceUtil.getMetadatasCount());
model.addAttribute("InstitutionEntrieSize62", InstitutionLocalServiceUtil.getInstitutionsCount());
model.addAttribute("licenseEntrieSize62", LicenseLocalServiceUtil.getLicensesCount());
model.addAttribute("hostEntrieSize62", HostLocalServiceUtil.getHostsCount());
model.addAttribute("sysEntrieSize62", SysLocalServiceUtil.getSysesCount());
model.addAttribute("lectureseriesEntrieSize62", LectureseriesLocalServiceUtil.getLectureseriesesCount());
model.addAttribute("termEntrieSize62", TermLocalServiceUtil.getTermsCount());
model.addAttribute("categoryEntrieSize62", CategoryLocalServiceUtil.getCategoriesCount());
model.addAttribute("videohitlistEntrieSize62", VideohitlistLocalServiceUtil.getVideohitlistsCount());
model.addAttribute("lastvideolistEntrieSize62", LastvideolistLocalServiceUtil.getLastvideolistsCount());
model.addAttribute("statisticEntrieSize", LegacyStatisticLocalServiceUtil.getLegacyStatisticsCount());
// Mapping Entries
model.addAttribute("lectureSeriesInstitutionEntrieSize62", Lectureseries_InstitutionLocalServiceUtil.getLectureseries_InstitutionsCount());
model.addAttribute("producerLectureseriesEntrieSize62", Producer_LectureseriesLocalServiceUtil.getProducer_LectureseriesesCount());
model.addAttribute("videoFacilityEntrieSize62", Video_InstitutionLocalServiceUtil.getVideo_InstitutionsCount());
model.addAttribute("facilityHostEntrieSize62", Institution_HostLocalServiceUtil.getInstitution_HostsCount());
model.addAttribute("videoLectureseriesEntrieSize62", Video_LectureseriesLocalServiceUtil.getVideo_LectureseriesesCount());
model.addAttribute("categoryEntrieSize62", CategoryLocalServiceUtil.getCategoriesCount());
model.addAttribute("lectureseriesCategoryEntrieSize62", Lectureseries_CategoryLocalServiceUtil.getLectureseries_CategoriesCount());
model.addAttribute("videoCategoryEntrieSize62", Video_CategoryLocalServiceUtil.getVideo_CategoriesCount());
model.addAttribute("creatorEntrieSize62", CreatorLocalServiceUtil.getCreatorsCount());
model.addAttribute("lectureseriesCreatorEntrieSize62", Lectureseries_CreatorLocalServiceUtil.getLectureseries_CreatorsCount());
model.addAttribute("videoCreatorEntrieSize62", Video_CreatorLocalServiceUtil.getVideo_CreatorsCount());
model.addAttribute("statisticEntrieSize62", StatisticLocalServiceUtil.getStatisticsCount());
model.addAttribute("logInfoString", logInfoString);
return "defaultView";
}
private String loadSites() {
String sites = PropsUtil.get("migration.portlet.target.sites");
return sites;
}
private long loadSiteId() {
String siteId = PropsUtil.get("migration.portlet.target.siteid");
Long longSiteId = 0L ;
longSiteId= Long.valueOf(siteId);
return longSiteId;
}
private long loadCompanyId() {
String companyId = PropsUtil.get("migration.portlet.target.companyid");
Long longCompanyId = 0L;
longCompanyId = Long.valueOf(companyId);
return longCompanyId;
}
private boolean checkProps() {
String companyId;
String siteId;
String sites;
try {
companyId = PropsUtil.get("migration.portlet.target.companyid");
siteId = PropsUtil.get("migration.portlet.target.siteid");
sites = PropsUtil.get("migration.portlet.target.sites");
} catch (Exception e2) {
logInfo("cant load props please check, required properites for migration");
return false;
}
Long longCompanyId = 0L;
try {
longCompanyId = Long.valueOf(companyId);
} catch (NumberFormatException e) {
logInfo("migration.portlet.target.companyid is not a number or set");
return false;
}
try {
Company company = CompanyLocalServiceUtil.getCompany(longCompanyId);
logInfo("migration.portlet.target.companyid=" + longCompanyId + " is OK!");
} catch (PortalException e1) {
logInfo("migration.portlet.target.companyid=" + longCompanyId + " is not existing");
return false;
} catch (SystemException e1) {
logInfo("migration.portlet.target.companyid=" + longCompanyId + " is not existing");
return false;
}
Long longSiteId = 0L ;
try {
longSiteId= Long.valueOf(siteId);
} catch (NumberFormatException e) {
logInfo("migration.portlet.target.siteid is not a number");
return false;
}
try {
Group group = GroupLocalServiceUtil.getGroup(longSiteId);
logInfo("migration.portlet.target.siteId=" + longSiteId + " is OK!");
} catch (PortalException e1) {
logInfo("migration.portlet.target.siteId=" + longSiteId + " is not existing");
return false;
} catch (SystemException e1) {
logInfo("migration.portlet.target.siteId=" + longSiteId + " is not existing");
return false;
}
String[] siteIdStrings = sites.split(",");
for (String site: siteIdStrings) {
log.debug("Fetching group / site with id: \"" + site + "\"");
long localSiteId = Long.valueOf(site);
Group group = null;
try {
group = GroupLocalServiceUtil.getGroup(localSiteId);
logInfo("migration.portlet.target.sites= .... site: " + localSiteId + " is OK!");
if (group == null) {
log.error("NO group / site with id found : \"" + site + "\" - user not linked to group");
return false;
}
} catch (Exception e) {
log.error("NO group / site with id found : \"" + site + "\" - user not linked to group");
return false;
}
}
return true;
}
// --- Action handlers
@RequestMapping(params = "action=testExternalDBEntities")
public void testExternalDBEntities(ActionRequest request) throws FileNotFoundException {
logInfoString = "";
logInfo("Call testExternalDBEntities");
String result = "";
boolean failed = false;
/// ENTITY LEGACY USER
List<LegacyUser> users;
try {
logInfo("Test User Entity...");
users = LegacyUserLocalServiceUtil.getLegacyUsers(QueryUtil.ALL_POS, QueryUtil.ALL_POS);
for (LegacyUser user: users) {
log.debug("Test reading out EMAIL of user:" + user.getEmailAddress());
}
logInfo("Test User Entity...OK!");
} catch (SystemException e) {
log.warn("Error connect to Entity User", e);
logInfo("Test User Entity...failed");
}
/// ENTITY LEGACY CONTACT
List<LegacyContact> contacts;
try {
logInfo("Test Contact Entity...");
contacts = LegacyContactLocalServiceUtil.getLegacyContacts(QueryUtil.ALL_POS, QueryUtil.ALL_POS);
for (LegacyContact contact: contacts) {
log.debug("Contact found First Name:" + contact.getFirstName());
}
logInfo("Test Contact Entity...OK!");
} catch (SystemException e) {
log.warn("Error connect to Contact Entity", e);
logInfo("Test Contact Entity...failed");
}
/// ENTITY OFFICE
List<LegacyOffice> offices;
try {
logInfo("Test Office Entity...");
offices = LegacyOfficeLocalServiceUtil.getLegacyOffices(QueryUtil.ALL_POS, QueryUtil.ALL_POS);
for (LegacyOffice office: offices) {
log.debug("Office found:" + office);
}
logInfo("Test Office Entity...OK!");
} catch (SystemException e) {
log.warn("Error connect to Entity Office", e);
logInfo("Test Office Entity...failed");
}
/// ENTITY LECTURESERIES_FACILITY
List<LegacyLectureSeriesFacility> lectureSeriesFacilities;
try {
logInfo("Test LegacyLectureSeriesFacility Entity...");
lectureSeriesFacilities = LegacyLectureSeriesFacilityLocalServiceUtil.getLegacyLectureSeriesFacilities(QueryUtil.ALL_POS, QueryUtil.ALL_POS);
for (LegacyLectureSeriesFacility lectureSeriesFacility: lectureSeriesFacilities) {
log.debug("LegacyLectureSeriesFacility found:" + lectureSeriesFacility);
}
logInfo("Test LegacyLectureSeriesFacility Entity...OK!");
} catch (SystemException e) {
log.warn("Error connect to LegacyLectureSeriesFacility Entity", e);
logInfo("Test LegacyLectureSeriesFacility Entity...failed");
}
/// ENTITY Metadata
List<LegacyMetadata> metadatas;
try {
logInfo("Test LegacyMetadata Entity...");
metadatas = LegacyMetadataLocalServiceUtil.getLegacyMetadatas(QueryUtil.ALL_POS, QueryUtil.ALL_POS);
for (LegacyMetadata metadata: metadatas) {
log.debug("LegacyMetadata found:" + metadata);
if (!metadata.getType().isEmpty()) {
log.debug("LegacyMetadata found Type:" + metadata.getType());
}
}
logInfo("Test LegacyMetadata Entity...OK!");
} catch (SystemException e) {
log.warn("Error connect to LegacyMetadata Entity", e);
logInfo("Test LegacyMetadata Entity...failed");
}
/// ENTITY Segment
List<LegacySegment> segments;
try {
logInfo("Test LegacySegment Entity...");
segments = LegacySegmentLocalServiceUtil.getLegacySegments(QueryUtil.ALL_POS, QueryUtil.ALL_POS);
for (LegacySegment segment: segments) {
log.debug("LegacySegment found:" + segment);
}
logInfo("Test LegacySegment Entity...OK!");
} catch (SystemException e) {
log.warn("Error connect to LegacyMetadata Entity", e);
logInfo("Test LegacySegment Entity...failed");
}
/// ENTITY coordinator
List<LegacyCoordinator> coordinators;
try {
logInfo("Test LegacyCoordinator Entity...");
coordinators = LegacyCoordinatorLocalServiceUtil.getLegacyCoordinators(QueryUtil.ALL_POS, QueryUtil.ALL_POS);
for (LegacyCoordinator coordinator: coordinators) {
log.debug("LegacyCoordinator found:" + coordinator);
}
logInfo("Test LegacyCoordinator Entity...OK!");
} catch (SystemException e) {
log.warn("Error connect to LegacyCoordinator Entity", e);
logInfo("Test LegacyCoordinator Entity...failed");
}
/// ENTITY Producer
List<LegacyProducer> producers;
try {
logInfo("Test LegacyProducer Entity...");
producers = LegacyProducerLocalServiceUtil.getLegacyProducers(QueryUtil.ALL_POS, QueryUtil.ALL_POS);
for (LegacyProducer producer: producers) {
log.debug("LegacyProducer found:" + producer);
}
logInfo("Test LegacyProducer Entity...OK!");
} catch (SystemException e) {
log.warn("Error connect to LegacyProducer Entity", e);
logInfo("Test LegacyProducer Entity...failed");
}
/// ENTITY Video
List<LegacyVideo> videos;
try {
logInfo("Test LegacyVideo Entity...");
videos = LegacyVideoLocalServiceUtil.getLegacyVideos(QueryUtil.ALL_POS, QueryUtil.ALL_POS);
for (LegacyVideo video: videos) {
log.debug("LegacyVideo found:" + video);
}
logInfo("Test LegacyVideo Entity...OK!");
} catch (SystemException e) {
log.warn("Error connect to LegacyVideo Entity", e);
logInfo("Test LegacyVideo Entity...failed");
}
/// ENTITY upload
List<LegacyVideoHitlist> uploads;
try {
logInfo("Test LegacyVideoHitlist Entity...");
uploads = LegacyVideoHitlistLocalServiceUtil.getLegacyVideoHitlists(QueryUtil.ALL_POS, QueryUtil.ALL_POS);
for (LegacyVideoHitlist upload: uploads) {
log.debug("LegacyVideoHitlist found:" + upload);
}
logInfo("Test LegacyVideoHitlist Entity...OK!");
} catch (SystemException e) {
log.warn("Error connect to LegacyVideoHitlist Entity", e);
logInfo("Test LegacyVideoHitlist Entity...failed");
}
/// ENTITY lastvideolist
List<LegacyLicense> lastvideolists;
try {
logInfo("Test LegacyLicense Entity...");
lastvideolists = LegacyLicenseLocalServiceUtil.getLegacyLicenses(QueryUtil.ALL_POS, QueryUtil.ALL_POS);
for (LegacyLicense lastvideolist: lastvideolists) {
log.debug("LegacyLicense found:" + lastvideolist);
}
logInfo("Test LegacyLicense Entity...OK!");
} catch (SystemException e) {
log.warn("Error connect to LegacyLicense Entity", e);
logInfo("Test LegacyLicense Entity...failed");
}
/// ENTITY facilityHost
List<LegacyFacilityHost> facilityHosts;
try {
logInfo("Test LegacyFacilityHost Entity...");
facilityHosts = LegacyFacilityHostLocalServiceUtil.getLegacyFacilityHosts(QueryUtil.ALL_POS, QueryUtil.ALL_POS);
for (LegacyFacilityHost facilityHost: facilityHosts) {
log.debug("LegacyFacilityHost found:" + facilityHost);
}
logInfo("Test LegacyFacilityHost Entity...OK!");
} catch (SystemException e) {
log.warn("Error connect to LegacyFacilityHost Entity", e);
logInfo("Test LegacyFacilityHost Entity...failed");
}
/// ENTITY producerLectureseries
List<LegacyProducerLectureseries> producerLectureserieses;
try {
logInfo("Test LegacyProducerLectureseries Entity...");
producerLectureserieses = LegacyProducerLectureseriesLocalServiceUtil.getLegacyProducerLectureserieses(QueryUtil.ALL_POS, QueryUtil.ALL_POS);
for (LegacyProducerLectureseries producerLectureseries: producerLectureserieses) {
log.debug("LegacyProducerLectureseries found:" + producerLectureseries);
}
logInfo("Test LegacyProducerLectureseries Entity...OK!");
} catch (SystemException e) {
log.warn("Error connect to LegacyProducerLectureseries Entity", e);
logInfo("Test LegacyProducerLectureseries Entity...failed");
}
/// ENTITY host
List<LegacyHost> host;
try {
logInfo("Test LegacyHost Entity...");
host = LegacyHostLocalServiceUtil.getLegacyHosts(QueryUtil.ALL_POS, QueryUtil.ALL_POS);
for (LegacyHost lastvideolist: host) {
log.debug("LegacyHost found:" + lastvideolist);
}
logInfo("Test LegacyHost Entity...OK!");
} catch (SystemException e) {
log.warn("Error connect to LegacyHost Entity", e);
logInfo("Test LegacyHost Entity...failed");
}
/// ENTITY l2gSys
List<LegacyL2gSys> l2gSyss;
try {
logInfo("Test LegacyL2gSys Entity...");
l2gSyss = LegacyL2gSysLocalServiceUtil.getLegacyL2gSyses(QueryUtil.ALL_POS, QueryUtil.ALL_POS);
for (LegacyL2gSys l2gSys: l2gSyss) {
log.debug("LegacyL2gSys found:" + l2gSys);
}
logInfo("Test LegacyL2gSys Entity...OK!");
} catch (SystemException e) {
log.warn("Error connect to LegacyL2gSys Entity", e);
logInfo("Test LegacyL2gSys Entity...failed");
}
/// ENTITY videoFacility
List<LegacyVideoFacility> videoFacilitys;
try {
logInfo("Test LegacyVideoFacility Entity...");
videoFacilitys = LegacyVideoFacilityLocalServiceUtil.getLegacyVideoFacilities(QueryUtil.ALL_POS, QueryUtil.ALL_POS);
for (LegacyVideoFacility videoFacility: videoFacilitys) {
log.debug("LegacyVideoFacility found:" + videoFacility);
}
logInfo("Test LegacyVideoFacility Entity...OK!");
} catch (SystemException e) {
log.warn("Error connect to LegacyVideoFacility Entity", e);
logInfo("Test LegacyVideoFacility Entity...failed");
}
/// ENTITY facility
List<LegacyFacility> facilitys;
try {
logInfo("Test LegacyFacility Entity...");
facilitys = LegacyFacilityLocalServiceUtil.getLegacyFacilities(QueryUtil.ALL_POS, QueryUtil.ALL_POS);
for (LegacyFacility facility: facilitys) {
log.debug("LegacyFacility found:" + facility);
}
logInfo("Test LegacyFacility Entity...OK!");
} catch (SystemException e) {
log.warn("Error connect to LegacyFacility Entity", e);
logInfo("Test LegacyFacility Entity...failed");
}
/// ENTITY videoHitlist
List<LegacyVideoHitlist> videoHitlists;
try {
logInfo("Test LegacyVideoHitlist Entity...");
videoHitlists = LegacyVideoHitlistLocalServiceUtil.getLegacyVideoHitlists(QueryUtil.ALL_POS, QueryUtil.ALL_POS);
for (LegacyVideoHitlist videoHitlist: videoHitlists) {
log.debug("LegacyVideoHitlist found:" + videoHitlist);
}
logInfo("Test LegacyVideoHitlist Entity...OK!");
} catch (SystemException e) {
log.warn("Error connect to LegacyVideoHitlist Entity", e);
logInfo("Test LegacyVideoHitlist Entity...failed");
}
/// ENTITY lectureSeries
List<LegacyLectureSeries> lectureSerieses;
try {
logInfo("Test LegacyLectureSeries Entity...");
lectureSerieses = LegacyLectureSeriesLocalServiceUtil.getLegacyLectureSerieses(QueryUtil.ALL_POS, QueryUtil.ALL_POS);
for (LegacyLectureSeries lectureSeries: lectureSerieses) {
log.debug("LegacyLectureSeries found:" + lectureSeries);
}
logInfo("Test LegacyLectureSeries Entity...OK!");
} catch (SystemException e) {
log.warn("Error connect to LegacyLectureSeries Entity", e);
logInfo("Test LegacyLectureSeries Entity...failed");
}
/// ENTITY lastVideolist
List<LegacyLastVideoList> lastVideolists;
try {
logInfo("Test LegacyVideoVideolist Entity...");
lastVideolists = LegacyLastVideoListLocalServiceUtil.getLegacyLastVideoLists(QueryUtil.ALL_POS, QueryUtil.ALL_POS);
for (LegacyLastVideoList lastVideolist: lastVideolists) {
log.debug("LegacyVideoVideolist found:" + lastVideolist);
}
logInfo("Test LegacyVideoVideolist Entity...OK!");
} catch (SystemException e) {
log.warn("Error connect to LegacyVideoVideolist Entity", e);
logInfo("Test LegacyVideoVideolist Entity...failed");
}
request.setAttribute("logInfoString", logInfoString);
}
@RequestMapping(params = "action=migrateUser")
public void migrateUser(ActionRequest request) throws FileNotFoundException {
// Load Legacy Users
String userOkflag = ok;
List<LegacyUser> users;
try {
users = LegacyUserLocalServiceUtil.getLegacyUsers(QueryUtil.ALL_POS, QueryUtil.ALL_POS);
logInfo("Begin Migration / Update of:" + users.size() + "Legacy Users!");
for (LegacyUser user: users) {
try {
UserManager.getInstance().createUser(user, companyId, sites, request);
} catch (PortalException e) {
log.warn("Error occured during User Migration:", e);
portletLog.warn("Migration / Update of a user failed:" + e);
userOkflag = failed;
} catch (SystemException e) {
log.warn("Error occured during User Migration:", e);
userOkflag = failed;
portletLog.warn("Migration / Update of a user failed:" + e);
}
}
logInfo("Migration / Update of:" + users.size() + " Legacy Users successfull!!");
portletLog.info("Migration / Update of:" + users.size() + " Legacy Users successfull!!");
request.setAttribute("logInfoString", logInfoString);
} catch (SystemException e1) {
logInfo("Migration of User failed. Can not read Source Data. Please Check Log for more details!");
userOkflag = failed;
}
request.setAttribute("logInfoString", logInfoString);
request.setAttribute("userOkflag", userOkflag);
}
@RequestMapping(params = "action=migrateSegments")
public void migrateSegments(ActionRequest request) throws FileNotFoundException {
// Load Legacy Segments
String segmentOkflag = ok;
List<LegacySegment> segments;
try {
segments = LegacySegmentLocalServiceUtil.getLegacySegments(QueryUtil.ALL_POS, QueryUtil.ALL_POS);
for (LegacySegment segment: segments) {
migrateSegment(segment, companyId);
}
logInfo("Migration / Update of:" + segments.size() + "Legacy Segments sucessfull!");
portletLog.info("Migration / Update of:" + segments.size() + " Legacy Segments successfull!!");
ClassLoader classLoader = (ClassLoader)PortletBeanLocatorUtil.locate(ClpSerializer.getServletContextName(),"portletClassLoader");
DynamicQuery query = DynamicQueryFactoryUtil.forClass(Segment.class,classLoader).add(PropertyFactoryUtil.forName("userId").eq(0L));
List<LegacySegment> segmentsWithNullUser =SegmentLocalServiceUtil.dynamicQuery(query);
logInfo("Segements with UserId = 0 == " + segmentsWithNullUser.size()) ;
portletLog.info("Segements with UserId = 0 == " + segmentsWithNullUser.size());
query = DynamicQueryFactoryUtil.forClass(LegacySegment.class).add(PropertyFactoryUtil.forName("userId").isNull());
List<LegacySegment> legacySegmentsWithNullUser =LegacySegmentLocalServiceUtil.dynamicQuery(query);
logInfo("legacySegments with UserId = 0 == " + legacySegmentsWithNullUser.size()) ;
portletLog.info("legacySegments with UserId = 0 == " + legacySegmentsWithNullUser.size());
} catch (SystemException e1) {
logInfo("Migration of Segments failed. Can not read Source Data" + e1);
portletLog.warn("Migration of Segments failed. Can not read Source Data" + e1);
segmentOkflag = failed;
}
request.setAttribute("logInfoString", logInfoString);
request.setAttribute("segmentOkflag", segmentOkflag);
}
@RequestMapping(params = "action=migrateCoordinators")
public void migrateCoordinator(ActionRequest request) throws FileNotFoundException {
// Load Legacy Coordinator
String coordinatorOkflag = ok;
List<LegacyCoordinator> coordinators;
try {
coordinators = LegacyCoordinatorLocalServiceUtil.getLegacyCoordinators(QueryUtil.ALL_POS, QueryUtil.ALL_POS);
for (LegacyCoordinator coordinator: coordinators) {
migrateCoordinator(coordinator, companyId);
}
} catch (SystemException e1) {
logInfo("Migration of Coordinator failed. Can not read Source Data");
coordinatorOkflag = failed;
}
request.setAttribute("logInfoString", logInfoString);
request.setAttribute("coordinatorOkflag", coordinatorOkflag);
}
@RequestMapping(params = "action=migrateProducers")
public void migrateProducers(ActionRequest request) throws FileNotFoundException {
// Load Legacy Producers
String producerOkflag = ok;
List<LegacyProducer> producers;
try {
producers = LegacyProducerLocalServiceUtil.getLegacyProducers(QueryUtil.ALL_POS, QueryUtil.ALL_POS);
for (LegacyProducer producer: producers) {
migrateProducer(producer, companyId);
}
logInfo("Migration / Update of:" + producers.size() + "Legacy producer sucessfull!");
portletLog.info("Migration / Update of:" + producers.size() + " Legacy producer successfull!!");
} catch (SystemException e1) {
logInfo("Migration of producer failed. Can not read Source Data" +e1);
portletLog.info("Migration of producer failed. Can not read Source Data" +e1);
producerOkflag = failed;
}
request.setAttribute("logInfoString", logInfoString);
request.setAttribute("producerOkflag", producerOkflag);
}
@RequestMapping(params = "action=migrateVideos")
public void migrateVideos(ActionRequest request) throws FileNotFoundException {
// Load Legacy Videos
String videoOkflag = ok;
List<LegacyVideo> legacyVideos;
Video video = null;
try {
legacyVideos = LegacyVideoLocalServiceUtil.getLegacyVideos(QueryUtil.ALL_POS, QueryUtil.ALL_POS);
for (LegacyVideo legacyVideo: legacyVideos) {
video = migrateVideo(legacyVideo, companyId);
try {
LegacyLectureSeriesLocalServiceUtil.getLegacyLectureSeries(video.getLectureseriesId());
} catch (PortalException e) {
logInfo("ConsistencyCheck: Legacy-Video has dead LectureseriesID in legacy system LectureseriesID will be set to 0 | video item" + video);
portletLog.warn("ConsistencyCheck: Legacy-Video has dead LectureseriesID in legacy system LectureseriesID will be set to 0 | video item with id" + video.getVideoId());
video.setLectureseriesId(0);
VideoLocalServiceUtil.updateVideo(video);
}
}
} catch (SystemException e1) {
logInfo("Migration of video failed. Can not read Source Data");
videoOkflag = failed;
}
request.setAttribute("logInfoString", logInfoString);
request.setAttribute("videoOkflag", videoOkflag);
}
/**
@RequestMapping(params = "action=migrateUploads")
public void migrateUploads(ActionRequest request) throws FileNotFoundException {
// Load Legacy Uploads
logInfo("Call migrateUploads");
String uploadOkflag = ok;
List<LegacyUpload> uploads;
try {
uploads = LegacyUploadLocalServiceUtil.getLegacyUploads(QueryUtil.ALL_POS, QueryUtil.ALL_POS);
for (LegacyUpload upload: uploads) {
migrateUpload(upload, companyId);
}
logInfo("Migration / Update of:" + uploads.size() + "Legacy upload sucessfull!");
portletLog.info("Migration / Update of:" + uploads.size() + " Legacy upload successfull!!");
} catch (SystemException e1) {
logInfo("Migration of uploads failed. Can not read Source Data " +e1 );
portletLog.warn("Migration of uploads failed. Can not read Source Data" +e1);
uploadOkflag = failed;
}
request.setAttribute("logInfoString", logInfoString);
request.setAttribute("uploadOkflag", uploadOkflag);
}
*/
@RequestMapping(params = "action=migrateStatistic")
public void migrateStatistic(ActionRequest request) throws FileNotFoundException {
// Load Legacy Statistic
logInfo("Call migrateStatistic");
String statisticOkflag = ok;
List<LegacyStatistic> statistic;
try {
statistic = LegacyStatisticLocalServiceUtil.getLegacyStatistics(QueryUtil.ALL_POS, QueryUtil.ALL_POS);
for (LegacyStatistic stat: statistic) {
migrateStatistic(stat, companyId);
}
logInfo("Migration / Update of:" + statistic.size() + "Legacy statistic sucessfull!");
portletLog.info("Migration / Update of:" + statistic.size() + " Legacy statistic successfull!!");
} catch (SystemException e1) {
logInfo("Migration of statistic failed. Can not read Source Data " +e1 );
portletLog.warn("Migration of statistic failed. Can not read Source Data" +e1);
statisticOkflag = failed;
}
request.setAttribute("logInfoString", logInfoString);
request.setAttribute("statisticOkflag", statisticOkflag);
}
@RequestMapping(params = "action=migrateOffices")
public void migrateOffices(ActionRequest request) throws FileNotFoundException {
// Load Legacy Offices
logInfo("Call migrateOffices");
String officeOkflag = ok;
List<LegacyOffice> offices;
try {
offices = LegacyOfficeLocalServiceUtil.getLegacyOffices(QueryUtil.ALL_POS, QueryUtil.ALL_POS);
for (LegacyOffice office: offices) {
migrateOffice(office, companyId);
}
logInfo("Migration / Update of:" + offices.size() + "Legacy offices sucessfull!");
portletLog.info("Migration / Update of:" + offices.size() + " Legacy offices successfull!!");
} catch (SystemException e1) {
logInfo("Migration of offices failed. Can not read Source Data" +e1);
portletLog.warn("Migration of offices failed. Can not read Source Data" +e1);
officeOkflag = failed;
}
request.setAttribute("logInfoString", logInfoString);
request.setAttribute("officeOkflag", officeOkflag);
}
@RequestMapping(params = "action=migrateMetadatas")
public void migrateMetadatas(ActionRequest request) throws FileNotFoundException {
// Load Legacy Metadatas
logInfo("Call migrateMetadatas");
String metatdataOkflag = ok;
List<LegacyMetadata> legacyMetadatas;
try {
legacyMetadatas = LegacyMetadataLocalServiceUtil.getLegacyMetadatas(QueryUtil.ALL_POS, QueryUtil.ALL_POS);
for (LegacyMetadata legacyMetadata: legacyMetadatas) {
migrateMetadata(legacyMetadata, companyId);
}
logInfo("Migration / Update of:" + legacyMetadatas.size() + "Legacy offices sucessfull!");
portletLog.info("Migration / Update of:" + legacyMetadatas.size() + " Legacy offices successfull!!");
} catch (SystemException e1) {
logInfo("Migration of Metadatas failed. Can not read Source Data");
metatdataOkflag = failed;
}
request.setAttribute("logInfoString", logInfoString);
request.setAttribute("metatdataOkflag", metatdataOkflag);
}
@RequestMapping(params = "action=migrateInstitutions")
public void migrateInstitutions(ActionRequest request) throws FileNotFoundException {
// Load Legacy Institutions
logInfo("Call migrateInsitutions");
String institutionOkflag = ok;
List<LegacyFacility> legacyFacilities;
try {
legacyFacilities = LegacyFacilityLocalServiceUtil.getLegacyFacilities(QueryUtil.ALL_POS, QueryUtil.ALL_POS);
for (LegacyFacility legacyFacility: legacyFacilities) {
migrateInstitution(legacyFacility, companyId, siteId);
}
logInfo("Migration / Update of:" + legacyFacilities.size() + "Legacy legacyFacilities sucessfull!");
portletLog.info("Migration / Update of:" + legacyFacilities.size() + " Legacy legacyFacilities successfull!!");
} catch (SystemException e1) {
logInfo("Migration of Facilities failed. Can not read Source Data");
institutionOkflag = failed;
}
request.setAttribute("logInfoString", logInfoString);
request.setAttribute("institutionOkflag", institutionOkflag);
}
@RequestMapping(params = "action=migrateLicenses")
public void migrateLicenses(ActionRequest request) throws FileNotFoundException {
// Load Legacy Licencess
logInfo("Call migrateLicenses");
String licenseOkflag = ok;
List<LegacyLicense> legacyLicenses;
try {
legacyLicenses = LegacyLicenseLocalServiceUtil.getLegacyLicenses(QueryUtil.ALL_POS, QueryUtil.ALL_POS);
for (LegacyLicense legacyLicense: legacyLicenses) {
migrateLicense(legacyLicense, companyId, siteId);
}
logInfo("Migration / Update of:" + legacyLicenses.size() + "Legacy legacyLicenses sucessfull!");
portletLog.info("Migration / Update of:" + legacyLicenses.size() + " Legacy legacyLicenses successfull!!");
} catch (SystemException e1) {
logInfo("Migration of License failed. Can not read Source Data");
licenseOkflag = failed;
}
request.setAttribute("logInfoString", logInfoString);
request.setAttribute("licenseOkflag", licenseOkflag);
}
@RequestMapping(params = "action=migrateHosts")
public void migrateHosts(ActionRequest request) throws FileNotFoundException {
// Load Legacy Hosts
logInfo("Call migrateHosts");
String hostOkflag = ok;
List<LegacyHost> legacyHosts;
try {
legacyHosts = LegacyHostLocalServiceUtil.getLegacyHosts(QueryUtil.ALL_POS, QueryUtil.ALL_POS);
for (LegacyHost legacyHost: legacyHosts) {
migrateHost(legacyHost, companyId, siteId);
}
logInfo("Migration / Update of:" + legacyHosts.size() + "Legacy legacyHosts sucessfull!");
portletLog.info("Migration / Update of:" + legacyHosts.size() + " Legacy legacyHosts successfull!!");
} catch (SystemException e1) {
logInfo("Migration of Host failed. Can not read Source Data");
hostOkflag = failed;
}
request.setAttribute("logInfoString", logInfoString);
request.setAttribute("hostOkflag", hostOkflag);
}
@RequestMapping(params = "action=migrateL2gSyses")
public void migrateL2gSyses(ActionRequest request) throws FileNotFoundException {
// Load Legacy L2GSys
logInfo("Call migrateL2gSyses");
String sysOkflag = ok;
List<LegacyL2gSys> legacyL2gSyss;
try {
legacyL2gSyss = LegacyL2gSysLocalServiceUtil.getLegacyL2gSyses(QueryUtil.ALL_POS, QueryUtil.ALL_POS);
for (LegacyL2gSys legacyL2gSys: legacyL2gSyss) {
migrateL2gsys(legacyL2gSys, companyId, siteId);
}
logInfo("Migration / Update of:" + legacyL2gSyss.size() + "Legacy legacyL2gSyss sucessfull!");
portletLog.info("Migration / Update of:" + legacyL2gSyss.size() + " Legacy legacyL2gSyss successfull!!");
} catch (SystemException e1) {
logInfo("Migration of Sys failed. Can not read Source Data");
sysOkflag = failed;
}
request.setAttribute("logInfoString", logInfoString);
request.setAttribute("sysOkflag", sysOkflag);
}
@RequestMapping(params = "action=migrateLectureserieses")
public void migrateLectureseriess(ActionRequest request) throws FileNotFoundException {
// Load Legacy Uploads
logInfo("Call migrateLectureseriess");
String lectureseriesOkflag = ok;
List<LegacyLectureSeries> legacyLectureserieses;
try {
legacyLectureserieses = LegacyLectureSeriesLocalServiceUtil.getLegacyLectureSerieses(QueryUtil.ALL_POS, QueryUtil.ALL_POS);
for (LegacyLectureSeries legacyLectureseries: legacyLectureserieses) {
migrateLectureseries(legacyLectureseries, companyId, siteId);
}
logInfo("Migration / Update of:" + legacyLectureserieses.size() + "Legacy legacyLectureserieses sucessfull!");
portletLog.info("Migration / Update of:" + legacyLectureserieses.size() + " Legacy legacyLectureserieses successfull!!");
} catch (SystemException e1) {
logInfo("Migration of Lectureseries failed. Can not read Source Data");
lectureseriesOkflag = failed;
}
request.setAttribute("logInfoString", logInfoString);
request.setAttribute("lectureseriesOkflag", lectureseriesOkflag);
}
@RequestMapping(params = "action=migrateVideohitlists")
public void migrateVideohitlists(ActionRequest request) throws FileNotFoundException {
// Load Legacy Uploads
logInfo("Call migrateVideohitlists");
String videohitlistOkflag = ok;
List<LegacyVideoHitlist> legacyVideohitlists;
try {
legacyVideohitlists = LegacyVideoHitlistLocalServiceUtil.getLegacyVideoHitlists(QueryUtil.ALL_POS, QueryUtil.ALL_POS);
for (LegacyVideoHitlist legacyVideohitlist: legacyVideohitlists) {
migrateVideohitlist(legacyVideohitlist, companyId, siteId);
}
logInfo("Migration / Update of:" + legacyVideohitlists.size() + "Legacy legacyVideohitlists sucessfull!");
portletLog.info("Migration / Update of:" + legacyVideohitlists.size() + " Legacy legacyVideohitlists successfull!!");
} catch (SystemException e1) {
logInfo("Migration of Videohitlist failed. Can not read Source Data");
videohitlistOkflag = failed;
}
request.setAttribute("logInfoString", logInfoString);
request.setAttribute("videohitlistOkflag", videohitlistOkflag);
}
@RequestMapping(params = "action=migrateLastvideolists")
public void migrateLastvideolists(ActionRequest request) throws FileNotFoundException {
// Load Legacy Uploads
logInfo("Call migrateLastvideolists");
String lastvideolistOkflag = ok;
List<LegacyLastVideoList> legacyLastvideolists;
try {
legacyLastvideolists = LegacyLastVideoListLocalServiceUtil.getLegacyLastVideoLists(QueryUtil.ALL_POS, QueryUtil.ALL_POS);
for (LegacyLastVideoList legacyLastvideolist: legacyLastvideolists) {
migrateLastvideolist(legacyLastvideolist, companyId, siteId);
}
logInfo("Migration / Update of:" + legacyLastvideolists.size() + "Legacy legacyLastvideolists sucessfull!");
portletLog.info("Migration / Update of:" + legacyLastvideolists.size() + " Legacy legacyLastvideolists successfull!!");
} catch (SystemException e1) {
logInfo("Migration of lastvideolist failed. Can not read Source Data");
lastvideolistOkflag = failed;
}
request.setAttribute("logInfoString", logInfoString);
request.setAttribute("lastvideolistOkflag", lastvideolistOkflag);
}
@RequestMapping(params = "action=migrateCounterTableValues")
public void migrateCounterTableValues(ActionRequest request) throws FileNotFoundException {
// Load Legacy Uploads
logInfo("Call migrateCounterTableValues");
String updateCounterTableValues = ok;
Counter counter;
try {
// Initialize counter with a default value liferay suggests
CounterLocalServiceUtil.increment(Institution.class.getName());
counter = CounterLocalServiceUtil.getCounter(Institution.class.getName());
// Catch latest ID used form Institution by dynamic Query, order desc by instition ID
ClassLoader classLoader = (ClassLoader)PortletBeanLocatorUtil.locate(ClpSerializer.getServletContextName(),"portletClassLoader");
DynamicQuery query = DynamicQueryFactoryUtil.forClass(Institution.class,classLoader).addOrder(OrderFactoryUtil.desc("institutionId"));
List<Institution> institutionList = InstitutionLocalServiceUtil.dynamicQuery(query);
// If values are found read out institution Id form first object = object with highest InstitionId
if (institutionList != null && institutionList.size() > 0) {
// add +1 on institionId and use as counter new counter ID
long latestIdPlusOne = institutionList.get(0).getInstitutionId() + 1;
counter.setCurrentId(latestIdPlusOne);
CounterLocalServiceUtil.updateCounter(counter);
log.info("Counter updated for:" + Institution.class.getName() + " new value is: " + latestIdPlusOne);
}
} catch (PortalException e) {
logInfo("Error resetting counter for: " + Institution.class.getName());
log.warn("Error resetting counter for: " +Institution.class.getName());
} catch (SystemException e) {
logInfo("Error resetting counter for: " +Institution.class.getName());
log.warn("Error resetting counter for: " +Institution.class.getName() );
}
request.setAttribute("logInfoString", logInfoString);
request.setAttribute("updateCounterTableValuesOkFlag", updateCounterTableValues);
}
@RequestMapping(params = "action=migrateLectureseriesFacilities")
public void migrateLectureseriesFacilities(ActionRequest request) throws FileNotFoundException {
// Load Legacy Uploads
logInfo("Call migrateLectureseriesFacilities");
String lectureseriesFacilitiesOkflag = ok;
List<LegacyLectureSeriesFacility> lectureseriesFacilities;
try {
lectureseriesFacilities = LegacyLectureSeriesFacilityLocalServiceUtil.getLegacyLectureSeriesFacilities(QueryUtil.ALL_POS, QueryUtil.ALL_POS);
logInfo("lectureseriesFacilities Size : " + lectureseriesFacilities.size());
for (LegacyLectureSeriesFacility lectureseriesFacility: lectureseriesFacilities) {
migrateLectureseriesInstitution(lectureseriesFacility, companyId);
}
logInfo("Migration / Update of:" + lectureseriesFacilities.size() + "Legacy lectureseriesFacilities sucessfull!");
portletLog.info("Migration / Update of:" + lectureseriesFacilities.size() + " Legacy lectureseriesFacilities successfull!!");
} catch (SystemException e1) {
logInfo("Migration of lecturseriesfcacilities failed. Can not read Source Data");
lectureseriesFacilitiesOkflag = failed;
}
request.setAttribute("logInfoString", logInfoString);
request.setAttribute("lectureseriesFacilitiesOkflag", lectureseriesFacilitiesOkflag);
}
@RequestMapping(params = "action=migrateVideo_Institution")
public void migrateVideo_Institution(ActionRequest request) throws FileNotFoundException {
// Load Legacy Uploads
logInfo("Call migratemigrateVideo_Institution");
String videoInstitutionOkflag = ok;
List<LegacyVideoFacility> videoFacilities;
try {
videoFacilities = LegacyVideoFacilityLocalServiceUtil.getLegacyVideoFacilities(QueryUtil.ALL_POS, QueryUtil.ALL_POS);
logInfo("videoFacility Size : " + videoFacilities.size());
for (LegacyVideoFacility videoFacility: videoFacilities) {
migrateVideo_Institution(videoFacility, companyId);
}
logInfo("Migration / Update of:" + videoFacilities.size() + "Legacy videoFacilities sucessfull!");
portletLog.info("Migration / Update of:" + videoFacilities.size() + " Legacy videoFacilities successfull!!");
} catch (SystemException e1) {
logInfo("Migration of videoinstitution failed. Can not read Source Data");
videoInstitutionOkflag = failed;
}
request.setAttribute("logInfoString", logInfoString);
request.setAttribute("videoInstitutionOkflag", videoInstitutionOkflag);
}
@RequestMapping(params = "action=migrateProducer_Lectureseries")
public void migrateProducer_Lectureseries(ActionRequest request) throws FileNotFoundException {
// Load Legacy Uploads
logInfo("Call migratemigrateProducer_Lectureseries");
String producerLectureseriesOkflag = ok;
List<LegacyProducerLectureseries> producerLectureserieses;
try {
producerLectureserieses = LegacyProducerLectureseriesLocalServiceUtil.getLegacyProducerLectureserieses(QueryUtil.ALL_POS, QueryUtil.ALL_POS);
logInfo("videoFacility Size : " + producerLectureserieses.size());
for (LegacyProducerLectureseries producerLectureseries: producerLectureserieses) {
migrateProducer_Lectureseries(producerLectureseries, companyId);
}
logInfo("Migration / Update of:" + producerLectureserieses.size() + "Legacy producerLectureserieses sucessfull!");
portletLog.info("Migration / Update of:" + producerLectureserieses.size() + " Legacy producerLectureserieses successfull!!");
} catch (SystemException e1) {
logInfo("Migration of producerlectureries failed. Can not read Source Data");
producerLectureseriesOkflag = failed;
}
request.setAttribute("logInfoString", logInfoString);
request.setAttribute("producerLectureseriesOkflag", producerLectureseriesOkflag);
}
@RequestMapping(params = "action=migrateInstitution_Host")
public void migrateInstitution_Host(ActionRequest request) throws FileNotFoundException {
// Load Legacy Uploads
logInfo("Call migratemigrateInstitution_Host");
String institutionHostOkflag = ok;
List<LegacyFacilityHost> facilityHosts;
try {
facilityHosts = LegacyFacilityHostLocalServiceUtil.getLegacyFacilityHosts(QueryUtil.ALL_POS, QueryUtil.ALL_POS);
logInfo("FacilityHost Size : " + facilityHosts.size());
for (LegacyFacilityHost FacilityHost: facilityHosts) {
migrateInstitution_Host(FacilityHost, siteId, companyId);
}
logInfo("Migration / Update of:" + facilityHosts.size() + "Legacy facilityHosts sucessfull!");
portletLog.info("Migration / Update of:" + facilityHosts.size() + " Legacy facilityHosts successfull!!");
} catch (SystemException e1) {
logInfo("Migration of institutionhost failed. Can not read Source Data");
institutionHostOkflag = failed;
}
request.setAttribute("institutionHostOkflag", institutionHostOkflag);
}
@RequestMapping(params = "action=migrateVideo_Lectureseries")
public void migrateVideo_LectureseriesAction(ActionRequest request) throws FileNotFoundException {
// Load Legacy Uploads
logInfo("Call migrateVideo_Lectureseries");
String videoLectureseriesOkflag = ok;
List<Video> videos;
try {
videos = VideoLocalServiceUtil.getVideos(QueryUtil.ALL_POS, QueryUtil.ALL_POS);
for (Video video: videos) {
if (video.getLectureseriesId() > 0 ) {
Video_Lectureseries video_Lectureseries = migrateVideo_Lectureseries(video);
// Set Term ID
Lectureseries lectureseries;
try {
lectureseries = LectureseriesLocalServiceUtil.getLectureseries(video_Lectureseries.getLectureseriesId());
video.setTermId(lectureseries.getTermId());
VideoLocalServiceUtil.updateVideo(video);
} catch (Exception e) {
logInfo("Warn: Could not link TermId to Video" + video);
}
} else {
logInfo("ConsistencyCheck Video: found with no Lectureseries linked (LectureseriesId = 0!): " + video);
portletLog.warn("ConsistencyCheck Video: CAN NOT LINK TERM ID ! Due to Lectureseries ID == 0 found at video "+ video.getVideoId());// + JSONFactoryUtil.serialize(video));
logInfo("Video Entry Skipped for mapping into Video_Lectureseries Table");
portletLog.warn("Video Entry Skipped for mapping into Video_Lectureseries Table");
}
}
logInfo("Update of:" + videos.size() + "Videos sucessfull - updated!");
portletLog.info("Update of:" + videos.size() + "Videos sucessfull - updated!");
} catch (SystemException e1) {
logInfo("Migration of Video_Lectureseries failed. Can not read Source Data");
videoLectureseriesOkflag = failed;
}
request.setAttribute("logInfoString", logInfoString);
request.setAttribute("videoLectureseriesOkflag", videoLectureseriesOkflag);
}
@RequestMapping(params = "action=migrateVideo_Category")
public void migrateVideo_CategoryAction(ActionRequest request) throws FileNotFoundException {
// Load Legacy Uploads
logInfo("Call Video_Lectureseries");
String videoCategoryOkflag = ok;
List<Video_Lectureseries> video_Lectureserieses;
try {
video_Lectureserieses = Video_LectureseriesLocalServiceUtil.getVideo_Lectureserieses(QueryUtil.ALL_POS, QueryUtil.ALL_POS);
log.info("video_Lectureserieses.size()" + video_Lectureserieses.size());
for (Video_Lectureseries video_Lectureseries: video_Lectureserieses) {
migrateVideo_Category(video_Lectureseries);
}
logInfo("Update of:" + video_Lectureserieses.size() + "video_Lectureserieses sucessfull - updated!");
portletLog.info("Update of:" + video_Lectureserieses.size() + "video_Lectureserieses sucessfull - updated!");
} catch (SystemException e1) {
logInfo("Migration of Video_Category failed. Can not read Source Data");
videoCategoryOkflag = failed;
}
request.setAttribute("logInfoString", logInfoString);
request.setAttribute("videoCategoryOkflag", videoCategoryOkflag);
}
@RequestMapping(params = "action=migrateCreator")
public void migrateCreator(ActionRequest request) throws FileNotFoundException {
// Load Legacy Uploads
logInfo("Call Video_Lectureseries");
String creatorOkflag = ok;
List<Video> videos;
try {
videos = VideoLocalServiceUtil.getVideos(QueryUtil.ALL_POS, QueryUtil.ALL_POS);
log.info("videos.size()" + videos.size());
for (Video video: videos) {
migrateCreator(video);
}
logInfo("Update of:" + videos.size() + " creators found in Videos sucessfull - created / Updated!");
portletLog.info("Update of:" + videos.size() + " creators found in Videos sucessfull - created / Updated!");
} catch (SystemException e1) {
logInfo("Migration of Metadata failed. Can not read Source Data");
creatorOkflag = failed;
}
request.setAttribute("logInfoString", logInfoString);
request.setAttribute("creatorOkflag", creatorOkflag);
}
/******************** Private User Migration Methods
* @throws SystemException ********************************************************************************/
//TODO put into UTIL-Class
private void migrateCreator(Video video) throws SystemException {
Creator creator = null;
LegacyMetadata legacyMetadata = null;
try {
legacyMetadata = LegacyMetadataLocalServiceUtil.getLegacyMetadata(video.getMetadataId());
} catch (PortalException e1) {
logInfo("warn: could not load legacy metadata by id" + video.getMetadataId() + "- skip entry" );
return;
}
String creatorsAsString = legacyMetadata.getCreator();
if (creatorsAsString.contains(";") && creatorsAsString.contains(",")) {
creatorsAsString = creatorsAsString.replace(",", "");
}
creatorsAsString = creatorsAsString.replace(",", ";");
creatorsAsString = creatorsAsString.replace("/", ";");
creatorsAsString = creatorsAsString.replace(" und ", ";");
creatorsAsString = creatorsAsString.replace(" mit ", ";");
creatorsAsString = creatorsAsString.replace(" & ", ";");
creatorsAsString = creatorsAsString.replace(" u. ", ";");
creatorsAsString = creatorsAsString.replace(" ", " ");
creatorsAsString = creatorsAsString.replace("h. c.", "h.c.");
creatorsAsString = creatorsAsString.replace("hc.", "h.c.");
creatorsAsString = creatorsAsString.replace("Professor", "Prof.");
// getPersons
Pattern personStringPattern = Pattern.compile("\\s*([^;]+)*\\s*;?\\s*([^;]+)*\\s*;?\\s*([^;]+)*\\s*;?\\s*([^;]+)*\\s*;?\\s*([^;]+)*\\s*;?\\s*([^;]+)*\\s*;?\\s*([^;]+)*\\s*;?\\s*([^;]+)*\\s*;?\\s*([^;]+)*\\s*;?\\s*([^;]+)*\\s*;?\\s*([^;]+)*\\s*;?\\s*([^;]+)*\\s*;?\\s*([^;]+)*\\s*");
Matcher personMatches = checkStringMatcher(creatorsAsString, personStringPattern );
if (personMatches != null) {
// start at index 1 as 0 contains whole string length is currently 13 due to pattern with 13 groups
for (int i=1; i < personMatches.groupCount(); i++) {
String person = personMatches.group(i);
if (person == null) {
//leave loop if person is null
continue;
}
creator = createSingleCreator(person);
migrateVideoCreator (video, creator);
if (video.getLectureseriesId() > 0) {
Lectureseries lectureseries;
try {
lectureseries = LectureseriesLocalServiceUtil.getLectureseries(video.getLectureseriesId());
migrateLectreseriesCreator (lectureseries, creator);
} catch (PortalException e) {
logInfo("warn: no lectureSeries found by id" + video.getLectureseriesId() );
}
}
}
} else {
logInfo("warn: matcher did not match" );
}
}
private void migrateLectreseriesCreator(Lectureseries lectureseries, Creator creator) throws SystemException {
Lectureseries_Creator lectureseries_Creator = null;
try {
//find by lectureSeries.EventType
ClassLoader classLoader = (ClassLoader)PortletBeanLocatorUtil.locate(ClpSerializer.getServletContextName(),"portletClassLoader");
DynamicQuery query = DynamicQueryFactoryUtil.forClass(Lectureseries_Creator.class,classLoader).add(PropertyFactoryUtil.forName("lectureseriesId").eq(lectureseries.getLectureseriesId())).add(PropertyFactoryUtil.forName("creatorId").eq(creator.getCreatorId()));
List<Lectureseries_Creator> lectureseries_Creators = Lectureseries_CreatorLocalServiceUtil.dynamicQuery(query);
if (lectureseries_Creators.size() > 0) {
lectureseries_Creator= lectureseries_Creators.get(0);
lectureseries_Creator = LectureseriesCreatorMapper.map(lectureseries_Creator, lectureseries, creator);
log.debug("Lectureseries_Creator UPDATE:" +lectureseries_Creator);
Lectureseries_CreatorLocalServiceUtil.updateLectureseries_Creator(lectureseries_Creator);
} else {
lectureseries_Creator = Lectureseries_CreatorLocalServiceUtil.createLectureseries_Creator(CounterLocalServiceUtil.increment(Lectureseries_Creator.class.getName()));
lectureseries_Creator = LectureseriesCreatorMapper.map(lectureseries_Creator, lectureseries, creator);
log.debug("Lectureseries_Creator NEW:" +lectureseries_Creator);
Lectureseries_CreatorLocalServiceUtil.addLectureseries_Creator(lectureseries_Creator);
}
} catch (Exception e) {
lectureseries_Creator = Lectureseries_CreatorLocalServiceUtil.createLectureseries_Creator(CounterLocalServiceUtil.increment(Lectureseries_Creator.class.getName()));
lectureseries_Creator = LectureseriesCreatorMapper.map(lectureseries_Creator, lectureseries, creator);
log.debug("Lectureseries_Creator NEW:" +lectureseries_Creator);
Lectureseries_CreatorLocalServiceUtil.addLectureseries_Creator(lectureseries_Creator);
}
}
private void migrateVideoCreator(Video video, Creator creator) throws SystemException {
Video_Creator video_Creator = null;
try {
//find by lectureSeries.EventType
ClassLoader classLoader = (ClassLoader)PortletBeanLocatorUtil.locate(ClpSerializer.getServletContextName(),"portletClassLoader");
DynamicQuery query = DynamicQueryFactoryUtil.forClass(Video_Creator.class,classLoader).add(PropertyFactoryUtil.forName("videoId").eq(video.getLectureseriesId())).add(PropertyFactoryUtil.forName("creatorId").eq(creator.getCreatorId()));
List<Video_Creator> video_Creators = Video_CreatorLocalServiceUtil.dynamicQuery(query);
if (video_Creators.size() > 0) {
video_Creator= video_Creators.get(0);
video_Creator = VideoCreatorMapper.map(video_Creator, video, creator);
log.debug("Video_Creator UPDATE:" +video_Creator);
Video_CreatorLocalServiceUtil.updateVideo_Creator(video_Creator);
} else {
video_Creator = Video_CreatorLocalServiceUtil.createVideo_Creator(CounterLocalServiceUtil.increment(Video_Creator.class.getName()));
video_Creator = VideoCreatorMapper.map(video_Creator, video, creator);
log.debug("Video_Creator NEW:" +video_Creator);
Video_CreatorLocalServiceUtil.addVideo_Creator(video_Creator);
}
} catch (Exception e) {
video_Creator = Video_CreatorLocalServiceUtil.createVideo_Creator(CounterLocalServiceUtil.increment(Video_Creator.class.getName()));
video_Creator = VideoCreatorMapper.map(video_Creator, video, creator);
log.debug("Video_Creator NEW:" +video_Creator);
Video_CreatorLocalServiceUtil.addVideo_Creator(video_Creator);
}
}
private Creator createSingleCreator(String person) throws SystemException {
String firstName ="";
String lastName ="";
String jobTitle = extractSpecialJobTitle(person);
String specialJobTitle ="";
if (!jobTitle.isEmpty()) {
specialJobTitle = jobTitle;
}
person = person.replace(jobTitle, "");
person = person.trim();
String middleName ="";
String gender ="";
String[] nameAndJobArray = person.split(" ");
// Creators with more than 4 splittable snippets need to be revised manually, they will be imported with full name.
if ( nameAndJobArray.length > 4) {
portletLog.info("Following Person/Creator needs to be revised manually: " + person + " lenght:" + nameAndJobArray.length);
}
if (nameAndJobArray.length == 1) {
firstName =nameAndJobArray[0];
lastName =nameAndJobArray[0];
}
if (nameAndJobArray.length == 2) {
// check first
String tmp = nameAndJobArray[0].toLowerCase();
if (jobTitle.isEmpty() && containsTitle(tmp) ) {
jobTitle = nameAndJobArray[0];
} else {
firstName = nameAndJobArray[0];
}
// check second
tmp = nameAndJobArray[1].toLowerCase();
if (jobTitle.isEmpty() && containsTitle(tmp) ) {
jobTitle = jobTitle + " " + nameAndJobArray[1];
} else {
lastName = nameAndJobArray[1];
}
}
if (nameAndJobArray.length == 3) {
// check first
String tmp = nameAndJobArray[0].toLowerCase();
if (jobTitle.isEmpty() && containsTitle(tmp) ) {
jobTitle = nameAndJobArray[0];
} else {
firstName = nameAndJobArray[0];
}
// check second
tmp = nameAndJobArray[1].toLowerCase();
if (jobTitle.isEmpty() && containsTitle(tmp) ) {
jobTitle = jobTitle + " " + nameAndJobArray[1];
} else {
if (!firstName.isEmpty()) {
if (containsParticle(nameAndJobArray[1])) {
lastName = nameAndJobArray[1] + " ";
} else {
middleName = nameAndJobArray[1];
}
} else {
firstName = nameAndJobArray[1];
}
}
// check third
tmp = nameAndJobArray[2].toLowerCase();
if (jobTitle.isEmpty() && containsTitle(tmp) ) {
jobTitle = jobTitle + " " + nameAndJobArray[2];
} else {
lastName += nameAndJobArray[2];
}
}
if (nameAndJobArray.length == 4) {
// check first
String tmp = nameAndJobArray[0].toLowerCase();
if (jobTitle.isEmpty() && containsTitle(tmp) ) {
jobTitle = nameAndJobArray[0];
} else {
firstName = nameAndJobArray[0];
}
// check second
tmp = nameAndJobArray[1].toLowerCase();
if (jobTitle.isEmpty() && containsTitle(tmp) ) {
jobTitle = jobTitle + " " + nameAndJobArray[1];
} else {
if (!firstName.isEmpty()) {
if (containsParticle(nameAndJobArray[1])) {
lastName = nameAndJobArray[1] + " ";
} else {
middleName = nameAndJobArray[1];
}
} else {
firstName = nameAndJobArray[1];
}
}
// check third
tmp = nameAndJobArray[2].toLowerCase();
if (jobTitle.isEmpty() && containsTitle(tmp) ) {
jobTitle = jobTitle + " " + nameAndJobArray[2];
} else {
if (firstName.isEmpty()) {
firstName = nameAndJobArray[2];
} else {
if (containsParticle(nameAndJobArray[2])) {
lastName = nameAndJobArray[2] + " ";
} else {
middleName = middleName +" " +nameAndJobArray[2];
}
}
}
// check fourth
tmp = nameAndJobArray[3].toLowerCase();
if (jobTitle.isEmpty() && containsTitle(tmp) ) {
jobTitle = jobTitle + " " + nameAndJobArray[2];
} else {
lastName += nameAndJobArray[3];
}
}
Creator creator = null;
String fullName;
if (!specialJobTitle.isEmpty()) {
fullName = specialJobTitle + " " + person;
} else {
fullName= person;
}
try {
//find by lectureSeries.EventType
ClassLoader classLoader = (ClassLoader)PortletBeanLocatorUtil.locate(ClpSerializer.getServletContextName(),"portletClassLoader");
DynamicQuery query = DynamicQueryFactoryUtil.forClass(Creator.class, classLoader).add(PropertyFactoryUtil.forName("fullName").eq(fullName));
List<Creator> creators = CreatorLocalServiceUtil.dynamicQuery(query);
if (creators.size() > 0) {
creator = creators.get(0);
creator = CreatorMapper.mapCreator(creator, firstName, lastName, middleName, jobTitle, gender, fullName);
log.debug("creator UPDATE:" +creator);
creator = CreatorLocalServiceUtil.updateCreator(creator);
} else {
creator = CreatorLocalServiceUtil.createCreator(CounterLocalServiceUtil.increment(Creator.class.getName()));
creator = CreatorMapper.mapCreator(creator, firstName, lastName, middleName, jobTitle, gender, fullName);
log.debug("creator NEW:" +creator);
creator = CreatorLocalServiceUtil.addCreator(creator);
}
} catch (Exception e) {
creator = CreatorLocalServiceUtil.createCreator(CounterLocalServiceUtil.increment(Creator.class.getName()));
creator = CreatorMapper.mapCreator(creator, firstName, lastName, middleName, jobTitle, gender, fullName);
log.debug("creator NEW:" +creator);
creator = CreatorLocalServiceUtil.addCreator(creator);
}
return creator;
}
private boolean containsParticle(String tmp) {
return tmp.contains("von")|| tmp.contains("van") || tmp.contains("v.") || tmp.contains("de") || tmp.contains("del") || tmp.contains("der") ;
}
private boolean containsTitle(String tmp) {
return tmp.contains("Dr.".toLowerCase())|| tmp.contains("Prof.".toLowerCase()) || tmp.contains("PHD".toLowerCase()) || tmp.contains("PD".toLowerCase()) || tmp.contains("Pro.".toLowerCase()) || tmp.contains("Dipl".toLowerCase()) || tmp.contains("Associate".toLowerCase()) || tmp.contains("phil.".toLowerCase()) || tmp.contains("priv-doz".toLowerCase()) ;
}
private void migrateSegment(LegacySegment legacySegment, long companyId) throws SystemException {
Segment segment = null;
try {
segment = SegmentLocalServiceUtil.getSegment(legacySegment.getId());
segment = SegmentMapper.mapSegment(segment, legacySegment, companyId);
log.debug("SEGMENT UPDATE:" +segment);
SegmentLocalServiceUtil.updateSegment(segment);
} catch (Exception e) {
segment = SegmentLocalServiceUtil.createSegment(legacySegment.getId());
segment = SegmentMapper.mapSegment(segment, legacySegment, companyId);
log.debug("SEGMENT NEW:" +segment);
SegmentLocalServiceUtil.addSegment(segment);
}
}
private void migrateCoordinator(LegacyCoordinator legacyCoordinator, long companyId) throws SystemException {
Coordinator coordinator = null;
try {
coordinator = CoordinatorLocalServiceUtil.getCoordinator(UserIDMapper.getNewUserId(legacyCoordinator.getUserId(), companyId));
coordinator = CoordinatorMapper.mapCoordinator(legacyCoordinator, coordinator);
log.debug("Coordinator UPDATE:" +coordinator);
CoordinatorLocalServiceUtil.updateCoordinator(coordinator);
} catch (Exception e) {
coordinator = CoordinatorLocalServiceUtil.createCoordinator(UserIDMapper.getNewUserId(legacyCoordinator.getUserId(), companyId));
coordinator = CoordinatorMapper.mapCoordinator(legacyCoordinator, coordinator);
log.debug("Coordinator NEW:" +coordinator);
CoordinatorLocalServiceUtil.addCoordinator(coordinator);
}
}
private void migrateProducer(LegacyProducer legacyProducer, long companyId) throws SystemException {
Producer producer = null;
try {
producer = ProducerLocalServiceUtil.getProducer(UserIDMapper.getNewUserId(legacyProducer.getId(), companyId));
producer = ProducerMapper.mapProducer(legacyProducer, producer);
log.info("Producer UPDATE:" +producer);
ProducerLocalServiceUtil.updateProducer(producer);
} catch (Exception e) {
producer = ProducerLocalServiceUtil.createProducer(UserIDMapper.getNewUserId(legacyProducer.getId(), companyId));
producer = ProducerMapper.mapProducer(legacyProducer, producer);
log.info("Producer NEW:" +producer);
ProducerLocalServiceUtil.addProducer(producer);
}
}
private Video migrateVideo(LegacyVideo legacyVideo, long companyId) throws SystemException {
Video video = null;
try {
video = VideoLocalServiceUtil.getVideo(legacyVideo.getId());
video = VideoMapper.mapVideo(legacyVideo, video, companyId);
log.debug("Video UPDATE:" +video);
video = VideoLocalServiceUtil.updateVideo(video);
} catch (Exception e) {
video = VideoLocalServiceUtil.createVideo(legacyVideo.getId());
video = VideoMapper.mapVideo(legacyVideo, video, companyId);
log.debug("Video NEW:" +video);
video = VideoLocalServiceUtil.addVideo(video);
}
return video;
}
/**
private void migrateUpload(LegacyUpload legacyUpload, long companyId) throws SystemException {
Upload upload = null;
try {
upload = UploadLocalServiceUtil.getUpload(legacyUpload.getId());
upload = UploadMapper.mapUpload(legacyUpload, upload,companyId);
log.debug("Upload UPDATE:" +upload);
UploadLocalServiceUtil.updateUpload(upload);
} catch (Exception e) {
upload = UploadLocalServiceUtil.createUpload(legacyUpload.getId());
upload = UploadMapper.mapUpload(legacyUpload, upload, companyId);
log.debug("Upload NEW:" +upload);
UploadLocalServiceUtil.addUpload(upload);
}
}
*/
private void migrateStatistic(LegacyStatistic legacyStatistic, long companyId) throws SystemException {
Statistic statistic = null;
try {
statistic = StatisticLocalServiceUtil.getStatistic(legacyStatistic.getId());
statistic = StatisticMapper.mapStatistic(legacyStatistic, statistic,companyId);
log.debug("Statistic UPDATE:" +statistic);
StatisticLocalServiceUtil.updateStatistic(statistic);
} catch (Exception e) {
statistic = StatisticLocalServiceUtil.createStatistic(legacyStatistic.getId());
statistic = StatisticMapper.mapStatistic(legacyStatistic, statistic, companyId);
log.debug("Statistic NEW:" +statistic);
StatisticLocalServiceUtil.addStatistic(statistic);
}
}
private void migrateOffice(LegacyOffice legacyOffice, long companyId) throws SystemException {
Office office = null;
try {
office = OfficeLocalServiceUtil.getOffice(legacyOffice.getId());
office = OfficeMapper.mapOffice(legacyOffice, office);
log.debug("Office UPDATE:" +office);
OfficeLocalServiceUtil.updateOffice(office);
} catch (Exception e) {
office = OfficeLocalServiceUtil.createOffice(legacyOffice.getId());
office = OfficeMapper.mapOffice(legacyOffice, office);
log.debug("Office NEW:" +office);
OfficeLocalServiceUtil.addOffice(office);
}
}
private void migrateMetadata(LegacyMetadata legacyMetadata, long companyId) throws SystemException {
Metadata metadata = null;
try {
metadata = MetadataLocalServiceUtil.getMetadata(legacyMetadata.getId());
metadata = MetadataMapper.mapMetadata(legacyMetadata, metadata);
log.debug("Metadata UPDATE:" +metadata);
MetadataLocalServiceUtil.updateMetadata(metadata);
} catch (Exception e) {
metadata = MetadataLocalServiceUtil.createMetadata(legacyMetadata.getId());
metadata = MetadataMapper.mapMetadata(legacyMetadata, metadata);
log.debug("Metadata NEW:" +metadata);
MetadataLocalServiceUtil.addMetadata(metadata);
}
}
private void migrateInstitution(LegacyFacility legacyFacility, long companyId, long groupId) throws SystemException {
Institution instition = null;
try {
instition = InstitutionLocalServiceUtil.getInstitution(legacyFacility.getId());
instition = FacilityMapper.mapFacility(legacyFacility, instition, groupId, companyId);
log.info("Institution UPDATE:" +instition);
InstitutionLocalServiceUtil.updateInstitution(instition);
} catch (Exception e) {
instition = InstitutionLocalServiceUtil.createInstitution(legacyFacility.getId());
instition = FacilityMapper.mapFacility(legacyFacility, instition, groupId, companyId);
log.debug("Institution NEW:" +instition);
InstitutionLocalServiceUtil.addInstitution(instition);
}
}
private void migrateLicense(LegacyLicense legacyLicense, long companyId, long groupId) throws SystemException {
License license = null;
try {
license = LicenseLocalServiceUtil.getLicense(legacyLicense.getId());
license = LicenseMapper.mapLicense(legacyLicense, license);
log.debug("License UPDATE:" +license);
LicenseLocalServiceUtil.updateLicense(license);
} catch (Exception e) {
license = LicenseLocalServiceUtil.createLicense(legacyLicense.getId());
license = LicenseMapper.mapLicense(legacyLicense, license);
log.debug("License NEW:" +license);
LicenseLocalServiceUtil.addLicense(license);
}
}
private void migrateHost(LegacyHost legacyHost, long companyId, long groupId) throws SystemException {
Host lastvideolist = null;
try {
lastvideolist = HostLocalServiceUtil.getHost(legacyHost.getId());
lastvideolist = HostMapper.mapHost(legacyHost, lastvideolist, groupId, companyId);
log.debug("Host UPDATE:" +lastvideolist);
HostLocalServiceUtil.updateHost(lastvideolist);
} catch (Exception e) {
lastvideolist = HostLocalServiceUtil.createHost(legacyHost.getId());
lastvideolist = HostMapper.mapHost(legacyHost, lastvideolist, groupId, companyId);
log.debug("Host NEW:" +lastvideolist);
HostLocalServiceUtil.addHost(lastvideolist);
}
}
private void migrateL2gsys(LegacyL2gSys legacyL2gSys, long companyId, long groupId) throws SystemException {
Sys sys = null;
try {
sys = SysLocalServiceUtil.getSys(legacyL2gSys.getId());
sys = L2gSysMapper.mapL2gSys(legacyL2gSys, sys);
logInfo("Sys UPDATE:" +sys);
SysLocalServiceUtil.updateSys(sys);
} catch (Exception e) {
sys = SysLocalServiceUtil.createSys(legacyL2gSys.getId());
sys = L2gSysMapper.mapL2gSys(legacyL2gSys, sys);
logInfo("Sys NEW:" +sys);
SysLocalServiceUtil.addSys(sys);
}
}
/**
* @param legacyLectureseries
* @param companyId
* @param groupId
* @throws SystemException
*/
private void migrateLectureseries(LegacyLectureSeries legacyLectureseries, long companyId, long groupId) throws SystemException {
Lectureseries lectureseries = null;
try {
lectureseries = LectureseriesLocalServiceUtil.getLectureseries(legacyLectureseries.getId());
lectureseries = LectureseriesMapper.mapLectureseries(legacyLectureseries, lectureseries);
log.debug("Lectureseries UPDATE:" +lectureseries);
LectureseriesLocalServiceUtil.updateLectureseries(lectureseries);
} catch (Exception e) {
lectureseries = LectureseriesLocalServiceUtil.createLectureseries(legacyLectureseries.getId());
lectureseries = LectureseriesMapper.mapLectureseries(legacyLectureseries, lectureseries);
log.debug("Lectureseries NEW:" +lectureseries);
LectureseriesLocalServiceUtil.addLectureseries(lectureseries);
}
// Migrate Termn;
Term term = migrateTerms(legacyLectureseries, lectureseries);
if (term !=null) {
lectureseries.setTermId(term.getTermId());
log.debug("lectureseries UPADATED with termID:" +term.getTermId());
LectureseriesLocalServiceUtil.updateLectureseries(lectureseries);
}
// Migrate Categories;
Category category = migrateCategories(lectureseries);
if (category !=null) {
lectureseries.setCategoryId(category.getCategoryId());
log.debug("lectureseries try to update with categorie ID:" + category.getCategoryId());
LectureseriesLocalServiceUtil.updateLectureseries(lectureseries);
// Migrate Lectureseries_Category
migrateLectureseries_Category(lectureseries, category);
}
// MAP latest Video !
long videoId = getLatestVideoId(lectureseries);
lectureseries.setLatestOpenAccessVideoId(videoId);
LectureseriesLocalServiceUtil.updateLectureseries(lectureseries);
}
/**
* Local Function invoced by private function migrateLectureseries
* @param lectureseries
* @return
* @throws SystemException
*/
private Term migrateTerms(LegacyLectureSeries legacyLectureseries, Lectureseries lectureseries) throws SystemException {
Term term = null;
String cleanedSemesterName = legacyLectureseries.getSemesterName().replace(" ab ", "");
cleanedSemesterName = cleanedSemesterName.replace("ab ", "");
cleanedSemesterName = cleanedSemesterName.replace("20", "");
log.info("cleanedSemesterName !!! :" + cleanedSemesterName + "sourceName :" + legacyLectureseries.getSemesterName());
String prefix = checkString(cleanedSemesterName, termPattern, 1);
String year = checkString(cleanedSemesterName, termPattern, 2);
try {
//find by lectureSeries.EventType
ClassLoader classLoader = (ClassLoader)PortletBeanLocatorUtil.locate(ClpSerializer.getServletContextName(),"portletClassLoader");
DynamicQuery query = DynamicQueryFactoryUtil.forClass(Term.class, classLoader).add(PropertyFactoryUtil.forName("year").eq(year)).add(PropertyFactoryUtil.forName("prefix").eq(prefix));
List<Term> terms = TermLocalServiceUtil.dynamicQuery(query);
if (terms.size() > 0) {
term = terms.get(0);
term = TermMapper.mapTerm(term, 0L, "de_DE",prefix, year, "");
log.debug("term UPDATE:" +term);
term = TermLocalServiceUtil.updateTerm(term);
} else {
term = TermLocalServiceUtil.createTerm(CounterLocalServiceUtil.increment(Term.class.getName()));
term = TermMapper.mapTerm(term, 0L, "de_DE",prefix, year, "");
log.debug("term NEW:" +term);
term = TermLocalServiceUtil.addTerm(term);
}
} catch (Exception e) {
term = TermLocalServiceUtil.createTerm(CounterLocalServiceUtil.increment(Term.class.getName()));
term = TermMapper.mapTerm(term, 0L, "de_DE",prefix, year, "");
log.debug("term NEW:" +term);
term = TermLocalServiceUtil.addTerm(term);
}
return term;
}
/**
* Local function invoced by private function migrateLectureseries
* @param lectureseries
* @return
* @throws SystemException
*/
private Category migrateCategories(Lectureseries lectureseries) throws SystemException {
Category category = null;
try {
//find by lectureSeries.EventType
ClassLoader classLoader = (ClassLoader)PortletBeanLocatorUtil.locate(ClpSerializer.getServletContextName(),"portletClassLoader");
DynamicQuery query = DynamicQueryFactoryUtil.forClass(Category.class, classLoader).add(PropertyFactoryUtil.forName("name").eq(lectureseries.getEventType()));
List<Category> categories = CategoryLocalServiceUtil.dynamicQuery(query);
if (categories.size() > 0) {
category= categories.get(0);
category = CategoryMapper.mapCategory(category, lectureseries.getEventType(), "de_DE", "", 0L);
log.debug("category UPDATE:" +category);
category = CategoryLocalServiceUtil.updateCategory(category);
} else {
category = CategoryLocalServiceUtil.createCategory(CounterLocalServiceUtil.increment(Category.class.getCanonicalName()));
category = CategoryMapper.mapCategory(category,lectureseries.getEventType(), "de_DE","", 0L);
log.debug("category NEW:" +category);
category = CategoryLocalServiceUtil.updateCategory(category);
}
} catch (Exception e) {
category = CategoryLocalServiceUtil.createCategory(CounterLocalServiceUtil.increment(Category.class.getCanonicalName()));
category = CategoryMapper.mapCategory(category,lectureseries.getEventType(), "de_DE","", 0L);
log.debug("category NEW:" +category);
category = CategoryLocalServiceUtil.updateCategory(category);
}
return category;
}
/**
* Local function invoced by private function migrateLectureseries, after Category and Term has been initialised
* @param lectureseries
* @param category
* @throws SystemException
*/
private void migrateLectureseries_Category(Lectureseries lectureseries, Category category) throws SystemException {
Lectureseries_Category lectureseries_Category = null;
try {
//find by lectureSeries.EventType
ClassLoader classLoader = (ClassLoader)PortletBeanLocatorUtil.locate(ClpSerializer.getServletContextName(),"portletClassLoader");
DynamicQuery query = DynamicQueryFactoryUtil.forClass(Lectureseries_Category.class, classLoader).add(PropertyFactoryUtil.forName("lectureseriesId").eq(lectureseries.getLectureseriesId()));
List<Lectureseries_Category> lectureseries_Categories = Lectureseries_CategoryLocalServiceUtil.dynamicQuery(query);
if (lectureseries_Categories.size() > 0) {
lectureseries_Category= lectureseries_Categories.get(0);
lectureseries_Category = LectureseriesCategoryMapper.mapLectureseries_Category(lectureseries_Category, lectureseries, category);
log.debug("lectureseries_Category UPDATE:" +category);
Lectureseries_CategoryLocalServiceUtil.updateLectureseries_Category(lectureseries_Category);
} else {
lectureseries_Category = Lectureseries_CategoryLocalServiceUtil.createLectureseries_Category(CounterLocalServiceUtil.increment(Lectureseries_Category.class.getName()));
lectureseries_Category = LectureseriesCategoryMapper.mapLectureseries_Category(lectureseries_Category, lectureseries, category);
log.debug("lectureseries_Category NEW:" +category);
Lectureseries_CategoryLocalServiceUtil.addLectureseries_Category(lectureseries_Category);
}
} catch (Exception e) {
lectureseries_Category = Lectureseries_CategoryLocalServiceUtil.createLectureseries_Category(CounterLocalServiceUtil.increment(Lectureseries_Category.class.getName()));
lectureseries_Category = LectureseriesCategoryMapper.mapLectureseries_Category(lectureseries_Category, lectureseries, category);
log.debug("lectureseries_Category NEW:" +category);
Lectureseries_CategoryLocalServiceUtil.addLectureseries_Category(lectureseries_Category);
}
}
private void migrateVideohitlist(LegacyVideoHitlist legacyVideohitlist, long companyId, long groupId) throws SystemException {
Videohitlist videohitlist = null;
try {
videohitlist = VideohitlistLocalServiceUtil.getVideohitlist(legacyVideohitlist.getId());
videohitlist = VideoHitlistMapper.mapVideoHitlist(legacyVideohitlist, videohitlist);
log.debug("Videohitlist UPDATE:" +videohitlist);
VideohitlistLocalServiceUtil.updateVideohitlist(videohitlist);
} catch (Exception e) {
videohitlist = VideohitlistLocalServiceUtil.createVideohitlist(legacyVideohitlist.getId());
videohitlist = VideoHitlistMapper.mapVideoHitlist(legacyVideohitlist, videohitlist);
log.debug("Videohitlist NEW:" +videohitlist);
VideohitlistLocalServiceUtil.addVideohitlist(videohitlist);
}
}
private void migrateLastvideolist(LegacyLastVideoList legacyLastvideolist, long companyId, long groupId) throws SystemException {
Lastvideolist lastvideolist = null;
try {
lastvideolist = LastvideolistLocalServiceUtil.getLastvideolist(legacyLastvideolist.getId());
lastvideolist = LastVideoListMapper.mapLastVideoList(legacyLastvideolist, lastvideolist);
log.debug("Lastvideolist UPDATE:" +lastvideolist);
LastvideolistLocalServiceUtil.updateLastvideolist(lastvideolist);
} catch (Exception e) {
lastvideolist = LastvideolistLocalServiceUtil.createLastvideolist(legacyLastvideolist.getId());
lastvideolist = LastVideoListMapper.mapLastVideoList(legacyLastvideolist, lastvideolist);
log.debug("Lastvideolist NEW:" +lastvideolist);
LastvideolistLocalServiceUtil.addLastvideolist(lastvideolist);
}
}
private void migrateLectureseriesInstitution(LegacyLectureSeriesFacility legacyLectureSeriesFacility, long companyId) throws SystemException {
Lectureseries_Institution lectureseriesInstitution = null;
try {
lectureseriesInstitution = Lectureseries_InstitutionLocalServiceUtil.getLectureseries_Institution(legacyLectureSeriesFacility.getLectureseriesFacilityId());
if (lectureseriesInstitution != null) {
lectureseriesInstitution = LectureseriesFacilityMapper.mapLectureseriesFacility(legacyLectureSeriesFacility, lectureseriesInstitution);
log.debug("LectureSeriesInstitution UPDATE:" +lectureseriesInstitution);
Lectureseries_InstitutionLocalServiceUtil.updateLectureseries_Institution(lectureseriesInstitution);
} else {
lectureseriesInstitution = Lectureseries_InstitutionLocalServiceUtil.createLectureseries_Institution(legacyLectureSeriesFacility.getLectureseriesFacilityId());
lectureseriesInstitution = LectureseriesFacilityMapper.mapLectureseriesFacility(legacyLectureSeriesFacility, lectureseriesInstitution);
log.debug("LectureSeriesInstitution NEW:" +lectureseriesInstitution);
Lectureseries_InstitutionLocalServiceUtil.addLectureseries_Institution(lectureseriesInstitution);
}
} catch (Exception e) {
lectureseriesInstitution = Lectureseries_InstitutionLocalServiceUtil.createLectureseries_Institution(CounterLocalServiceUtil.increment(Lectureseries_Institution.class.getName()));
lectureseriesInstitution = LectureseriesFacilityMapper.mapLectureseriesFacility(legacyLectureSeriesFacility, lectureseriesInstitution);
log.debug("LectureSeriesInstitution NEW:" +lectureseriesInstitution);
Lectureseries_InstitutionLocalServiceUtil.addLectureseries_Institution(lectureseriesInstitution);
}
}
private void migrateVideo_Institution(LegacyVideoFacility legacyVideoFacility, long companyId) throws SystemException {
Video_Institution videoInstitution = null;
try {
videoInstitution = Video_InstitutionLocalServiceUtil.getVideo_Institution(legacyVideoFacility.getVideoFacilityId());
videoInstitution = VideoFacilityMapper.mapVideoFacility(legacyVideoFacility, videoInstitution);
log.debug("Video_Institution UPDATE:" +videoInstitution);
Video_InstitutionLocalServiceUtil.updateVideo_Institution(videoInstitution);
} catch (Exception e) {
videoInstitution = Video_InstitutionLocalServiceUtil.createVideo_Institution(legacyVideoFacility.getVideoFacilityId());
videoInstitution = VideoFacilityMapper.mapVideoFacility(legacyVideoFacility, videoInstitution);
log.debug("Video_Institution NEW:" +videoInstitution);
Video_InstitutionLocalServiceUtil.addVideo_Institution(videoInstitution);
}
}
private void migrateInstitution_Host(LegacyFacilityHost legacyFacilityHost, long groupId, long companyId) throws SystemException {
Institution_Host institutionHost = null;
try {
institutionHost = Institution_HostLocalServiceUtil.getInstitution_Host(legacyFacilityHost.getFacilityHostId());
institutionHost = FacilityHostMapper.mapFacilityHost(legacyFacilityHost, institutionHost, groupId, companyId);
log.debug("Institution_Host UPDATE:" +institutionHost);
Institution_HostLocalServiceUtil.updateInstitution_Host(institutionHost);
} catch (Exception e) {
institutionHost = Institution_HostLocalServiceUtil.createInstitution_Host(legacyFacilityHost.getFacilityHostId());
institutionHost = FacilityHostMapper.mapFacilityHost(legacyFacilityHost, institutionHost, groupId, companyId);
log.debug("Institution_Host NEW:" +institutionHost);
Institution_HostLocalServiceUtil.addInstitution_Host(institutionHost);
}
}
private void migrateProducer_Lectureseries(LegacyProducerLectureseries legacyProducerLectureseries, long companyId) throws SystemException {
Producer_Lectureseries producerLectureseries = null;
try {
producerLectureseries = Producer_LectureseriesLocalServiceUtil.getProducer_Lectureseries(legacyProducerLectureseries.getId());
producerLectureseries = ProducerLectureseriesMapper.mapProducerLectureseries(legacyProducerLectureseries, producerLectureseries, companyId);
log.debug("Producer_Lectureseries UPDATE:" +producerLectureseries);
Producer_LectureseriesLocalServiceUtil.updateProducer_Lectureseries(producerLectureseries);
} catch (Exception e) {
producerLectureseries = Producer_LectureseriesLocalServiceUtil.createProducer_Lectureseries(legacyProducerLectureseries.getId());
producerLectureseries = ProducerLectureseriesMapper.mapProducerLectureseries(legacyProducerLectureseries, producerLectureseries, companyId);
log.debug("Producer_Lectureseries NEW:" +producerLectureseries);
Producer_LectureseriesLocalServiceUtil.addProducer_Lectureseries(producerLectureseries);
}
}
/**
* Invoked by: public migrateVideo_Lectureseries Action
* @param video
* @return
* @throws SystemException
*/
private Video_Lectureseries migrateVideo_Lectureseries(Video video) throws SystemException {
Video_Lectureseries videoLectureseries = null;
try {
ClassLoader classLoader = (ClassLoader)PortletBeanLocatorUtil.locate(ClpSerializer.getServletContextName(),"portletClassLoader");
DynamicQuery query = DynamicQueryFactoryUtil.forClass(Video_Lectureseries.class, classLoader).add(PropertyFactoryUtil.forName("videoId").eq(video.getVideoId()));
List<Video_Lectureseries> videoLectureserieses = Video_LectureseriesLocalServiceUtil.dynamicQuery(query);
if (videoLectureserieses.size() > 0) {
videoLectureseries = videoLectureserieses.get(0);
videoLectureseries = VideoLectureseriesMapper.mapVideoLectureseries(video, videoLectureseries, companyId);
log.debug("Video_Lectureseries UPDATE:" +videoLectureseries);
videoLectureseries= Video_LectureseriesLocalServiceUtil.updateVideo_Lectureseries(videoLectureseries);
} else {
videoLectureseries = Video_LectureseriesLocalServiceUtil.createVideo_Lectureseries(CounterLocalServiceUtil.increment(Video_Lectureseries.class.getName()));
videoLectureseries = VideoLectureseriesMapper.mapVideoLectureseries(video, videoLectureseries, companyId);
log.debug("Video_Lectureseries NEW:" +videoLectureseries);
videoLectureseries= Video_LectureseriesLocalServiceUtil.addVideo_Lectureseries(videoLectureseries);
}
} catch (Exception e) {
videoLectureseries = Video_LectureseriesLocalServiceUtil.createVideo_Lectureseries(CounterLocalServiceUtil.increment(Video_Lectureseries.class.getName()));
videoLectureseries = VideoLectureseriesMapper.mapVideoLectureseries(video, videoLectureseries, companyId);
log.debug("Video_Lectureseries NEW:" +videoLectureseries);
videoLectureseries= Video_LectureseriesLocalServiceUtil.addVideo_Lectureseries(videoLectureseries);
}
return videoLectureseries;
}
/**
* Local function invoced by Video_Category Action, Video, Lectureseries, and Categoryhas been initialised
* MANDATAORY: video_lectureseries must have been initialized
* @param video_lectureseries
* @throws SystemException
*/
private void migrateVideo_Category(Video_Lectureseries video_lectureseries) throws SystemException {
Video_Category video_category = null;
Lectureseries lectureseries;
try {
lectureseries = LectureseriesLocalServiceUtil.getLectureseries(video_lectureseries.getLectureseriesId());
} catch (PortalException e1) {
log.warn("Cant load lectureseries from:" +video_lectureseries +"! video_lectureseries must be migrated beforehand!");
return;
}
try {
//find by lectureSeries.EventType
ClassLoader classLoader = (ClassLoader)PortletBeanLocatorUtil.locate(ClpSerializer.getServletContextName(),"portletClassLoader");
DynamicQuery query = DynamicQueryFactoryUtil.forClass(Video_Category.class,classLoader).add(PropertyFactoryUtil.forName("videoId").eq(video_lectureseries.getVideoId())).add(PropertyFactoryUtil.forName("categoryId").eq(lectureseries.getCategoryId()));
List<Video_Category> video_categories = Video_CategoryLocalServiceUtil.dynamicQuery(query);
if (video_categories.size() > 0) {
video_category= video_categories.get(0);
video_category = VideoCategoryMapper.mapVideoCategory(video_category, video_lectureseries.getVideoId(), lectureseries.getCategoryId());
log.debug("video_category UPDATE:" +video_category);
Video_CategoryLocalServiceUtil.updateVideo_Category(video_category);
} else {
video_category = Video_CategoryLocalServiceUtil.createVideo_Category(CounterLocalServiceUtil.increment(Video_Category.class.getName()));
video_category = VideoCategoryMapper.mapVideoCategory(video_category, video_lectureseries.getVideoId(), lectureseries.getCategoryId());
log.debug("video_category NEW:" +video_category);
Video_CategoryLocalServiceUtil.addVideo_Category(video_category);
}
} catch (Exception e) {
video_category = Video_CategoryLocalServiceUtil.createVideo_Category(CounterLocalServiceUtil.increment(Video_Category.class.getName()));
video_category = VideoCategoryMapper.mapVideoCategory(video_category, video_lectureseries.getVideoId(), lectureseries.getCategoryId());
log.debug("lectureseries_Category NEW:" +video_category);
Video_CategoryLocalServiceUtil.addVideo_Category(video_category);
}
}
/**
* Local function invoced by Video_Category Action, Video, Lectureseries, and Categoryhas been initialised
* MANDATAORY: video_lectureseries must have been initialized
* @param video_lectureseries
* @throws SystemException
*/
private long getLatestVideoId(Lectureseries lectureseries) throws SystemException {
List<Video> videos;
ClassLoader classLoader = (ClassLoader)PortletBeanLocatorUtil.locate(ClpSerializer.getServletContextName(),"portletClassLoader");
DynamicQuery query = DynamicQueryFactoryUtil.forClass(Video.class,classLoader).add(PropertyFactoryUtil.forName("lectureseriesId").eq(lectureseries.getLectureseriesId())).add(PropertyFactoryUtil.forName("openAccess").eq(Integer.valueOf(1))).addOrder(OrderFactoryUtil.desc("generationDate"));
videos = VideoLocalServiceUtil.dynamicQuery(query);
if (videos != null && videos.size() > 0) {
return videos.get(0).getVideoId();
}
return 0;
}
private void logInfo(String string) {
log.info(string);
logInfoString = logInfoString.concat(string + "\n");
}
private void addRolesToUser(long userId) {
/* Adding user to 'Power User' and 'User' role. */
Role powerUser;
try {
powerUser = RoleLocalServiceUtil.fetchRole(companyId, "Power User");
Role user = RoleLocalServiceUtil.fetchRole(companyId, "User");
if (powerUser != null) {
RoleLocalServiceUtil.addUserRole(userId, powerUser.getRoleId());
}
if (user != null) {
RoleLocalServiceUtil.addUserRole(userId, user.getRoleId());
}
} catch (SystemException e) {
log.warn("can't load Role PowerUser and/or User Role and add Role to userid" + userId);
}
}
public static void checkString(String s, Pattern pattern)
{
Matcher m = pattern.matcher(s);
if (m.matches()) {
System.out.println(s + " matches; first part is " + m.group(0) +
", second part is " + m.group(1) + ". third part is " + m.group(2) + ". Groupcount is:" + m.groupCount());
} else {
System.out.println(s + " does not match.");
}
}
public static String checkString(String s, Pattern pattern, int index)
{
Matcher m = pattern.matcher(s);
if (m.matches()) {
if (m.groupCount() >= index) {
System.out.println(s + " matches; return value at index : " + index + ":" + m.group(index));
return m.group(index);
} else {
System.out.println(s + "m.groupCount() < index" + m.groupCount()+ "<" +index);
}
} else {
System.out.println(s + " does not match.");
}
return " ";
}
public static Matcher checkStringMatcher(String s, Pattern pattern)
{
Matcher m = pattern.matcher(s);
if (m.matches()) {
return m;
} else {
System.out.println(s + " does not match.");
}
return null;
}
private String extractSpecialJobTitle (String fullString) {
List<String> titles = new ArrayList<String>();
titles.add("Prof. Dr. Dr. h.c. mult.");
titles.add("Prof. Dr. Dr. h.c.");
titles.add("Prof. Dr. rer. nat.");
titles.add("Prof. Dr.-Ing.");
titles.add("Priv. Doz. Dr.");
titles.add("(Hamburg) PD Dr.");
titles.add("(Hannover) PD Dr.");
titles.add("(Flensburg) Prof. Dr.");
titles.add("(Florenz) M.A.");
titles.add("Sekretariat Prof. Dr.");
titles.add("Prof. Dr. habil.");
titles.add("PD Dr. habil.");
titles.add("PD Dr.");
titles.add("Dr. phil. habil.");
titles.add("Prof. em. Dr.");
titles.add("Prof. Dr. Dr.");
titles.add("Prof. Dr.");
titles.add("Leal et al.");
titles.add("Dr.-Ing.");
for (String title : titles) {
if (fullString.contains(title)) {
fullString = fullString.replace(title, "");
// result.add(title);
// result.add(fullString);
return title;
}
}
// result.add("");
// result.add(fullString);
return "";
}
}