/** * Overridden to carry CSS style attributes into the nested Metawidget. */ @Override public void initNestedMetawidget( StaticMetawidget nestedMetawidget, Map<String, String> attributes ) { super.initNestedMetawidget( nestedMetawidget, attributes ); StaticHtmlMetawidget htmlMetawidget = (StaticHtmlMetawidget) nestedMetawidget; // Attributes htmlMetawidget.setStyle( mStyle ); htmlMetawidget.setStyleClass( mStyleClass ); }
private void resetMetaWidgets() { ForgeConfigReader configReader = new ForgeConfigReader(this.config, this.project); this.entityMetawidget = new StaticHtmlMetawidget(); this.entityMetawidget.setConfigReader(configReader); this.entityMetawidget.setConfig("scaffold/faces/metawidget-entity.xml"); this.searchMetawidget = new StaticHtmlMetawidget(); this.searchMetawidget.setConfigReader(configReader); this.searchMetawidget.setConfig("scaffold/faces/metawidget-search.xml"); this.beanMetawidget = new StaticHtmlMetawidget(); this.beanMetawidget.setConfigReader(configReader); this.beanMetawidget.setConfig("scaffold/faces/metawidget-bean.xml"); this.qbeMetawidget = new StaticJavaMetawidget(); this.qbeMetawidget.setConfigReader(configReader); this.qbeMetawidget.setConfig("scaffold/faces/metawidget-qbe.xml"); this.rmEntityMetawidget = new StaticJavaMetawidget(); this.rmEntityMetawidget.setConfigReader(configReader); this.rmEntityMetawidget.setConfig("scaffold/faces/metawidget-remove-entity.xml"); }
/** * Writes the entity Metawidget and its namespaces into the given context. */ protected void writeEntityMetawidget(final Map<Object, Object> context, final int entityMetawidgetIndent, final Map<String, String> existingNamespaces) { StringWriter stringWriter = new StringWriter(); this.entityMetawidget.write(stringWriter, entityMetawidgetIndent); context.put("metawidget", stringWriter.toString().trim()); Map<String, String> namespaces = this.entityMetawidget.getNamespaces(); namespaces.keySet().removeAll(existingNamespaces.keySet()); context.put("metawidgetNamespaces", namespacesToString(namespaces)); }
super.addColumnComponent(dataTable, tableAttributes, elementName, columnAttributes, metawidget); List<StaticWidget> columns = dataTable.getChildren(); HtmlColumn column = (HtmlColumn) columns.get(columns.size() - 1); HtmlOutcomeTargetLink link = new HtmlOutcomeTargetLink(); String outcome = getTargetDir(); if (!outcome.isEmpty() && !outcome.startsWith("/")) link.putAttribute("outcome", outcome + "/" + controllerName + "/view"); Param param = new Param(); param.putAttribute("name", "id"); param.putAttribute( "value", StaticFacesUtils.wrapExpression(dataTable.getAttribute("var") + StringUtils.SEPARATOR_DOT_CHAR + primaryKeyName)); link.getChildren().add(param); link.getChildren().add(column.getChildren().remove(1)); if (columnAttributes.containsKey(FACES_LOOKUP) && columnAttributes.containsKey(REVERSE_PRIMARY_KEY)) StaticHtmlMetawidget output = (StaticHtmlMetawidget) link.getChildren().get(1); String displayExpression = dataTable.getAttribute("var") + StringUtils.SEPARATOR_DOT_CHAR + StringUtils.decapitalize(columnAttributes.get(NAME)); output.setValue(StaticFacesUtils.wrapExpression(displayExpression)); String valueExpression = dataTable.getAttribute("var") + StringUtils.SEPARATOR_DOT_CHAR + tableAttributes.get(PARAMETERIZED_TYPE_PATH) + StringUtils.SEPARATOR_DOT_CHAR + StringUtils.decapitalize(columnAttributes.get(NAME));
HtmlOutcomeTargetLink link = new HtmlOutcomeTargetLink(); link.putAttribute("outcome", getTargetDir() + "/" + controllerName + "/view"); Param param = new Param(); param.putAttribute("name", "id"); param.putAttribute( "value", StaticFacesUtils.wrapExpression(StaticFacesUtils.unwrapExpression(link.getValue()) + StringUtils.SEPARATOR_DOT_CHAR + reverseKey)); link.getChildren().add(param); HtmlOutputText outputText = new HtmlOutputText(); StandardBindingProcessor bindingProcessor = metawidget .getWidgetProcessor(StandardBindingProcessor.class); String styleClassEl = StaticFacesUtils.unwrapExpression(outputText.getValue()) + " ? 'boolean-true' : 'boolean-false'"; outputText.putAttribute("styleClass", StaticFacesUtils.wrapExpression(styleClassEl)); outputText.setValue(""); HtmlSelectOneMenu select = new HtmlSelectOneMenu(); addSelectItems( select, facesLookup, attributes ); return select; StaticHtmlMetawidget nestedMetawidget = new StaticHtmlMetawidget(); metawidget.initNestedMetawidget(nestedMetawidget, attributes); String unwrappedExpression = StaticFacesUtils.unwrapExpression(nestedMetawidget.getValue()); nestedMetawidget.putAttribute("rendered", StaticFacesUtils.wrapExpression("!empty " + unwrappedExpression));
HtmlColumn column = new HtmlColumn(); StaticXmlWidget columnContents; columnContents = new HtmlOutputText(); columnContents.putAttribute( "value", StaticFacesUtils.wrapExpression( dataTable.getAttribute( "var" ) ) ); } else { columnContents = new StaticHtmlMetawidget(); String valueExpression = dataTable.getAttribute( "var" ) + StringUtils.SEPARATOR_DOT_CHAR + StringUtils.decapitalize( columnAttributes.get( NAME ) ); columnContents.putAttribute( "value", StaticFacesUtils.wrapExpression( valueExpression ) ); columnMetawidget.setPath( WidgetBuilderUtils.getComponentType( tableAttributes ) + StringUtils.SEPARATOR_FORWARD_SLASH_CHAR + columnAttributes.get( NAME ) ); metawidget.initNestedMetawidget( columnMetawidget, columnAttributes ); columnMetawidget.setLayout( new SimpleLayout() ); columnMetawidget.setReadOnly( true ); column.getChildren().add( columnContents ); HtmlOutputText headerText = new HtmlOutputText(); headerText.putAttribute( "value", metawidget.getLabelString( columnAttributes ) ); Facet headerFacet = new Facet(); headerFacet.putAttribute( "name", "header" ); headerFacet.getChildren().add( headerText ); column.getChildren().add( 0, headerFacet ); dataTable.getChildren().add( column );
panelGrid.getChildren().add( widget ); panelGrid.getChildren().add( new HtmlOutputText() ); panelGrid.getChildren().add( new HtmlOutputText() ); return; HtmlOutputLabel label = new HtmlOutputLabel(); String id = getWidgetId( widget ); label.putAttribute( "for", id ); label.putAttribute( "value", labelText + StringUtils.SEPARATOR_COLON ); panelGrid.getChildren().add( label ); panelGrid.getChildren().add( widget ); HtmlPanelGroup panelGroup = new HtmlPanelGroup(); panelGrid.getChildren().add( panelGroup ); panelGroup.getChildren().add( widget ); HtmlMessage message = new HtmlMessage(); message.putAttribute( "for", id ); message.putAttribute( "styleClass", mMessageStyleClass ); panelGroup.getChildren().add( message ); HtmlOutputText required = new HtmlOutputText(); required.putAttribute( "value", "*" );
this.entityMetawidget.setValue(StaticFacesUtils.wrapExpression(beanName + "." + ccEntity)); this.entityMetawidget.setPath(entity.getQualifiedName()); this.entityMetawidget.setReadOnly(false); this.entityMetawidget.setStyle(null); this.entityMetawidget.setReadOnly(true); writeEntityMetawidget(context, this.viewTemplateEntityMetawidgetIndent, this.viewTemplateNamespaces); this.searchMetawidget.setValue(StaticFacesUtils.wrapExpression(beanName + ".example")); this.searchMetawidget.setPath(entity.getQualifiedName()); this.beanMetawidget.setValue(StaticFacesUtils.wrapExpression(beanName + ".pageItems")); this.beanMetawidget.setPath(viewBean.getQualifiedName() + "/pageItems"); writeSearchAndBeanMetawidget(context, this.searchTemplateSearchMetawidgetIndent, this.searchTemplateBeanMetawidgetIndent, this.searchTemplateNamespaces);
protected void setupRichFaces() { if ((this.project.getFacet(DependencyFacet.class).hasEffectiveDependency(this.richfaces3UI) && this.project.getFacet(DependencyFacet.class).hasEffectiveDependency(this.richfaces3Impl)) || (this.project.getFacet(DependencyFacet.class).hasEffectiveDependency(this.richfaces4UI) && this.project.getFacet(DependencyFacet.class).hasEffectiveDependency(this.richfaces4Impl))) { this.entityMetawidget .setWidgetBuilder(insertRichFacesWidgetBuilder((CompositeWidgetBuilder<StaticWidget, StaticMetawidget>) this.entityMetawidget .getWidgetBuilder())); this.searchMetawidget .setWidgetBuilder(insertRichFacesWidgetBuilder((CompositeWidgetBuilder<StaticWidget, StaticMetawidget>) this.searchMetawidget .getWidgetBuilder())); this.beanMetawidget .setWidgetBuilder(insertRichFacesWidgetBuilder((CompositeWidgetBuilder<StaticWidget, StaticMetawidget>) this.beanMetawidget .getWidgetBuilder())); } }
String style = metawidget.getStyle(); String styleClass = metawidget.getStyleClass();
converter.putAttribute( "dateStyle", attributes.get( DATE_STYLE ) ); converter.putAttribute( "pattern", attributes.get( DATETIME_PATTERN ) ); converter.putAttribute( "timeStyle", attributes.get( TIME_STYLE ) ); converter.putAttribute( "timeZone", attributes.get( TIME_ZONE ) ); converter.putAttribute( "type", attributes.get( DATETIME_TYPE ) ); converter.putAttribute( "currencyCode", attributes.get( CURRENCY_CODE ) ); converter.putAttribute( "currencySymbol", attributes.get( CURRENCY_SYMBOL ) ); converter.putAttribute( "groupingUsed", attributes.get( NUMBER_USES_GROUPING_SEPARATORS ) ); converter.putAttribute( "minIntegerDigits", attributes.get( MINIMUM_INTEGER_DIGITS ) ); converter.putAttribute( "maxIntegerDigits", attributes.get( MAXIMUM_INTEGER_DIGITS ) ); converter.putAttribute( "minFractionDigits", attributes.get( MINIMUM_FRACTIONAL_DIGITS ) ); converter.putAttribute( "maxFractionDigits", attributes.get( MAXIMUM_FRACTIONAL_DIGITS ) ); converter.putAttribute( "pattern", attributes.get( NUMBER_PATTERN ) ); converter.putAttribute( "type", attributes.get( NUMBER_TYPE ) ); converter.putAttribute( "locale", attributes.get( LOCALE ) );
super.addColumnComponent(dataTable, tableAttributes, elementName, columnAttributes, metawidget); List<StaticWidget> columns = dataTable.getChildren(); HtmlColumn column = (HtmlColumn) columns.get(columns.size() - 1); HtmlOutcomeTargetLink link = new HtmlOutcomeTargetLink(); link.putAttribute("outcome", getTargetDir() + "/" + controllerName + "/view"); Param param = new Param(); param.putAttribute("name", "id"); param.putAttribute( "value", StaticFacesUtils.wrapExpression(dataTable.getAttribute("var") + StringUtils.SEPARATOR_DOT_CHAR + primaryKeyName)); link.getChildren().add(param); link.getChildren().add(column.getChildren().remove(1)); if(columnAttributes.containsKey(FACES_LOOKUP) && columnAttributes.containsKey(REVERSE_PRIMARY_KEY)) StaticHtmlMetawidget output = (StaticHtmlMetawidget) link.getChildren().get(1); String displayExpression = "forgeview:display(" + dataTable.getAttribute("var") + StringUtils.SEPARATOR_DOT_CHAR + StringUtils.decapitalize(columnAttributes.get(NAME)) + ")"; ((BaseStaticXmlWidget) link).putAdditionalNamespaceURI("forgeview", "http://jboss.org/forge/view"); output.setValue(StaticFacesUtils.wrapExpression(displayExpression)); String valueExpression = dataTable.getAttribute("var") + StringUtils.SEPARATOR_DOT_CHAR + tableAttributes.get(PARAMETERIZED_TYPE_PATH) + StringUtils.SEPARATOR_DOT_CHAR + StringUtils.decapitalize(columnAttributes.get(NAME)); StaticHtmlMetawidget output = (StaticHtmlMetawidget) link.getChildren().get(1);
HtmlOutcomeTargetLink link = new HtmlOutcomeTargetLink(); String outcome = getTargetDir(); if (!outcome.isEmpty() && !outcome.startsWith("/")) link.putAttribute("outcome", outcome + "/" + controllerName + "/view"); link.putAttribute("rendered", StaticFacesUtils.wrapExpression("!empty " + StaticFacesUtils.unwrapExpression(link.getValue()))); Param param = new Param(); param.putAttribute("name", "id"); param.putAttribute( "value", StaticFacesUtils.wrapExpression(StaticFacesUtils.unwrapExpression(link.getValue()) + StringUtils.SEPARATOR_DOT_CHAR + reverseKey)); link.getChildren().add(param); HtmlOutputText outputText = new HtmlOutputText(); StandardBindingProcessor bindingProcessor = metawidget .getWidgetProcessor(StandardBindingProcessor.class); String styleClassEl = StaticFacesUtils.unwrapExpression(outputText.getValue()) + " ? 'boolean-true' : 'boolean-false'"; outputText.putAttribute("styleClass", StaticFacesUtils.wrapExpression(styleClassEl)); outputText.setValue(""); HtmlSelectOneMenu select = new HtmlSelectOneMenu(); addSelectItems(select, facesLookup, attributes);
this.entityMetawidget.setValue(StaticFacesUtils.wrapExpression(beanName + "." + ccEntity)); this.entityMetawidget.setPath(entity.getQualifiedName()); this.entityMetawidget.setReadOnly(false); this.entityMetawidget.setStyle(null); this.entityMetawidget.setReadOnly(true); writeEntityMetawidget(context, this.viewTemplateEntityMetawidgetIndent, this.viewTemplateNamespaces); this.searchMetawidget.setValue(StaticFacesUtils.wrapExpression(beanName + ".example")); this.searchMetawidget.setPath(entity.getQualifiedName()); this.beanMetawidget.setValue(StaticFacesUtils.wrapExpression(beanName + ".pageItems")); this.beanMetawidget.setPath(viewBean.getQualifiedName() + "/pageItems"); writeSearchAndBeanMetawidget(context, this.searchTemplateSearchMetawidgetIndent, this.searchTemplateBeanMetawidgetIndent, this.searchTemplateNamespaces);
private void resetMetaWidgets() { ForgeConfigReader configReader = new ForgeConfigReader(getConfig(), this.project); this.entityMetawidget = new StaticHtmlMetawidget(); this.entityMetawidget.setConfigReader(configReader); this.entityMetawidget.setConfig(SCAFFOLD_META_WIDGET_ENTITY); this.searchMetawidget = new StaticHtmlMetawidget(); this.searchMetawidget.setConfigReader(configReader); this.searchMetawidget.setConfig(SCAFFOLD_META_WIDGET_SEARCH); this.beanMetawidget = new StaticHtmlMetawidget(); this.beanMetawidget.setConfigReader(configReader); this.beanMetawidget.setConfig(SCAFFOLD_META_WIDGET_BEAN); this.qbeMetawidget = new StaticJavaMetawidget(); this.qbeMetawidget.setConfigReader(configReader); this.qbeMetawidget.setConfig(SCAFFOLD_META_WIDGET_QBE); this.rmEntityMetawidget = new StaticJavaMetawidget(); this.rmEntityMetawidget.setConfigReader(configReader); this.rmEntityMetawidget.setConfig(SCAFFOLD_META_WIDGET_REMOVE_ENTITY); }
/** * Writes the entity Metawidget and its namespaces into the given context. */ protected void writeEntityMetawidget(final Map<Object, Object> context, final int entityMetawidgetIndent, final Map<String, String> existingNamespaces) { StringWriter stringWriter = new StringWriter(); this.entityMetawidget.write(stringWriter, entityMetawidgetIndent); context.put("metawidget", stringWriter.toString().trim()); Map<String, String> namespaces = this.entityMetawidget.getNamespaces(); namespaces.keySet().removeAll(existingNamespaces.keySet()); context.put("metawidgetNamespaces", namespacesToString(namespaces)); }
/** * Writes the search Metawidget, the bean Metawidget and their namespaces into the given context. */ protected void writeSearchAndBeanMetawidget(final Map<Object, Object> context, final int searchMetawidgetIndent, final int beanMetawidgetIndent, final Map<String, String> existingNamespaces) { StringWriter stringWriter = new StringWriter(); this.searchMetawidget.write(stringWriter, searchMetawidgetIndent); context.put("searchMetawidget", stringWriter.toString().trim()); stringWriter = new StringWriter(); this.beanMetawidget.write(stringWriter, beanMetawidgetIndent); context.put("beanMetawidget", stringWriter.toString().trim()); Map<String, String> namespaces = this.searchMetawidget.getNamespaces(); namespaces.putAll(this.beanMetawidget.getNamespaces()); namespaces.keySet().removeAll(existingNamespaces.keySet()); context.put("metawidgetNamespaces", namespacesToString(namespaces)); }
/** * Writes the search Metawidget, the bean Metawidget and their namespaces into the given context. */ protected void writeSearchAndBeanMetawidget(final Map<Object, Object> context, final int searchMetawidgetIndent, final int beanMetawidgetIndent, final Map<String, String> existingNamespaces) { StringWriter stringWriter = new StringWriter(); this.searchMetawidget.write(stringWriter, searchMetawidgetIndent); context.put("searchMetawidget", stringWriter.toString().trim()); stringWriter = new StringWriter(); this.beanMetawidget.write(stringWriter, beanMetawidgetIndent); context.put("beanMetawidget", stringWriter.toString().trim()); Map<String, String> namespaces = this.searchMetawidget.getNamespaces(); namespaces.putAll(this.beanMetawidget.getNamespaces()); namespaces.keySet().removeAll(existingNamespaces.keySet()); context.put("metawidgetNamespaces", namespacesToString(namespaces)); }