Skip to content

Commit 7157e06

Browse files
committed
FORGE-2191: Support UIDesktop as a reserved parameter
1 parent 37f47d6 commit 7157e06

File tree

2 files changed

+46
-2
lines changed

2 files changed

+46
-2
lines changed

ui/impl/src/main/java/org/jboss/forge/addon/ui/impl/annotation/ReservedParameters.java

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77

88
package org.jboss.forge.addon.ui.impl.annotation;
99

10+
import org.jboss.forge.addon.ui.UIDesktop;
1011
import org.jboss.forge.addon.ui.UIProvider;
1112
import org.jboss.forge.addon.ui.context.UIContext;
1213
import org.jboss.forge.addon.ui.context.UIExecutionContext;
@@ -28,7 +29,8 @@ public static boolean isReservedParameter(Class<?> type)
2829
|| type == UIOutput.class
2930
|| type == UIProgressMonitor.class
3031
|| type == UIProvider.class
31-
|| type == UIExecutionContext.class;
32+
|| type == UIExecutionContext.class
33+
|| type == UIDesktop.class;
3234
}
3335

3436
public static Object getReservedParameter(UIExecutionContext context, Class<?> type)
@@ -53,10 +55,14 @@ else if (type == UIProgressMonitor.class)
5355
{
5456
return context.getProgressMonitor();
5557
}
56-
else if (type == UIExecutionContext.class)
58+
else if (type == UIExecutionContext.class)
5759
{
5860
return context;
5961
}
62+
else if (type == UIDesktop.class)
63+
{
64+
return context.getUIContext().getProvider().getDesktop();
65+
}
6066
else
6167
{
6268
return null;
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
/**
2+
* Copyright 2015 Red Hat, Inc. and/or its affiliates.
3+
*
4+
* Licensed under the Eclipse Public License version 1.0, available at
5+
* http://www.eclipse.org/legal/epl-v10.html
6+
*/
7+
8+
package org.jboss.forge.addon.ui.impl.annotation;
9+
10+
import org.jboss.forge.addon.ui.UIDesktop;
11+
import org.jboss.forge.addon.ui.UIProvider;
12+
import org.jboss.forge.addon.ui.context.UIContext;
13+
import org.jboss.forge.addon.ui.context.UIExecutionContext;
14+
import org.jboss.forge.addon.ui.input.UIPrompt;
15+
import org.jboss.forge.addon.ui.output.UIOutput;
16+
import org.jboss.forge.addon.ui.progress.UIProgressMonitor;
17+
import org.junit.Assert;
18+
import org.junit.Test;
19+
20+
/**
21+
* Test class for {@link ReservedParameters}
22+
*
23+
* @author <a href="ggastald@redhat.com">George Gastaldi</a>
24+
*/
25+
public class ReservedParametersTest
26+
{
27+
@Test
28+
public void testIsReservedParameter()
29+
{
30+
Assert.assertTrue(ReservedParameters.isReservedParameter(UIContext.class));
31+
Assert.assertTrue(ReservedParameters.isReservedParameter(UIPrompt.class));
32+
Assert.assertTrue(ReservedParameters.isReservedParameter(UIOutput.class));
33+
Assert.assertTrue(ReservedParameters.isReservedParameter(UIProgressMonitor.class));
34+
Assert.assertTrue(ReservedParameters.isReservedParameter(UIProvider.class));
35+
Assert.assertTrue(ReservedParameters.isReservedParameter(UIExecutionContext.class));
36+
Assert.assertTrue(ReservedParameters.isReservedParameter(UIDesktop.class));
37+
}
38+
}

0 commit comments

Comments
 (0)