Skip to content
Snippets Groups Projects
Commit 3605ca2a authored by srosse's avatar srosse
Browse files

OO-948: inject the real repository entry to the context path (make logging happy)

parent 98a2dd04
No related branches found
No related tags found
No related merge requests found
......@@ -159,12 +159,19 @@ public class NewControllerFactory extends LogDelegator {
boolean ceConsumed = false;
RepositoryEntry re = null;
if (ores.getResourceableTypeName().equals(OresHelper.calculateTypeName(RepositoryEntry.class))) {
// It is a repository-entry => get OLATResourceable from RepositoryEntry
RepositoryManager repom = RepositoryManager.getInstance();
re = repom.lookupRepositoryEntry(ores.getResourceableId());
if (re != null){
if(ores instanceof RepositoryEntry) {
re = (RepositoryEntry)ores;
ores = re.getOlatResource();
ceConsumed = true;
} else {
// It is a repository-entry => get OLATResourceable from RepositoryEntry
RepositoryManager repom = RepositoryManager.getInstance();
re = repom.lookupRepositoryEntry(ores.getResourceableId());
if (re != null){
ores = re.getOlatResource();
ceConsumed = true;
mainCe.upgradeOLATResourceable(re);
}
}
}
......
......@@ -527,7 +527,7 @@ public class BusinessControlFactory {
class MyContextEntry implements ContextEntry, Serializable {
private static final long serialVersionUID = 949522581806327579L;
private final OLATResourceable olatResourceable;
private OLATResourceable olatResourceable;
//fxdiff BAKS-7 Resume function
private StateEntry state;
......@@ -542,7 +542,12 @@ class MyContextEntry implements ContextEntry, Serializable {
public OLATResourceable getOLATResourceable() {
return olatResourceable;
}
@Override
public void upgradeOLATResourceable(OLATResourceable ores) {
olatResourceable = ores;
}
@Override
//fxdiff BAKS-7 Resume function
public StateEntry getTransientState() {
......
......@@ -39,12 +39,18 @@ import org.olat.core.id.OLATResourceable;
* @author Felix Jost
*/
public interface ContextEntry extends Cloneable {
public OLATResourceable getOLATResourceable();
/**
* Use it to replace an OresHelper generate resourceable with
* the real object.
* @param ores
*/
public void upgradeOLATResourceable(OLATResourceable ores);
//fxdiff BAKS-7 Resume function
public StateEntry getTransientState();
//fxdiff BAKS-7 Resume function
public void setTransientState(StateEntry state);
public ContextEntry clone();
......
......@@ -129,9 +129,13 @@ public class CourseSiteContextEntryControllerCreator extends DefaultContextEntry
private RepositoryEntry getRepositoryEntry(ContextEntry ce) {
if(repoEntry == null) {
OLATResourceable ores = ce.getOLATResourceable();
RepositoryManager rm = RepositoryManager.getInstance();
repoEntry = rm.lookupRepositoryEntry(ores.getResourceableId());
if(ce.getOLATResourceable() instanceof RepositoryEntry) {
repoEntry = (RepositoryEntry)ce.getOLATResourceable();
} else {
OLATResourceable ores = ce.getOLATResourceable();
RepositoryManager rm = RepositoryManager.getInstance();
repoEntry = rm.lookupRepositoryEntry(ores.getResourceableId());
}
}
return repoEntry;
}
......
......@@ -82,9 +82,13 @@ public class RepositoryContextEntryControllerCreator extends DefaultContextEntry
private RepositoryEntry getRepositoryEntry(ContextEntry ce) {
if(repoEntry == null) {
OLATResourceable ores = ce.getOLATResourceable();
RepositoryManager rm = RepositoryManager.getInstance();
repoEntry = rm.lookupRepositoryEntry(ores.getResourceableId());
if(ce.getOLATResourceable() instanceof RepositoryEntry) {
repoEntry = (RepositoryEntry)ce.getOLATResourceable();
} else {
OLATResourceable ores = ce.getOLATResourceable();
RepositoryManager rm = RepositoryManager.getInstance();
repoEntry = rm.lookupRepositoryEntry(ores.getResourceableId());
}
}
return repoEntry;
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment