private void createDimMappingEditor() { inpKey = new InputBox(this, "inpKey"); inpKey.setWidth(300); inpDescription = new InputBox(this, "inpDescription"); inpDescription.setMultiLine(true); inpDescription.setRows(3); inpDescription.setWidth(300); lbcDimension = new ListBox(this, "lbcDimension"); lbcDimension.setChangeNotification(true); lbcDimension.addElementSelectedListener( new ElementSelectedListener() { public void elementSelected(ElementSelectedEvent event) { onDimensionSelection((String) event.getElement()); } }); for (IDimension dim : dataPool.getDimensions()) { String title = dim.getTitle() != null ? dim.getKey() + "(" + dim.getTitle() + ")" : dim.getKey(); lbcDimension.addElement(title, dim.getKey()); } chkOnUnmapped = new RadioGroup(this, "chkOnUnmapped"); chkOnUnmapped.setChangeNotification(true); chkOnUnmapped.addElement("Create", "CREATE"); chkOnUnmapped.addElement("Skip", "SKIP"); chkOnUnmapped.addElement("Assign To", "ASSIGN"); chkOnUnmapped.addElement("Fail", "FAIL"); chkOptions = new CheckBoxGroup(this, "chkOptions"); chkOptions.addElement("Autocreate Mapping", "autocreate"); new Label(this, "elmSelector").setText(""); elmSelector = null; /* * Load Initial Values */ if (dimMapping.getKey() != null) { inpKey.setText(dimMapping.getKey()); inpKey.setEnabled(false); } inpDescription.setText(dimMapping.getDescription() != null ? dimMapping.getDescription() : ""); lbcDimension.setSelectedKey( dimMapping.getDimensionKey() != null ? dimMapping.getDimensionKey() : ""); chkOnUnmapped.setSelectedKey(dimMapping.getOnUnmapped().name()); if (dimMapping.isAutoCreateMapping()) { chkOptions.setSelectedKey("autocreate"); } if (elmSelector != null && dimMapping.getUnmappedPath() != null && dimMapping.getUnmappedPath().length() != 0) { IDimension dimension = elmSelector.getDimension(); try { IDimensionElement elm = dimension.parsePath(dimMapping.getUnmappedPath()); elmSelector.setDimensionElement(elm); } catch (Exception e) { errInfo.showError("Error restoring unmapped value - element removed?: " + e); } } inpTestString = new InputBox(this, "inpTestString"); inpTestString.setWidth(600); Button btTest = new Button(this, "btTest"); btTest.setTitle("Test"); btTest.addSelectionListener( new SelectionListener() { /* (non-Javadoc) * @see de.jwic.events.SelectionListener#objectSelected(de.jwic.events.SelectionEvent) */ public void objectSelected(SelectionEvent event) { applyTest(); } }); }
/** * @param container * @param name */ public MappingEditorControl( IControlContainer container, String name, String dpManagerKey, DimMappingDef dimMapping) { super(container, name); this.dpManagerKey = dpManagerKey; this.dimMapping = dimMapping; isNew = dimMapping.getKey() == null; try { dataPool = CubeHandler.getCubeHandler(ETLgineServer.getInstance().getServerContext()) .openDataPool(dpManagerKey); } catch (ETLException e) { throw new RuntimeException("Error Reading DataPool: " + e, e); } String key = dimMapping.getKey() != null ? dimMapping.getKey() : null; setTitle("Mapping Editor (" + key + ")"); errInfo = new ErrorWarning(this, "errInfo"); mapEditor = new MappingElementEditorControl(this, "mapEditor"); setupActionBar(); createDimMappingEditor(); // load childs if its not a new one if (!isNew) { loadMappingElements(); } }
private void loadMappingElements() { ServerContext context = ETLgineServer.getInstance().getServerContext(); String syncTableConnectionName = context.getProperty(dpManagerKey + ".datapool.syncTables.connection"); try { Connection connection = JDBCUtil.openConnection(context, syncTableConnectionName); try { DimMappingElementDefDAO dao = new DimMappingElementDefDAO(connection); List<DimMappingElementDef> list = dao.listMappings(dimMapping.getKey()); for (DimMappingElementDef me : list) { me.setDimensionKey(dimMapping.getDimensionKey()); // for security... } mapEditor.setMappingList(list); } finally { connection.close(); } } catch (Exception e) { errInfo.showError(e); log.error("Error loading mapping elements", e); } }