Skip to content

Commit

Permalink
change namespaceId from int to String so BIRT can support dynamic number
Browse files Browse the repository at this point in the history
of namespaces
  • Loading branch information
greatyan committed Jun 19, 2014
1 parent d0cf394 commit 0d04a83
Show file tree
Hide file tree
Showing 31 changed files with 305 additions and 368 deletions.
Expand Up @@ -243,7 +243,7 @@ public static void setNameOption( ElementDefn element, int option )
* @param element
* @param id
*/
public static void setNameSpaceID( ElementDefn element, int id )
public static void setNameSpaceID( ElementDefn element, String id )
{
if ( element != null )
element.setNameSpaceID( id );
Expand Down
Expand Up @@ -536,7 +536,7 @@ private void testID( Module module, Module clonedModule, long id,
* the element type name of the element
*/

private void testNameSpace( Module module, Module clonedModule, int id,
private void testNameSpace( Module module, Module clonedModule, String id,
String name, String elementName )
{
assert module != null;
Expand Down
Expand Up @@ -61,7 +61,7 @@ public void testGetterAndSetter( )
MetadataTestUtil.setHasStyle( def, true );
MetadataTestUtil.setName( def, "Name" ); //$NON-NLS-1$
MetadataTestUtil.setNameOption( def, 2 );
MetadataTestUtil.setNameSpaceID( def, 4 );
MetadataTestUtil.setNameSpaceID( def, "4" );

assertEquals( false, def.isAbstract( ) );
assertEquals( true, def.allowsUserProperties( ) );
Expand All @@ -71,7 +71,7 @@ public void testGetterAndSetter( )
assertEquals( true, def.hasStyle( ) );
assertEquals( "Name", def.getName( ) ); //$NON-NLS-1$
assertEquals( 2, def.getNameOption( ) );
assertEquals( 4, def.getNameSpaceID( ) );
assertEquals( "4", def.getNameSpaceID( ) );

}

Expand Down
Expand Up @@ -29,6 +29,7 @@
import org.eclipse.birt.report.model.api.css.CssStyleSheetHandle;
import org.eclipse.birt.report.model.api.util.DocumentUtil;
import org.eclipse.birt.report.model.core.DesignElement;
import org.eclipse.birt.report.model.core.Module;
import org.eclipse.birt.report.model.elements.ExtendedItem;
import org.eclipse.birt.report.model.elements.interfaces.IReportDesignModel;
import org.eclipse.birt.report.model.util.BaseTestCase;
Expand Down Expand Up @@ -328,7 +329,7 @@ public void testSerializeExternalSelectors( ) throws Exception
// design

DesignElement localizedStyle = design.getNameHelper( ).getNameSpace(
IReportDesignModel.STYLE_SLOT ).getElement( "table-footer" ); //$NON-NLS-1$
Module.STYLE_NAME_SPACE ).getElement( "table-footer" ); //$NON-NLS-1$
assertNotNull( localizedStyle );

assertTrue( compareFile( "DocumentUtilTest_external_selectors_golden.xml" ) ); //$NON-NLS-1$
Expand Down
Expand Up @@ -104,6 +104,9 @@ public String getAbstract( )

public String getNameSpace( )
{
return getElementDefn().getNameSpaceID( );

/*
switch ( getElementDefn( ).getNameSpaceID( ) )
{
case Module.STYLE_NAME_SPACE:
Expand All @@ -120,7 +123,7 @@ public String getNameSpace( )
return "Pages";
default:
return "None";
}
}*/
}

public String getNameRequirement( )
Expand Down
Expand Up @@ -39,7 +39,7 @@ public interface MetaDataConstants
* Code for an element that does not appear in any name space.
*/

public static final int NO_NAME_SPACE = -1;
public static final String NO_NAME_SPACE = "NONE";

/**
* Code for an element that does not take a name.
Expand Down
Expand Up @@ -419,7 +419,7 @@ protected final boolean dropDuplicatedElement( DesignElement element )
{
AbstractNameHelper nameHelper = (AbstractNameHelper) executor
.getNameHelper( );
int namespaceId = executor.getNameSpaceId( );
String namespaceId = executor.getNameSpaceId( );
NameSpace nameSpace = nameHelper
.getCachedNameSpace( namespaceId );
duplicateElement = nameSpace.getElement( element.getName( ) );
Expand Down Expand Up @@ -488,9 +488,9 @@ static DesignElement getDropTarget( DesignElement element )
if ( element == null )
return null;

int nameSpaceID = ( (ElementDefn) element.getDefn( ) ).getNameSpaceID( );
if ( !( nameSpaceID == Module.CUBE_NAME_SPACE
|| nameSpaceID == Module.DIMENSION_NAME_SPACE || nameSpaceID == Module.ELEMENT_NAME_SPACE ) )
String nameSpaceID = ( (ElementDefn) element.getDefn( ) ).getNameSpaceID( );
if ( !( Module.CUBE_NAME_SPACE.equals( nameSpaceID )
|| Module.DIMENSION_NAME_SPACE.equals( nameSpaceID ) || Module.ELEMENT_NAME_SPACE.equals( nameSpaceID ) ) )
return element;

DesignElement container = element.getContainer( );
Expand Down
Expand Up @@ -346,7 +346,7 @@ private void dropSymbol( )
INameHelper nameHelper = executor.getNameHelper( );
if ( nameHelper != null )
{
int ns = executor.getNameSpaceId( );
String ns = executor.getNameSpaceId( );
NameSpace namespace = executor.getNameSpace( );
if ( namespace.getElement( element.getName( ) ) != element )
return;
Expand Down Expand Up @@ -422,7 +422,7 @@ public void checkDimension( ) throws SemanticException
element );
INameHelper nameHelper = nameExecutor.getNameHelper( );
NameSpace namespace = nameExecutor.getNameSpace( );
int namespaceId = nameExecutor.getNameSpaceId( );
String namespaceId = nameExecutor.getNameSpaceId( );
DesignElement existedElement = namespace.getElement( name );
if ( existedElement == null )
{
Expand Down
Expand Up @@ -58,7 +58,7 @@ public class NameSpaceRecord extends SimpleRecord
* The name space to use.
*/

protected int nameSpaceID = 0;
protected String nameSpaceID = null;

/**
* Whether to add or remove the element.
Expand All @@ -78,7 +78,7 @@ public class NameSpaceRecord extends SimpleRecord
* whether to add (true) or remove (false) the element.
*/

public NameSpaceRecord( INameHelper nameHelper, int ns,
public NameSpaceRecord( INameHelper nameHelper, String ns,
DesignElement symbol, boolean isAdd )
{
this.nameHelper = nameHelper;
Expand Down
Expand Up @@ -30,7 +30,7 @@ class RenameInNameSpaceRecord extends SimpleRecord
private DesignElement element = null;
private String oldName = null;
private String newName = null;
private int nameSpaceID;
private String nameSpaceID;
private INameHelper nameHelper = null;

/**
Expand Down
Expand Up @@ -117,63 +117,58 @@ public abstract class ModuleImpl extends DesignElement
/**
* Identifier for the shared style name space.
*/
public static final int STYLE_NAME_SPACE = 0;
public static final String STYLE_NAME_SPACE = "style";

/**
* Identifier of the name space that stores layout elements that appear in
* the Body slot.
*/
public static final int ELEMENT_NAME_SPACE = 1;
public static final String ELEMENT_NAME_SPACE = "element";

/**
* Identifier for the parameter name space.
*/
public static final int PARAMETER_NAME_SPACE = 2;
public static final String PARAMETER_NAME_SPACE = "parameter";

/**
* Identifier for the data source name space.
*/
public static final int DATA_SOURCE_NAME_SPACE = 3;
public static final String DATA_SOURCE_NAME_SPACE = "datasource";

/**
* Identifier for the data set name space.
*/
public static final int DATA_SET_NAME_SPACE = 4;
public static final String DATA_SET_NAME_SPACE = "dataset";

/**
* Identifier for the master page name space.
*/
public static final int PAGE_NAME_SPACE = 5;
public static final String PAGE_NAME_SPACE = "page";

/**
* Identifier for the theme name space.
*/
public static final int THEME_NAME_SPACE = 6;
public static final String THEME_NAME_SPACE = "theme";

/**
* Identifier for the template parameter definition name space.
*/
public static final int TEMPLATE_PARAMETER_NAME_SPACE = 7;
public static final String TEMPLATE_PARAMETER_NAME_SPACE = "template";

/**
* Identifier for the cube element name space.
*/
public static final int CUBE_NAME_SPACE = 8;
public static final String CUBE_NAME_SPACE = "cube";

/**
* Identifier for the variable element name space.
*/
public static final int VARIABLE_ELEMENT_NAME_SPACE = 9;
public static final String VARIABLE_ELEMENT_NAME_SPACE = "variable";

/**
* Identifier for the dimension element name space.
*/
public static final int DIMENSION_NAME_SPACE = 10;

/**
* Number of defined name spaces.
*/
public static int NAME_SPACE_COUNT = 11;
public static final String DIMENSION_NAME_SPACE = "dimension";

/**
* The session that owns this module.
Expand Down Expand Up @@ -1249,7 +1244,7 @@ public final DesignElement resolveElement( DesignElement focus,
*/

protected final DesignElement resolveNativeElement( String elementName,
int nameSpace )
String nameSpace )
{
NameSpace namespace = nameHelper.getNameSpace( nameSpace );
return namespace.getElement( elementName );
Expand Down
Expand Up @@ -71,6 +71,11 @@ public void insert( DesignElement element )
names.put( element.getName( ), element );
}

public void insert( String name, DesignElement element )
{
names.put( name, element );
}

/**
* Removes an element from the name space. The caller must have validated
* that the element is in the name space.
Expand All @@ -86,6 +91,11 @@ public void remove( DesignElement element )
names.remove( element.getName( ) );
}

public void remove( String name )
{
names.remove( name );
}

/**
* Renames an element in the name space. Rename is done in the context of a
* command: it represents a temporary period in which the model is
Expand Down
Expand Up @@ -24,7 +24,7 @@ public abstract class AbstractModuleNameContext extends AbstractNameContext

protected Module module = null;

protected int nameSpaceID = -1;
protected String nameSpaceID = null;

/**
* Constructs the name space with module and name space ID.
Expand All @@ -34,14 +34,14 @@ public abstract class AbstractModuleNameContext extends AbstractNameContext
* @param nameSpaceID
*/

public AbstractModuleNameContext( Module module, int nameSpaceID )
public AbstractModuleNameContext( Module module, String nameSpaceID )
{
super( );
this.module = module;
this.nameSpaceID = nameSpaceID;

// name of the parameter is case insensitive
if ( nameSpaceID == Module.PARAMETER_NAME_SPACE )
if ( Module.PARAMETER_NAME_SPACE.equals( nameSpaceID ) )
this.namespace = new CaseInsensitiveNameSpace( );
}

Expand All @@ -63,7 +63,7 @@ public DesignElement getElement( )
* org.eclipse.birt.report.model.core.namespace.INameContext#getNameSpaceID
* ()
*/
public int getNameSpaceID( )
public String getNameSpaceID( )
{
return nameSpaceID;
}
Expand Down

0 comments on commit 0d04a83

Please sign in to comment.