1 package org.codehaus.plexus.personality.plexus.lifecycle.phase;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 import org.codehaus.plexus.classworlds.realm.ClassRealm;
20 import org.codehaus.plexus.component.manager.ComponentManager;
21 import org.codehaus.plexus.context.Context;
22 import org.codehaus.plexus.context.ContextException;
23 import org.codehaus.plexus.lifecycle.phase.AbstractPhase;
24
25 public class ContextualizePhase extends AbstractPhase {
26 public void execute(Object object, ComponentManager manager, ClassRealm lookupRealm)
27 throws PhaseExecutionException {
28 if (object instanceof Contextualizable) {
29 Context context = manager.getContainer().getContext();
30
31 ClassRealm origRealm = manager.getContainer().setLookupRealm(lookupRealm);
32
33 try {
34 ((Contextualizable) object).contextualize(context);
35 } catch (ContextException e) {
36 throw new PhaseExecutionException("Unable to contextualize component", e);
37 } finally {
38 manager.getContainer().setLookupRealm(origRealm);
39 }
40 }
41 }
42 }