/******************************************************************************* * Copyright (c) 2012 The PDT Extension Group (https://github.com/pdt-eg) * 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 * http://www.eclipse.org/legal/epl-v10.html ******************************************************************************/ package org.pdtextensions.server.internal.lhttpd; import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.Status; import org.eclipse.wst.server.core.IModule; import org.eclipse.wst.server.core.IModuleType; import org.eclipse.wst.server.core.model.ServerDelegate; import org.pdtextensions.server.LHttpdConstants; import org.pdtextensions.server.lhttpd.ILHttpdLocationConfig; import org.pdtextensions.server.lhttpd.ILHttpdModule; import org.pdtextensions.server.lhttpd.ILHttpdPortConfig; import org.pdtextensions.server.lhttpd.ILHttpdServer; public class LHttpdServerDelegate extends ServerDelegate implements ILHttpdServer { @Override public IStatus canModifyModules(IModule[] arg0, IModule[] arg1) { return Status.OK_STATUS; } @Override public IModule[] getChildModules(IModule[] module) { if (module == null) return null; IModuleType moduleType = module[0].getModuleType(); if (module.length == 1 && moduleType != null && LHttpdConstants.MODULE_TYPE_ID.equals(moduleType.getId())) { // currently no child modules // IWebModule webModule = (IWebModule) module[0].loadAdapter(IWebModule.class, null); // if (webModule != null) { // IModule[] modules = webModule.getModules(); // //if (modules != null) // // System.out.println(modules.length); // return modules; // } } return new IModule[0]; } @Override public IModule[] getRootModules(IModule module) throws CoreException { if (LHttpdConstants.MODULE_TYPE_ID.equals(module.getModuleType().getId())) { IStatus status = canModifyModules(new IModule[] { module }, null); if (status == null || !status.isOK()) throw new CoreException(status); return new IModule[] { module }; } return null; } @Override public void modifyModules(IModule[] add, IModule[] remove, IProgressMonitor monitor) throws CoreException { IStatus status = canModifyModules(add, remove); if (status == null || !status.isOK()) throw new CoreException(status); // TODO Auto-generated method stub } @Override public ILHttpdPortConfig[] getPortConfigurations() { // TODO Auto-generated method stub return null; } @Override public boolean isUsingRuntimePorts() { // TODO Auto-generated method stub return false; } @Override public String getDefaultHtdocs() { // TODO Auto-generated method stub return null; } @Override public boolean isUsingRuntimeHtdocs() { // TODO Auto-generated method stub return false; } @Override public ILHttpdModule getHtdocsModule() { // TODO Auto-generated method stub return null; } @Override public ILHttpdLocationConfig[] getLocationConfigs() { // TODO Auto-generated method stub return null; } @Override public boolean isUsingRuntimeLocations() { // TODO Auto-generated method stub return false; } @Override public String getAllowOverride() { // TODO Auto-generated method stub return null; } @Override public boolean isUsingRuntimeAllowOverride() { // TODO Auto-generated method stub return false; } @Override public String getHttpdConf() { // TODO Auto-generated method stub return null; } }