package org.zend.php.zendserver.deployment.core.internal.validation; import org.eclipse.core.resources.IFile; import org.eclipse.core.runtime.Path; import org.zend.php.zendserver.deployment.core.Messages; import org.zend.php.zendserver.deployment.core.descriptor.IModelObject; import org.zend.php.zendserver.deployment.core.internal.descriptor.Feature; public class FileExistsTester extends PropertyTester { private DescriptorSemanticValidator validator; public FileExistsTester(DescriptorSemanticValidator validator, int severity) { super(severity); this.validator = validator; } @Override public String test(Feature feature, Object value, IModelObject object) { if (value == null) { return null; } IFile descriptorFile = validator.getFile(); if (descriptorFile == null) { return null; } if (value instanceof String) { String s = (String) value; if (s.trim().length() == 0) { return null; } IFile f = descriptorFile.getParent().getFile(new Path(s)); if (f.exists()) { return null; } return Messages.bind(Messages.FileExistsTester_FileNotExists, s); } return null; } }