blob: 164077a131aa15567960466b4afe5d5d4811b4d3 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2003, 2006 IBM Corporation 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
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.jst.j2ee.internal.validation;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.jst.j2ee.internal.J2EEConstants;
import org.eclipse.jst.j2ee.model.internal.validation.ApplicationClientValidator;
import org.eclipse.jst.j2ee.project.JavaEEProjectUtilities;
import org.eclipse.wst.common.componentcore.ComponentCore;
import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
import org.eclipse.wst.common.componentcore.resources.IVirtualFile;
import org.eclipse.wst.validation.internal.core.ValidationException;
import org.eclipse.wst.validation.internal.operations.IWorkbenchContext;
import org.eclipse.wst.validation.internal.provisional.core.IReporter;
import org.eclipse.wst.validation.internal.provisional.core.IValidationContext;
/**
* Creates the application client validator for WSAD
*/
public class UIApplicationClientValidator extends ApplicationClientValidator implements UIApplicationClientMessageConstants {
/**
* Default constructor.
*/
public UIApplicationClientValidator() {
super();
}// UIApplicationClientValidator
/**
* Does the validation.
*/
@Override
public IStatus validateInJob(IValidationContext inHelper, IReporter inReporter)
throws ValidationException {
UIApplicationClientHelper helper = (UIApplicationClientHelper) inHelper;
IProject proj = ((IWorkbenchContext) inHelper).getProject();
IVirtualComponent virComp = ComponentCore.createComponent(proj);
if(JavaEEProjectUtilities.isApplicationClientProject(proj)) {
IVirtualFile ddFile = virComp.getRootFolder().getFile(J2EEConstants.APP_CLIENT_DD_URI);
if( ddFile.exists()) {
status = super.validateInJob(helper, inReporter);
}
}
//validateDocType(helper, editModel);
return status;
}
/**
* Checks if the nature is consistent with doc type.
*/
// protected void validateDocType(UIApplicationClientHelper helper, AppClientEditModel editModel) {
// if (editModel.getJ2EENature().getJ2EEVersion() >= J2EEVersionConstants.J2EE_1_3_ID && getAppClientDD().getVersionID() < J2EEVersionConstants.J2EE_1_3_ID) {
// String[] params = new String[3];
// params[0] = DOCTYPE_1_2;
// params[1] = helper.getProject().getName();
// params[2] = DOCTYPE_1_3;
// addError(getBaseName(), APPCLIENT_INVALID_DOC_TYPE_ERROR_, params);
// } else if (editModel.getJ2EENature().getJ2EEVersion() < J2EEVersionConstants.J2EE_1_3_ID && getAppClientDD().getVersionID() >= J2EEVersionConstants.J2EE_1_3_ID) {
// String[] params = new String[3];
// params[0] = DOCTYPE_1_3;
// params[1] = helper.getProject().getName();
// params[2] = DOCTYPE_1_2;
// addError(getBaseName(), APPCLIENT_INVALID_DOC_TYPE_ERROR_, params);
// }// if
// }// validateDocTypeVsNature
}