className = superclassName.substring(index + 1); IStatus status = validateJavaClassName(className);
/** * Subclasses may override this method to provide their own validation of any of the data * model's properties. This implementation ensures that a java class can be properly generated * from the values as specified. This method will not return null. This method will not accept * null as a parameter. * * @see org.eclipse.wst.common.frameworks.datamodel.IDataModelProvider#validate(java.lang.String) * * @param propertyName * @return IStatus of the validity of the specifiec property */ public IStatus validate(String propertyName) { IStatus result = super.validate(propertyName); if (result != null && !result.isOK()) return result; if (propertyName.equals(SOURCE_FOLDER)) return validateJavaSourceFolder(getStringProperty(propertyName)); if (propertyName.equals(JAVA_PACKAGE)) return validateJavaPackage(getStringProperty(propertyName)); if (propertyName.equals(CLASS_NAME)) { result = validateJavaClassName(getStringProperty(propertyName)); if (result.isOK()) result = canCreateTypeInClasspath(getStringProperty(CLASS_NAME)); } if (propertyName.equals(SUPERCLASS)) return validateSuperclass(getStringProperty(propertyName)); if (propertyName.equals(MODIFIER_ABSTRACT) || propertyName.equals(MODIFIER_FINAL)) return validateModifier(propertyName, getBooleanProperty(propertyName)); return result; }
protected IStatus validateJavaClassName(String prop) { IStatus status = super.validateJavaClassName(prop); if( status == WTPCommonPlugin.OK_STATUS && getTargetProject() != null ){ try { IJavaProject jProject = JavaCore.create(getTargetProject()); String pName = getStringProperty(JAVA_PACKAGE); IType type = jProject.findType(pName + "." + prop); if(type != null ){ String msg = IEJBAnnotationConstants.ERR_EJB_TYPE_EXISTS; return WTPCommonPlugin.createErrorStatus(msg); } } catch (JavaModelException e) { } } return status; }