Update build configuration for RAP Tools 3.5.0 (Photon/4.8.0)

- Use Eclipse Platform build S-4.8M4-201712062000 (Photon M4)
- Remove unnecessary casts when obtaining IHandlerService service
- Due to PDE acquireService method signature change, update
TargetSwitcher#getTargetPlatformService() and tests

Change-Id: I8444b761aaf23dd6221f2a5355d6d0d92c35ee1d
Signed-off-by: Markus Knauer <mknauer@eclipsesource.com>
diff --git a/bundles/org.eclipse.rap.tools.intro/src/org/eclipse/rap/tools/intro/internal/commands/LaunchRAPApplication.java b/bundles/org.eclipse.rap.tools.intro/src/org/eclipse/rap/tools/intro/internal/commands/LaunchRAPApplication.java
index 5c5cbc1..8263f08 100644
--- a/bundles/org.eclipse.rap.tools.intro/src/org/eclipse/rap/tools/intro/internal/commands/LaunchRAPApplication.java
+++ b/bundles/org.eclipse.rap.tools.intro/src/org/eclipse/rap/tools/intro/internal/commands/LaunchRAPApplication.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2009, 2013 EclipseSource and others.
+ * Copyright (c) 2009, 2017 EclipseSource and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -52,8 +52,7 @@
 
   private static void runHandler( ExecutionEvent event ) {
     IWorkbenchWindow workbenchWindow = HandlerUtil.getActiveWorkbenchWindow( event );
-    IHandlerService handlerService
-      = ( IHandlerService )workbenchWindow.getService( IHandlerService.class );
+    IHandlerService handlerService = workbenchWindow.getService( IHandlerService.class );
     try {
       handlerService.executeCommand( RUN_COMMAND, null );
     } catch( CommandException e ) {
diff --git a/bundles/org.eclipse.rap.tools.intro/src/org/eclipse/rap/tools/intro/internal/target/InstallRAPTargetAction.java b/bundles/org.eclipse.rap.tools.intro/src/org/eclipse/rap/tools/intro/internal/target/InstallRAPTargetAction.java
index 7296842..7b28937 100644
--- a/bundles/org.eclipse.rap.tools.intro/src/org/eclipse/rap/tools/intro/internal/target/InstallRAPTargetAction.java
+++ b/bundles/org.eclipse.rap.tools.intro/src/org/eclipse/rap/tools/intro/internal/target/InstallRAPTargetAction.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2007, 2013 Innoopract Informationssysteme GmbH and others.
+ * Copyright (c) 2007, 2017 Innoopract Informationssysteme GmbH and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -28,8 +28,7 @@
 
   public void run() {
     IWorkbenchWindow workbenchWindow = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
-    IHandlerService handlerService
-      = ( IHandlerService )workbenchWindow.getService( IHandlerService.class );
+    IHandlerService handlerService = workbenchWindow.getService( IHandlerService.class );
     try {
       handlerService.executeCommand( INSTALL_COMMAND, null );
     } catch( CommandException e ) {
diff --git a/bundles/org.eclipse.rap.tools.intro/src/org/eclipse/rap/tools/intro/internal/target/TargetSwitcher.java b/bundles/org.eclipse.rap.tools.intro/src/org/eclipse/rap/tools/intro/internal/target/TargetSwitcher.java
index 159d5a2..cffa552 100644
--- a/bundles/org.eclipse.rap.tools.intro/src/org/eclipse/rap/tools/intro/internal/target/TargetSwitcher.java
+++ b/bundles/org.eclipse.rap.tools.intro/src/org/eclipse/rap/tools/intro/internal/target/TargetSwitcher.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2009, 2013 EclipseSource and others.
+ * Copyright (c) 2009, 2017 EclipseSource and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -142,9 +142,7 @@
   }
 
   private static ITargetPlatformService getTargetPlatformService() {
-    String className = ITargetPlatformService.class.getName();
-    PDECore pdeCore = PDECore.getDefault();
-    return ( ITargetPlatformService )pdeCore.acquireService( className );
+    return PDECore.getDefault().acquireService( ITargetPlatformService.class );
   }
 
   private static Throwable getDownloadException( IStatus status ) {
diff --git a/releng/org.eclipse.rap.tools.build/target.definition/org.eclipse.rap.tools.target.definition.target b/releng/org.eclipse.rap.tools.build/target.definition/org.eclipse.rap.tools.target.definition.target
index fec1c10..bb410d9 100644
--- a/releng/org.eclipse.rap.tools.build/target.definition/org.eclipse.rap.tools.target.definition.target
+++ b/releng/org.eclipse.rap.tools.build/target.definition/org.eclipse.rap.tools.target.definition.target
@@ -6,29 +6,29 @@
 <repository location="http://download.eclipse.org/jetty/updates/jetty-bundles-9.x/9.4.7.v20170914/"/>
 </location>
 <location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="slicer" includeSource="true" type="InstallableUnit">
-<unit id="org.eclipse.core.runtime.feature.feature.group" version="1.2.1.v20170928-1321"/>
-<unit id="org.eclipse.e4.rcp.feature.group" version="1.6.2.v20171129-0543"/>
-<unit id="org.eclipse.e4.rcp.source.feature.group" version="1.6.2.v20171129-0543"/>
+<unit id="org.eclipse.core.runtime.feature.feature.group" version="1.2.100.v20171204-1916"/>
+<unit id="org.eclipse.e4.rcp.feature.group" version="1.6.100.v20171205-1335"/>
+<unit id="org.eclipse.e4.rcp.source.feature.group" version="1.6.100.v20171205-1335"/>
 <unit id="org.eclipse.ecf.core.feature.feature.group" version="1.4.0.v20170516-2248"/>
 <unit id="org.eclipse.ecf.core.ssl.feature.feature.group" version="1.1.0.v20170110-1317"/>
-<unit id="org.eclipse.ecf.filetransfer.feature.feature.group" version="3.13.7.v20170516-2248"/>
-<unit id="org.eclipse.ecf.filetransfer.httpclient4.feature.feature.group" version="3.13.7.v20170516-2248"/>
+<unit id="org.eclipse.ecf.filetransfer.feature.feature.group" version="3.13.8.v20170715-2257"/>
+<unit id="org.eclipse.ecf.filetransfer.httpclient4.feature.feature.group" version="3.13.8.v20170715-2257"/>
 <unit id="org.eclipse.ecf.filetransfer.httpclient4.ssl.feature.feature.group" version="1.1.0.v20170110-1317"/>
 <unit id="org.eclipse.ecf.filetransfer.ssl.feature.feature.group" version="1.1.0.v20170110-1317"/>
-<unit id="org.eclipse.emf.common.feature.group" version="2.13.0.v20170609-0707"/>
-<unit id="org.eclipse.emf.ecore.feature.group" version="2.13.0.v20170609-0707"/>
-<unit id="org.eclipse.help.feature.group" version="2.2.102.v20171130-0510"/>
-<unit id="org.eclipse.help.source.feature.group" version="2.2.102.v20171130-0510"/>
-<unit id="org.eclipse.jdt.feature.group" version="3.13.2.v20171130-0906"/>
-<unit id="org.eclipse.jdt.source.feature.group" version="3.13.2.v20171130-0906"/>
-<unit id="org.eclipse.pde.feature.group" version="3.13.2.v20171130-0510"/>
-<unit id="org.eclipse.pde.source.feature.group" version="3.13.2.v20171130-0510"/>
-<unit id="org.eclipse.platform.feature.group" version="4.7.2.v20171130-0510"/>
-<unit id="org.eclipse.platform.source.feature.group" version="4.7.2.v20171130-0510"/>
-<unit id="org.eclipse.rcp.feature.group" version="4.7.2.v20171130-0510"/>
-<unit id="org.eclipse.rcp.source.feature.group" version="4.7.2.v20171130-0510"/>
-<unit id="org.eclipse.sdk.ide" version="4.7.2.M20171130-0510"/>
-<repository location="http://download.eclipse.org/eclipse/updates/4.7/R-4.7.2-201711300510/"/>
+<unit id="org.eclipse.emf.common.feature.group" version="2.14.0.v20171203-1459"/>
+<unit id="org.eclipse.emf.ecore.feature.group" version="2.14.0.v20171203-1459"/>
+<unit id="org.eclipse.help.feature.group" version="2.2.200.v20171206-2000"/>
+<unit id="org.eclipse.help.source.feature.group" version="2.2.200.v20171206-2000"/>
+<unit id="org.eclipse.jdt.feature.group" version="3.14.0.v20171206-2000"/>
+<unit id="org.eclipse.jdt.source.feature.group" version="3.14.0.v20171206-2000"/>
+<unit id="org.eclipse.pde.feature.group" version="3.13.100.v20171206-2000"/>
+<unit id="org.eclipse.pde.source.feature.group" version="3.13.100.v20171206-2000"/>
+<unit id="org.eclipse.platform.feature.group" version="4.8.0.v20171206-2000"/>
+<unit id="org.eclipse.platform.source.feature.group" version="4.8.0.v20171206-2000"/>
+<unit id="org.eclipse.rcp.feature.group" version="4.8.0.v20171206-2000"/>
+<unit id="org.eclipse.rcp.source.feature.group" version="4.8.0.v20171206-2000"/>
+<unit id="org.eclipse.sdk.ide" version="4.8.0.I20171206-2000"/>
+<repository location="http://download.eclipse.org/eclipse/updates/4.8milestones/S-4.8M4-201712062000/"/>
 </location>
 <location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="slicer" includeSource="true" type="InstallableUnit">
 <unit id="org.eclipse.license.feature.group" version="1.0.1.v20140414-1359"/>
diff --git a/tests/org.eclipse.rap.tools.tests/src/org/eclipse/rap/tools/intro/internal/target/TargetSwitcher_Test.java b/tests/org.eclipse.rap.tools.tests/src/org/eclipse/rap/tools/intro/internal/target/TargetSwitcher_Test.java
index b781d31..105c8a2 100644
--- a/tests/org.eclipse.rap.tools.tests/src/org/eclipse/rap/tools/intro/internal/target/TargetSwitcher_Test.java
+++ b/tests/org.eclipse.rap.tools.tests/src/org/eclipse/rap/tools/intro/internal/target/TargetSwitcher_Test.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011, 2014 EclipseSource and others.
+ * Copyright (c) 2011, 2017 EclipseSource and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -176,9 +176,7 @@
   }
 
   private static ITargetPlatformService getTargetPlatformService() {
-    String className = ITargetPlatformService.class.getName();
-    PDECore pdeCore = PDECore.getDefault();
-    return ( ITargetPlatformService )pdeCore.acquireService( className );
+    return PDECore.getDefault().acquireService( ITargetPlatformService.class );
   }
 
   private URL getResourceURL( String resource ) throws IOException {