Author: rombert
Date: Wed Jun 17 10:07:31 2015
New Revision: 1685983
URL: http://svn.apache.org/r1685983
Log:
SLING-4816 - When creating new servers ensure that local install is only
selected for localhost
Added:
sling/trunk/tooling/ide/eclipse-core/src/org/apache/sling/ide/eclipse/core/SlingLaunchpadConfigurationDefaults.java
sling/trunk/tooling/ide/eclipse-ui/src/org/apache/sling/ide/eclipse/ui/wizards/ApplyDefaultSlingServerValuesFragment.java
- copied, changed from r1685521,
sling/trunk/tooling/ide/eclipse-ui/src/org/apache/sling/ide/eclipse/ui/wizards/OverridePublishIntervalFragment.java
Removed:
sling/trunk/tooling/ide/eclipse-ui/src/org/apache/sling/ide/eclipse/ui/wizards/OverridePublishIntervalFragment.java
Modified:
sling/trunk/tooling/ide/eclipse-core/src/org/apache/sling/ide/eclipse/core/ServerUtil.java
sling/trunk/tooling/ide/eclipse-ui/plugin.xml
sling/trunk/tooling/ide/eclipse-ui/src/org/apache/sling/ide/eclipse/ui/wizards/SetupServerWizardPage.java
Modified:
sling/trunk/tooling/ide/eclipse-core/src/org/apache/sling/ide/eclipse/core/ServerUtil.java
URL:
http://svn.apache.org/viewvc/sling/trunk/tooling/ide/eclipse-core/src/org/apache/sling/ide/eclipse/core/ServerUtil.java?rev=1685983&r1=1685982&r2=1685983&view=diff
==============================================================================
---
sling/trunk/tooling/ide/eclipse-core/src/org/apache/sling/ide/eclipse/core/ServerUtil.java
(original)
+++
sling/trunk/tooling/ide/eclipse-core/src/org/apache/sling/ide/eclipse/core/ServerUtil.java
Wed Jun 17 10:07:31 2015
@@ -36,6 +36,7 @@ import org.eclipse.core.runtime.NullProg
import org.eclipse.core.runtime.Status;
import org.eclipse.wst.server.core.IModule;
import org.eclipse.wst.server.core.IServer;
+import org.eclipse.wst.server.core.IServerWorkingCopy;
import org.eclipse.wst.server.core.ServerCore;
public abstract class ServerUtil {
@@ -219,4 +220,9 @@ public abstract class ServerUtil {
}
}
}
+
+ public static boolean runsOnLocalhost(IServerWorkingCopy server) {
+
+ return "localhost".equals(server.getHost());
+ }
}
Added:
sling/trunk/tooling/ide/eclipse-core/src/org/apache/sling/ide/eclipse/core/SlingLaunchpadConfigurationDefaults.java
URL:
http://svn.apache.org/viewvc/sling/trunk/tooling/ide/eclipse-core/src/org/apache/sling/ide/eclipse/core/SlingLaunchpadConfigurationDefaults.java?rev=1685983&view=auto
==============================================================================
---
sling/trunk/tooling/ide/eclipse-core/src/org/apache/sling/ide/eclipse/core/SlingLaunchpadConfigurationDefaults.java
(added)
+++
sling/trunk/tooling/ide/eclipse-core/src/org/apache/sling/ide/eclipse/core/SlingLaunchpadConfigurationDefaults.java
Wed Jun 17 10:07:31 2015
@@ -0,0 +1,44 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.sling.ide.eclipse.core;
+
+import org.eclipse.wst.server.core.IServerWorkingCopy;
+
+public class SlingLaunchpadConfigurationDefaults {
+
+ /**
+ * Applies the default values to the specified <tt>workingCopy</tt>
+ *
+ * <p>Currently sets the <tt>auto-publish-time</tt> and
+ * <tt>{@code ISlingLaunchpadServer.PROP_INSTALL_LOCALLY}</tt> values. It
assumes that these
+ * values were not previously set by the user and should only be used as a
fallback when the
+ * user has not specified them.</p>
+ *
+ * <p>This method does not call {@link IServerWorkingCopy#save(boolean,
org.eclipse.core.runtime.IProgressMonitor)},
+ * it is the responsability of the caller to do so afterwards.</p>
+ *
+ * @param workingCopy working copy
+ */
+ public static void applyDefaultValues(IServerWorkingCopy wc) {
+
+ // auto-publish set to zero
+ wc.setAttribute("auto-publish-time", 0);
+
+ // only set publishing mechanism to 'local' for localhost
+ wc.setAttribute(ISlingLaunchpadServer.PROP_INSTALL_LOCALLY,
ServerUtil.runsOnLocalhost(wc));
+ }
+}
Modified: sling/trunk/tooling/ide/eclipse-ui/plugin.xml
URL:
http://svn.apache.org/viewvc/sling/trunk/tooling/ide/eclipse-ui/plugin.xml?rev=1685983&r1=1685982&r2=1685983&view=diff
==============================================================================
--- sling/trunk/tooling/ide/eclipse-ui/plugin.xml (original)
+++ sling/trunk/tooling/ide/eclipse-ui/plugin.xml Wed Jun 17 10:07:31 2015
@@ -76,8 +76,8 @@
<extension
point="org.eclipse.wst.server.ui.wizardFragments">
<fragment
-
class="org.apache.sling.ide.eclipse.ui.wizards.OverridePublishIntervalFragment"
- id="org.apache.sling.ide.eclipse.ui.wizards.SomeWizardFragment"
+
class="org.apache.sling.ide.eclipse.ui.wizards.ApplyDefaultSlingServerValuesFragment"
+
id="org.apache.sling.ide.eclipse.ui.wizards.ApplyDefaultSlingServerValuesFragment"
typeIds="org.apache.sling.ide.launchpadServer">
</fragment>
</extension>
Copied:
sling/trunk/tooling/ide/eclipse-ui/src/org/apache/sling/ide/eclipse/ui/wizards/ApplyDefaultSlingServerValuesFragment.java
(from r1685521,
sling/trunk/tooling/ide/eclipse-ui/src/org/apache/sling/ide/eclipse/ui/wizards/OverridePublishIntervalFragment.java)
URL:
http://svn.apache.org/viewvc/sling/trunk/tooling/ide/eclipse-ui/src/org/apache/sling/ide/eclipse/ui/wizards/ApplyDefaultSlingServerValuesFragment.java?p2=sling/trunk/tooling/ide/eclipse-ui/src/org/apache/sling/ide/eclipse/ui/wizards/ApplyDefaultSlingServerValuesFragment.java&p1=sling/trunk/tooling/ide/eclipse-ui/src/org/apache/sling/ide/eclipse/ui/wizards/OverridePublishIntervalFragment.java&r1=1685521&r2=1685983&rev=1685983&view=diff
==============================================================================
---
sling/trunk/tooling/ide/eclipse-ui/src/org/apache/sling/ide/eclipse/ui/wizards/OverridePublishIntervalFragment.java
(original)
+++
sling/trunk/tooling/ide/eclipse-ui/src/org/apache/sling/ide/eclipse/ui/wizards/ApplyDefaultSlingServerValuesFragment.java
Wed Jun 17 10:07:31 2015
@@ -16,6 +16,7 @@
*/
package org.apache.sling.ide.eclipse.ui.wizards;
+import org.apache.sling.ide.eclipse.core.SlingLaunchpadConfigurationDefaults;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.wst.server.core.IServer;
@@ -24,11 +25,17 @@ import org.eclipse.wst.server.core.TaskM
import org.eclipse.wst.server.ui.wizard.WizardFragment;
/**
- * The <tt>OverridePublishIntervalFragment</tt> ensures that the publish
interval is set to 0 when creating a Sling
- * Runtime
+ * The <tt>PostProcessDefaultSlingServerValuesFragment</tt> ensures that
default values are reasonable when creating a local server
+ *
+ * Included checks are:
+ *
+ * <ol>
+ * <li><tt>auto-publish-time</tt> is set to 0</li>
+ * <li>Local deployment is only enabled for hosts named <tt>localhost</tt></li>
+ * </ol>
*
*/
-public class OverridePublishIntervalFragment extends WizardFragment {
+public class ApplyDefaultSlingServerValuesFragment extends WizardFragment {
@Override
public boolean hasComposite() {
@@ -41,7 +48,9 @@ public class OverridePublishIntervalFrag
IServer server = (IServer)
getTaskModel().getObject(TaskModel.TASK_SERVER);
if (server instanceof IServerWorkingCopy) {
IServerWorkingCopy wc = (IServerWorkingCopy) server;
- wc.setAttribute("auto-publish-time", 0);
+
+ SlingLaunchpadConfigurationDefaults.applyDefaultValues(wc);
+
wc.save(true, monitor);
}
Modified:
sling/trunk/tooling/ide/eclipse-ui/src/org/apache/sling/ide/eclipse/ui/wizards/SetupServerWizardPage.java
URL:
http://svn.apache.org/viewvc/sling/trunk/tooling/ide/eclipse-ui/src/org/apache/sling/ide/eclipse/ui/wizards/SetupServerWizardPage.java?rev=1685983&r1=1685982&r2=1685983&view=diff
==============================================================================
---
sling/trunk/tooling/ide/eclipse-ui/src/org/apache/sling/ide/eclipse/ui/wizards/SetupServerWizardPage.java
(original)
+++
sling/trunk/tooling/ide/eclipse-ui/src/org/apache/sling/ide/eclipse/ui/wizards/SetupServerWizardPage.java
Wed Jun 17 10:07:31 2015
@@ -25,6 +25,7 @@ import org.apache.commons.io.IOUtils;
import org.apache.sling.ide.artifacts.EmbeddedArtifactLocator;
import org.apache.sling.ide.artifacts.EmbeddedArtifact;
import org.apache.sling.ide.eclipse.core.ISlingLaunchpadServer;
+import org.apache.sling.ide.eclipse.core.SlingLaunchpadConfigurationDefaults;
import org.apache.sling.ide.eclipse.ui.internal.Activator;
import org.apache.sling.ide.eclipse.ui.internal.SlingLaunchpadCombo;
import org.apache.sling.ide.osgi.OsgiClient;
@@ -386,10 +387,11 @@ public class SetupServerWizardPage exten
wc.setName(newServerName.getText());
wc.setAttribute(ISlingLaunchpadServer.PROP_PORT, getPort());
wc.setAttribute(ISlingLaunchpadServer.PROP_DEBUG_PORT,
Integer.parseInt(newServerDebugPort.getText()));
- wc.setAttribute(ISlingLaunchpadServer.PROP_INSTALL_LOCALLY,
installToolingSupportBundle.getSelection());
wc.setAttribute(ISlingLaunchpadServer.PROP_USERNAME,
newServerUsername.getText());
wc.setAttribute(ISlingLaunchpadServer.PROP_PASSWORD,
newServerPassword.getText());
- wc.setAttribute("auto-publish-time", 0);
+
+ SlingLaunchpadConfigurationDefaults.applyDefaultValues(wc);
+
if (finalVersion != null) {
wc.setAttribute(String.format(ISlingLaunchpadServer.PROP_BUNDLE_VERSION_FORMAT,
EmbeddedArtifactLocator.SUPPORT_BUNDLE_SYMBOLIC_NAME),
finalVersion.toString());