use of com.liferay.imex.virtualhost.model.ImexVirtualhost in project liferay-imex by jpdacunha.
the class VirtualhostExporter method doExport.
@Override
public void doExport(User user, Properties config, File virtualhostDir, long companyId, Locale locale, List<ExporterRawContent> rawContentToExport, boolean debug) {
reportService.getStartMessage(_log, "Virtualhost export process");
boolean enabled = GetterUtil.getBoolean(config.get(ImExVirtualhostExporterPropsKeys.EXPORT_VIRTUALHOST_ENABLED));
if (enabled) {
try {
Company company = companyLocalService.getCompany(companyId);
List<VirtualHost> hosts = virtualHostCommonService.getCompanyVirtualHost(companyId);
for (VirtualHost virtualHost : hosts) {
String hostname = virtualHost.getHostname();
try {
LayoutSet layoutSet = null;
Group group = null;
boolean publicVirtualHost = true;
long layoutSetId = virtualHost.getLayoutSetId();
boolean defaultVirtualHost = virtualHost.getDefaultVirtualHost();
String groupFriendlyURL = StringPool.BLANK;
String languageId = StringPool.BLANK;
boolean isCompanyLayoutSet = layoutSetId == VirtualhostCommonService.DEFAULT_LAYOUTSET_ID;
if (!isCompanyLayoutSet) {
layoutSet = layoutSetLocalService.getLayoutSet(layoutSetId);
publicVirtualHost = !layoutSet.isPrivateLayout();
group = groupLocalService.getGroup(layoutSet.getGroupId());
groupFriendlyURL = group.getFriendlyURL();
languageId = virtualHost.getLanguageId();
}
String companyWebId = company.getWebId();
ImexVirtualhost imexVirtualhost = new ImexVirtualhost(companyWebId, groupFriendlyURL, publicVirtualHost, isCompanyLayoutSet, hostname, defaultVirtualHost, languageId);
processor.write(imexVirtualhost, virtualhostDir, FileNames.getVirtualhostFileName(virtualHost, company, group, layoutSet, processor.getFileExtension()));
reportService.getOK(_log, "Virtualhost : " + hostname + " for group : " + groupFriendlyURL);
} catch (Exception e) {
reportService.getError(_log, "Virtualhost : " + hostname, e);
if (debug) {
_log.error(e, e);
}
}
}
} catch (Exception e) {
_log.error(e, e);
reportService.getError(_log, e);
}
} else {
reportService.getDisabled(_log, DESCRIPTION);
}
reportService.getEndMessage(_log, "Virtualhost export process");
}
use of com.liferay.imex.virtualhost.model.ImexVirtualhost in project liferay-imex by jpdacunha.
the class VirtualhostImporter method converToUpdatableMap.
private Map<Long, TreeMap<String, String>> converToUpdatableMap(long companyId, List<ExtendedImexVirtualhost> virtualHosts) throws PortalException {
// Constructing structured map to update
Map<Long, TreeMap<String, String>> layoutSetHostnames = new HashMap<Long, TreeMap<String, String>>();
for (ExtendedImexVirtualhost extendedVirtualHostObj : virtualHosts) {
ImexVirtualhost virtualHostObj = extendedVirtualHostObj.getVirtualhost();
String companyWebId = virtualHostObj.getCompanyWebId();
String groupFriendlyURL = virtualHostObj.getGroupFriendlyURL();
boolean isPublicVirtualHost = virtualHostObj.isPublicVirtualHost();
long layoutSetId = VirtualhostCommonService.DEFAULT_LAYOUTSET_ID;
boolean isCompanyVirtualHost = virtualHostObj.isCompanyVirtualHost();
File virtualHostFile = extendedVirtualHostObj.getSourceFile();
String originFileName = virtualHostFile.getName();
String languageId = virtualHostObj.getLanguageId();
try {
// Verify if company exists
companyLocalService.getCompanyByWebId(companyWebId);
if (!isCompanyVirtualHost) {
// Verify if group exists
Group group = groupLocalService.getFriendlyURLGroup(companyId, groupFriendlyURL);
LayoutSet layoutSet = layoutSetLocalService.getLayoutSet(group.getGroupId(), !isPublicVirtualHost);
layoutSetId = layoutSet.getLayoutSetId();
}
String hostname = virtualHostObj.getHostname();
TreeMap<String, String> currentLayoutSetHostnames = null;
if (Validator.isNotNull(hostname)) {
TreeMap<String, String> treeMap = layoutSetHostnames.get(layoutSetId);
if (treeMap == null) {
layoutSetHostnames.put(layoutSetId, new TreeMap<String, String>());
} else {
_log.debug("Updating existing TreeMap");
}
currentLayoutSetHostnames = layoutSetHostnames.get(layoutSetId);
if (!currentLayoutSetHostnames.containsKey(hostname)) {
currentLayoutSetHostnames.put(hostname, languageId);
} else {
_log.debug("Current TreeMap already contains [" + hostname + "]");
}
} else {
reportService.getError(_log, originFileName, "missing required information hostname");
}
} catch (NoSuchCompanyException e) {
reportService.getDNE(_log, "company identified by [" + companyWebId + "]");
reportService.getSkipped(_log, originFileName);
} catch (NoSuchGroupException e) {
reportService.getDNE(_log, "group identified by [" + groupFriendlyURL + "]");
reportService.getSkipped(_log, originFileName);
}
}
return layoutSetHostnames;
}
use of com.liferay.imex.virtualhost.model.ImexVirtualhost in project liferay-imex by jpdacunha.
the class VirtualhostImporter method deserialiseFiles.
private List<ExtendedImexVirtualhost> deserialiseFiles(File srcDir) throws Exception {
File[] files = FileUtil.listFilesByExtension(srcDir, processor.getFileExtension());
// Constructing deserialized list
List<ExtendedImexVirtualhost> virtualHosts = new ArrayList<ExtendedImexVirtualhost>();
for (File virtualHostFile : files) {
ImexVirtualhost virtualHostObj = (ImexVirtualhost) processor.read(ImexVirtualhost.class, virtualHostFile);
virtualHosts.add(new ExtendedImexVirtualhost(virtualHostFile, virtualHostObj));
}
if (virtualHosts.size() > 0) {
// Ordering Default virtualhosts first
Collections.sort(virtualHosts, new Comparator<ExtendedImexVirtualhost>() {
@Override
public int compare(ExtendedImexVirtualhost mall1, ExtendedImexVirtualhost mall2) {
boolean b1 = mall1.isDefaultVirtualHost();
boolean b2 = mall2.isDefaultVirtualHost();
return Boolean.compare(b1, b2);
}
});
}
return virtualHosts;
}
Aggregations