/*******************************************************************************
* Copyright (c) 2007 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.cdi.xml.beans.model;
import org.jboss.tools.common.model.loaders.EntityRecognizer;
import org.jboss.tools.common.model.loaders.EntityRecognizerContext;
public class CDIBeansEntityRecognizer implements EntityRecognizer, CDIBeansConstants {
public CDIBeansEntityRecognizer() {}
public String getEntityName(EntityRecognizerContext context) {
String body = context.getBody();
if(body == null) return null;
String result = getSchemaEntityName(body);
if(result != null) {
return result;
}
if("beans.xml".equals(context.getFileName()) && body.indexOf("<beans") >= 0) {
return ENT_CDI_BEANS;
}
return null;
}
private String getSchemaEntityName(String body) {
int i = body.indexOf("<beans"); //$NON-NLS-1$
if(i < 0) return null;
int j = body.indexOf(">", i); //$NON-NLS-1$
if(j < 0) return null;
String s = body.substring(i, j);
if(s.indexOf("\"" + BEANS_NAMESPACE + "\"") > 0) { //$NON-NLS-1$
return ENT_CDI_BEANS;
}
if(s.indexOf("\"" + BEANS_NAMESPACE_11 + "\"") > 0) { //$NON-NLS-1$
return ENT_CDI_BEANS_11;
}
return null;
}
}