/******************************************************************************* * Copyright (c) 2007-2010 Red Hat, Inc. * Distributed under license by Red Hat, Inc. All rights reserved. * This program is 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: * Red Hat, Inc. - initial API and implementation ******************************************************************************/ package org.jboss.tools.jsf.web.validation.jsf2.components; import java.text.MessageFormat; import org.eclipse.wst.xml.core.internal.document.ElementImpl; import org.eclipse.wst.xml.core.internal.provisional.document.IDOMAttr; import org.jboss.tools.jsf.jsf2.model.CompositeComponentConstants; import org.jboss.tools.jsf.messages.JSFUIMessages; import org.jboss.tools.jsf.web.validation.JSFAbstractValidationComponent; import org.jboss.tools.jsf.web.validation.jsf2.util.JSF2ValidatorConstants; /** * * @author yzhishko * */ @SuppressWarnings("restriction") public class JSF2AttrTempComponent extends JSFAbstractValidationComponent { private String type = JSF2ValidatorConstants.JSF2_UNFIXABLE_ATTR_TYPE; private ElementImpl parentEl; private IDOMAttr attr; private String componentResLocation; public JSF2AttrTempComponent(IDOMAttr attr, ElementImpl parentEl) { this.attr = attr; this.parentEl = parentEl; } public void createValidationMessage() { setValidationMessage(MessageFormat.format( JSFUIMessages.Missing_JSF_2_Component_Attr, attr.getName(), getElementName())); } public String getElementName(){ return parentEl.getLocalName(); } public void setType(String type) { this.type = type; } public String getType() { return type; } public String getName() { return attr.getName(); } public String getComponentResourceLocation() { if (componentResLocation == null) { String uriString = parentEl.getNamespaceURI(); String relativeLocation = uriString.replaceFirst( CompositeComponentConstants.COMPOSITE_XMLNS, ""); //$NON-NLS-1$ String nodeName = parentEl.getLocalName(); componentResLocation = relativeLocation + "/" + nodeName + ".xhtml"; //$NON-NLS-1$ //$NON-NLS-2$ } return componentResLocation; } }