Cq62ProjectsCodeUpgrade.java
2.85 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
/*
* Decompiled with CFR 0_118.
*
* Could not load the following classes:
* javax.jcr.RepositoryException
* javax.jcr.Session
* org.apache.sling.api.resource.Resource
* org.apache.sling.api.resource.ResourceResolver
* org.slf4j.Logger
* org.slf4j.LoggerFactory
*/
package com.day.cq.compat.codeupgrade.impl.cq62;
import com.day.cq.compat.codeupgrade.impl.projects.ProjectUpgrade;
import com.day.cq.compat.codeupgrade.impl.projects.ProjectsAdjuster;
import com.day.cq.compat.codeupgrade.internal.api.ProgressInfoProvider;
import javax.jcr.RepositoryException;
import javax.jcr.Session;
import org.apache.sling.api.resource.Resource;
import org.apache.sling.api.resource.ResourceResolver;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class Cq62ProjectsCodeUpgrade
implements ProgressInfoProvider {
private final Logger log = LoggerFactory.getLogger(Cq62ProjectsCodeUpgrade.class);
private static final String OLD_PROJECTS_ROOT = "/etc/projects";
private static final String PROJECTS_ROOT = "/content/projects";
private String progressInfo;
@Override
public String getProgressInfo() {
return this.progressInfo;
}
void setProgressInfo(String info) {
this.progressInfo = info;
this.log.info(info);
}
void doUpgrade(Session session, ResourceResolver resolver) {
this.setProgressInfo("Begin migrating projects from /etc/projects");
Resource oldProjectsFolder = resolver.getResource("/etc/projects");
if (oldProjectsFolder != null) {
ProjectUpgrade.upgradeProjects(oldProjectsFolder);
}
this.setProgressInfo("Done migrating projects from /etc/projects");
this.setProgressInfo("Update old projects in /content/projects");
Resource projectsFolder = resolver.getResource("/content/projects");
if (projectsFolder != null) {
ProjectUpgrade.upgrade561FP2Projects(projectsFolder);
this.setProgressInfo("Done updating old projects in /content/projects");
this.setProgressInfo("Begin adjusting projects resource types.");
ProjectsAdjuster.adjustProjectResourceTypes(projectsFolder);
this.setProgressInfo("Done adjusting projects resource types.");
this.setProgressInfo("Begin adjusting project ACLs.");
try {
ProjectsAdjuster.adjustProjectACLs(projectsFolder);
this.setProgressInfo("Done adjusting project ACLs.");
}
catch (RepositoryException e) {
this.log.error("Exception occured while adjusting project ACLs.", (Throwable)e);
this.setProgressInfo("Error while adjusting project ACls.");
}
} else {
this.setProgressInfo("Failed to find /content/projects. Ending upgrade.");
}
this.setProgressInfo("Done migrating Projects");
}
}