public DrillDownProfile edit(final DrillDownProfile profile) { final AbstractDrillDownEditor drillDownEditor; if (PatternLinkCustomizer.class.isAssignableFrom(profile.getLinkCustomizerType())) { drillDownEditor = new PatternDrillDownEditor(this); } else if (FormulaLinkCustomizer.class.isAssignableFrom(profile.getLinkCustomizerType())) { drillDownEditor = new FormulaDrillDownEditor(this); } else { return profile; } return drillDownEditor.performEdit(profile); }
public Component getListCellRendererComponent( final JList list, final Object value, final int index, final boolean isSelected, final boolean cellHasFocus) { if (value instanceof DrillDownProfile) { final DrillDownProfile profile = (DrillDownProfile) value; final String valueText = String.format("%s", profile.getName()); return super.getListCellRendererComponent(list, valueText, index, isSelected, cellHasFocus); } return super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus); }
public void save(final File file) { try { final DefaultTagDescription tags = new DefaultTagDescription(); tags.setDefaultNamespace(DrillDownModule.DRILLDOWN_PROFILE_NAMESPACE); tags.setNamespaceHasCData(DrillDownModule.DRILLDOWN_PROFILE_NAMESPACE, false); tags.setElementHasCData(DrillDownModule.DRILLDOWN_PROFILE_NAMESPACE, "attribute", true); final XmlWriter w = new XmlWriter(new OutputStreamWriter(new FileOutputStream(file), "UTF-8"), tags); w.writeXmlDeclaration("UTF-8"); final AttributeList rootList = new AttributeList(); rootList.addNamespaceDeclaration("", DrillDownModule.DRILLDOWN_PROFILE_NAMESPACE); w.writeTag( DrillDownModule.DRILLDOWN_PROFILE_NAMESPACE, "drilldown-profiles", rootList, XmlWriter.OPEN); final Object[] objects = drillDownProfiles.toArray(); for (int i = 0; i < objects.length; i++) { final DrillDownProfile object = (DrillDownProfile) objects[i]; final AttributeList profileAttrs = new AttributeList(); profileAttrs.setAttribute( DrillDownModule.DRILLDOWN_PROFILE_NAMESPACE, "name", object.getName()); profileAttrs.setAttribute( DrillDownModule.DRILLDOWN_PROFILE_NAMESPACE, "class", object.getLinkCustomizerType().getName()); profileAttrs.setAttribute( DrillDownModule.DRILLDOWN_PROFILE_NAMESPACE, "bundle-name", object.getBundleLocation()); profileAttrs.setAttribute( DrillDownModule.DRILLDOWN_PROFILE_NAMESPACE, "expert", String.valueOf(object.isExpert())); profileAttrs.setAttribute( DrillDownModule.DRILLDOWN_PROFILE_NAMESPACE, "hidden", String.valueOf(object.isHidden())); profileAttrs.setAttribute( DrillDownModule.DRILLDOWN_PROFILE_NAMESPACE, "deprecated", String.valueOf(object.isDeprecated())); profileAttrs.setAttribute( DrillDownModule.DRILLDOWN_PROFILE_NAMESPACE, "preferred", String.valueOf(object.isPreferred())); w.writeTag( DrillDownModule.DRILLDOWN_PROFILE_NAMESPACE, "drilldown-profile", profileAttrs, XmlWriter.OPEN); final String[] attrNames = object.getAttributes(); for (int j = 0; j < attrNames.length; j++) { final String attrName = attrNames[j]; final String attrValue = object.getAttribute(attrName); w.writeTag( DrillDownModule.DRILLDOWN_PROFILE_NAMESPACE, "attribute", "name", attrName, XmlWriter.OPEN); w.writeTextNormalized(attrValue, false); w.writeCloseTag(); } w.writeCloseTag(); } w.writeCloseTag(); w.close(); } catch (Exception e) { e.printStackTrace(); } }