org.mozilla.javascript.UniqueTag Java Examples

The following examples show how to use org.mozilla.javascript.UniqueTag. You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: BirtDateTime.java    From birt with Eclipse Public License 1.0 5 votes vote down vote up
private static Calendar getDefaultFiscalYearStartDate(
		IScriptFunctionContext context )
{
	// Get customized value from appContext or system
	Object property = context == null ? null
			: context.findProperty( PROPERTY_FISCAL_YEAR_START_DATE );
	if ( property == null || property == UniqueTag.NOT_FOUND )
	{
		property = System.getProperty( PROPERTY_FISCAL_YEAR_START_DATE );
	}
	Calendar start = Calendar.getInstance( );
	if ( property != null )
	{
			try
		{
			Date date = FISCAL_YEAR_DATE_FORMAT.parse( property.toString( ) );
			start.setTime( date );
			return start;
		}
		catch ( ParseException e )
		{
			logger.log( Level.WARNING, e.getLocalizedMessage( ) );
		}
	}

	// Default value is July 1 of current year
	start.set( Calendar.MONTH, 6 );
	start.set( Calendar.DAY_OF_MONTH, 1 );
	start.set( Calendar.HOUR_OF_DAY, 0 );
	start.set( Calendar.MINUTE, 0 );
	start.set( Calendar.SECOND, 0 );
	start.set( Calendar.MILLISECOND, 0 );
	return start;
}
 
Example #2
Source File: ScriptNode.java    From alfresco-repository with GNU Lesser General Public License v3.0 4 votes vote down vote up
private String processTemplate(String template, NodeRef templateRef, ScriptableObject args)
{
    Object person = (Object)scope.get("person", scope);
    Object companyhome = (Object)scope.get("companyhome", scope);
    Object userhome = (Object)scope.get("userhome", scope);
    
    // build default model for the template processing
    Map<String, Object> model = this.services.getTemplateService().buildDefaultModel(
        (person.equals(UniqueTag.NOT_FOUND)) ? null : ((ScriptNode)((Wrapper)person).unwrap()).getNodeRef(),
        (companyhome.equals(UniqueTag.NOT_FOUND)) ? null : ((ScriptNode)((Wrapper)companyhome).unwrap()).getNodeRef(),
        (userhome.equals(UniqueTag.NOT_FOUND)) ? null : ((ScriptNode)((Wrapper)userhome).unwrap()).getNodeRef(),
        templateRef,
        null);
    
    // add the current node as either the document/space as appropriate
    if (this.getIsDocument())
    {
        model.put("document", this.nodeRef);
        model.put("space", getPrimaryParentAssoc().getParentRef());
    }
    else
    {
        model.put("space", this.nodeRef);
    }
    
    // add the supplied args to the 'args' root object
    if (args != null)
    {
        // we need to get all the keys to the properties provided
        // and convert them to a Map of QName to Serializable objects
        Object[] propIds = args.getIds();
        Map<String, String> templateArgs = new HashMap<String, String>(propIds.length);
        for (int i = 0; i < propIds.length; i++)
        {
            // work on each key in turn
            Object propId = propIds[i];
            
            // we are only interested in keys that are formed of Strings i.e. QName.toString()
            if (propId instanceof String)
            {
                // get the value out for the specified key - make sure it is Serializable
                Object value = args.get((String) propId, args);
                value = getValueConverter().convertValueForRepo((Serializable)value);
                if (value != null)
                {
                    templateArgs.put((String) propId, value.toString());
                }
            }
        }
        // add the args to the model as the 'args' root object
        model.put("args", templateArgs);
    }
    
    // execute template!
    // TODO: check that script modified nodes are reflected...
    return this.services.getTemplateService().processTemplateString(null, template, model);
}