init
This commit is contained in:
parent
42de172d44
commit
0f4f76ebc4
|
@ -0,0 +1,58 @@
|
|||
/*! ******************************************************************************
|
||||
*
|
||||
* Pentaho Data Integration
|
||||
*
|
||||
* Copyright (C) 2002-2017 by Hitachi Vantara : http://www.pentaho.com
|
||||
*
|
||||
*******************************************************************************
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
package org.pentaho.di.core;
|
||||
|
||||
import org.eclipse.core.runtime.IProgressMonitor;
|
||||
|
||||
public class ProgressMonitorAdapter implements ProgressMonitorListener {
|
||||
private IProgressMonitor monitor;
|
||||
|
||||
public ProgressMonitorAdapter( IProgressMonitor monitor ) {
|
||||
this.monitor = monitor;
|
||||
}
|
||||
|
||||
public void beginTask( String message, int nrWorks ) {
|
||||
monitor.beginTask( message, nrWorks );
|
||||
}
|
||||
|
||||
public void done() {
|
||||
monitor.done();
|
||||
}
|
||||
|
||||
public boolean isCanceled() {
|
||||
return monitor.isCanceled();
|
||||
}
|
||||
|
||||
public void subTask( String message ) {
|
||||
monitor.subTask( message );
|
||||
}
|
||||
|
||||
public void worked( int nrWorks ) {
|
||||
monitor.worked( nrWorks );
|
||||
}
|
||||
|
||||
public void setTaskName( String taskName ) {
|
||||
monitor.setTaskName( taskName );
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,139 @@
|
|||
/*! ******************************************************************************
|
||||
*
|
||||
* Pentaho Data Integration
|
||||
*
|
||||
* Copyright (C) 2002-2017 by Hitachi Vantara : http://www.pentaho.com
|
||||
*
|
||||
*******************************************************************************
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
package org.pentaho.di.core;
|
||||
|
||||
import java.awt.image.BufferedImage;
|
||||
import java.util.Map;
|
||||
import java.util.TreeMap;
|
||||
|
||||
import org.eclipse.swt.graphics.Device;
|
||||
import org.eclipse.swt.graphics.Image;
|
||||
import org.eclipse.swt.graphics.ImageData;
|
||||
import org.eclipse.swt.graphics.PaletteData;
|
||||
import org.eclipse.swt.graphics.RGB;
|
||||
|
||||
/**
|
||||
* Universal image storage for SWT processing. It contains SVG or bitmap image depends on file and settings.
|
||||
*/
|
||||
public abstract class SwtUniversalImage {
|
||||
|
||||
private Map<String, Image> cache = new TreeMap<String, Image>();
|
||||
|
||||
@Deprecated
|
||||
protected abstract Image renderSimple( Device device );
|
||||
|
||||
protected abstract Image renderSimple( Device device, int width, int height );
|
||||
|
||||
protected abstract Image renderRotated( Device device, int width, int height, double angleRadians );
|
||||
|
||||
public synchronized void dispose() {
|
||||
if ( cache == null ) {
|
||||
return;
|
||||
}
|
||||
|
||||
for ( Image img : cache.values() ) {
|
||||
if ( !img.isDisposed() ) {
|
||||
img.dispose();
|
||||
}
|
||||
}
|
||||
cache = null;
|
||||
}
|
||||
|
||||
private void checkDisposed() {
|
||||
if ( cache == null ) {
|
||||
throw new RuntimeException( "Already disposed" );
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated Use getAsBitmapForSize() instead.
|
||||
*/
|
||||
@Deprecated
|
||||
public synchronized Image getAsBitmap( Device device ) {
|
||||
checkDisposed();
|
||||
|
||||
Image result = cache.get( "" );
|
||||
|
||||
if ( result == null ) {
|
||||
result = renderSimple( device );
|
||||
cache.put( "", result );
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Method getAsBitmapForSize(..., angle) can't be called, because it returns bigger picture.
|
||||
*/
|
||||
public synchronized Image getAsBitmapForSize( Device device, int width, int height ) {
|
||||
checkDisposed();
|
||||
|
||||
String key = width + "x" + height;
|
||||
Image result = cache.get( key );
|
||||
if ( result == null ) {
|
||||
result = renderSimple( device, width, height );
|
||||
cache.put( key, result );
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Draw rotated image on double canvas size. It required against lost corners on rotate.
|
||||
*/
|
||||
public synchronized Image getAsBitmapForSize( Device device, int width, int height, double angleRadians ) {
|
||||
checkDisposed();
|
||||
|
||||
int angleDegree = (int) Math.round( Math.toDegrees( angleRadians ) );
|
||||
while ( angleDegree < 0 ) {
|
||||
angleDegree += 360;
|
||||
}
|
||||
angleDegree %= 360;
|
||||
angleRadians = Math.toRadians( angleDegree );
|
||||
|
||||
String key = width + "x" + height + "/" + angleDegree;
|
||||
Image result = cache.get( key );
|
||||
if ( result == null ) {
|
||||
result = renderRotated( device, width, height, angleRadians );
|
||||
cache.put( key, result );
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Converts BufferedImage to SWT/Image with alpha channel.
|
||||
*/
|
||||
protected Image swing2swt( Device device, BufferedImage img ) {
|
||||
PaletteData palette = new PaletteData( 0xFF0000, 0xFF00, 0xFF );
|
||||
ImageData data = new ImageData( img.getWidth(), img.getHeight(), 32, palette );
|
||||
for ( int y = 0; y < data.height; y++ ) {
|
||||
for ( int x = 0; x < data.width; x++ ) {
|
||||
int rgba = img.getRGB( x, y );
|
||||
int rgb = palette.getPixel( new RGB( ( rgba >> 16 ) & 0xFF, ( rgba >> 8 ) & 0xFF, rgba & 0xFF ) );
|
||||
int a = ( rgba >> 24 ) & 0xFF;
|
||||
data.setPixel( x, y, rgb );
|
||||
data.setAlpha( x, y, a );
|
||||
}
|
||||
}
|
||||
return new Image( device, data );
|
||||
}
|
||||
}
|
|
@ -0,0 +1,81 @@
|
|||
/*! ******************************************************************************
|
||||
*
|
||||
* Pentaho Data Integration
|
||||
*
|
||||
* Copyright (C) 2002-2017 by Hitachi Vantara : http://www.pentaho.com
|
||||
*
|
||||
*******************************************************************************
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
package org.pentaho.di.core;
|
||||
|
||||
import org.eclipse.swt.graphics.Device;
|
||||
import org.eclipse.swt.graphics.GC;
|
||||
import org.eclipse.swt.graphics.Image;
|
||||
import org.eclipse.swt.graphics.Transform;
|
||||
|
||||
public class SwtUniversalImageBitmap extends SwtUniversalImage {
|
||||
private final Image bitmap;
|
||||
|
||||
public SwtUniversalImageBitmap( Image bitmap ) {
|
||||
this.bitmap = bitmap;
|
||||
}
|
||||
|
||||
@Override
|
||||
public synchronized void dispose() {
|
||||
super.dispose();
|
||||
if ( !bitmap.isDisposed() ) {
|
||||
bitmap.dispose();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Image renderSimple( Device device ) {
|
||||
return bitmap;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Image renderSimple( Device device, int width, int height ) {
|
||||
int xsize = bitmap.getBounds().width;
|
||||
int ysize = bitmap.getBounds().height;
|
||||
Image result = new Image( device, width, height );
|
||||
GC gc = new GC( result );
|
||||
gc.drawImage( bitmap, 0, 0, xsize, ysize, 0, 0, width, height );
|
||||
gc.dispose();
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Image renderRotated( Device device, int width, int height, double angleRadians ) {
|
||||
Image result = new Image( device, width * 2, height * 2 );
|
||||
|
||||
GC gc = new GC( result );
|
||||
|
||||
int bw = bitmap.getBounds().width;
|
||||
int bh = bitmap.getBounds().height;
|
||||
Transform affineTransform = new Transform( device );
|
||||
affineTransform.translate( width, height );
|
||||
affineTransform.rotate( (float) Math.toDegrees( angleRadians ) );
|
||||
affineTransform.scale( (float) 1.0 * width / bw, (float) 1.0 * height / bh );
|
||||
gc.setTransform( affineTransform );
|
||||
|
||||
gc.drawImage( bitmap, 0, 0, bw, bh, -bw / 2, -bh / 2, bw, bh );
|
||||
|
||||
gc.dispose();
|
||||
|
||||
return result;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,89 @@
|
|||
/*! ******************************************************************************
|
||||
*
|
||||
* Pentaho Data Integration
|
||||
*
|
||||
* Copyright (C) 2002-2017 by Hitachi Vantara : http://www.pentaho.com
|
||||
*
|
||||
*******************************************************************************
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
package org.pentaho.di.core;
|
||||
|
||||
import java.awt.Graphics2D;
|
||||
import java.awt.geom.Dimension2D;
|
||||
import java.awt.image.BufferedImage;
|
||||
|
||||
import org.apache.batik.bridge.BridgeContext;
|
||||
import org.apache.batik.bridge.DocumentLoader;
|
||||
import org.apache.batik.bridge.GVTBuilder;
|
||||
import org.apache.batik.bridge.UserAgentAdapter;
|
||||
import org.apache.batik.ext.awt.image.codec.png.PNGRegistryEntry;
|
||||
import org.apache.batik.ext.awt.image.spi.ImageTagRegistry;
|
||||
import org.apache.batik.gvt.GraphicsNode;
|
||||
import org.eclipse.swt.graphics.Device;
|
||||
import org.eclipse.swt.graphics.Image;
|
||||
import org.pentaho.di.core.svg.SvgImage;
|
||||
|
||||
public class SwtUniversalImageSvg extends SwtUniversalImage {
|
||||
private final GraphicsNode svgGraphicsNode;
|
||||
private final Dimension2D svgGraphicsSize;
|
||||
|
||||
static {
|
||||
// workaround due to known issue in batik 1.8 - https://issues.apache.org/jira/browse/BATIK-1125
|
||||
ImageTagRegistry registry = ImageTagRegistry.getRegistry();
|
||||
registry.register( new PNGRegistryEntry() );
|
||||
}
|
||||
|
||||
public SwtUniversalImageSvg( SvgImage svg ) {
|
||||
// get GraphicsNode and size from svg document
|
||||
UserAgentAdapter userAgentAdapter = new UserAgentAdapter();
|
||||
DocumentLoader documentLoader = new DocumentLoader( userAgentAdapter );
|
||||
BridgeContext ctx = new BridgeContext( userAgentAdapter, documentLoader );
|
||||
GVTBuilder builder = new GVTBuilder();
|
||||
svgGraphicsNode = builder.build( ctx, svg.getDocument() );
|
||||
svgGraphicsSize = ctx.getDocumentSize();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Image renderSimple( Device device ) {
|
||||
return renderSimple( device, (int) Math.round( svgGraphicsSize.getWidth() ), (int) Math.round( svgGraphicsSize
|
||||
.getHeight() ) );
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Image renderSimple( Device device, int width, int height ) {
|
||||
BufferedImage area = SwingUniversalImage.createBitmap( width, height );
|
||||
|
||||
Graphics2D gc = SwingUniversalImage.createGraphics( area );
|
||||
SwingUniversalImageSvg.render( gc, svgGraphicsNode, svgGraphicsSize, width / 2, height / 2, width, height, 0 );
|
||||
gc.dispose();
|
||||
|
||||
return swing2swt( device, area );
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Image renderRotated( Device device, int width, int height, double angleRadians ) {
|
||||
BufferedImage doubleArea = SwingUniversalImage.createDoubleBitmap( width, height );
|
||||
|
||||
Graphics2D gc = SwingUniversalImage.createGraphics( doubleArea );
|
||||
SwingUniversalImageSvg.render( gc, svgGraphicsNode, svgGraphicsSize, doubleArea.getWidth() / 2, doubleArea
|
||||
.getHeight() / 2, width, height, angleRadians );
|
||||
|
||||
gc.dispose();
|
||||
|
||||
return swing2swt( device, doubleArea );
|
||||
}
|
||||
}
|
|
@ -0,0 +1,133 @@
|
|||
/*! ******************************************************************************
|
||||
*
|
||||
* Pentaho Data Integration
|
||||
*
|
||||
* Copyright (C) 2002-2017 by Hitachi Vantara : http://www.pentaho.com
|
||||
*
|
||||
*******************************************************************************
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
package org.pentaho.di.core;
|
||||
|
||||
import org.pentaho.di.core.logging.BaseLogTable;
|
||||
import org.pentaho.di.core.logging.ChannelLogTable;
|
||||
import org.pentaho.di.core.logging.JobEntryLogTable;
|
||||
import org.pentaho.di.core.logging.JobLogTable;
|
||||
import org.pentaho.di.core.logging.LogTableInterface;
|
||||
import org.pentaho.di.core.logging.MetricsLogTable;
|
||||
import org.pentaho.di.core.logging.PerformanceLogTable;
|
||||
import org.pentaho.di.core.logging.StepLogTable;
|
||||
import org.pentaho.di.core.logging.TransLogTable;
|
||||
import org.pentaho.di.job.JobMeta;
|
||||
import org.pentaho.di.trans.TransMeta;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Helper class that filterers information, before exporting meta to xml.
|
||||
*
|
||||
* @author IvanNikolaychuk
|
||||
*/
|
||||
public class XmlExportHelper {
|
||||
|
||||
/**
|
||||
* When exporting meta we should not export user global parameters.
|
||||
* Method makes clone for each table and deletes all global parameters.
|
||||
* We have to make clones of each table, because we don't want to change real tables content.
|
||||
*
|
||||
* @param transMeta
|
||||
* meta, that contains log tables to be refactored before export
|
||||
*/
|
||||
public static void swapTables( TransMeta transMeta ) {
|
||||
TransLogTable transLogTable = transMeta.getTransLogTable();
|
||||
if ( transLogTable != null ) {
|
||||
TransLogTable cloneTransLogTable = (TransLogTable) transLogTable.clone();
|
||||
cloneTransLogTable.setAllGlobalParametersToNull();
|
||||
transMeta.setTransLogTable( cloneTransLogTable );
|
||||
}
|
||||
|
||||
StepLogTable stepLogTable = transMeta.getStepLogTable();
|
||||
if ( stepLogTable != null ) {
|
||||
StepLogTable cloneStepLogTable = (StepLogTable) stepLogTable.clone();
|
||||
cloneStepLogTable.setAllGlobalParametersToNull();
|
||||
transMeta.setStepLogTable( cloneStepLogTable );
|
||||
}
|
||||
|
||||
PerformanceLogTable performanceLogTable = transMeta.getPerformanceLogTable();
|
||||
if ( performanceLogTable != null ) {
|
||||
PerformanceLogTable clonePerformanceLogTable = (PerformanceLogTable) performanceLogTable.clone();
|
||||
clonePerformanceLogTable.setAllGlobalParametersToNull();
|
||||
transMeta.setPerformanceLogTable( clonePerformanceLogTable );
|
||||
}
|
||||
|
||||
ChannelLogTable channelLogTable = transMeta.getChannelLogTable();
|
||||
if ( channelLogTable != null ) {
|
||||
ChannelLogTable cloneChannelLogTable = (ChannelLogTable) channelLogTable.clone();
|
||||
cloneChannelLogTable.setAllGlobalParametersToNull();
|
||||
transMeta.setChannelLogTable( cloneChannelLogTable );
|
||||
}
|
||||
|
||||
MetricsLogTable metricsLogTable = transMeta.getMetricsLogTable();
|
||||
if ( metricsLogTable != null ) {
|
||||
MetricsLogTable cloneMetricsLogTable = (MetricsLogTable) metricsLogTable.clone();
|
||||
cloneMetricsLogTable.setAllGlobalParametersToNull();
|
||||
transMeta.setMetricsLogTable( cloneMetricsLogTable );
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param jobMeta
|
||||
* contains log tables to be refactored before export
|
||||
*/
|
||||
public static void swapTables( JobMeta jobMeta ) {
|
||||
JobLogTable jobLogTable = jobMeta.getJobLogTable();
|
||||
if ( jobLogTable != null ) {
|
||||
JobLogTable cloneJobLogTable = (JobLogTable) jobLogTable.clone();
|
||||
cloneJobLogTable.setAllGlobalParametersToNull();
|
||||
jobMeta.setJobLogTable( cloneJobLogTable );
|
||||
}
|
||||
|
||||
JobEntryLogTable jobEntryLogTable = jobMeta.getJobEntryLogTable();
|
||||
if ( jobEntryLogTable != null ) {
|
||||
JobEntryLogTable cloneEntryLogTable = (JobEntryLogTable) jobEntryLogTable.clone();
|
||||
cloneEntryLogTable.setAllGlobalParametersToNull();
|
||||
jobMeta.setJobEntryLogTable( cloneEntryLogTable );
|
||||
}
|
||||
|
||||
ChannelLogTable channelLogTable = jobMeta.getChannelLogTable();
|
||||
if ( channelLogTable != null ) {
|
||||
ChannelLogTable cloneChannelLogTable = (ChannelLogTable) channelLogTable.clone();
|
||||
cloneChannelLogTable.setAllGlobalParametersToNull();
|
||||
jobMeta.setChannelLogTable( cloneChannelLogTable );
|
||||
}
|
||||
|
||||
List<LogTableInterface> extraLogTables = jobMeta.getExtraLogTables();
|
||||
if ( extraLogTables != null ) {
|
||||
List<LogTableInterface> cloneExtraLogTables = new ArrayList<>();
|
||||
for ( LogTableInterface logTable : extraLogTables ) {
|
||||
if ( logTable instanceof BaseLogTable ) {
|
||||
if ( logTable instanceof Cloneable ) {
|
||||
BaseLogTable cloneExtraLogTable = (BaseLogTable) logTable.clone();
|
||||
cloneExtraLogTable.setAllGlobalParametersToNull();
|
||||
cloneExtraLogTables.add( (LogTableInterface) cloneExtraLogTable );
|
||||
}
|
||||
}
|
||||
}
|
||||
jobMeta.setExtraLogTables( cloneExtraLogTables );
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,180 @@
|
|||
/*! ******************************************************************************
|
||||
*
|
||||
* Pentaho Data Integration
|
||||
*
|
||||
* Copyright (C) 2002-2018 by Hitachi Vantara : http://www.pentaho.com
|
||||
*
|
||||
*******************************************************************************
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
package org.pentaho.di.core.dnd;
|
||||
|
||||
import java.io.UnsupportedEncodingException;
|
||||
|
||||
import org.apache.commons.codec.binary.Base64;
|
||||
import org.pentaho.di.core.Const;
|
||||
import org.pentaho.di.core.exception.KettleXMLException;
|
||||
import org.pentaho.di.core.xml.XMLHandler;
|
||||
import org.pentaho.di.core.xml.XMLInterface;
|
||||
import org.w3c.dom.Document;
|
||||
import org.w3c.dom.Node;
|
||||
|
||||
/**
|
||||
* This class contains code to help you drag data from one part of a GUI to another by using XML as an intermediate
|
||||
* step.
|
||||
*
|
||||
* @author matt
|
||||
* @since 2006-04-16
|
||||
*
|
||||
*/
|
||||
public class DragAndDropContainer implements XMLInterface {
|
||||
public static final int TYPE_STEP = 1;
|
||||
public static final int TYPE_BASE_STEP_TYPE = 2;
|
||||
public static final int TYPE_DATABASE_CONNECTION = 3;
|
||||
public static final int TYPE_TRANS_HOP = 4;
|
||||
public static final int TYPE_TEXT = 5;
|
||||
public static final int TYPE_JOB_ENTRY = 6;
|
||||
public static final int TYPE_BASE_JOB_ENTRY = 7;
|
||||
public static final int TYPE_PHYSICAL_TABLE = 8;
|
||||
public static final int TYPE_PHYSICAL_COLUMN = 9;
|
||||
public static final int TYPE_BUSINESS_VIEW = 10;
|
||||
public static final int TYPE_BUSINESS_TABLE = 11;
|
||||
public static final int TYPE_BUSINESS_COLUMN = 12;
|
||||
public static final int TYPE_RELATIONSHIP = 13;
|
||||
public static final int TYPE_BUSINESS_MODEL = 14;
|
||||
|
||||
private static final String[] typeCodes = {
|
||||
"", "Step", "BaseStep", "DatabaseConnection", "TransHop", "Text", "Jobentry", "BaseJobentry",
|
||||
"PhysicalTable", "PhysicalColumn", "BusinessView", "BusinessTable", "BusinessColumn", "Relationship",
|
||||
"Business Model" };
|
||||
private static final String XML_TAG = "DragAndDrop";
|
||||
|
||||
private int type;
|
||||
private String id;
|
||||
private String data;
|
||||
|
||||
/**
|
||||
* Create a new DragAndDropContainer
|
||||
*
|
||||
* @param type
|
||||
* The type of drag&drop to perform
|
||||
* @param data
|
||||
* The data in the form of a String
|
||||
*/
|
||||
public DragAndDropContainer( int type, String data ) {
|
||||
this( type, data, null );
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a new DragAndDropContainer
|
||||
*
|
||||
* @param type
|
||||
* The type of drag&drop to perform
|
||||
* @param data
|
||||
* The data in the form of a String
|
||||
* @param id
|
||||
* The id of the step in the form of a String
|
||||
*/
|
||||
public DragAndDropContainer( int type, String data, String id ) {
|
||||
this.type = type;
|
||||
this.data = data;
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public int getType() {
|
||||
return type;
|
||||
}
|
||||
|
||||
public void setType( int type ) {
|
||||
this.type = type;
|
||||
}
|
||||
|
||||
public String getData() {
|
||||
return data;
|
||||
}
|
||||
|
||||
public void setData( String data ) {
|
||||
this.data = data;
|
||||
}
|
||||
|
||||
public String getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId( String id ) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public String getTypeCode() {
|
||||
if ( type <= 0 || type >= typeCodes.length ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return typeCodes[type];
|
||||
}
|
||||
|
||||
public static final int getType( String typeCode ) {
|
||||
for ( int i = 1; i < typeCodes.length; i++ ) {
|
||||
if ( typeCodes[i].equals( typeCode ) ) {
|
||||
return i;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
public String getXML() {
|
||||
try {
|
||||
StringBuilder xml = new StringBuilder( 100 );
|
||||
|
||||
xml.append( XMLHandler.getXMLHeader() ); // UFT-8 XML header
|
||||
xml.append( XMLHandler.openTag( XML_TAG ) ).append( Const.CR );
|
||||
|
||||
if ( id != null ) {
|
||||
xml.append( " " ).append( XMLHandler.addTagValue( "ID", id ) );
|
||||
}
|
||||
xml.append( " " ).append( XMLHandler.addTagValue( "DragType", getTypeCode() ) );
|
||||
xml.append( " " ).append(
|
||||
XMLHandler
|
||||
.addTagValue( "Data", new String( Base64.encodeBase64( data.getBytes( Const.XML_ENCODING ) ) ) ) );
|
||||
xml.append( XMLHandler.closeTag( XML_TAG ) ).append( Const.CR );
|
||||
|
||||
return xml.toString();
|
||||
} catch ( UnsupportedEncodingException e ) {
|
||||
throw new RuntimeException( "Unable to encode String in encoding [" + Const.XML_ENCODING + "]", e );
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Construct a Drag and drop container from an XML String
|
||||
*
|
||||
* @param xml
|
||||
* The XML string to convert from
|
||||
*/
|
||||
public DragAndDropContainer( String xml ) throws KettleXMLException {
|
||||
try {
|
||||
Document doc = XMLHandler.loadXMLString( xml );
|
||||
Node dnd = XMLHandler.getSubNode( doc, XML_TAG );
|
||||
|
||||
id = XMLHandler.getTagValue( dnd, "ID" );
|
||||
type = getType( XMLHandler.getTagValue( dnd, "DragType" ) );
|
||||
data =
|
||||
new String( Base64.decodeBase64( XMLHandler.getTagValue( dnd, "Data" ).getBytes() ), Const.XML_ENCODING );
|
||||
} catch ( Exception e ) {
|
||||
throw new KettleXMLException( "Unexpected error parsing Drag & Drop XML fragment: " + xml, e );
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,99 @@
|
|||
/*! ******************************************************************************
|
||||
*
|
||||
* Pentaho Data Integration
|
||||
*
|
||||
* Copyright (C) 2002-2017 by Hitachi Vantara : http://www.pentaho.com
|
||||
*
|
||||
*******************************************************************************
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
package org.pentaho.di.core.dnd;
|
||||
|
||||
import org.apache.commons.codec.binary.Base64;
|
||||
import org.eclipse.swt.dnd.ByteArrayTransfer;
|
||||
import org.eclipse.swt.dnd.TransferData;
|
||||
import org.pentaho.di.core.Const;
|
||||
import org.pentaho.di.core.logging.LogChannel;
|
||||
import org.pentaho.di.core.logging.LogChannelInterface;
|
||||
|
||||
public class XMLTransfer extends ByteArrayTransfer {
|
||||
private static final String MYTYPENAME = "KETTLE_XML_TRANSFER";
|
||||
|
||||
private static final int MYTYPEID = registerType( MYTYPENAME );
|
||||
|
||||
private static XMLTransfer _instance = new XMLTransfer();
|
||||
|
||||
private LogChannelInterface log;
|
||||
|
||||
private XMLTransfer() {
|
||||
this.log = new LogChannel( "XML DND Transfer" );
|
||||
}
|
||||
|
||||
public static XMLTransfer getInstance() {
|
||||
return _instance;
|
||||
}
|
||||
|
||||
public void javaToNative( Object object, TransferData transferData ) {
|
||||
if ( !checkMyType( object ) ) {
|
||||
return; // DND.error(DND.ERROR_INVALID_DATA);
|
||||
}
|
||||
|
||||
try {
|
||||
byte[] buffer =
|
||||
Base64.encodeBase64( ( (DragAndDropContainer) object ).getXML().getBytes( Const.XML_ENCODING ) );
|
||||
|
||||
super.javaToNative( buffer, transferData );
|
||||
} catch ( Exception e ) {
|
||||
log.logError( "Unexpected error trying to put a string onto the XML Transfer type: " + e.toString() );
|
||||
log.logError( Const.getStackTracker( e ) );
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
boolean checkMyType( Object object ) {
|
||||
if ( object == null || !( object instanceof DragAndDropContainer ) ) {
|
||||
return false;
|
||||
}
|
||||
|
||||
// System.out.println("Object class: "+object.getClass().toString());
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public Object nativeToJava( TransferData transferData ) {
|
||||
if ( isSupportedType( transferData ) ) {
|
||||
try {
|
||||
byte[] buffer = (byte[]) super.nativeToJava( transferData );
|
||||
String xml = new String( Base64.decodeBase64( new String( buffer ).getBytes() ) );
|
||||
return new DragAndDropContainer( xml );
|
||||
} catch ( Exception e ) {
|
||||
log.logError( "Unexpected error trying to read a drag and drop container from the XML Transfer type: "
|
||||
+ e.toString() );
|
||||
log.logError( Const.getStackTracker( e ) );
|
||||
return null;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
protected String[] getTypeNames() {
|
||||
return new String[] { MYTYPENAME };
|
||||
}
|
||||
|
||||
protected int[] getTypeIds() {
|
||||
return new int[] { MYTYPEID };
|
||||
}
|
||||
}
|
|
@ -0,0 +1,52 @@
|
|||
/*! ******************************************************************************
|
||||
*
|
||||
* Pentaho Data Integration
|
||||
*
|
||||
* Copyright (C) 2002-2017 by Hitachi Vantara : http://www.pentaho.com
|
||||
*
|
||||
*******************************************************************************
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
package org.pentaho.di.core.vfs;
|
||||
|
||||
import org.apache.commons.vfs2.FileObject;
|
||||
import org.apache.commons.vfs2.FileSystemOptions;
|
||||
import org.pentaho.di.core.exception.KettleFileException;
|
||||
import org.pentaho.vfs.ui.VfsResolver;
|
||||
|
||||
/**
|
||||
* @author Andrey Khayrutdinov
|
||||
*/
|
||||
public class KettleVfsDelegatingResolver implements VfsResolver {
|
||||
|
||||
@Override
|
||||
public FileObject resolveFile( String vfsUrl ) {
|
||||
try {
|
||||
return KettleVFS.getFileObject( vfsUrl );
|
||||
} catch ( KettleFileException e ) {
|
||||
throw new RuntimeException( e );
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public FileObject resolveFile( String vfsUrl, FileSystemOptions fsOptions ) {
|
||||
try {
|
||||
return KettleVFS.getFileObject( vfsUrl, fsOptions );
|
||||
} catch ( KettleFileException e ) {
|
||||
throw new RuntimeException( e );
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,518 @@
|
|||
/*! ******************************************************************************
|
||||
*
|
||||
* Pentaho Data Integration
|
||||
*
|
||||
* Copyright (C) 2002-2017 by Hitachi Vantara : http://www.pentaho.com
|
||||
*
|
||||
*******************************************************************************
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
package org.pentaho.di.ui.cluster.dialog;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
import org.eclipse.jface.dialogs.MessageDialog;
|
||||
import org.eclipse.swt.SWT;
|
||||
import org.eclipse.swt.events.ModifyEvent;
|
||||
import org.eclipse.swt.events.ModifyListener;
|
||||
import org.eclipse.swt.events.SelectionAdapter;
|
||||
import org.eclipse.swt.events.SelectionEvent;
|
||||
import org.eclipse.swt.events.ShellAdapter;
|
||||
import org.eclipse.swt.events.ShellEvent;
|
||||
import org.eclipse.swt.layout.FormAttachment;
|
||||
import org.eclipse.swt.layout.FormData;
|
||||
import org.eclipse.swt.layout.FormLayout;
|
||||
import org.eclipse.swt.widgets.Button;
|
||||
import org.eclipse.swt.widgets.Dialog;
|
||||
import org.eclipse.swt.widgets.Display;
|
||||
import org.eclipse.swt.widgets.Event;
|
||||
import org.eclipse.swt.widgets.Label;
|
||||
import org.eclipse.swt.widgets.Listener;
|
||||
import org.eclipse.swt.widgets.Shell;
|
||||
import org.eclipse.swt.widgets.TableItem;
|
||||
import org.eclipse.swt.widgets.Text;
|
||||
import org.pentaho.di.cluster.ClusterSchema;
|
||||
import org.pentaho.di.cluster.SlaveServer;
|
||||
import org.pentaho.di.core.Const;
|
||||
import org.pentaho.di.i18n.BaseMessages;
|
||||
import org.pentaho.di.ui.core.PropsUI;
|
||||
import org.pentaho.di.ui.core.dialog.EnterSelectionDialog;
|
||||
import org.pentaho.di.ui.core.gui.GUIResource;
|
||||
import org.pentaho.di.ui.core.gui.WindowProperty;
|
||||
import org.pentaho.di.ui.core.widget.ColumnInfo;
|
||||
import org.pentaho.di.ui.core.widget.TableView;
|
||||
import org.pentaho.di.ui.core.widget.TextVar;
|
||||
import org.pentaho.di.ui.trans.step.BaseStepDialog;
|
||||
import org.pentaho.di.ui.util.DialogUtils;
|
||||
|
||||
/**
|
||||
*
|
||||
* Dialog that allows you to edit the settings of the cluster schema
|
||||
*
|
||||
* @see ClusterSchema
|
||||
* @author Matt
|
||||
* @since 17-11-2006
|
||||
*
|
||||
*/
|
||||
|
||||
public class ClusterSchemaDialog extends Dialog {
|
||||
private static Class<?> PKG = ClusterSchemaDialog.class; // for i18n purposes, needed by Translator2!!
|
||||
|
||||
// private static LogWriter log = LogWriter.getInstance();
|
||||
|
||||
private ClusterSchema clusterSchema;
|
||||
|
||||
private Collection<ClusterSchema> existingSchemas;
|
||||
|
||||
private Shell shell;
|
||||
|
||||
// Name
|
||||
private Text wName;
|
||||
|
||||
// Servers
|
||||
private TableView wServers;
|
||||
|
||||
private Button wOK, wCancel;
|
||||
|
||||
private ModifyListener lsMod;
|
||||
|
||||
private PropsUI props;
|
||||
|
||||
private int middle;
|
||||
private int margin;
|
||||
|
||||
private ClusterSchema originalSchema;
|
||||
private boolean ok;
|
||||
|
||||
private Button wSelect;
|
||||
|
||||
private TextVar wPort;
|
||||
|
||||
private TextVar wBufferSize;
|
||||
|
||||
private TextVar wFlushInterval;
|
||||
|
||||
private Button wCompressed;
|
||||
|
||||
private Button wDynamic;
|
||||
|
||||
private List<SlaveServer> slaveServers;
|
||||
|
||||
public ClusterSchemaDialog( Shell par, ClusterSchema clusterSchema, Collection<ClusterSchema> existingSchemas,
|
||||
List<SlaveServer> slaveServers ) {
|
||||
super( par, SWT.NONE );
|
||||
this.clusterSchema = clusterSchema.clone();
|
||||
this.originalSchema = clusterSchema;
|
||||
this.existingSchemas = existingSchemas;
|
||||
this.slaveServers = slaveServers;
|
||||
|
||||
props = PropsUI.getInstance();
|
||||
ok = false;
|
||||
}
|
||||
|
||||
public ClusterSchemaDialog( Shell par, ClusterSchema clusterSchema, List<SlaveServer> slaveServers ) {
|
||||
this( par, clusterSchema, Collections.<ClusterSchema>emptyList(), slaveServers );
|
||||
}
|
||||
|
||||
public boolean open() {
|
||||
Shell parent = getParent();
|
||||
shell = new Shell( parent, SWT.DIALOG_TRIM | SWT.RESIZE | SWT.MAX | SWT.MIN );
|
||||
props.setLook( shell );
|
||||
shell.setImage( GUIResource.getInstance().getImageCluster() );
|
||||
|
||||
lsMod = new ModifyListener() {
|
||||
public void modifyText( ModifyEvent e ) {
|
||||
clusterSchema.setChanged();
|
||||
}
|
||||
};
|
||||
|
||||
middle = props.getMiddlePct();
|
||||
margin = Const.MARGIN;
|
||||
|
||||
FormLayout formLayout = new FormLayout();
|
||||
formLayout.marginWidth = Const.FORM_MARGIN;
|
||||
formLayout.marginHeight = Const.FORM_MARGIN;
|
||||
|
||||
shell.setText( BaseMessages.getString( PKG, "ClusterSchemaDialog.Shell.Title" ) );
|
||||
shell.setLayout( formLayout );
|
||||
|
||||
// First, add the buttons...
|
||||
|
||||
// Buttons
|
||||
wOK = new Button( shell, SWT.PUSH );
|
||||
wOK.setText( BaseMessages.getString( PKG, "System.Button.OK" ) );
|
||||
|
||||
wCancel = new Button( shell, SWT.PUSH );
|
||||
wCancel.setText( BaseMessages.getString( PKG, "System.Button.Cancel" ) );
|
||||
|
||||
Button[] buttons = new Button[] { wOK, wCancel };
|
||||
BaseStepDialog.positionBottomButtons( shell, buttons, margin, null );
|
||||
|
||||
// The rest stays above the buttons, so we added those first...
|
||||
|
||||
// What's the schema name??
|
||||
Label wlName = new Label( shell, SWT.RIGHT );
|
||||
props.setLook( wlName );
|
||||
wlName.setText( BaseMessages.getString( PKG, "ClusterSchemaDialog.Schema.Label" ) );
|
||||
FormData fdlName = new FormData();
|
||||
fdlName.top = new FormAttachment( 0, 0 );
|
||||
fdlName.left = new FormAttachment( 0, 0 ); // First one in the left top corner
|
||||
fdlName.right = new FormAttachment( middle, 0 );
|
||||
wlName.setLayoutData( fdlName );
|
||||
|
||||
wName = new Text( shell, SWT.SINGLE | SWT.LEFT | SWT.BORDER );
|
||||
props.setLook( wName );
|
||||
wName.addModifyListener( lsMod );
|
||||
FormData fdName = new FormData();
|
||||
fdName.top = new FormAttachment( 0, 0 );
|
||||
fdName.left = new FormAttachment( middle, margin ); // To the right of the label
|
||||
fdName.right = new FormAttachment( 95, 0 );
|
||||
wName.setLayoutData( fdName );
|
||||
|
||||
// What's the base port??
|
||||
Label wlPort = new Label( shell, SWT.RIGHT );
|
||||
props.setLook( wlPort );
|
||||
wlPort.setText( BaseMessages.getString( PKG, "ClusterSchemaDialog.Port.Label" ) );
|
||||
FormData fdlPort = new FormData();
|
||||
fdlPort.top = new FormAttachment( wName, margin );
|
||||
fdlPort.left = new FormAttachment( 0, 0 ); // First one in the left top corner
|
||||
fdlPort.right = new FormAttachment( middle, 0 );
|
||||
wlPort.setLayoutData( fdlPort );
|
||||
|
||||
wPort = new TextVar( clusterSchema, shell, SWT.SINGLE | SWT.LEFT | SWT.BORDER );
|
||||
props.setLook( wPort );
|
||||
wPort.addModifyListener( lsMod );
|
||||
FormData fdPort = new FormData();
|
||||
fdPort.top = new FormAttachment( wName, margin );
|
||||
fdPort.left = new FormAttachment( middle, margin ); // To the right of the label
|
||||
fdPort.right = new FormAttachment( 95, 0 );
|
||||
wPort.setLayoutData( fdPort );
|
||||
|
||||
// What are the sockets buffer sizes??
|
||||
Label wlBufferSize = new Label( shell, SWT.RIGHT );
|
||||
props.setLook( wlBufferSize );
|
||||
wlBufferSize.setText( BaseMessages.getString( PKG, "ClusterSchemaDialog.SocketBufferSize.Label" ) );
|
||||
FormData fdlBufferSize = new FormData();
|
||||
fdlBufferSize.top = new FormAttachment( wPort, margin );
|
||||
fdlBufferSize.left = new FormAttachment( 0, 0 ); // First one in the left top corner
|
||||
fdlBufferSize.right = new FormAttachment( middle, 0 );
|
||||
wlBufferSize.setLayoutData( fdlBufferSize );
|
||||
|
||||
wBufferSize = new TextVar( clusterSchema, shell, SWT.SINGLE | SWT.LEFT | SWT.BORDER );
|
||||
props.setLook( wBufferSize );
|
||||
wBufferSize.addModifyListener( lsMod );
|
||||
FormData fdBufferSize = new FormData();
|
||||
fdBufferSize.top = new FormAttachment( wPort, margin );
|
||||
fdBufferSize.left = new FormAttachment( middle, margin ); // To the right of the label
|
||||
fdBufferSize.right = new FormAttachment( 95, 0 );
|
||||
wBufferSize.setLayoutData( fdBufferSize );
|
||||
|
||||
// What are the sockets buffer sizes??
|
||||
Label wlFlushInterval = new Label( shell, SWT.RIGHT );
|
||||
props.setLook( wlFlushInterval );
|
||||
wlFlushInterval.setText( BaseMessages.getString( PKG, "ClusterSchemaDialog.SocketFlushRows.Label" ) );
|
||||
FormData fdlFlushInterval = new FormData();
|
||||
fdlFlushInterval.top = new FormAttachment( wBufferSize, margin );
|
||||
fdlFlushInterval.left = new FormAttachment( 0, 0 ); // First one in the left top corner
|
||||
fdlFlushInterval.right = new FormAttachment( middle, 0 );
|
||||
wlFlushInterval.setLayoutData( fdlFlushInterval );
|
||||
|
||||
wFlushInterval = new TextVar( clusterSchema, shell, SWT.SINGLE | SWT.LEFT | SWT.BORDER );
|
||||
props.setLook( wFlushInterval );
|
||||
wFlushInterval.addModifyListener( lsMod );
|
||||
FormData fdFlushInterval = new FormData();
|
||||
fdFlushInterval.top = new FormAttachment( wBufferSize, margin );
|
||||
fdFlushInterval.left = new FormAttachment( middle, margin ); // To the right of the label
|
||||
fdFlushInterval.right = new FormAttachment( 95, 0 );
|
||||
wFlushInterval.setLayoutData( fdFlushInterval );
|
||||
|
||||
// What are the sockets buffer sizes??
|
||||
Label wlCompressed = new Label( shell, SWT.RIGHT );
|
||||
props.setLook( wlCompressed );
|
||||
wlCompressed.setText( BaseMessages.getString( PKG, "ClusterSchemaDialog.SocketDataCompressed.Label" ) );
|
||||
FormData fdlCompressed = new FormData();
|
||||
fdlCompressed.top = new FormAttachment( wFlushInterval, margin );
|
||||
fdlCompressed.left = new FormAttachment( 0, 0 ); // First one in the left top corner
|
||||
fdlCompressed.right = new FormAttachment( middle, 0 );
|
||||
wlCompressed.setLayoutData( fdlCompressed );
|
||||
|
||||
wCompressed = new Button( shell, SWT.CHECK );
|
||||
props.setLook( wCompressed );
|
||||
FormData fdCompressed = new FormData();
|
||||
fdCompressed.top = new FormAttachment( wFlushInterval, margin );
|
||||
fdCompressed.left = new FormAttachment( middle, margin ); // To the right of the label
|
||||
fdCompressed.right = new FormAttachment( 95, 0 );
|
||||
wCompressed.setLayoutData( fdCompressed );
|
||||
|
||||
// What are the sockets buffer sizes??
|
||||
Label wlDynamic = new Label( shell, SWT.RIGHT );
|
||||
wlDynamic.setToolTipText( BaseMessages.getString( PKG, "ClusterSchemaDialog.DynamicCluster.Tooltip" ) );
|
||||
props.setLook( wlDynamic );
|
||||
wlDynamic.setText( BaseMessages.getString( PKG, "ClusterSchemaDialog.DynamicCluster.Label" ) );
|
||||
FormData fdlDynamic = new FormData();
|
||||
fdlDynamic.top = new FormAttachment( wCompressed, margin );
|
||||
fdlDynamic.left = new FormAttachment( 0, 0 ); // First one in the left top corner
|
||||
fdlDynamic.right = new FormAttachment( middle, 0 );
|
||||
wlDynamic.setLayoutData( fdlDynamic );
|
||||
|
||||
wDynamic = new Button( shell, SWT.CHECK );
|
||||
wDynamic.setToolTipText( BaseMessages.getString( PKG, "ClusterSchemaDialog.DynamicCluster.Tooltip" ) );
|
||||
props.setLook( wDynamic );
|
||||
FormData fdDynamic = new FormData();
|
||||
fdDynamic.top = new FormAttachment( wCompressed, margin );
|
||||
fdDynamic.left = new FormAttachment( middle, margin ); // To the right of the label
|
||||
fdDynamic.right = new FormAttachment( 95, 0 );
|
||||
wDynamic.setLayoutData( fdDynamic );
|
||||
|
||||
// Schema servers:
|
||||
Label wlServers = new Label( shell, SWT.RIGHT );
|
||||
wlServers.setText( BaseMessages.getString( PKG, "ClusterSchemaDialog.SlaveServers.Label" ) );
|
||||
props.setLook( wlServers );
|
||||
FormData fdlServers = new FormData();
|
||||
fdlServers.left = new FormAttachment( 0, 0 );
|
||||
fdlServers.right = new FormAttachment( middle, 0 );
|
||||
fdlServers.top = new FormAttachment( wDynamic, margin );
|
||||
wlServers.setLayoutData( fdlServers );
|
||||
|
||||
// Some buttons to manage...
|
||||
wSelect = new Button( shell, SWT.PUSH );
|
||||
wSelect.setText( BaseMessages.getString( PKG, "ClusterSchemaDialog.SelectSlaveServers.Label" ) );
|
||||
props.setLook( wSelect );
|
||||
FormData fdSelect = new FormData();
|
||||
fdSelect.right = new FormAttachment( 100, 0 );
|
||||
fdSelect.top = new FormAttachment( wlServers, 5 * margin );
|
||||
wSelect.setLayoutData( fdSelect );
|
||||
wSelect.addSelectionListener( new SelectionAdapter() {
|
||||
public void widgetSelected( SelectionEvent e ) {
|
||||
selectSlaveServers();
|
||||
}
|
||||
} );
|
||||
|
||||
ColumnInfo[] partitionColumns =
|
||||
new ColumnInfo[] {
|
||||
new ColumnInfo(
|
||||
BaseMessages.getString( PKG, "ClusterSchemaDialog.ColumnInfoName.Label" ),
|
||||
ColumnInfo.COLUMN_TYPE_TEXT, true, false ),
|
||||
new ColumnInfo(
|
||||
BaseMessages.getString( PKG, "ClusterSchemaDialog.ColumnInfoServiceURL.Label" ),
|
||||
ColumnInfo.COLUMN_TYPE_TEXT, true, true ),
|
||||
new ColumnInfo(
|
||||
BaseMessages.getString( PKG, "ClusterSchemaDialog.ColumnInfoMaster.Label" ),
|
||||
ColumnInfo.COLUMN_TYPE_TEXT, true, true ), };
|
||||
wServers =
|
||||
new TableView(
|
||||
clusterSchema, shell, SWT.BORDER | SWT.FULL_SELECTION | SWT.SINGLE, partitionColumns, 1, lsMod, props );
|
||||
wServers.setReadonly( false );
|
||||
props.setLook( wServers );
|
||||
FormData fdServers = new FormData();
|
||||
fdServers.left = new FormAttachment( middle, margin );
|
||||
fdServers.right = new FormAttachment( wSelect, -2 * margin );
|
||||
fdServers.top = new FormAttachment( wDynamic, margin );
|
||||
fdServers.bottom = new FormAttachment( wOK, -margin * 2 );
|
||||
wServers.setLayoutData( fdServers );
|
||||
wServers.table.addSelectionListener( new SelectionAdapter() {
|
||||
public void widgetDefaultSelected( SelectionEvent e ) {
|
||||
editSlaveServer();
|
||||
}
|
||||
} );
|
||||
|
||||
// Add listeners
|
||||
wOK.addListener( SWT.Selection, new Listener() {
|
||||
public void handleEvent( Event e ) {
|
||||
ok();
|
||||
}
|
||||
} );
|
||||
wCancel.addListener( SWT.Selection, new Listener() {
|
||||
public void handleEvent( Event e ) {
|
||||
cancel();
|
||||
}
|
||||
} );
|
||||
|
||||
SelectionAdapter selAdapter = new SelectionAdapter() {
|
||||
public void widgetDefaultSelected( SelectionEvent e ) {
|
||||
ok();
|
||||
}
|
||||
};
|
||||
wName.addSelectionListener( selAdapter );
|
||||
wPort.addSelectionListener( selAdapter );
|
||||
wBufferSize.addSelectionListener( selAdapter );
|
||||
wFlushInterval.addSelectionListener( selAdapter );
|
||||
|
||||
// Detect X or ALT-F4 or something that kills this window...
|
||||
shell.addShellListener( new ShellAdapter() {
|
||||
public void shellClosed( ShellEvent e ) {
|
||||
cancel();
|
||||
}
|
||||
} );
|
||||
|
||||
getData();
|
||||
|
||||
BaseStepDialog.setSize( shell );
|
||||
|
||||
shell.open();
|
||||
Display display = parent.getDisplay();
|
||||
while ( !shell.isDisposed() ) {
|
||||
if ( !display.readAndDispatch() ) {
|
||||
display.sleep();
|
||||
}
|
||||
}
|
||||
return ok;
|
||||
}
|
||||
|
||||
private void editSlaveServer() {
|
||||
int idx = wServers.getSelectionIndex();
|
||||
if ( idx >= 0 ) {
|
||||
SlaveServer slaveServer = clusterSchema.findSlaveServer( wServers.getItems( 0 )[idx] );
|
||||
if ( slaveServer != null ) {
|
||||
SlaveServerDialog dialog = new SlaveServerDialog( shell, slaveServer, slaveServers );
|
||||
if ( dialog.open() ) {
|
||||
refreshSlaveServers();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void selectSlaveServers() {
|
||||
String[] names = SlaveServer.getSlaveServerNames( slaveServers );
|
||||
int[] idx = Const.indexsOfFoundStrings( wServers.getItems( 0 ), names );
|
||||
|
||||
EnterSelectionDialog dialog =
|
||||
new EnterSelectionDialog( shell, names,
|
||||
BaseMessages.getString( PKG, "ClusterSchemaDialog.SelectServers.Label" ),
|
||||
BaseMessages.getString( PKG, "ClusterSchemaDialog.SelectServersCluster.Label" ) );
|
||||
dialog.setAvoidQuickSearch();
|
||||
dialog.setSelectedNrs( idx );
|
||||
dialog.setMulti( true );
|
||||
if ( dialog.open() != null ) {
|
||||
clusterSchema.getSlaveServers().clear();
|
||||
int[] indeces = dialog.getSelectionIndeces();
|
||||
for ( int i = 0; i < indeces.length; i++ ) {
|
||||
SlaveServer slaveServer = SlaveServer.findSlaveServer( slaveServers, names[indeces[i]] );
|
||||
clusterSchema.getSlaveServers().add( slaveServer );
|
||||
}
|
||||
|
||||
refreshSlaveServers();
|
||||
}
|
||||
}
|
||||
|
||||
public void dispose() {
|
||||
props.setScreen( new WindowProperty( shell ) );
|
||||
shell.dispose();
|
||||
}
|
||||
|
||||
public void getData() {
|
||||
wName.setText( Const.NVL( clusterSchema.getName(), "" ) );
|
||||
wPort.setText( Const.NVL( clusterSchema.getBasePort(), "" ) );
|
||||
wBufferSize.setText( Const.NVL( clusterSchema.getSocketsBufferSize(), "" ) );
|
||||
wFlushInterval.setText( Const.NVL( clusterSchema.getSocketsFlushInterval(), "" ) );
|
||||
wCompressed.setSelection( clusterSchema.isSocketsCompressed() );
|
||||
wDynamic.setSelection( clusterSchema.isDynamic() );
|
||||
|
||||
refreshSlaveServers();
|
||||
|
||||
wName.setFocus();
|
||||
}
|
||||
|
||||
private void refreshSlaveServers() {
|
||||
wServers.clearAll( false );
|
||||
List<SlaveServer> slServers = clusterSchema.getSlaveServers();
|
||||
for ( int i = 0; i < slServers.size(); i++ ) {
|
||||
TableItem item = new TableItem( wServers.table, SWT.NONE );
|
||||
SlaveServer slaveServer = slServers.get( i );
|
||||
item.setText( 1, Const.NVL( slaveServer.getName(), "" ) );
|
||||
item.setText( 2, Const.NVL( slaveServer.toString(), "" ) );
|
||||
item.setText( 3, slaveServer.isMaster() ? "Y" : "N" );
|
||||
}
|
||||
wServers.removeEmptyRows();
|
||||
wServers.setRowNums();
|
||||
wServers.optWidth( true );
|
||||
}
|
||||
|
||||
private void cancel() {
|
||||
originalSchema = null;
|
||||
dispose();
|
||||
}
|
||||
|
||||
public void ok() {
|
||||
getInfo();
|
||||
|
||||
if ( !clusterSchema.getName().equals( originalSchema.getName() ) ) {
|
||||
if ( DialogUtils.objectWithTheSameNameExists( clusterSchema, existingSchemas ) ) {
|
||||
String title = BaseMessages.getString( PKG, "ClusterSchemaDialog.ClusterSchemaNameExists.Title" );
|
||||
String message =
|
||||
BaseMessages.getString( PKG, "ClusterSchemaDialog.ClusterSchemaNameExists", clusterSchema.getName() );
|
||||
String okButton = BaseMessages.getString( PKG, "System.Button.OK" );
|
||||
MessageDialog dialog =
|
||||
new MessageDialog( shell, title, null, message, MessageDialog.ERROR, new String[] { okButton }, 0 );
|
||||
|
||||
dialog.open();
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
originalSchema.setName( clusterSchema.getName() );
|
||||
originalSchema.setBasePort( clusterSchema.getBasePort() );
|
||||
originalSchema.setSocketsBufferSize( clusterSchema.getSocketsBufferSize() );
|
||||
originalSchema.setSocketsFlushInterval( clusterSchema.getSocketsFlushInterval() );
|
||||
originalSchema.setSocketsCompressed( clusterSchema.isSocketsCompressed() );
|
||||
originalSchema.setDynamic( clusterSchema.isDynamic() );
|
||||
originalSchema.setSlaveServers( clusterSchema.getSlaveServers() );
|
||||
originalSchema.setChanged();
|
||||
|
||||
ok = true;
|
||||
|
||||
// Debug: dynamic lis names/urls of slaves on the console
|
||||
//
|
||||
/*
|
||||
* if (originalSchema.isDynamic()) { // Find a master that is available // List<SlaveServer> dynamicSlaves = null;
|
||||
* for (SlaveServer slave : originalSchema.getSlaveServers()) { if (slave.isMaster() && dynamicSlaves==null) { try {
|
||||
* List<SlaveServerDetection> detections = slave.getSlaveServerDetections(); dynamicSlaves = new
|
||||
* ArrayList<SlaveServer>(); for (SlaveServerDetection detection : detections) { if (detection.isActive()) {
|
||||
* dynamicSlaves.add(detection.getSlaveServer());
|
||||
* logBasic("Found dynamic slave : "+detection.getSlaveServer().getName
|
||||
* ()+" --> "+detection.getSlaveServer().getServerAndPort()); } } } catch (Exception e) {
|
||||
* logError("Unable to contact master : "+slave.getName()+" --> "+slave.getServerAndPort(), e); } } } }
|
||||
*/
|
||||
|
||||
dispose();
|
||||
}
|
||||
|
||||
private void getInfo() {
|
||||
clusterSchema.setName( wName.getText() );
|
||||
clusterSchema.setBasePort( wPort.getText() );
|
||||
clusterSchema.setSocketsBufferSize( wBufferSize.getText() );
|
||||
clusterSchema.setSocketsFlushInterval( wFlushInterval.getText() );
|
||||
clusterSchema.setSocketsCompressed( wCompressed.getSelection() );
|
||||
clusterSchema.setDynamic( wDynamic.getSelection() );
|
||||
|
||||
String[] names = SlaveServer.getSlaveServerNames( slaveServers );
|
||||
int[] idx = Const.indexsOfFoundStrings( wServers.getItems( 0 ), names );
|
||||
|
||||
clusterSchema.getSlaveServers().clear();
|
||||
for ( int i = 0; i < idx.length; i++ ) {
|
||||
SlaveServer slaveServer = SlaveServer.findSlaveServer( slaveServers, names[idx[i]] );
|
||||
clusterSchema.getSlaveServers().add( slaveServer );
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return getClass().getSimpleName();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,606 @@
|
|||
/*! ******************************************************************************
|
||||
*
|
||||
* Pentaho Data Integration
|
||||
*
|
||||
* Copyright (C) 2002-2018 by Hitachi Vantara : http://www.pentaho.com
|
||||
*
|
||||
*******************************************************************************
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
package org.pentaho.di.ui.cluster.dialog;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
|
||||
import org.eclipse.jface.dialogs.MessageDialog;
|
||||
import org.eclipse.swt.SWT;
|
||||
import org.eclipse.swt.custom.CTabFolder;
|
||||
import org.eclipse.swt.custom.CTabItem;
|
||||
import org.eclipse.swt.events.ModifyEvent;
|
||||
import org.eclipse.swt.events.ModifyListener;
|
||||
import org.eclipse.swt.events.SelectionAdapter;
|
||||
import org.eclipse.swt.events.SelectionEvent;
|
||||
import org.eclipse.swt.events.ShellAdapter;
|
||||
import org.eclipse.swt.events.ShellEvent;
|
||||
import org.eclipse.swt.layout.FormAttachment;
|
||||
import org.eclipse.swt.layout.FormData;
|
||||
import org.eclipse.swt.layout.FormLayout;
|
||||
import org.eclipse.swt.widgets.Button;
|
||||
import org.eclipse.swt.widgets.Composite;
|
||||
import org.eclipse.swt.widgets.Control;
|
||||
import org.eclipse.swt.widgets.Dialog;
|
||||
import org.eclipse.swt.widgets.Display;
|
||||
import org.eclipse.swt.widgets.Event;
|
||||
import org.eclipse.swt.widgets.Label;
|
||||
import org.eclipse.swt.widgets.Listener;
|
||||
import org.eclipse.swt.widgets.Shell;
|
||||
import org.eclipse.swt.widgets.Text;
|
||||
import org.pentaho.di.cluster.SlaveServer;
|
||||
import org.pentaho.di.core.Const;
|
||||
import org.pentaho.di.core.Props;
|
||||
import org.pentaho.di.i18n.BaseMessages;
|
||||
import org.pentaho.di.ui.core.PropsUI;
|
||||
import org.pentaho.di.ui.core.dialog.EnterTextDialog;
|
||||
import org.pentaho.di.ui.core.dialog.ErrorDialog;
|
||||
import org.pentaho.di.ui.core.gui.GUIResource;
|
||||
import org.pentaho.di.ui.core.gui.WindowProperty;
|
||||
import org.pentaho.di.ui.core.widget.PasswordTextVar;
|
||||
import org.pentaho.di.ui.core.widget.TextVar;
|
||||
import org.pentaho.di.ui.trans.step.BaseStepDialog;
|
||||
import org.pentaho.di.ui.util.DialogUtils;
|
||||
import org.pentaho.di.www.RegisterTransServlet;
|
||||
|
||||
/**
|
||||
*
|
||||
* Dialog that allows you to edit the settings of the security service connection
|
||||
*
|
||||
* @see SlaveServer
|
||||
* @author Matt
|
||||
* @since 31-10-2006
|
||||
*
|
||||
*/
|
||||
|
||||
public class SlaveServerDialog extends Dialog {
|
||||
private static Class<?> PKG = SlaveServerDialog.class; // for i18n purposes, needed by Translator2!!
|
||||
|
||||
private SlaveServer slaveServer;
|
||||
|
||||
private Collection<SlaveServer> existingServers;
|
||||
|
||||
private CTabFolder wTabFolder;
|
||||
private FormData fdTabFolder;
|
||||
|
||||
private CTabItem wServiceTab, wProxyTab;
|
||||
|
||||
private Composite wServiceComp, wProxyComp;
|
||||
private FormData fdServiceComp, fdProxyComp;
|
||||
|
||||
private Shell shell;
|
||||
|
||||
// Service
|
||||
private Text wName;
|
||||
private TextVar wHostname, wPort, wWebAppName, wUsername, wPassword;
|
||||
private Button wMaster;
|
||||
private Button wSSL;
|
||||
|
||||
// Proxy
|
||||
private TextVar wProxyHost, wProxyPort, wNonProxyHosts;
|
||||
|
||||
private Button wOK, wCancel;
|
||||
|
||||
private ModifyListener lsMod;
|
||||
|
||||
private PropsUI props;
|
||||
|
||||
private int middle;
|
||||
private int margin;
|
||||
|
||||
private SlaveServer originalServer;
|
||||
private boolean ok;
|
||||
|
||||
public SlaveServerDialog( Shell par, SlaveServer slaveServer, Collection<SlaveServer> existingServers ) {
|
||||
super( par, SWT.NONE );
|
||||
this.slaveServer = (SlaveServer) slaveServer.clone();
|
||||
this.slaveServer.shareVariablesWith( slaveServer );
|
||||
this.originalServer = slaveServer;
|
||||
this.existingServers = existingServers;
|
||||
props = PropsUI.getInstance();
|
||||
ok = false;
|
||||
}
|
||||
|
||||
public SlaveServerDialog( Shell par, SlaveServer slaveServer ) {
|
||||
this( par, slaveServer, Collections.<SlaveServer>emptyList() );
|
||||
}
|
||||
|
||||
public boolean open() {
|
||||
Shell parent = getParent();
|
||||
shell = new Shell( parent, SWT.DIALOG_TRIM | SWT.RESIZE | SWT.MAX | SWT.MIN );
|
||||
props.setLook( shell );
|
||||
shell.setImage( GUIResource.getInstance().getImageSlave() );
|
||||
|
||||
lsMod = new ModifyListener() {
|
||||
public void modifyText( ModifyEvent e ) {
|
||||
slaveServer.setChanged();
|
||||
}
|
||||
};
|
||||
|
||||
middle = props.getMiddlePct();
|
||||
margin = Const.MARGIN;
|
||||
|
||||
FormLayout formLayout = new FormLayout();
|
||||
formLayout.marginWidth = Const.FORM_MARGIN;
|
||||
formLayout.marginHeight = Const.FORM_MARGIN;
|
||||
|
||||
shell.setText( BaseMessages.getString( PKG, "SlaveServerDialog.Shell.Title" ) );
|
||||
shell.setLayout( formLayout );
|
||||
|
||||
// First, add the buttons...
|
||||
|
||||
// Buttons
|
||||
wOK = new Button( shell, SWT.PUSH );
|
||||
wOK.setText( BaseMessages.getString( PKG, "System.Button.OK" ) );
|
||||
|
||||
wCancel = new Button( shell, SWT.PUSH );
|
||||
wCancel.setText( BaseMessages.getString( PKG, "System.Button.Cancel" ) );
|
||||
|
||||
Button[] buttons = new Button[] { wOK, wCancel };
|
||||
BaseStepDialog.positionBottomButtons( shell, buttons, margin, null );
|
||||
|
||||
// The rest stays above the buttons...
|
||||
|
||||
wTabFolder = new CTabFolder( shell, SWT.BORDER );
|
||||
props.setLook( wTabFolder, Props.WIDGET_STYLE_TAB );
|
||||
|
||||
addServiceTab();
|
||||
addProxyTab();
|
||||
|
||||
fdTabFolder = new FormData();
|
||||
fdTabFolder.left = new FormAttachment( 0, 0 );
|
||||
fdTabFolder.top = new FormAttachment( 0, margin );
|
||||
fdTabFolder.right = new FormAttachment( 100, 0 );
|
||||
fdTabFolder.bottom = new FormAttachment( wOK, -margin );
|
||||
wTabFolder.setLayoutData( fdTabFolder );
|
||||
|
||||
// Add listeners
|
||||
wOK.addListener( SWT.Selection, new Listener() {
|
||||
public void handleEvent( Event e ) {
|
||||
ok();
|
||||
}
|
||||
} );
|
||||
wCancel.addListener( SWT.Selection, new Listener() {
|
||||
public void handleEvent( Event e ) {
|
||||
cancel();
|
||||
}
|
||||
} );
|
||||
|
||||
SelectionAdapter selAdapter = new SelectionAdapter() {
|
||||
public void widgetDefaultSelected( SelectionEvent e ) {
|
||||
ok();
|
||||
}
|
||||
};
|
||||
wUsername.addSelectionListener( selAdapter );
|
||||
wPassword.addSelectionListener( selAdapter );
|
||||
wHostname.addSelectionListener( selAdapter );
|
||||
wPort.addSelectionListener( selAdapter );
|
||||
wWebAppName.addSelectionListener( selAdapter );
|
||||
wProxyHost.addSelectionListener( selAdapter );
|
||||
wProxyPort.addSelectionListener( selAdapter );
|
||||
wNonProxyHosts.addSelectionListener( selAdapter );
|
||||
|
||||
// Detect X or ALT-F4 or something that kills this window...
|
||||
shell.addShellListener( new ShellAdapter() {
|
||||
public void shellClosed( ShellEvent e ) {
|
||||
cancel();
|
||||
}
|
||||
} );
|
||||
|
||||
wTabFolder.setSelection( 0 );
|
||||
|
||||
getData();
|
||||
|
||||
BaseStepDialog.setSize( shell );
|
||||
|
||||
shell.open();
|
||||
Display display = parent.getDisplay();
|
||||
while ( !shell.isDisposed() ) {
|
||||
if ( !display.readAndDispatch() ) {
|
||||
display.sleep();
|
||||
}
|
||||
}
|
||||
return ok;
|
||||
}
|
||||
|
||||
private void addServiceTab() {
|
||||
// ////////////////////////
|
||||
// START OF DB TAB ///
|
||||
// ////////////////////////
|
||||
wServiceTab = new CTabItem( wTabFolder, SWT.NONE );
|
||||
wServiceTab.setText( BaseMessages.getString( PKG, "SlaveServerDialog.USER_TAB_SERVICE" ) );
|
||||
|
||||
wServiceComp = new Composite( wTabFolder, SWT.NONE );
|
||||
props.setLook( wServiceComp );
|
||||
|
||||
FormLayout GenLayout = new FormLayout();
|
||||
GenLayout.marginWidth = Const.FORM_MARGIN;
|
||||
GenLayout.marginHeight = Const.FORM_MARGIN;
|
||||
wServiceComp.setLayout( GenLayout );
|
||||
|
||||
// What's the name
|
||||
Label wlName = new Label( wServiceComp, SWT.RIGHT );
|
||||
props.setLook( wlName );
|
||||
wlName.setText( BaseMessages.getString( PKG, "SlaveServerDialog.ServerName.Label" ) );
|
||||
FormData fdlName = new FormData();
|
||||
fdlName.top = new FormAttachment( 0, 0 );
|
||||
fdlName.left = new FormAttachment( 0, 0 ); // First one in the left top corner
|
||||
fdlName.right = new FormAttachment( middle, -margin );
|
||||
wlName.setLayoutData( fdlName );
|
||||
|
||||
wName = new Text( wServiceComp, SWT.SINGLE | SWT.LEFT | SWT.BORDER );
|
||||
props.setLook( wName );
|
||||
wName.addModifyListener( lsMod );
|
||||
FormData fdName = new FormData();
|
||||
fdName.top = new FormAttachment( 0, 0 );
|
||||
fdName.left = new FormAttachment( middle, 0 ); // To the right of the label
|
||||
fdName.right = new FormAttachment( 95, 0 );
|
||||
wName.setLayoutData( fdName );
|
||||
|
||||
// What's the hostname
|
||||
Label wlHostname = new Label( wServiceComp, SWT.RIGHT );
|
||||
props.setLook( wlHostname );
|
||||
wlHostname.setText( BaseMessages.getString( PKG, "SlaveServerDialog.HostIP.Label" ) );
|
||||
FormData fdlHostname = new FormData();
|
||||
fdlHostname.top = new FormAttachment( wName, margin * 2 );
|
||||
fdlHostname.left = new FormAttachment( 0, 0 ); // First one in the left top corner
|
||||
fdlHostname.right = new FormAttachment( middle, -margin );
|
||||
wlHostname.setLayoutData( fdlHostname );
|
||||
|
||||
wHostname = new TextVar( slaveServer, wServiceComp, SWT.SINGLE | SWT.LEFT | SWT.BORDER );
|
||||
props.setLook( wHostname );
|
||||
wHostname.addModifyListener( lsMod );
|
||||
FormData fdHostname = new FormData();
|
||||
fdHostname.top = new FormAttachment( wName, margin * 2 );
|
||||
fdHostname.left = new FormAttachment( middle, 0 ); // To the right of the label
|
||||
fdHostname.right = new FormAttachment( 95, 0 );
|
||||
wHostname.setLayoutData( fdHostname );
|
||||
|
||||
// What's the service URL?
|
||||
Label wlPort = new Label( wServiceComp, SWT.RIGHT );
|
||||
props.setLook( wlPort );
|
||||
wlPort.setText( BaseMessages.getString( PKG, "SlaveServerDialog.Port.Label" ) );
|
||||
FormData fdlPort = new FormData();
|
||||
fdlPort.top = new FormAttachment( wHostname, margin );
|
||||
fdlPort.left = new FormAttachment( 0, 0 ); // First one in the left top corner
|
||||
fdlPort.right = new FormAttachment( middle, -margin );
|
||||
wlPort.setLayoutData( fdlPort );
|
||||
|
||||
wPort = new TextVar( slaveServer, wServiceComp, SWT.SINGLE | SWT.LEFT | SWT.BORDER );
|
||||
props.setLook( wPort );
|
||||
wPort.addModifyListener( lsMod );
|
||||
FormData fdPort = new FormData();
|
||||
fdPort.top = new FormAttachment( wHostname, margin );
|
||||
fdPort.left = new FormAttachment( middle, 0 ); // To the right of the label
|
||||
fdPort.right = new FormAttachment( 95, 0 );
|
||||
wPort.setLayoutData( fdPort );
|
||||
|
||||
// webapp name (optional)
|
||||
Label wlWebAppName = new Label( wServiceComp, SWT.RIGHT );
|
||||
wlWebAppName.setText( BaseMessages.getString( PKG, "SlaveServerDialog.WebAppName.Label" ) );
|
||||
props.setLook( wlWebAppName );
|
||||
FormData fdlWebAppName = new FormData();
|
||||
fdlWebAppName.top = new FormAttachment( wPort, margin );
|
||||
fdlWebAppName.left = new FormAttachment( 0, 0 );
|
||||
fdlWebAppName.right = new FormAttachment( middle, -margin );
|
||||
wlWebAppName.setLayoutData( fdlWebAppName );
|
||||
|
||||
wWebAppName = new TextVar( slaveServer, wServiceComp, SWT.SINGLE | SWT.LEFT | SWT.BORDER );
|
||||
props.setLook( wWebAppName );
|
||||
wWebAppName.addModifyListener( lsMod );
|
||||
FormData fdWebAppName = new FormData();
|
||||
fdWebAppName.top = new FormAttachment( wPort, margin );
|
||||
fdWebAppName.left = new FormAttachment( middle, 0 );
|
||||
fdWebAppName.right = new FormAttachment( 95, 0 );
|
||||
wWebAppName.setLayoutData( fdWebAppName );
|
||||
|
||||
// Username
|
||||
Label wlUsername = new Label( wServiceComp, SWT.RIGHT );
|
||||
wlUsername.setText( BaseMessages.getString( PKG, "SlaveServerDialog.UserName.Label" ) );
|
||||
props.setLook( wlUsername );
|
||||
FormData fdlUsername = new FormData();
|
||||
fdlUsername.top = new FormAttachment( wWebAppName, margin );
|
||||
fdlUsername.left = new FormAttachment( 0, 0 );
|
||||
fdlUsername.right = new FormAttachment( middle, -margin );
|
||||
wlUsername.setLayoutData( fdlUsername );
|
||||
|
||||
wUsername = new TextVar( slaveServer, wServiceComp, SWT.SINGLE | SWT.LEFT | SWT.BORDER );
|
||||
props.setLook( wUsername );
|
||||
wUsername.addModifyListener( lsMod );
|
||||
FormData fdUsername = new FormData();
|
||||
fdUsername.top = new FormAttachment( wWebAppName, margin );
|
||||
fdUsername.left = new FormAttachment( middle, 0 );
|
||||
fdUsername.right = new FormAttachment( 95, 0 );
|
||||
wUsername.setLayoutData( fdUsername );
|
||||
|
||||
// Password
|
||||
Label wlPassword = new Label( wServiceComp, SWT.RIGHT );
|
||||
wlPassword.setText( BaseMessages.getString( PKG, "SlaveServerDialog.Password.Label" ) );
|
||||
props.setLook( wlPassword );
|
||||
FormData fdlPassword = new FormData();
|
||||
fdlPassword.top = new FormAttachment( wUsername, margin );
|
||||
fdlPassword.left = new FormAttachment( 0, 0 );
|
||||
fdlPassword.right = new FormAttachment( middle, -margin );
|
||||
wlPassword.setLayoutData( fdlPassword );
|
||||
|
||||
wPassword = new PasswordTextVar( slaveServer, wServiceComp, SWT.SINGLE | SWT.LEFT | SWT.BORDER );
|
||||
props.setLook( wPassword );
|
||||
wPassword.addModifyListener( lsMod );
|
||||
FormData fdPassword = new FormData();
|
||||
fdPassword.top = new FormAttachment( wUsername, margin );
|
||||
fdPassword.left = new FormAttachment( middle, 0 );
|
||||
fdPassword.right = new FormAttachment( 95, 0 );
|
||||
wPassword.setLayoutData( fdPassword );
|
||||
|
||||
// Master
|
||||
Label wlMaster = new Label( wServiceComp, SWT.RIGHT );
|
||||
wlMaster.setText( BaseMessages.getString( PKG, "SlaveServerDialog.IsTheMaster.Label" ) );
|
||||
props.setLook( wlMaster );
|
||||
FormData fdlMaster = new FormData();
|
||||
fdlMaster.top = new FormAttachment( wPassword, margin );
|
||||
fdlMaster.left = new FormAttachment( 0, 0 );
|
||||
fdlMaster.right = new FormAttachment( middle, -margin );
|
||||
wlMaster.setLayoutData( fdlMaster );
|
||||
|
||||
wMaster = new Button( wServiceComp, SWT.CHECK );
|
||||
props.setLook( wMaster );
|
||||
FormData fdMaster = new FormData();
|
||||
fdMaster.top = new FormAttachment( wPassword, margin );
|
||||
fdMaster.left = new FormAttachment( middle, 0 );
|
||||
fdMaster.right = new FormAttachment( 95, 0 );
|
||||
wMaster.setLayoutData( fdMaster );
|
||||
|
||||
// Https
|
||||
Control lastControl = wMaster;
|
||||
Label wlSSL = new Label( wServiceComp, SWT.RIGHT );
|
||||
wlSSL.setText( BaseMessages.getString( PKG, "SlaveServerDialog.UseSsl.Label" ) );
|
||||
props.setLook( wlSSL );
|
||||
FormData fd = new FormData();
|
||||
fd.top = new FormAttachment( lastControl, margin );
|
||||
fd.left = new FormAttachment( 0, 0 );
|
||||
fd.right = new FormAttachment( middle, -margin );
|
||||
wlSSL.setLayoutData( fd );
|
||||
wlSSL.setVisible( true );
|
||||
|
||||
wSSL = new Button( wServiceComp, SWT.CHECK );
|
||||
props.setLook( wSSL );
|
||||
FormData bfd = new FormData();
|
||||
bfd.top = new FormAttachment( lastControl, margin );
|
||||
bfd.left = new FormAttachment( middle, 0 );
|
||||
bfd.right = new FormAttachment( 95, 0 );
|
||||
wSSL.setLayoutData( bfd );
|
||||
wSSL.setVisible( true );
|
||||
|
||||
fdServiceComp = new FormData();
|
||||
fdServiceComp.left = new FormAttachment( 0, 0 );
|
||||
fdServiceComp.top = new FormAttachment( 0, 0 );
|
||||
fdServiceComp.right = new FormAttachment( 100, 0 );
|
||||
fdServiceComp.bottom = new FormAttachment( 100, 0 );
|
||||
wServiceComp.setLayoutData( fdServiceComp );
|
||||
|
||||
wServiceComp.layout();
|
||||
wServiceTab.setControl( wServiceComp );
|
||||
|
||||
// ///////////////////////////////////////////////////////////
|
||||
// / END OF GEN TAB
|
||||
// ///////////////////////////////////////////////////////////
|
||||
}
|
||||
|
||||
private void addProxyTab() {
|
||||
// ////////////////////////
|
||||
// START OF POOL TAB///
|
||||
// /
|
||||
wProxyTab = new CTabItem( wTabFolder, SWT.NONE );
|
||||
wProxyTab.setText( BaseMessages.getString( PKG, "SlaveServerDialog.USER_TAB_PROXY" ) );
|
||||
|
||||
FormLayout poolLayout = new FormLayout();
|
||||
poolLayout.marginWidth = Const.FORM_MARGIN;
|
||||
poolLayout.marginHeight = Const.FORM_MARGIN;
|
||||
|
||||
wProxyComp = new Composite( wTabFolder, SWT.NONE );
|
||||
props.setLook( wProxyComp );
|
||||
wProxyComp.setLayout( poolLayout );
|
||||
|
||||
// What's the data tablespace name?
|
||||
Label wlProxyHost = new Label( wProxyComp, SWT.RIGHT );
|
||||
props.setLook( wlProxyHost );
|
||||
wlProxyHost.setText( BaseMessages.getString( PKG, "SlaveServerDialog.ProxyServerName.Label" ) );
|
||||
FormData fdlProxyHost = new FormData();
|
||||
fdlProxyHost.top = new FormAttachment( 0, 0 );
|
||||
fdlProxyHost.left = new FormAttachment( 0, 0 ); // First one in the left top corner
|
||||
fdlProxyHost.right = new FormAttachment( middle, -margin );
|
||||
wlProxyHost.setLayoutData( fdlProxyHost );
|
||||
|
||||
wProxyHost = new TextVar( slaveServer, wProxyComp, SWT.BORDER | SWT.LEFT | SWT.SINGLE );
|
||||
props.setLook( wProxyHost );
|
||||
wProxyHost.addModifyListener( lsMod );
|
||||
FormData fdProxyHost = new FormData();
|
||||
fdProxyHost.top = new FormAttachment( 0, 0 );
|
||||
fdProxyHost.left = new FormAttachment( middle, 0 ); // To the right of the label
|
||||
fdProxyHost.right = new FormAttachment( 95, 0 );
|
||||
wProxyHost.setLayoutData( fdProxyHost );
|
||||
|
||||
// What's the initial pool size
|
||||
Label wlProxyPort = new Label( wProxyComp, SWT.RIGHT );
|
||||
props.setLook( wlProxyPort );
|
||||
wlProxyPort.setText( BaseMessages.getString( PKG, "SlaveServerDialog.ProxyServerPort.Label" ) );
|
||||
FormData fdlProxyPort = new FormData();
|
||||
fdlProxyPort.top = new FormAttachment( wProxyHost, margin );
|
||||
fdlProxyPort.left = new FormAttachment( 0, 0 ); // First one in the left top corner
|
||||
fdlProxyPort.right = new FormAttachment( middle, -margin );
|
||||
wlProxyPort.setLayoutData( fdlProxyPort );
|
||||
|
||||
wProxyPort = new TextVar( slaveServer, wProxyComp, SWT.SINGLE | SWT.LEFT | SWT.BORDER );
|
||||
props.setLook( wProxyPort );
|
||||
wProxyPort.addModifyListener( lsMod );
|
||||
FormData fdProxyPort = new FormData();
|
||||
fdProxyPort.top = new FormAttachment( wProxyHost, margin );
|
||||
fdProxyPort.left = new FormAttachment( middle, 0 ); // To the right of the label
|
||||
fdProxyPort.right = new FormAttachment( 95, 0 );
|
||||
wProxyPort.setLayoutData( fdProxyPort );
|
||||
|
||||
// What's the maximum pool size
|
||||
Label wlNonProxyHosts = new Label( wProxyComp, SWT.RIGHT );
|
||||
props.setLook( wlNonProxyHosts );
|
||||
wlNonProxyHosts.setText( BaseMessages.getString( PKG, "SlaveServerDialog.IgnoreProxyForHosts.Label" ) );
|
||||
FormData fdlNonProxyHosts = new FormData();
|
||||
fdlNonProxyHosts.top = new FormAttachment( wProxyPort, margin );
|
||||
fdlNonProxyHosts.left = new FormAttachment( 0, 0 ); // First one in the left top corner
|
||||
fdlNonProxyHosts.right = new FormAttachment( middle, -margin );
|
||||
wlNonProxyHosts.setLayoutData( fdlNonProxyHosts );
|
||||
|
||||
wNonProxyHosts = new TextVar( slaveServer, wProxyComp, SWT.SINGLE | SWT.LEFT | SWT.BORDER );
|
||||
props.setLook( wNonProxyHosts );
|
||||
wNonProxyHosts.addModifyListener( lsMod );
|
||||
FormData fdNonProxyHosts = new FormData();
|
||||
fdNonProxyHosts.top = new FormAttachment( wProxyPort, margin );
|
||||
fdNonProxyHosts.left = new FormAttachment( middle, 0 ); // To the right of the label
|
||||
fdNonProxyHosts.right = new FormAttachment( 95, 0 );
|
||||
wNonProxyHosts.setLayoutData( fdNonProxyHosts );
|
||||
|
||||
fdProxyComp = new FormData();
|
||||
fdProxyComp.left = new FormAttachment( 0, 0 );
|
||||
fdProxyComp.top = new FormAttachment( 0, 0 );
|
||||
fdProxyComp.right = new FormAttachment( 100, 0 );
|
||||
fdProxyComp.bottom = new FormAttachment( 100, 0 );
|
||||
wProxyComp.setLayoutData( fdProxyComp );
|
||||
|
||||
wProxyComp.layout();
|
||||
wProxyTab.setControl( wProxyComp );
|
||||
}
|
||||
|
||||
public void dispose() {
|
||||
props.setScreen( new WindowProperty( shell ) );
|
||||
shell.dispose();
|
||||
}
|
||||
|
||||
public void getData() {
|
||||
wName.setText( Const.NVL( slaveServer.getName(), "" ) );
|
||||
wHostname.setText( Const.NVL( slaveServer.getHostname(), "" ) );
|
||||
wPort.setText( Const.NVL( slaveServer.getPort(), "" ) );
|
||||
wWebAppName.setText( Const.NVL( slaveServer.getWebAppName(), "" ) );
|
||||
wUsername.setText( Const.NVL( slaveServer.getUsername(), "" ) );
|
||||
wPassword.setText( Const.NVL( slaveServer.getPassword(), "" ) );
|
||||
|
||||
wProxyHost.setText( Const.NVL( slaveServer.getProxyHostname(), "" ) );
|
||||
wProxyPort.setText( Const.NVL( slaveServer.getProxyPort(), "" ) );
|
||||
wNonProxyHosts.setText( Const.NVL( slaveServer.getNonProxyHosts(), "" ) );
|
||||
|
||||
wMaster.setSelection( slaveServer.isMaster() );
|
||||
|
||||
wSSL.setSelection( slaveServer.isSslMode() );
|
||||
|
||||
wName.setFocus();
|
||||
}
|
||||
|
||||
private void cancel() {
|
||||
originalServer = null;
|
||||
dispose();
|
||||
}
|
||||
|
||||
public void ok() {
|
||||
getInfo();
|
||||
|
||||
if ( !slaveServer.getName().equals( originalServer.getName() ) ) {
|
||||
if ( DialogUtils.objectWithTheSameNameExists( slaveServer, existingServers ) ) {
|
||||
String title = BaseMessages.getString( PKG, "SlaveServerDialog.SlaveServerNameExists.Title" );
|
||||
String message =
|
||||
BaseMessages.getString( PKG, "SlaveServerDialog.SlaveServerNameExists", slaveServer.getName() );
|
||||
String okButton = BaseMessages.getString( PKG, "System.Button.OK" );
|
||||
MessageDialog dialog =
|
||||
new MessageDialog( shell, title, null, message, MessageDialog.ERROR, new String[] { okButton }, 0 );
|
||||
|
||||
dialog.open();
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
originalServer.setName( slaveServer.getName() );
|
||||
originalServer.setHostname( slaveServer.getHostname() );
|
||||
originalServer.setPort( slaveServer.getPort() );
|
||||
originalServer.setWebAppName( slaveServer.getWebAppName() );
|
||||
originalServer.setUsername( slaveServer.getUsername() );
|
||||
originalServer.setPassword( slaveServer.getPassword() );
|
||||
|
||||
originalServer.setProxyHostname( slaveServer.getProxyHostname() );
|
||||
originalServer.setProxyPort( slaveServer.getProxyPort() );
|
||||
originalServer.setNonProxyHosts( slaveServer.getNonProxyHosts() );
|
||||
|
||||
originalServer.setMaster( slaveServer.isMaster() );
|
||||
|
||||
originalServer.setSslMode( slaveServer.isSslMode() );
|
||||
|
||||
originalServer.setChanged();
|
||||
|
||||
ok = true;
|
||||
|
||||
dispose();
|
||||
}
|
||||
|
||||
// Get dialog info in securityService
|
||||
private void getInfo() {
|
||||
slaveServer.setName( wName.getText() );
|
||||
slaveServer.setHostname( wHostname.getText() );
|
||||
slaveServer.setPort( wPort.getText() );
|
||||
slaveServer.setWebAppName( wWebAppName.getText() );
|
||||
slaveServer.setUsername( wUsername.getText() );
|
||||
slaveServer.setPassword( wPassword.getText() );
|
||||
|
||||
slaveServer.setProxyHostname( wProxyHost.getText() );
|
||||
slaveServer.setProxyPort( wProxyPort.getText() );
|
||||
slaveServer.setNonProxyHosts( wNonProxyHosts.getText() );
|
||||
|
||||
slaveServer.setMaster( wMaster.getSelection() );
|
||||
|
||||
slaveServer.setSslMode( wSSL.getSelection() );
|
||||
}
|
||||
|
||||
public void test() {
|
||||
try {
|
||||
getInfo();
|
||||
|
||||
String xml = "<sample/>";
|
||||
|
||||
String reply = slaveServer.sendXML( xml, RegisterTransServlet.CONTEXT_PATH );
|
||||
|
||||
String message =
|
||||
BaseMessages.getString( PKG, "SlaveServer.Replay.Info1" )
|
||||
+ slaveServer.constructUrl( RegisterTransServlet.CONTEXT_PATH ) + Const.CR
|
||||
+ BaseMessages.getString( PKG, "SlaveServer.Replay.Info2" ) + Const.CR + Const.CR;
|
||||
message += xml;
|
||||
message += Const.CR + Const.CR;
|
||||
message += "Reply was:" + Const.CR + Const.CR;
|
||||
message += reply + Const.CR;
|
||||
|
||||
EnterTextDialog dialog =
|
||||
new EnterTextDialog(
|
||||
shell, "XML", BaseMessages.getString( PKG, "SlaveServer.RetournedXMLInfo" ), message );
|
||||
dialog.open();
|
||||
} catch ( Exception e ) {
|
||||
new ErrorDialog( shell, BaseMessages.getString( PKG, "SlaveServer.ExceptionError" ), BaseMessages.getString(
|
||||
PKG, "SlaveServer.ExceptionUnableGetReplay.Error1" )
|
||||
+ slaveServer.getHostname()
|
||||
+ BaseMessages.getString( PKG, "SlaveServer.ExceptionUnableGetReplay.Error2" ), e );
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,50 @@
|
|||
############## SlaveServerDialog ####################
|
||||
SlaveServerDialog.Shell.Title=Slave Server dialog
|
||||
SlaveServerDialog.ServerName.Label=Server name
|
||||
SlaveServerDialog.HostIP.Label=Hostname or IP address
|
||||
|
||||
SlaveServerDialog.Port.Label=Port (empty is port 80)
|
||||
SlaveServerDialog.WebAppName.Label=Web App Name (required for Pentaho Server)
|
||||
SlaveServerDialog.UserName.Label=Username
|
||||
SlaveServerDialog.Password.Label=Password
|
||||
SlaveServerDialog.IsTheMaster.Label=Is the master
|
||||
SlaveServerDialog.UseSsl.Label=Use https protocol
|
||||
|
||||
SlaveServerDialog.ProxyServerName.Label=Proxy server hostname:
|
||||
SlaveServerDialog.ProxyServerPort.Label=The proxy server port:
|
||||
SlaveServerDialog.IgnoreProxyForHosts.Label=Ignore proxy for hosts: regexp | separated:
|
||||
|
||||
SlaveServerDialog.USER_TAB_SERVICE=Service
|
||||
SlaveServerDialog.USER_TAB_PROXY=Proxy
|
||||
|
||||
SlaveServerDialog.SlaveServerNameExists.Title=Slave Server Exists
|
||||
SlaveServerDialog.SlaveServerNameExists=Slave Server {0} already exists.
|
||||
|
||||
############## SlaveServer ####################
|
||||
SlaveServer.Replay.Info1=Testing reply from server URL:
|
||||
SlaveServer.Replay.Info2=Using content:
|
||||
SlaveServer.RetournedXMLInfo=The XML returned is:
|
||||
SlaveServer.ExceptionError=Error
|
||||
SlaveServer.ExceptionUnableGetReplay.Error1=Unable to get a reply back from URL [
|
||||
SlaveServer.ExceptionUnableGetReplay.Error2=]
|
||||
|
||||
############## ClusterSchemaDialog ####################
|
||||
ClusterSchemaDialog.Shell.Title=Clustering schema dialog
|
||||
ClusterSchemaDialog.Schema.Label=Schema name
|
||||
ClusterSchemaDialog.Port.Label=Port
|
||||
ClusterSchemaDialog.SocketBufferSize.Label=Sockets buffer size
|
||||
ClusterSchemaDialog.SocketFlushRows.Label=Sockets flush interval (rows)
|
||||
ClusterSchemaDialog.SocketDataCompressed.Label=Sockets data compressed?
|
||||
ClusterSchemaDialog.SlaveServers.Label=Slave servers
|
||||
ClusterSchemaDialog.SelectSlaveServers.Label=Select slave servers
|
||||
ClusterSchemaDialog.ColumnInfoName.Label=Name
|
||||
ClusterSchemaDialog.ColumnInfoServiceURL.Label=Service URL
|
||||
ClusterSchemaDialog.ColumnInfoMaster.Label=Master?
|
||||
ClusterSchemaDialog.SelectServers.Label=Select the servers
|
||||
ClusterSchemaDialog.SelectServersCluster.Label=Select the servers for this cluster
|
||||
ClusterSchemaDialog.DynamicCluster.Label = Dynamic cluster
|
||||
ClusterSchemaDialog.DynamicCluster.Tooltip = A dynamic cluster gets the list of slave servers from the first master slave server it can contact.\n A master is informed by the slave of its existence at startup.\nA master monitors the availability of the slaves.
|
||||
|
||||
ClusterSchemaDialog.ClusterSchemaNameExists.Title=Cluster Schema Exists
|
||||
ClusterSchemaDialog.ClusterSchemaNameExists=Cluster Schema {0} already exists.
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
#File generated by Hitachi Vantara Transator for package 'org.pentaho.di.ui.cluster.dialog' in locale 'es_AR'
|
||||
|
||||
|
||||
#Fri Dec 07 15:30:59 GMT-03:00 2007
|
||||
SlaveServerDialog.ProxyServerPort.Label=Puerto del servidor proxy\:
|
||||
ClusterSchemaDialog.SocketFlushRows.Label=Intervalo para vaciado de sockets (filas)
|
||||
SlaveServer.ExceptionError=Error
|
||||
ClusterSchemaDialog.Schema.Label=Nombre de Esquema
|
||||
ClusterSchemaDialog.Shell.Title=Di\u00e1logo de esquema de cluster
|
||||
SlaveServerDialog.IsTheMaster.Label=Es el maestro
|
||||
ClusterSchemaDialog.ColumnInfoServiceURL.Label=URL del servicio
|
||||
ClusterSchemaDialog.SocketBufferSize.Label=Tama\u00f1o del buffer de socket
|
||||
ClusterSchemaDialog.SelectSlaveServers.Label=Selecciones los servidores esclavos
|
||||
SlaveServerDialog.Port.Label=Puerto (vac\u00edo\=puerto 80)
|
||||
SlaveServer.ExceptionUnableGetReplay.Error2=]
|
||||
SlaveServerDialog.ProxyServerName.Label=Nombre de host del servidor proxy\:
|
||||
SlaveServer.ExceptionUnableGetReplay.Error1=No se puede obtener una respuesta de la URL [
|
||||
ClusterSchemaDialog.SelectServersCluster.Label=Seleccione los servidores para este cluster
|
||||
SlaveServerDialog.HostIP.Label=Nombre de Host \u00f3 direcci\u00f3n IP
|
||||
SlaveServer.Replay.Info1=Probando respuesta de la URL de servidor\:
|
||||
ClusterSchemaDialog.ColumnInfoMaster.Label=\u00bfMaestro?
|
||||
SlaveServer.Replay.Info2=Utilizando contenido\:
|
||||
SlaveServerDialog.USER_TAB_PROXY=Proxy
|
||||
SlaveServerDialog.Password.Label=Contrase\u00f1a
|
||||
SlaveServerDialog.IgnoreProxyForHosts.Label=Ignorar el proxy para hosts\: expresi\u00f3n regular separada por |\:
|
||||
ClusterSchemaDialog.ColumnInfoName.Label=Nombre
|
||||
SlaveServerDialog.Shell.Title=Di\u00e1logo del servidor esclavo
|
||||
ClusterSchemaDialog.SlaveServers.Label=Servidores esclavos
|
||||
SlaveServerDialog.UserName.Label=Nombre de usuario
|
||||
ClusterSchemaDialog.Port.Label=Puerto
|
||||
SlaveServerDialog.USER_TAB_SERVICE=Servicio
|
||||
ClusterSchemaDialog.SocketDataCompressed.Label=\u00bfDatos de socket comprimidos?
|
||||
SlaveServerDialog.ServerName.Label=Nombre del servidor
|
||||
ClusterSchemaDialog.SelectServers.Label=Seleccione los servidores
|
||||
SlaveServer.RetournedXMLInfo=El XML devuelto es\:
|
|
@ -0,0 +1,38 @@
|
|||
#File generated by Hitachi Vantara Translator for package 'org.pentaho.di.ui.cluster.dialog' in locale 'fr_FR'
|
||||
#
|
||||
#
|
||||
#Thu Feb 18 20:25:42 CET 2010
|
||||
ClusterSchemaDialog.SelectServersCluster.Label=S\u00E9lectionner les serveurs pour le sch\u00E9ma grappe
|
||||
ClusterSchemaDialog.Shell.Title=Sch\u00E9ma grappe
|
||||
ClusterSchemaDialog.SelectSlaveServers.Label=S\u00E9lectionner serveurs
|
||||
SlaveServerDialog.WebAppName.Label=Nom de l'application web (facultatif)
|
||||
ClusterSchemaDialog.ColumnInfoServiceURL.Label=URL service
|
||||
ClusterSchemaDialog.SocketBufferSize.Label=Taille tampon
|
||||
SlaveServerDialog.IsTheMaster.Label=Serveur Ma\u00EEtre?
|
||||
SlaveServerDialog.Port.Label=Port (vide \= 80)
|
||||
ClusterSchemaDialog.DynamicCluster.Label=Sch\u00E9ma grappe dynamique
|
||||
SlaveServer.ExceptionUnableGetReplay.Error2=]
|
||||
ClusterSchemaDialog.Schema.Label=Nom sch\u00E9ma
|
||||
SlaveServer.ExceptionUnableGetReplay.Error1=Impossible de r\u00E9cup\u00E9rer une r\u00E9ponse depuis l''URL [
|
||||
SlaveServerDialog.ProxyServerName.Label=Nom H\u00F4te Proxy\:
|
||||
SlaveServerDialog.ProxyServerPort.Label=Port Proxy\:
|
||||
ClusterSchemaDialog.SocketFlushRows.Label=Interval lib\u00E9ration (lignes)
|
||||
SlaveServer.ExceptionError=Erreur
|
||||
ClusterSchemaDialog.SelectServers.Label=S\u00E9lectionner serveurs
|
||||
SlaveServerDialog.HostIP.Label=Nom /IP H\u00F4te
|
||||
ClusterSchemaDialog.SocketDataCompressed.Label=Donn\u00E9es Compress\u00E9es?
|
||||
ClusterSchemaDialog.Port.Label=Port
|
||||
SlaveServerDialog.Password.Label=Mot de passe
|
||||
ClusterSchemaDialog.ColumnInfoName.Label=Nom
|
||||
ClusterSchemaDialog.SlaveServers.Label=Serveurs
|
||||
SlaveServerDialog.Shell.Title=Informations Serveur esclave
|
||||
SlaveServerDialog.UserName.Label=Utilisateur
|
||||
SlaveServerDialog.IgnoreProxyForHosts.Label=Ignorer proxy pour h\u00F4tes (separ\u00E9s par |)\:
|
||||
SlaveServerDialog.USER_TAB_PROXY=Proxy
|
||||
SlaveServer.Replay.Info2=contenu\:
|
||||
ClusterSchemaDialog.ColumnInfoMaster.Label=Serveur ma\u00EEtre?
|
||||
SlaveServer.Replay.Info1=R\u00E9ponse du serveur (URL)\:
|
||||
SlaveServerDialog.USER_TAB_SERVICE=Service
|
||||
ClusterSchemaDialog.DynamicCluster.Tooltip=Un sch\u00E9ma grappe dynamique r\u00E9cup\u00E8re la liste des serveurs esclaves depuis le premier serveur ma\u00EEtre contact\u00E9.\r\nChaque serveur esclave informe son serveur ma\u00EEtre de son existance au d\u00E9marrage.\r\nLe serveur ma\u00EEtre surveille ainsi la disponibilit\u00E9 de chacun de ses serveurs esclaves.
|
||||
SlaveServerDialog.ServerName.Label=Nom serveur
|
||||
SlaveServer.RetournedXMLInfo=Le flux The XML retourn\u00E9 est\:
|
|
@ -0,0 +1,38 @@
|
|||
#File generated by Hitachi Vantara Translator for package 'org.pentaho.di.ui.cluster.dialog' in locale 'it_IT'
|
||||
#
|
||||
#
|
||||
#Sun Feb 14 22:12:44 CET 2010
|
||||
ClusterSchemaDialog.SelectServersCluster.Label=Seleziona i server per questo cluster
|
||||
ClusterSchemaDialog.Shell.Title=Finestra dello schema di clustering
|
||||
ClusterSchemaDialog.SelectSlaveServers.Label=Seleziona i server slave
|
||||
SlaveServerDialog.WebAppName.Label=Nome applicazione web (opzionale)
|
||||
ClusterSchemaDialog.ColumnInfoServiceURL.Label=Servizio URL
|
||||
ClusterSchemaDialog.SocketBufferSize.Label=Dimensione del buffer dei socket
|
||||
SlaveServerDialog.IsTheMaster.Label=E'' il master
|
||||
SlaveServerDialog.Port.Label=Porta (vuoto \u00E8 la porta 80)
|
||||
ClusterSchemaDialog.DynamicCluster.Label=Cluster dinamico
|
||||
SlaveServer.ExceptionUnableGetReplay.Error2=]
|
||||
ClusterSchemaDialog.Schema.Label=Nome dello schema
|
||||
SlaveServer.ExceptionUnableGetReplay.Error1=Impossibile ricevere una risposta dall''URL [
|
||||
SlaveServerDialog.ProxyServerName.Label=Nome host del server proxy\:
|
||||
SlaveServerDialog.ProxyServerPort.Label=Porta del server proxy\:
|
||||
ClusterSchemaDialog.SocketFlushRows.Label=Intervallo di pulizia dei socket (righe)
|
||||
SlaveServer.ExceptionError=Errore
|
||||
ClusterSchemaDialog.SelectServers.Label=Seleziona i server
|
||||
SlaveServerDialog.HostIP.Label=Nome host o indirizzo IP
|
||||
ClusterSchemaDialog.SocketDataCompressed.Label=Dati dei socket compressi?
|
||||
ClusterSchemaDialog.Port.Label=Porta
|
||||
SlaveServerDialog.Password.Label=Password
|
||||
ClusterSchemaDialog.SlaveServers.Label=Server slave
|
||||
ClusterSchemaDialog.ColumnInfoName.Label=Nome
|
||||
SlaveServerDialog.Shell.Title=Finestra del server slave
|
||||
SlaveServerDialog.UserName.Label=Utente
|
||||
SlaveServerDialog.IgnoreProxyForHosts.Label=Ignora il proxy per gli host\: regexp | separata\:
|
||||
SlaveServerDialog.USER_TAB_PROXY=Proxy
|
||||
SlaveServer.Replay.Info2=Utilizzo contenuto\:
|
||||
SlaveServerDialog.USER_TAB_SERVICE=Servizio
|
||||
ClusterSchemaDialog.ColumnInfoMaster.Label=Master?
|
||||
SlaveServer.Replay.Info1=Prova di risposta dall''URL del server\:
|
||||
ClusterSchemaDialog.DynamicCluster.Tooltip=Un cluster dinamico riceve la lista dei server slave dal primo server\nmaster slave che pu\u00F2 essere contattato.\nUn master \u00E8 informato alla partenza dallo slave della sua esistenza.\nUn master monitora la disponibilit\u00E0 degli slave.
|
||||
SlaveServerDialog.ServerName.Label=Nome del server
|
||||
SlaveServer.RetournedXMLInfo=L''XML ritornato \u00E8\:
|
|
@ -0,0 +1,43 @@
|
|||
############## SlaveServerDialog ####################
|
||||
SlaveServerDialog.Shell.Title=\u30B9\u30EC\u30FC\u30D6\u30B5\u30FC\u30D0\u30FC
|
||||
SlaveServerDialog.ServerName.Label=\u30B5\u30FC\u30D0\u30FC\u540D
|
||||
SlaveServerDialog.HostIP.Label=\u30DB\u30B9\u30C8\u540D\u307E\u305F\u306FIP\u30A2\u30C9\u30EC\u30B9
|
||||
|
||||
SlaveServerDialog.Port.Label=\u30DD\u30FC\u30C8\u756A\u53F7 (\u7A7A\u767D\u306F 80)
|
||||
SlaveServerDialog.WebAppName.Label=\u30A6\u30A7\u30D6\u30A2\u30D7\u30EA\u540D (\u30AA\u30D7\u30B7\u30E7\u30F3)
|
||||
SlaveServerDialog.UserName.Label=\u30E6\u30FC\u30B6\u30FC\u540D
|
||||
SlaveServerDialog.Password.Label=\u30D1\u30B9\u30EF\u30FC\u30C9
|
||||
SlaveServerDialog.IsTheMaster.Label=\u30DE\u30B9\u30BF\u30FC\u30B5\u30FC\u30D0\u30FC\u306B\u3059\u308B
|
||||
|
||||
SlaveServerDialog.ProxyServerName.Label=\u30DB\u30B9\u30C8\u540D:
|
||||
SlaveServerDialog.ProxyServerPort.Label=\u30DD\u30FC\u30C8\u756A\u53F7:
|
||||
SlaveServerDialog.IgnoreProxyForHosts.Label=\u30D7\u30ED\u30AD\u30B7\u3092\u7121\u8996: \u6B63\u898F\u8868\u73FE\u3001'|'\u3067\u5206\u5272:
|
||||
|
||||
SlaveServerDialog.USER_TAB_SERVICE=\u30B5\u30FC\u30D3\u30B9
|
||||
SlaveServerDialog.USER_TAB_PROXY=\u30D7\u30ED\u30AD\u30B7
|
||||
|
||||
############## SlaveServer ####################
|
||||
SlaveServer.Replay.Info1=\u30B5\u30FC\u30D0\u30FCURL\u304B\u3089\u5FDC\u7B54\u3092\u30C6\u30B9\u30C8:
|
||||
SlaveServer.Replay.Info2=\u4F7F\u7528\u30B3\u30F3\u30C6\u30F3\u30C4:
|
||||
SlaveServer.RetournedXMLInfo=XML\u7D50\u679C:
|
||||
SlaveServer.ExceptionError=\u30A8\u30E9\u30FC
|
||||
SlaveServer.ExceptionUnableGetReplay.Error1=URL\u304B\u3089\u5FDC\u7B54\u3092\u5F97\u3089\u308C\u306A\u3044 [
|
||||
SlaveServer.ExceptionUnableGetReplay.Error2=]
|
||||
|
||||
############## ClusterSchemaDialog ####################
|
||||
ClusterSchemaDialog.Shell.Title=\u30AF\u30E9\u30B9\u30BF\u30EA\u30F3\u30B0\u30B9\u30AD\u30FC\u30DE
|
||||
ClusterSchemaDialog.Schema.Label=\u30B9\u30AD\u30FC\u30DE\u540D
|
||||
ClusterSchemaDialog.Port.Label=\u30DD\u30FC\u30C8\u756A\u53F7
|
||||
ClusterSchemaDialog.SocketBufferSize.Label=\u30BD\u30B1\u30C3\u30C8\u30D0\u30C3\u30D5\u30A1\u30B5\u30A4\u30BA
|
||||
ClusterSchemaDialog.SocketFlushRows.Label=\u30BD\u30B1\u30C3\u30C8\u30D5\u30E9\u30C3\u30B7\u30E5\u9593\u9694 (\u30EC\u30B3\u30FC\u30C9)
|
||||
ClusterSchemaDialog.SocketDataCompressed.Label=\u30BD\u30B1\u30C3\u30C8\u30C7\u30FC\u30BF\u3092\u5727\u7E2E\u3059\u308B
|
||||
ClusterSchemaDialog.SlaveServers.Label=\u30B9\u30EC\u30FC\u30D6\u30B5\u30FC\u30D0\u30FC
|
||||
ClusterSchemaDialog.SelectSlaveServers.Label=\u30B9\u30EC\u30FC\u30D6\u30B5\u30FC\u30D0\u30FC\u9078\u629E
|
||||
ClusterSchemaDialog.ColumnInfoName.Label=\u540D\u79F0
|
||||
ClusterSchemaDialog.ColumnInfoServiceURL.Label=\u30B5\u30FC\u30D3\u30B9URL
|
||||
ClusterSchemaDialog.ColumnInfoMaster.Label=\u30DE\u30B9\u30BF\u30FC
|
||||
ClusterSchemaDialog.SelectServers.Label=\u30B5\u30FC\u30D0\u30FC\u9078\u629E
|
||||
ClusterSchemaDialog.SelectServersCluster.Label=\u3053\u306E\u30AF\u30E9\u30B9\u30BF\u306E\u30B5\u30FC\u30D0\u30FC\u3092\u9078\u629E
|
||||
ClusterSchemaDialog.DynamicCluster.Label = \u52D5\u7684\u30AF\u30E9\u30B9\u30BF
|
||||
ClusterSchemaDialog.DynamicCluster.Tooltip = \u52D5\u7684\u30AF\u30E9\u30B9\u30BF\u306F\u30B3\u30F3\u30BF\u30AF\u30C8\u53EF\u80FD\u306A\u6700\u521D\u306E\u30DE\u30B9\u30BF\u30FC\u30B9\u30EC\u30FC\u30D6\u30B5\u30FC\u30D0\u30FC\u304B\u3089\u30B9\u30EC\u30FC\u30D6\u30B5\u30FC\u30D0\u30FC\u306E\u30EA\u30B9\u30C8\u3092\u53D6\u5F97\u3057\u307E\u3059\u3002\n\u30DE\u30B9\u30BF\u30FC\u306F\u8D77\u52D5\u6642\u306B\u305D\u306E\u5B58\u5728\u3092\u30B9\u30EC\u30FC\u30D6\u306B\u3088\u3063\u3066\u77E5\u3089\u3055\u308C\u307E\u3059\u3002\n\u30DE\u30B9\u30BF\u30FC\u306F\u30B9\u30EC\u30FC\u30D6\u306E\u53EF\u7528\u6027\u3092\u30E2\u30CB\u30BF\u30FC\u3057\u307E\u3059\u3002
|
||||
|
|
@ -0,0 +1,40 @@
|
|||
#Generated by ResourceBundle Editor (http://eclipse-rbe.sourceforge.net)
|
||||
#File generated by Hitachi Vantara Translator for package 'org.pentaho.di.ui.cluster.dialog' in locale 'ko_KR'
|
||||
#
|
||||
#
|
||||
#Fri Feb 26 15:04:54 KST 2010
|
||||
|
||||
ClusterSchemaDialog.ColumnInfoMaster.Label = \uB9C8\uC2A4\uD130?
|
||||
ClusterSchemaDialog.ColumnInfoName.Label = \uC774\uB984
|
||||
ClusterSchemaDialog.ColumnInfoServiceURL.Label = \uC11C\uBE44\uC2A4 URL
|
||||
ClusterSchemaDialog.DynamicCluster.Label = \uB3D9\uC801 \uD074\uB7EC\uC2A4\uD130
|
||||
ClusterSchemaDialog.DynamicCluster.Tooltip = \uB2E4\uC774\uB098\uBBF9 \uD074\uB7EC\uC2A4\uD130\uB294 \uC5F0\uACB0\uAC00\uB2A5\uD55C \uCCAB\uBC88\uC9F8 \uB9C8\uC2A4\uD130 \uC2AC\uB808\uC774\uBE0C \uC11C\uBC84\uC5D0\uC11C \uC2AC\uB808\uC774\uBE0C \uC11C\uBC84 \uB9AC\uC2A4\uD2B8\uB97C \uAC00\uC838\uC635\uB2C8\uB2E4.\r\nA master is informed by the slave of its existence at startup.\r\nA master monitors the availability of the slaves.
|
||||
ClusterSchemaDialog.Port.Label = \uD3EC\uD2B8
|
||||
ClusterSchemaDialog.Schema.Label = \uC2A4\uD0A4\uB9C8 \uC774\uB984
|
||||
ClusterSchemaDialog.SelectServers.Label = \uC11C\uBC84 \uC120\uD0DD
|
||||
ClusterSchemaDialog.SelectServersCluster.Label = \uD074\uB7EC\uC2A4\uD130\uC758 \uC11C\uBC84 \uC120\uD0DD
|
||||
ClusterSchemaDialog.SelectSlaveServers.Label = \uC2AC\uB808\uC774\uBE0C \uC11C\uBC84 \uC120\uD0DD
|
||||
ClusterSchemaDialog.Shell.Title = \uD074\uB7EC\uC2A4\uD130\uB9C1 \uC2A4\uD0A4\uB9C8
|
||||
ClusterSchemaDialog.SlaveServers.Label = \uC2AC\uB808\uC774\uBE0C \uC11C\uBC84
|
||||
ClusterSchemaDialog.SocketBufferSize.Label = \uC18C\uCF13 \uBC84\uD37C \uC0AC\uC774\uC988
|
||||
ClusterSchemaDialog.SocketDataCompressed.Label = \uC18C\uCF13 \uB370\uC774\uD130 \uC555\uCD95?
|
||||
ClusterSchemaDialog.SocketFlushRows.Label = \uC18C\uCF13 \uD50C\uB7EC\uC2DC \uC8FC\uAE30 (\uB85C\uC6B0)
|
||||
|
||||
SlaveServer.ExceptionError = \uC624\uB958
|
||||
SlaveServer.ExceptionUnableGetReplay.Error1 = \uD68C\uC2E0\uC744 \uAC00\uC838\uC62C \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. URL [
|
||||
SlaveServer.ExceptionUnableGetReplay.Error2 = ]
|
||||
SlaveServer.Replay.Info1 = \uC11C\uBC84 URL\uB85C\uBD80\uD130 \uD68C\uC2E0 \uD14C\uC2A4\uD2B8:
|
||||
SlaveServer.RetournedXMLInfo = \uD68C\uC2E0 XML:
|
||||
|
||||
SlaveServerDialog.HostIP.Label = \uD638\uC2A4\uD2B8\uBA85 \uB610\uB294 IP \uC8FC\uC18C
|
||||
SlaveServerDialog.IsTheMaster.Label = \uB9C8\uC2A4\uD130 \uC11C\uBC84?
|
||||
SlaveServerDialog.Password.Label = \uC554\uD638
|
||||
SlaveServerDialog.Port.Label = \uD3EC\uD2B8 (\uAE30\uBCF8 \uD3EC\uD2B8\uB294 80)
|
||||
SlaveServerDialog.ProxyServerName.Label = \uD504\uB85D\uC2DC \uC11C\uBC84 \uD638\uC2A4\uD2B8\uBA85
|
||||
SlaveServerDialog.ProxyServerPort.Label = \uD504\uB85D\uC2DC \uC11C\uBC84 \uD3EC\uD2B8
|
||||
SlaveServerDialog.ServerName.Label = \uC11C\uBC84 \uC774\uB984
|
||||
SlaveServerDialog.Shell.Title = \uC2AC\uB808\uC774\uBE0C \uC11C\uBC84
|
||||
SlaveServerDialog.USER_TAB_PROXY = \uD504\uB85D\uC2DC
|
||||
SlaveServerDialog.USER_TAB_SERVICE = \uC11C\uBE44\uC2A4
|
||||
SlaveServerDialog.UserName.Label = \uC0AC\uC6A9\uC790 \uC774\uB984
|
||||
SlaveServerDialog.WebAppName.Label = \uC6F9 \uC560\uD50C\uB9AC\uCF00\uC774\uC158 \uC774\uB984 (\uC120\uD0DD)
|
|
@ -0,0 +1,35 @@
|
|||
#File generated by Hitachi Vantara Translator for package 'org.pentaho.di.ui.cluster.dialog' in locale 'zh_CN'
|
||||
|
||||
|
||||
#Wed Sep 24 16:03:25 CST 2008
|
||||
ClusterSchemaDialog.SelectServersCluster.Label=\u4E3A\u8FD9\u4E2A\u96C6\u7FA4\u8BBE\u7F6E\u670D\u52A1\u5668
|
||||
ClusterSchemaDialog.Shell.Title=\u96C6\u7FA4schema\u5BF9\u8BDD\u6846
|
||||
ClusterSchemaDialog.SelectSlaveServers.Label=\u9009\u62E9\u5B50\u670D\u52A1\u5668
|
||||
ClusterSchemaDialog.ColumnInfoServiceURL.Label=\u670D\u52A1URL
|
||||
ClusterSchemaDialog.SocketBufferSize.Label=Sockets\u7F13\u5B58\u5927\u5C0F
|
||||
SlaveServerDialog.IsTheMaster.Label=\u662F\u4E3B\u670D\u52A1\u5668\u5417\uFF1F
|
||||
SlaveServerDialog.Port.Label=\u7AEF\u53E3\u53F7 (\u5982\u679C\u4E0D\u5199\u5C31\u662F\u7AEF\u53E380)
|
||||
SlaveServer.ExceptionUnableGetReplay.Error2=]
|
||||
ClusterSchemaDialog.Schema.Label=Schema\u540D\u79F0
|
||||
SlaveServer.ExceptionUnableGetReplay.Error1=Unable to get a reply back from URL [
|
||||
SlaveServerDialog.ProxyServerName.Label=\u4EE3\u7406\u670D\u52A1\u5668\u4E3B\u673A\u540D\:
|
||||
SlaveServerDialog.ProxyServerPort.Label=\u4EE3\u7406\u670D\u52A1\u5668\u7AEF\u53E3\:
|
||||
ClusterSchemaDialog.SocketFlushRows.Label=Sockets\u5237\u65B0\u95F4\u9694 (rows)
|
||||
SlaveServer.ExceptionError=\u9519\u8BEF
|
||||
SlaveServerDialog.HostIP.Label=\u4E3B\u673A\u540D\u79F0\u6216IP\u5730\u5740
|
||||
ClusterSchemaDialog.SelectServers.Label=\u9009\u62E9\u670D\u52A1\u5668
|
||||
ClusterSchemaDialog.SocketDataCompressed.Label=Sockets\u6570\u636E\u662F\u5426\u538B\u7F29?
|
||||
ClusterSchemaDialog.Port.Label=\u7AEF\u53E3
|
||||
SlaveServerDialog.Password.Label=\u5BC6\u7801
|
||||
ClusterSchemaDialog.ColumnInfoName.Label=\u540D\u79F0
|
||||
ClusterSchemaDialog.SlaveServers.Label=\u5B50\u670D\u52A1\u5668
|
||||
SlaveServerDialog.Shell.Title=\u5B50\u670D\u52A1\u5668\u5BF9\u8BDD\u6846
|
||||
SlaveServerDialog.UserName.Label=\u7528\u6237\u540D
|
||||
SlaveServerDialog.IgnoreProxyForHosts.Label=Ignore proxy for hosts\: regexp | separated\:
|
||||
SlaveServerDialog.USER_TAB_PROXY=\u4EE3\u7406
|
||||
SlaveServer.Replay.Info2=\u4F7F\u7528content(\u4E3B\u4F53)\:
|
||||
ClusterSchemaDialog.ColumnInfoMaster.Label=\u662F\u4E3B\u670D\u52A1\u5668\u5417\uFF1F?
|
||||
SlaveServer.Replay.Info1=\u6D4B\u8BD5\u54CD\u5E94\u6765\u81EA\u670D\u52A1\u5668URL\:
|
||||
SlaveServerDialog.USER_TAB_SERVICE=\u670D\u52A1
|
||||
SlaveServerDialog.ServerName.Label=\u670D\u52A1\u5668\u540D\u79F0
|
||||
SlaveServer.RetournedXMLInfo=XML\u8FD4\u56DE\u662F\:
|
|
@ -0,0 +1,284 @@
|
|||
/*! ******************************************************************************
|
||||
*
|
||||
* Pentaho Data Integration
|
||||
*
|
||||
* Copyright (C) 2002-2018 by Hitachi Vantara : http://www.pentaho.com
|
||||
*
|
||||
*******************************************************************************
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
package org.pentaho.di.ui.core;
|
||||
|
||||
import org.eclipse.jface.action.MenuManager;
|
||||
import org.eclipse.swt.widgets.Control;
|
||||
import org.eclipse.swt.widgets.Menu;
|
||||
import org.eclipse.swt.widgets.TreeItem;
|
||||
import org.pentaho.di.core.Const;
|
||||
import org.pentaho.di.core.util.Utils;
|
||||
import org.pentaho.ui.xul.containers.XulMenupopup;
|
||||
|
||||
/**
|
||||
* This class is used to define a number of default values for various settings throughout Kettle. It also contains a
|
||||
* number of static final methods to make your life easier.
|
||||
*
|
||||
* @author Matt
|
||||
* @since 07-05-2003
|
||||
*
|
||||
*/
|
||||
public class ConstUI {
|
||||
/**
|
||||
* Default icon size
|
||||
*/
|
||||
public static final int ICON_SIZE = 32;
|
||||
|
||||
public static final int LARGE_ICON_SIZE = 48;
|
||||
|
||||
public static final int SMALL_ICON_SIZE = 16;
|
||||
|
||||
public static final int MEDIUM_ICON_SIZE = 24;
|
||||
|
||||
public static final int DOCUMENTATION_ICON_SIZE = 14;
|
||||
|
||||
/**
|
||||
* Default checkbox width
|
||||
*/
|
||||
public static final int CHECKBOX_WIDTH = 20;
|
||||
|
||||
/**
|
||||
* Default line width for arrows & around icons
|
||||
*/
|
||||
public static final int LINE_WIDTH = 1;
|
||||
|
||||
/**
|
||||
* Default grid size to which the graphical views snap.
|
||||
*/
|
||||
public static final int GRID_SIZE = 16;
|
||||
|
||||
/**
|
||||
* The minimal size of a note on a graphical view (width & height)
|
||||
*/
|
||||
public static final int NOTE_MIN_SIZE = 20;
|
||||
|
||||
/**
|
||||
* Offset between pointer and tooltip position.
|
||||
*/
|
||||
public static final int TOOLTIP_OFFSET = 5;
|
||||
|
||||
/**
|
||||
* The default red-component of the background color
|
||||
*/
|
||||
public static final int COLOR_BACKGROUND_RED = 255;
|
||||
|
||||
/**
|
||||
* The default green-component of the background color
|
||||
*/
|
||||
public static final int COLOR_BACKGROUND_GREEN = 255;
|
||||
|
||||
/**
|
||||
* The default blue-component of the background color
|
||||
*/
|
||||
public static final int COLOR_BACKGROUND_BLUE = 255;
|
||||
|
||||
/**
|
||||
* The default red-component of the graph background color
|
||||
*/
|
||||
public static final int COLOR_GRAPH_RED = 255;
|
||||
|
||||
/**
|
||||
* The default green-component of the graph background color
|
||||
*/
|
||||
public static final int COLOR_GRAPH_GREEN = 255;
|
||||
|
||||
/**
|
||||
* The default blue-component of the graph background color
|
||||
*/
|
||||
public static final int COLOR_GRAPH_BLUE = 255;
|
||||
|
||||
/**
|
||||
* The default red-component of the tab selected color
|
||||
*/
|
||||
public static final int COLOR_TAB_RED = 240;
|
||||
|
||||
/**
|
||||
* The default green-component of the tab selected color
|
||||
*/
|
||||
public static final int COLOR_TAB_GREEN = 240;
|
||||
|
||||
/**
|
||||
* The default blue-component of the tab selected color
|
||||
*/
|
||||
public static final int COLOR_TAB_BLUE = 240;
|
||||
|
||||
/**
|
||||
* the default canvas refresh interval for running transformations
|
||||
*/
|
||||
public static final int INTERVAL_MS_TRANS_CANVAS_REFRESH = 1000;
|
||||
|
||||
/**
|
||||
* margin between points of controls
|
||||
*/
|
||||
public static final int SMALL_MARGIN = 5;
|
||||
|
||||
/**
|
||||
* margin between points of controls
|
||||
*/
|
||||
public static final int MEDUIM_MARGIN = 10;
|
||||
|
||||
/**
|
||||
* Determine the level of where the TreeItem is position in a tree.
|
||||
*
|
||||
* @param ti
|
||||
* The TreeItem
|
||||
* @return The level of the item in the tree
|
||||
*/
|
||||
public static final int getTreeLevel( TreeItem ti ) {
|
||||
int level = 0;
|
||||
TreeItem parent = ti.getParentItem();
|
||||
while ( parent != null ) {
|
||||
level++;
|
||||
parent = parent.getParentItem();
|
||||
}
|
||||
|
||||
return level;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get an array of strings containing the path from the given TreeItem to the parent.
|
||||
*
|
||||
* @param ti
|
||||
* The TreeItem to look at
|
||||
* @return An array of string describing the path to the TreeItem.
|
||||
*/
|
||||
public static final String[] getTreeStrings( TreeItem ti ) {
|
||||
int nrlevels = getTreeLevel( ti ) + 1;
|
||||
String[] retval = new String[nrlevels];
|
||||
int level = 0;
|
||||
|
||||
retval[nrlevels - 1] = ti.getText();
|
||||
TreeItem parent = ti.getParentItem();
|
||||
while ( parent != null ) {
|
||||
level++;
|
||||
retval[nrlevels - level - 1] = parent.getText();
|
||||
parent = parent.getParentItem();
|
||||
}
|
||||
|
||||
return retval;
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the tree path seperated by Const.FILE_SEPARATOR, starting from a certain depth in the tree.
|
||||
*
|
||||
* @param ti
|
||||
* The TreeItem to get the path for
|
||||
* @param from
|
||||
* The depth to start at, use 0 to get the complete tree.
|
||||
* @return The tree path.
|
||||
*/
|
||||
public static final String getTreePath( TreeItem ti, int from ) {
|
||||
String[] path = getTreeStrings( ti );
|
||||
|
||||
if ( path == null ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
String retval = "";
|
||||
|
||||
for ( int i = from; i < path.length; i++ ) {
|
||||
if ( !path[i].equalsIgnoreCase( Const.FILE_SEPARATOR ) ) {
|
||||
retval += Const.FILE_SEPARATOR + path[i];
|
||||
}
|
||||
}
|
||||
|
||||
return retval;
|
||||
}
|
||||
|
||||
/**
|
||||
* Flips the TreeItem from expanded to not expanded or vice-versa.
|
||||
*
|
||||
* @param ti
|
||||
* The TreeItem to flip.
|
||||
*/
|
||||
public static final void flipExpanded( TreeItem ti ) {
|
||||
ti.setExpanded( !ti.getExpanded() );
|
||||
}
|
||||
|
||||
public static final TreeItem findTreeItem( TreeItem parent, String name ) {
|
||||
return findTreeItem( parent, null, name );
|
||||
}
|
||||
|
||||
/**
|
||||
* Finds a TreeItem with a certain label (name) in a (part of a) tree.
|
||||
*
|
||||
* @param parent
|
||||
* The TreeItem where we start looking.
|
||||
* @param parentName
|
||||
* The name of the parent to match as well (null=not used)
|
||||
* @param name
|
||||
* The name or item label to look for.
|
||||
* @return The TreeItem if the label was found, null if nothing was found.
|
||||
*/
|
||||
public static final TreeItem findTreeItem( TreeItem parent, String parentName, String name ) {
|
||||
return findTreeItem( null, parent, parentName, name );
|
||||
}
|
||||
|
||||
private static final TreeItem findTreeItem( TreeItem grandParent, TreeItem parent, String parentName, String name ) {
|
||||
if ( Utils.isEmpty( parentName ) ) {
|
||||
if ( parent.getText().equalsIgnoreCase( name ) ) {
|
||||
return parent;
|
||||
}
|
||||
} else {
|
||||
if ( grandParent != null && grandParent.getText().equalsIgnoreCase( "OTHER" ) ) {
|
||||
System.out.println( "Other" );
|
||||
}
|
||||
if ( grandParent != null
|
||||
&& grandParent.getText().equalsIgnoreCase( parentName ) && parent.getText().equalsIgnoreCase( name ) ) {
|
||||
return parent;
|
||||
}
|
||||
}
|
||||
|
||||
TreeItem[] ti = parent.getItems();
|
||||
for ( int i = 0; i < ti.length; i++ ) {
|
||||
TreeItem child = findTreeItem( parent, ti[i], parentName, name );
|
||||
if ( child != null ) {
|
||||
return child;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public static void displayMenu( XulMenupopup xulMenuPopup, Control control ) {
|
||||
|
||||
MenuManager menuMgr = (MenuManager) xulMenuPopup.getManagedObject();
|
||||
Menu menu = menuMgr.createContextMenu( control );
|
||||
menuMgr.updateAll( true );
|
||||
displayMenu( menu, control );
|
||||
}
|
||||
|
||||
public static void displayMenu( Menu menu, Control control ) {
|
||||
Menu oldMenu = control.getMenu();
|
||||
if ( oldMenu != null && oldMenu != menu ) {
|
||||
oldMenu.setVisible( false );
|
||||
}
|
||||
|
||||
// XXX: Stubbing out this line prevents context dialogs from appearing twice
|
||||
// on OS X. Tested on Windows to be sure there is no adverse effect.
|
||||
// Unfortunately, I do *not* understand why this works. I ran it by
|
||||
// mcasters and he didn't know for sure either.
|
||||
// control.setMenu(menu);
|
||||
menu.setVisible( true );
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,124 @@
|
|||
/*
|
||||
* Copyright 2017-2018 Hitachi Vantara. All rights reserved.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
*/
|
||||
|
||||
package org.pentaho.di.ui.core;
|
||||
|
||||
import org.pentaho.di.repository.Repository;
|
||||
import org.pentaho.di.repository.RepositoryObjectInterface;
|
||||
|
||||
/**
|
||||
* Created by bmorrise on 8/17/17.
|
||||
*/
|
||||
public class FileDialogOperation {
|
||||
|
||||
public static String SELECT_FOLDER = "selectFolder";
|
||||
public static String OPEN = "open";
|
||||
public static String SAVE = "save";
|
||||
public static String ORIGIN_SPOON = "spoon";
|
||||
public static String ORIGIN_OTHER = "other";
|
||||
public static String TRANSFORMATION = "transformation";
|
||||
public static String JOB = "job";
|
||||
|
||||
private Repository repository;
|
||||
private String command;
|
||||
private String filter;
|
||||
private String origin;
|
||||
private RepositoryObjectInterface repositoryObject;
|
||||
private String startDir;
|
||||
private String title;
|
||||
private String filename;
|
||||
private String fileType;
|
||||
|
||||
public FileDialogOperation( String command ) {
|
||||
this.command = command;
|
||||
}
|
||||
|
||||
public FileDialogOperation( String command, String origin ) {
|
||||
this.command = command;
|
||||
this.origin = origin;
|
||||
}
|
||||
|
||||
public String getCommand() {
|
||||
return command;
|
||||
}
|
||||
|
||||
public void setCommand( String command ) {
|
||||
this.command = command;
|
||||
}
|
||||
|
||||
public String getFilter() {
|
||||
return filter;
|
||||
}
|
||||
|
||||
public void setFilter( String filter ) {
|
||||
this.filter = filter;
|
||||
}
|
||||
|
||||
public String getOrigin() {
|
||||
return origin;
|
||||
}
|
||||
|
||||
public void setOrigin( String origin ) {
|
||||
this.origin = origin;
|
||||
}
|
||||
|
||||
public RepositoryObjectInterface getRepositoryObject() {
|
||||
return repositoryObject;
|
||||
}
|
||||
|
||||
public void setRepositoryObject( RepositoryObjectInterface repositoryObject ) {
|
||||
this.repositoryObject = repositoryObject;
|
||||
}
|
||||
|
||||
public String getStartDir() {
|
||||
return startDir;
|
||||
}
|
||||
|
||||
public void setStartDir( String startDir ) {
|
||||
this.startDir = startDir;
|
||||
}
|
||||
|
||||
public Repository getRepository() {
|
||||
return repository;
|
||||
}
|
||||
|
||||
public void setRepository( Repository repository ) {
|
||||
this.repository = repository;
|
||||
}
|
||||
|
||||
public String getTitle() {
|
||||
return title;
|
||||
}
|
||||
|
||||
public void setTitle( String title ) {
|
||||
this.title = title;
|
||||
}
|
||||
|
||||
public String getFilename() {
|
||||
return filename;
|
||||
}
|
||||
|
||||
public void setFilename( String filename ) {
|
||||
this.filename = filename;
|
||||
}
|
||||
|
||||
public String getFileType() {
|
||||
return fileType;
|
||||
}
|
||||
|
||||
public void setFileType( String fileType ) {
|
||||
this.fileType = fileType;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,144 @@
|
|||
/*! ******************************************************************************
|
||||
*
|
||||
* Pentaho Data Integration
|
||||
*
|
||||
* Copyright (C) 2002-2018 by Hitachi Vantara : http://www.pentaho.com
|
||||
*
|
||||
*******************************************************************************
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
package org.pentaho.di.ui.core;
|
||||
|
||||
import org.eclipse.swt.layout.FormAttachment;
|
||||
import org.eclipse.swt.layout.FormData;
|
||||
import org.eclipse.swt.widgets.Control;
|
||||
|
||||
public class FormDataBuilder implements Cloneable {
|
||||
|
||||
private final FormAttachment MIN = new FormAttachment( 0, 0 );
|
||||
private final FormAttachment MAX = new FormAttachment( 100, 0 );
|
||||
|
||||
protected FormData fd = new FormData();
|
||||
|
||||
public FormDataBuilder width( int width ) {
|
||||
fd.width = width;
|
||||
return this;
|
||||
}
|
||||
|
||||
public FormDataBuilder height( int height ) {
|
||||
fd.height = height;
|
||||
return this;
|
||||
}
|
||||
|
||||
public FormDataBuilder left( int p1, int p2 ) {
|
||||
fd.left = new FormAttachment( p1, p2 );
|
||||
return this;
|
||||
}
|
||||
|
||||
public FormDataBuilder right( int p1, int p2 ) {
|
||||
fd.right = new FormAttachment( p1, p2 );
|
||||
return this;
|
||||
}
|
||||
|
||||
public FormDataBuilder top( int p1, int p2 ) {
|
||||
fd.top = new FormAttachment( p1, p2 );
|
||||
return this;
|
||||
}
|
||||
|
||||
public FormDataBuilder bottom( int p1, int p2 ) {
|
||||
fd.bottom = new FormAttachment( p1, p2 );
|
||||
return this;
|
||||
}
|
||||
|
||||
public FormDataBuilder left( FormAttachment fa ) {
|
||||
fd.left = fa;
|
||||
return this;
|
||||
}
|
||||
|
||||
public FormDataBuilder right( FormAttachment fa ) {
|
||||
fd.right = fa;
|
||||
return this;
|
||||
}
|
||||
|
||||
public FormDataBuilder top( FormAttachment fa ) {
|
||||
fd.top = fa;
|
||||
return this;
|
||||
}
|
||||
|
||||
public FormDataBuilder bottom( FormAttachment fa ) {
|
||||
fd.bottom = fa;
|
||||
return this;
|
||||
}
|
||||
|
||||
public FormDataBuilder left( Control control, int margin ) {
|
||||
return left( new FormAttachment( control, margin ) );
|
||||
}
|
||||
|
||||
public FormDataBuilder top( Control control, int margin ) {
|
||||
return top( new FormAttachment( control, margin ) );
|
||||
}
|
||||
|
||||
public FormDataBuilder bottom( Control control, int margin ) {
|
||||
return bottom( new FormAttachment( control, margin ) );
|
||||
}
|
||||
|
||||
public FormDataBuilder right( Control control, int margin ) {
|
||||
return right( new FormAttachment( control, margin ) );
|
||||
}
|
||||
|
||||
public FormDataBuilder left() {
|
||||
return left( MIN );
|
||||
}
|
||||
|
||||
public FormDataBuilder right() {
|
||||
return right( MAX );
|
||||
}
|
||||
|
||||
public FormDataBuilder top() {
|
||||
return top( MIN );
|
||||
}
|
||||
|
||||
public FormDataBuilder bottom() {
|
||||
return bottom( MAX );
|
||||
}
|
||||
|
||||
public FormDataBuilder top( Control control ) {
|
||||
return top( control, ConstUI.SMALL_MARGIN );
|
||||
}
|
||||
|
||||
public FormDataBuilder fullWidth() {
|
||||
return percentWidth( 100 );
|
||||
}
|
||||
|
||||
public FormDataBuilder percentWidth( int width ) {
|
||||
return left().right( width, 0 );
|
||||
}
|
||||
|
||||
public FormDataBuilder fullSize() {
|
||||
return fullWidth().top().bottom();
|
||||
}
|
||||
|
||||
public FormData result() {
|
||||
return fd;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected FormDataBuilder clone() {
|
||||
FormDataBuilder res = new FormDataBuilder();
|
||||
return res.left( fd.left ).right( fd.right ).top( fd.top ).bottom( fd.bottom );
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,90 @@
|
|||
/*
|
||||
* Copyright 2018 Hitachi Vantara. All rights reserved.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
*/
|
||||
|
||||
package org.pentaho.di.ui.core;
|
||||
|
||||
import org.eclipse.swt.widgets.Shell;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Created by ddiroma on 8/15/18.
|
||||
*/
|
||||
public class GetFieldsDialogOperation {
|
||||
private Shell shell;
|
||||
private int width;
|
||||
private int height;
|
||||
private String filename;
|
||||
private String title;
|
||||
private List<String> paths;
|
||||
|
||||
public GetFieldsDialogOperation( Shell shell, int width, int height, String filename, String title, List<String>
|
||||
paths ) {
|
||||
this.shell = shell;
|
||||
this.width = width;
|
||||
this.height = height;
|
||||
this.filename = filename;
|
||||
this.title = title;
|
||||
this.paths = paths;
|
||||
}
|
||||
|
||||
public Shell getShell() {
|
||||
return shell;
|
||||
}
|
||||
|
||||
public void setShell( Shell shell ) {
|
||||
this.shell = shell;
|
||||
}
|
||||
|
||||
public int getWidth() {
|
||||
return width;
|
||||
}
|
||||
|
||||
public void setWidth( int width ) {
|
||||
this.width = width;
|
||||
}
|
||||
|
||||
public int getHeight() {
|
||||
return height;
|
||||
}
|
||||
|
||||
public void setHeight( int height ) {
|
||||
this.height = height;
|
||||
}
|
||||
|
||||
public String getFilename() {
|
||||
return filename;
|
||||
}
|
||||
|
||||
public void setFilename( String filename ) {
|
||||
this.filename = filename;
|
||||
}
|
||||
|
||||
public List<String> getPaths() {
|
||||
return paths;
|
||||
}
|
||||
|
||||
public void setPaths( List<String> paths ) {
|
||||
this.paths = paths;
|
||||
}
|
||||
|
||||
public String getTitle() {
|
||||
return title;
|
||||
}
|
||||
|
||||
public void setTitle( String title ) {
|
||||
this.title = title;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,194 @@
|
|||
/*! ******************************************************************************
|
||||
*
|
||||
* Pentaho Data Integration
|
||||
*
|
||||
* Copyright (C) 2002-2017 by Hitachi Vantara : http://www.pentaho.com
|
||||
*
|
||||
*******************************************************************************
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
package org.pentaho.di.ui.core;
|
||||
|
||||
import org.eclipse.swt.SWT;
|
||||
import org.eclipse.swt.graphics.GC;
|
||||
import org.eclipse.swt.graphics.Image;
|
||||
import org.eclipse.swt.graphics.PaletteData;
|
||||
import org.eclipse.swt.graphics.Point;
|
||||
import org.eclipse.swt.graphics.RGB;
|
||||
import org.eclipse.swt.graphics.Rectangle;
|
||||
import org.eclipse.swt.printing.PrintDialog;
|
||||
import org.eclipse.swt.printing.Printer;
|
||||
import org.eclipse.swt.printing.PrinterData;
|
||||
import org.eclipse.swt.widgets.Display;
|
||||
import org.eclipse.swt.widgets.Shell;
|
||||
import org.pentaho.di.ui.core.dialog.EnterPrintDialog;
|
||||
|
||||
/**
|
||||
* This class handles printing for Kettle.
|
||||
*
|
||||
* @author Matt
|
||||
* @since 28-03-2004
|
||||
*
|
||||
*/
|
||||
public class PrintSpool {
|
||||
private PrinterData printerdata;
|
||||
private Printer printer;
|
||||
private PaletteData palette;
|
||||
|
||||
public PrintSpool() {
|
||||
printerdata = Printer.getDefaultPrinterData();
|
||||
if ( printerdata != null ) {
|
||||
// Fail silently instead of crashing.
|
||||
printer = new Printer( printerdata );
|
||||
}
|
||||
}
|
||||
|
||||
public PrinterData getPrinterData() {
|
||||
return printerdata;
|
||||
}
|
||||
|
||||
// Ask which printer to use...
|
||||
|
||||
public Printer getPrinter( Shell sh ) {
|
||||
PrintDialog pd = new PrintDialog( sh );
|
||||
printerdata = pd.open();
|
||||
if ( printerdata != null ) {
|
||||
if ( printer != null ) {
|
||||
printer.dispose();
|
||||
}
|
||||
printer = new Printer( printerdata );
|
||||
}
|
||||
|
||||
return printer;
|
||||
}
|
||||
|
||||
public void dispose() {
|
||||
if ( printer != null ) {
|
||||
printer.dispose();
|
||||
}
|
||||
}
|
||||
|
||||
public int getDepth() {
|
||||
return printer.getDepth();
|
||||
}
|
||||
|
||||
public PaletteData getPaletteData() {
|
||||
switch ( getDepth() ) {
|
||||
case 1:
|
||||
palette = new PaletteData( new RGB[] { new RGB( 0, 0, 0 ), new RGB( 255, 255, 255 ) } );
|
||||
break;
|
||||
default:
|
||||
palette = new PaletteData( 0, 0, 0 );
|
||||
palette.isDirect = true;
|
||||
break;
|
||||
}
|
||||
|
||||
return palette;
|
||||
}
|
||||
|
||||
public void printImage( Shell sh, Image img ) {
|
||||
if ( printerdata != null ) {
|
||||
Rectangle imgbounds = img.getBounds();
|
||||
Point max = new Point( imgbounds.width, imgbounds.height );
|
||||
|
||||
// What's the printers DPI?
|
||||
Point dpi_printer = printer.getDPI();
|
||||
|
||||
// What's the screens DPI?
|
||||
Point dpi_screen = Display.getCurrent().getDPI();
|
||||
|
||||
// Resize on printer: calculate factor:
|
||||
double factorx = (double) dpi_printer.x / (double) dpi_screen.x;
|
||||
double factory = (double) dpi_printer.y / (double) dpi_screen.y;
|
||||
|
||||
// Get size of 1 page?
|
||||
Rectangle page = printer.getBounds();
|
||||
|
||||
double margin_left = 0.40; // 0,40 inch about 1cm
|
||||
double margin_right = 0.40;
|
||||
double margin_top = 0.40;
|
||||
double margin_bottom = 0.40;
|
||||
|
||||
EnterPrintDialog epd =
|
||||
new EnterPrintDialog(
|
||||
sh, 1, 1, 100, factorx, factory, page, margin_left, margin_right, margin_top, margin_bottom, img );
|
||||
if ( epd.open() == SWT.OK ) {
|
||||
double page_left = epd.leftMargin * dpi_printer.x;
|
||||
double page_right = epd.rightMargin * dpi_printer.x;
|
||||
double page_top = epd.topMargin * dpi_printer.y;
|
||||
double page_bottom = epd.bottomMargin * dpi_printer.y;
|
||||
double page_sizex = page.width - page_left - page_right;
|
||||
double page_sizey = page.height - page_top - page_bottom;
|
||||
|
||||
double size_on_paperx = max.x * factorx;
|
||||
double size_on_papery = max.y * factory;
|
||||
double actual_sizex = size_on_paperx * epd.scale / 100;
|
||||
double actual_sizey = size_on_papery * epd.scale / 100;
|
||||
|
||||
// Create new print job.
|
||||
printer.startJob( "Kettle : Spoon print job" );
|
||||
|
||||
// How much of the image do we print on each page: all or just a page worth of pixels?
|
||||
|
||||
for ( int c = 0; c < epd.nrcols; c++ ) {
|
||||
double left_to_printx = actual_sizex - page_sizex * c;
|
||||
double printx =
|
||||
( left_to_printx > page_sizex ) ? page_sizex : ( left_to_printx >= 0 ? left_to_printx : 0 );
|
||||
|
||||
for ( int r = 0; r < epd.nrrows; r++ ) {
|
||||
double left_to_printy = actual_sizey - page_sizey * r;
|
||||
double printy =
|
||||
( left_to_printy > page_sizey ) ? page_sizey : ( left_to_printy >= 0 ? left_to_printy : 0 );
|
||||
|
||||
int startx = (int) ( actual_sizex - left_to_printx );
|
||||
int starty = (int) ( actual_sizey - left_to_printy );
|
||||
|
||||
int fromx = (int) ( startx / ( factorx * epd.scale / 100 ) );
|
||||
int fromy = (int) ( starty / ( factory * epd.scale / 100 ) );
|
||||
int imx = (int) ( max.x * printx / actual_sizex ) - 1;
|
||||
int imy = (int) ( max.y * printy / actual_sizey ) - 1;
|
||||
|
||||
printer.startPage();
|
||||
GC gc_printer = new GC( printer );
|
||||
|
||||
gc_printer.drawImage(
|
||||
img, fromx, fromy, imx, imy, (int) page_left, (int) page_top, (int) printx, (int) printy );
|
||||
|
||||
// ShowImageDialog sid = new ShowImageDialog(sh, props, img);
|
||||
// sid.open();
|
||||
|
||||
System.out.println( "img dept = " + img.getImageData().depth );
|
||||
System.out.println( "prn dept = " + printer.getDepth() );
|
||||
System.out.println( "img size = ("
|
||||
+ img.getBounds().x + "," + img.getBounds().y + ") : (" + img.getBounds().width + ","
|
||||
+ img.getBounds().height + ")" );
|
||||
System.out.println( "fromx="
|
||||
+ fromx + ", fromy=" + fromy + ", imx=" + imx + ", imy=" + imy + ", page_left=" + (int) page_left
|
||||
+ ", page_top=" + (int) page_top + ", printx=" + (int) printx + ", printy=" + (int) printy );
|
||||
|
||||
printer.endPage();
|
||||
gc_printer.dispose();
|
||||
}
|
||||
}
|
||||
|
||||
printer.endJob();
|
||||
printer.dispose();
|
||||
}
|
||||
img.dispose();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,137 @@
|
|||
/*! ******************************************************************************
|
||||
*
|
||||
* Pentaho Data Integration
|
||||
*
|
||||
* Copyright (C) 2002-2017 by Hitachi Vantara : http://www.pentaho.com
|
||||
*
|
||||
*******************************************************************************
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
package org.pentaho.di.ui.core;
|
||||
|
||||
import org.apache.commons.io.FilenameUtils;
|
||||
import org.eclipse.swt.SWT;
|
||||
import org.eclipse.swt.events.SelectionAdapter;
|
||||
import org.eclipse.swt.events.SelectionEvent;
|
||||
import org.eclipse.swt.widgets.FileDialog;
|
||||
import org.eclipse.swt.widgets.Shell;
|
||||
import org.pentaho.di.core.util.Assert;
|
||||
import org.pentaho.di.ui.core.widget.TextVar;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author <a href="mailto:thomas.hoedl@aschauer-edv.at">Thomas Hoedl(asc042)</a>
|
||||
*
|
||||
*/
|
||||
public class SimpleFileSelection extends SelectionAdapter {
|
||||
|
||||
/**
|
||||
* The default filter extension.
|
||||
*/
|
||||
public static final String DEFAULT_FILTER_EXTENSION = "*";
|
||||
|
||||
/**
|
||||
* The default file extension.
|
||||
*/
|
||||
public static final String DEFAULT_FILTER_NAME = "All files (*.*)";
|
||||
|
||||
private final Shell shell;
|
||||
|
||||
private final TextVar textVar;
|
||||
|
||||
private final String[] filterExtensions;
|
||||
|
||||
private final String[] filterNames;
|
||||
|
||||
/**
|
||||
* Constructor.
|
||||
*
|
||||
* @param shell
|
||||
* shell to set.
|
||||
* @param textVar
|
||||
* text variable to edit.
|
||||
* @param filterExtensions
|
||||
* filter extensions to set.
|
||||
* @param filterNames
|
||||
* filter names to set.
|
||||
* @throws IllegalArgumentException
|
||||
* if shell or text variable is null.
|
||||
*/
|
||||
public SimpleFileSelection( final Shell shell, final TextVar textVar, final String[] filterExtensions,
|
||||
final String[] filterNames ) throws IllegalArgumentException {
|
||||
super();
|
||||
Assert.assertNotNull( shell, "Shell cannot be null" );
|
||||
Assert.assertNotNull( textVar, "Text var cannot be null" );
|
||||
Assert.assertNotNull( filterNames, "Filter names cannot be null" );
|
||||
Assert.assertNotNull( filterExtensions, "Filter extensions cannot be null" );
|
||||
this.shell = shell;
|
||||
this.textVar = textVar;
|
||||
this.filterExtensions = new String[filterExtensions.length];
|
||||
System.arraycopy( filterExtensions, 0, this.filterExtensions, 0, filterExtensions.length );
|
||||
this.filterNames = new String[filterNames.length];
|
||||
System.arraycopy( filterNames, 0, this.filterNames, 0, filterNames.length );
|
||||
}
|
||||
|
||||
/**
|
||||
* Constructor.
|
||||
*
|
||||
* @param shell
|
||||
* the shell to set.
|
||||
* @param textVar
|
||||
* the text variable to edit.
|
||||
* @throws IllegalArgumentException
|
||||
* if shell or text variable is null.
|
||||
*/
|
||||
public SimpleFileSelection( final Shell shell, final TextVar textVar ) throws IllegalArgumentException {
|
||||
this( shell, textVar, new String[] { DEFAULT_FILTER_EXTENSION }, new String[] { DEFAULT_FILTER_NAME } );
|
||||
}
|
||||
|
||||
/**
|
||||
* Constructor.
|
||||
*
|
||||
* @param shell
|
||||
* the shell to set.
|
||||
* @param textVar
|
||||
* the text variable to edit.
|
||||
* @param filterNames
|
||||
* the filter names to use.
|
||||
* @throws IllegalArgumentException
|
||||
* if shell or text variable is null.
|
||||
*/
|
||||
public SimpleFileSelection( final Shell shell, final TextVar textVar, final String... filterNames ) throws IllegalArgumentException {
|
||||
this( shell, textVar, new String[] { DEFAULT_FILTER_EXTENSION }, filterNames );
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent)
|
||||
*/
|
||||
@Override
|
||||
public void widgetSelected( final SelectionEvent event ) {
|
||||
final FileDialog dialog = new FileDialog( this.shell, SWT.OPEN );
|
||||
dialog.setFilterExtensions( this.filterExtensions );
|
||||
dialog.setFilterNames( this.filterNames );
|
||||
if ( this.textVar.getText() != null ) {
|
||||
dialog.setFileName( this.textVar.getText() );
|
||||
}
|
||||
if ( dialog.open() != null ) {
|
||||
final String filename = FilenameUtils.concat( dialog.getFilterPath(), dialog.getFileName() );
|
||||
this.textVar.setText( filename );
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,136 @@
|
|||
/*! ******************************************************************************
|
||||
*
|
||||
* Pentaho Data Integration
|
||||
*
|
||||
* Copyright (C) 2002-2018 by Hitachi Vantara : http://www.pentaho.com
|
||||
*
|
||||
*******************************************************************************
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
package org.pentaho.di.ui.core;
|
||||
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.eclipse.swt.SWT;
|
||||
import org.eclipse.swt.custom.CTabFolder;
|
||||
import org.eclipse.swt.custom.CTabItem;
|
||||
import org.eclipse.swt.layout.FormAttachment;
|
||||
import org.eclipse.swt.layout.FormData;
|
||||
import org.eclipse.swt.layout.FormLayout;
|
||||
import org.eclipse.swt.widgets.Composite;
|
||||
import org.eclipse.swt.widgets.Control;
|
||||
import org.eclipse.swt.widgets.Listener;
|
||||
import org.pentaho.di.core.exception.KettleStepException;
|
||||
import org.pentaho.di.core.row.RowMetaInterface;
|
||||
import org.pentaho.di.core.row.value.ValueMetaBase;
|
||||
import org.pentaho.di.trans.TransMeta;
|
||||
import org.pentaho.di.trans.step.BaseStepMeta;
|
||||
import org.pentaho.di.ui.core.widget.ComboVar;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public abstract class WidgetUtils {
|
||||
private WidgetUtils() {
|
||||
|
||||
}
|
||||
|
||||
public static void setFormLayout( Composite composite, int margin ) {
|
||||
FormLayout formLayout = new FormLayout();
|
||||
formLayout.marginWidth = margin;
|
||||
formLayout.marginHeight = margin;
|
||||
composite.setLayout( formLayout );
|
||||
}
|
||||
|
||||
/**
|
||||
* creates a ComboVar populated with fields from the previous step.
|
||||
* @param parentComposite - the composite in which the widget will be placed
|
||||
* @param props - PropsUI props for L&F
|
||||
* @param stepMeta - stepMeta of the current step
|
||||
* @param formData - FormData to use for placement
|
||||
*/
|
||||
public static ComboVar createFieldDropDown(
|
||||
Composite parentComposite, PropsUI props, BaseStepMeta stepMeta, FormData formData ) {
|
||||
TransMeta transMeta = stepMeta.getParentStepMeta().getParentTransMeta();
|
||||
ComboVar fieldDropDownCombo = new ComboVar( transMeta, parentComposite, SWT.SINGLE | SWT.LEFT | SWT.BORDER );
|
||||
props.setLook( fieldDropDownCombo );
|
||||
fieldDropDownCombo.addModifyListener( e -> stepMeta.setChanged() );
|
||||
|
||||
fieldDropDownCombo.setLayoutData( formData );
|
||||
Listener focusListener = e -> {
|
||||
String current = fieldDropDownCombo.getText();
|
||||
fieldDropDownCombo.getCComboWidget().removeAll();
|
||||
fieldDropDownCombo.setText( current );
|
||||
|
||||
try {
|
||||
RowMetaInterface rmi = transMeta.getPrevStepFields( stepMeta.getParentStepMeta().getName() );
|
||||
List ls = rmi.getValueMetaList();
|
||||
for ( Object l : ls ) {
|
||||
ValueMetaBase vmb = (ValueMetaBase) l;
|
||||
fieldDropDownCombo.add( vmb.getName() );
|
||||
}
|
||||
} catch ( KettleStepException ex ) {
|
||||
// can be ignored, since previous step may not be set yet.
|
||||
stepMeta.logDebug( ex.getMessage(), ex );
|
||||
}
|
||||
};
|
||||
fieldDropDownCombo.getCComboWidget().addListener( SWT.FocusIn, focusListener );
|
||||
return fieldDropDownCombo;
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a FormData object specifying placement below anchorControl, with pixelsBetweeenAnchor space between
|
||||
* anchor and the control.
|
||||
*/
|
||||
public static FormData formDataBelow( Control anchorControl, int width, int pixelsBetweenAnchor ) {
|
||||
FormData fdMessageField = new FormData();
|
||||
fdMessageField.left = new FormAttachment( 0, 0 );
|
||||
fdMessageField.top = new FormAttachment( anchorControl, pixelsBetweenAnchor );
|
||||
fdMessageField.right = new FormAttachment( 0, width );
|
||||
return fdMessageField;
|
||||
}
|
||||
|
||||
|
||||
public static CTabFolder createTabFolder( Composite composite, FormData fd, String... titles ) {
|
||||
Composite container = new Composite( composite, SWT.NONE );
|
||||
WidgetUtils.setFormLayout( container, 0 );
|
||||
container.setLayoutData( fd );
|
||||
|
||||
CTabFolder tabFolder = new CTabFolder( container, SWT.NONE );
|
||||
tabFolder.setLayoutData( new FormDataBuilder().fullSize().result() );
|
||||
|
||||
for ( String title : titles ) {
|
||||
if ( title.length() < 8 ) {
|
||||
title = StringUtils.rightPad( title, 8 );
|
||||
}
|
||||
Composite tab = new Composite( tabFolder, SWT.NONE );
|
||||
WidgetUtils.setFormLayout( tab, ConstUI.MEDUIM_MARGIN );
|
||||
|
||||
CTabItem tabItem = new CTabItem( tabFolder, SWT.NONE );
|
||||
tabItem.setText( title );
|
||||
tabItem.setControl( tab );
|
||||
}
|
||||
|
||||
tabFolder.setSelection( 0 );
|
||||
return tabFolder;
|
||||
}
|
||||
|
||||
public static FormData firstColumn( Control top ) {
|
||||
return new FormDataBuilder().top( top, ConstUI.MEDUIM_MARGIN ).percentWidth( 47 ).result();
|
||||
}
|
||||
|
||||
public static FormData secondColumn( Control top ) {
|
||||
return new FormDataBuilder().top( top, ConstUI.MEDUIM_MARGIN ).right().left( 53, 0 ).result();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,116 @@
|
|||
/*! ******************************************************************************
|
||||
*
|
||||
* Pentaho Data Integration
|
||||
*
|
||||
* Copyright (C) 2002-2017 by Hitachi Vantara : http://www.pentaho.com
|
||||
*
|
||||
*******************************************************************************
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
package org.pentaho.di.ui.core.auth;
|
||||
|
||||
import org.eclipse.swt.widgets.Shell;
|
||||
import org.pentaho.di.core.Const;
|
||||
import org.pentaho.di.core.gui.SpoonFactory;
|
||||
import org.pentaho.di.core.logging.LogChannel;
|
||||
import org.pentaho.di.core.logging.LogChannelInterface;
|
||||
import org.pentaho.di.i18n.BaseMessages;
|
||||
import org.pentaho.di.ui.core.auth.controller.AuthProviderController;
|
||||
import org.pentaho.di.ui.core.auth.model.NamedProvider;
|
||||
import org.pentaho.ui.xul.XulDomContainer;
|
||||
import org.pentaho.ui.xul.XulException;
|
||||
import org.pentaho.ui.xul.XulRunner;
|
||||
import org.pentaho.ui.xul.binding.BindingFactory;
|
||||
import org.pentaho.ui.xul.swt.SwtBindingFactory;
|
||||
import org.pentaho.ui.xul.swt.SwtXulLoader;
|
||||
import org.pentaho.ui.xul.swt.SwtXulRunner;
|
||||
|
||||
import java.util.Enumeration;
|
||||
import java.util.List;
|
||||
import java.util.ResourceBundle;
|
||||
|
||||
/**
|
||||
* Created by gmoran on 3/19/14.
|
||||
*/
|
||||
public class AuthProviderDialog {
|
||||
|
||||
private static String XUL_FILE = "org/pentaho/di/ui/core/auth/xul/authManager.xul";
|
||||
|
||||
private LogChannelInterface log;
|
||||
|
||||
private AuthProviderController controller = new AuthProviderController();
|
||||
private XulDomContainer container;
|
||||
|
||||
private static final Class<?> CLZ = AuthProviderDialog.class;
|
||||
private ResourceBundle resourceBundle = new ResourceBundle() {
|
||||
|
||||
@Override
|
||||
public Enumeration<String> getKeys() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Object handleGetObject( String key ) {
|
||||
return BaseMessages.getString( CLZ, key );
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
public AuthProviderDialog( Shell shell ) {
|
||||
|
||||
log = new LogChannel( resourceBundle.getString( "log.name" ) );
|
||||
|
||||
try {
|
||||
|
||||
SwtXulLoader xulLoader = new SwtXulLoader();
|
||||
xulLoader.setOuterContext( shell );
|
||||
container = xulLoader.loadXul( XUL_FILE, resourceBundle );
|
||||
|
||||
final XulRunner runner = new SwtXulRunner();
|
||||
runner.addContainer( container );
|
||||
|
||||
BindingFactory bf = new SwtBindingFactory();
|
||||
bf.setDocument( container.getDocumentRoot() );
|
||||
|
||||
controller.setBindingFactory( bf );
|
||||
controller.setResourceBundle( resourceBundle );
|
||||
container.addEventHandler( controller );
|
||||
|
||||
try {
|
||||
runner.initialize();
|
||||
} catch ( XulException e ) {
|
||||
SpoonFactory.getInstance().messageBox( e.getLocalizedMessage(),
|
||||
resourceBundle.getString( "error.on_initialization" ), false, Const.ERROR );
|
||||
log.logError( resourceBundle.getString( "error.on_initialization" ), e );
|
||||
}
|
||||
} catch ( XulException e ) {
|
||||
log.logError( resourceBundle.getString( "error.on_initialization" ), e );
|
||||
}
|
||||
}
|
||||
|
||||
public void show() {
|
||||
controller.open();
|
||||
}
|
||||
|
||||
public void addProviders( List<NamedProvider> providers ) {
|
||||
controller.addProviders( providers );
|
||||
}
|
||||
|
||||
public BindingFactory getBindingFactory() {
|
||||
return controller.getBindingFactory();
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,392 @@
|
|||
/*! ******************************************************************************
|
||||
*
|
||||
* Pentaho Data Integration
|
||||
*
|
||||
* Copyright (C) 2002-2017 by Hitachi Vantara : http://www.pentaho.com
|
||||
*
|
||||
*******************************************************************************
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
package org.pentaho.di.ui.core.auth.controller;
|
||||
|
||||
import java.io.File;
|
||||
import java.lang.reflect.InvocationTargetException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.ResourceBundle;
|
||||
|
||||
import org.pentaho.di.core.logging.LogChannel;
|
||||
import org.pentaho.di.core.logging.LogChannelInterface;
|
||||
import org.pentaho.di.ui.core.auth.model.AuthProvider;
|
||||
import org.pentaho.di.ui.core.auth.model.BasicAuthProvider;
|
||||
import org.pentaho.di.ui.core.auth.model.KerberosAuthProvider;
|
||||
import org.pentaho.di.ui.core.auth.model.NamedModelObject;
|
||||
import org.pentaho.di.ui.core.auth.model.NamedProvider;
|
||||
import org.pentaho.di.ui.core.auth.model.NoAuthAuthProvider;
|
||||
import org.pentaho.di.ui.core.auth.model.ObjectListModel;
|
||||
import org.pentaho.ui.xul.XulException;
|
||||
import org.pentaho.ui.xul.binding.Binding;
|
||||
import org.pentaho.ui.xul.binding.BindingConvertor;
|
||||
import org.pentaho.ui.xul.binding.BindingFactory;
|
||||
import org.pentaho.ui.xul.components.XulFileDialog;
|
||||
import org.pentaho.ui.xul.components.XulTextbox;
|
||||
import org.pentaho.ui.xul.containers.XulDialog;
|
||||
import org.pentaho.ui.xul.impl.AbstractXulEventHandler;
|
||||
|
||||
@SuppressWarnings( { "unchecked" } )
|
||||
public class AuthProviderController extends AbstractXulEventHandler {
|
||||
|
||||
protected BindingConvertor<NamedModelObject<NamedProvider>, String> selectedItemsNameBinding =
|
||||
new SelectedToStringConvertor();
|
||||
protected BindingConvertor<NamedModelObject<NamedProvider>, Object> selectedItemsItemBinding =
|
||||
new SelectedToItemConvertor();
|
||||
protected BindingConvertor<Collection<NamedModelObject<NamedProvider>>, Boolean> itemCountBinding =
|
||||
new RowCountToBooleanConvertor<NamedModelObject<NamedProvider>>();
|
||||
|
||||
private XulDialog xulDialog;
|
||||
private BindingFactory bf;
|
||||
private ObjectListModel model = new ObjectListModel();
|
||||
|
||||
AuthProvider activeProvider = null;
|
||||
|
||||
private static LogChannelInterface log;
|
||||
|
||||
ResourceBundle resourceBundle;
|
||||
|
||||
public AuthProviderController() {
|
||||
|
||||
log = new LogChannel( "AuthProviderController" );
|
||||
setName( "handler" );
|
||||
|
||||
}
|
||||
|
||||
public void setBindingFactory( BindingFactory bf ) {
|
||||
this.bf = bf;
|
||||
}
|
||||
|
||||
public BindingFactory getBindingFactory() {
|
||||
return bf;
|
||||
}
|
||||
|
||||
public void init() {
|
||||
|
||||
xulDialog = ( (XulDialog) getXulDomContainer().getDocumentRoot().getRootElement() );
|
||||
|
||||
if ( bf != null ) {
|
||||
bind();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public void setResourceBundle( ResourceBundle res ) {
|
||||
|
||||
resourceBundle = res;
|
||||
|
||||
}
|
||||
|
||||
public void open() {
|
||||
|
||||
if ( xulDialog != null ) {
|
||||
xulDialog.show();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* This will change to pull providers from the auth persistencemanager
|
||||
*
|
||||
* @return Collection<AuthProvider>
|
||||
*/
|
||||
public Collection<AuthProvider> getPossibleTypes() {
|
||||
ArrayList<AuthProvider> types = new ArrayList<AuthProvider>();
|
||||
|
||||
types.add( new NoAuthAuthProvider( bf ) );
|
||||
types.add( new KerberosAuthProvider( bf ) );
|
||||
types.add( new BasicAuthProvider( bf ) );
|
||||
|
||||
return types;
|
||||
}
|
||||
|
||||
public void setNewOverlay( AuthProvider provider ) throws XulException {
|
||||
|
||||
if ( provider == null ) {
|
||||
provider = new NoAuthAuthProvider( bf );
|
||||
}
|
||||
// Don't use this provider... it is the one that is created to populate
|
||||
// the combobox. Only use it to select the proper overlay, then
|
||||
// bind the provider associated with the NamedObject selected
|
||||
// in the main authProvider list.
|
||||
|
||||
if ( this.activeProvider != null ) {
|
||||
getXulDomContainer().removeOverlay( activeProvider.getOverlay() );
|
||||
}
|
||||
|
||||
getXulDomContainer().loadOverlay( provider.getOverlay() );
|
||||
|
||||
if ( model.getSelectedItem() != null ) {
|
||||
AuthProvider current = (AuthProvider) model.getSelectedItem().getItem();
|
||||
|
||||
// Only bind the selected provider if it matches the overlay... the selected
|
||||
// provider may not have been updated and cloned yet.
|
||||
|
||||
if ( current.getOverlay().equalsIgnoreCase( provider.getOverlay() ) ) {
|
||||
|
||||
try {
|
||||
|
||||
current.bind();
|
||||
|
||||
} catch ( Exception e ) {
|
||||
log.logError( resourceBundle.getString( "error.on_bind" ), e );
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
this.activeProvider = provider;
|
||||
}
|
||||
|
||||
public String getNewOverlay() {
|
||||
return "";
|
||||
}
|
||||
|
||||
private void bind() {
|
||||
try {
|
||||
this.bf.setBindingType( Binding.Type.ONE_WAY );
|
||||
|
||||
// Loads the authorization types into the "Method" combobox
|
||||
bf.createBinding( this, "possibleTypes", "method_list", "elements" ).fireSourceChanged();
|
||||
|
||||
// Manage enabling/disabling layout based on item availability in the main authProvider list.
|
||||
bf.createBinding( model.getModelObjects(), "children", "remove_button", "disabled", itemCountBinding )
|
||||
.fireSourceChanged();
|
||||
bf.createBinding( model.getModelObjects(), "children", "name", "disabled", itemCountBinding ).fireSourceChanged();
|
||||
bf.createBinding( model.getModelObjects(), "children", "method_list", "disabled", itemCountBinding )
|
||||
.fireSourceChanged();
|
||||
|
||||
// Manage enabling/disabling layout based on selection in the main authProvider list.
|
||||
bf.createBinding( "auth_list", "selectedItem", "name", "!disabled", BindingConvertor.object2Boolean() )
|
||||
.fireSourceChanged();
|
||||
bf.createBinding( "auth_list", "selectedItem", "method_list", "!disabled", BindingConvertor.object2Boolean() )
|
||||
.fireSourceChanged();
|
||||
bf.createBinding( "auth_list", "selectedItem", "remove_button", "!disabled", BindingConvertor.object2Boolean() )
|
||||
.fireSourceChanged();
|
||||
|
||||
bf.setBindingType( Binding.Type.BI_DIRECTIONAL );
|
||||
|
||||
// When an authorization entry is selected, select entry in model
|
||||
bf.createBinding( "auth_list", "selectedItem", this.model, "selectedItem" );
|
||||
|
||||
// Syncs elements in the model and lists them in the authorization entry list
|
||||
Binding listBinding = this.bf.createBinding( this.model.getModelObjects(), "children", "auth_list", "elements" );
|
||||
listBinding.fireSourceChanged();
|
||||
|
||||
// Update the entry name textbox when a new entry is selected in the authorization entry list
|
||||
bf.createBinding( this.model, "selectedItem", "name", "value", selectedItemsNameBinding ).fireSourceChanged();
|
||||
|
||||
// Change the overlay when the user changes the "Method" in the method combobox
|
||||
bf.createBinding( this, "newOverlay", "method_list", "selectedItem" ).fireSourceChanged();
|
||||
|
||||
// Update the method combobox with the appropriate selection for the selected authorization entry
|
||||
bf.createBinding( this.model, "selectedItem", "method_list", "selectedItem", selectedItemsItemBinding )
|
||||
.fireSourceChanged();
|
||||
|
||||
// Because the programmatic selection of the item in the combobox does not fire events, we need
|
||||
// to bind the main authProvider selection to the changing of the overlay
|
||||
bf.createBinding( this.model, "selectedItem", this, "newOverlay", selectedItemsItemBinding );
|
||||
|
||||
} catch ( XulException e ) {
|
||||
log.logError( resourceBundle.getString( "error.on_bind" ), e );
|
||||
} catch ( InvocationTargetException e ) {
|
||||
log.logError( resourceBundle.getString( "error.on_execution" ), e );
|
||||
}
|
||||
}
|
||||
|
||||
public void onAccept() {
|
||||
|
||||
// save model via PersistenceManager here ...
|
||||
|
||||
this.xulDialog.hide();
|
||||
}
|
||||
|
||||
public void onCancel() {
|
||||
this.xulDialog.hide();
|
||||
}
|
||||
|
||||
public void addNew() {
|
||||
|
||||
NamedProvider provider = new NamedProvider( generateUniqueName(), new NoAuthAuthProvider( bf ) );
|
||||
this.model.add( provider );
|
||||
this.model.setSelectedItem( provider );
|
||||
|
||||
}
|
||||
|
||||
private String generateUniqueName() {
|
||||
|
||||
String name = resourceBundle.getString( "uniquename.provider" );
|
||||
int index = 0;
|
||||
boolean good = false;
|
||||
|
||||
String potentialName = null;
|
||||
|
||||
while ( !good ) {
|
||||
potentialName = name.concat( Integer.toString( ++index ) );
|
||||
boolean found = false;
|
||||
for ( NamedModelObject<NamedProvider> o : model.getModelObjects() ) {
|
||||
if ( o.getName().equalsIgnoreCase( potentialName ) ) {
|
||||
found = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
good = !found;
|
||||
}
|
||||
return potentialName;
|
||||
|
||||
}
|
||||
|
||||
public void remove() {
|
||||
|
||||
int index = this.model.getModelObjects().indexOf( this.model.getSelectedItem() );
|
||||
|
||||
if ( index >= 1 ) {
|
||||
index -= 1;
|
||||
}
|
||||
|
||||
this.model.getModelObjects().remove( this.model.getSelectedItem() );
|
||||
|
||||
if ( !model.getModelObjects().isEmpty() ) {
|
||||
this.model.setSelectedItem( model.getModelObjects().get( index ) );
|
||||
} else {
|
||||
this.model.setSelectedItem( null );
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public void browse() {
|
||||
|
||||
try {
|
||||
XulTextbox filename = (XulTextbox) document.getElementById( "keytab" );
|
||||
|
||||
XulFileDialog dialog = (XulFileDialog) document.createElement( "filedialog" );
|
||||
XulFileDialog.RETURN_CODE retval = dialog.showOpenDialog();
|
||||
|
||||
if ( retval == XulFileDialog.RETURN_CODE.OK ) {
|
||||
File file = (File) dialog.getFile();
|
||||
filename.setValue( file.getAbsolutePath() );
|
||||
}
|
||||
|
||||
} catch ( XulException e ) {
|
||||
log.logError( resourceBundle.getString( "error.file_browse" ), e );
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public void addProviders( List<NamedProvider> providers ) {
|
||||
|
||||
if ( providers == null || providers.isEmpty() ) {
|
||||
return;
|
||||
}
|
||||
|
||||
for ( NamedProvider provider : providers ) {
|
||||
model.add( provider );
|
||||
}
|
||||
|
||||
model.setSelectedItem( model.getModelObjects().get( 0 ) );
|
||||
|
||||
}
|
||||
|
||||
private class SelectedToItemConvertor extends BindingConvertor<NamedModelObject<NamedProvider>, Object> {
|
||||
private SelectedToItemConvertor() {
|
||||
}
|
||||
|
||||
public Object sourceToTarget( NamedModelObject<NamedProvider> value ) {
|
||||
if ( value == null ) {
|
||||
return null;
|
||||
}
|
||||
return value.getItem();
|
||||
}
|
||||
|
||||
public NamedModelObject<NamedProvider> targetToSource( Object value ) {
|
||||
if ( model.getSelectedItem() != null ) {
|
||||
|
||||
AuthProvider provider = (AuthProvider) value;
|
||||
AuthProvider selectedProvider = (AuthProvider) model.getSelectedItem().getItem();
|
||||
|
||||
AuthProvider providerToUse = null;
|
||||
if ( selectedProvider.getOverlay().equals( provider.getOverlay() ) ) {
|
||||
providerToUse = selectedProvider;
|
||||
} else {
|
||||
// Clone the provider... the one passed in is the provider used in the method
|
||||
// combobox... we don't want that instance in the main list.
|
||||
try {
|
||||
|
||||
providerToUse = provider.clone();
|
||||
providerToUse.bind();
|
||||
|
||||
} catch ( Exception e ) {
|
||||
log.logError( resourceBundle.getString( "error.new_provider" ), e );
|
||||
}
|
||||
}
|
||||
model.setItem( model.getSelectedItem(), providerToUse );
|
||||
|
||||
}
|
||||
return model.getSelectedItem();
|
||||
}
|
||||
}
|
||||
|
||||
private class SelectedToStringConvertor extends BindingConvertor<NamedModelObject<NamedProvider>, String> {
|
||||
private SelectedToStringConvertor() {
|
||||
}
|
||||
|
||||
public String sourceToTarget( NamedModelObject<NamedProvider> value ) {
|
||||
if ( value == null ) {
|
||||
return "";
|
||||
}
|
||||
return value.getName();
|
||||
}
|
||||
|
||||
public NamedModelObject<NamedProvider> targetToSource( String value ) {
|
||||
if ( model.getSelectedItem() != null ) {
|
||||
model.setName( value );
|
||||
}
|
||||
return model.getSelectedItem();
|
||||
}
|
||||
}
|
||||
|
||||
private class RowCountToBooleanConvertor<T> extends BindingConvertor<Collection<T>, Boolean> {
|
||||
|
||||
@Override
|
||||
public Boolean sourceToTarget( Collection<T> value ) {
|
||||
|
||||
return ( value == null ) || ( value.isEmpty() );
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public Collection<T> targetToSource( Boolean value ) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Exposed only for junit tests
|
||||
*
|
||||
* @return ObjectListModel
|
||||
*/
|
||||
ObjectListModel getModel() {
|
||||
return model;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,19 @@
|
|||
dialog.title=Authentication Provider Manager
|
||||
dialog.cancel=Cancel
|
||||
dialog.ok=OK
|
||||
dialog.name=Name
|
||||
dialog.method=Method
|
||||
basic.username=Username
|
||||
basic.password=Password
|
||||
kerberos.principal=Username
|
||||
kerberos.password=Password
|
||||
kerberos.usekeytab=Use Keytab
|
||||
kerberos.keytab=Keytab
|
||||
error.on_initialization=Error initializing dialog
|
||||
log.name=Authentication Provider Manager Dialog
|
||||
controller.name= Authentication Provider Controller
|
||||
uniquename.provider=provider_
|
||||
error.on_bind=Error attempting to bind ui objects.
|
||||
error.on_execution=Error executing bound methods on ui objects.
|
||||
error.file_browse=Error creating file browse dialog.
|
||||
error.new_provider=Error creating new provider.
|
|
@ -0,0 +1,19 @@
|
|||
dialog.title=\u8a8d\u8a3c\u30d7\u30ed\u30d0\u30a4\u30c0\u7ba1\u7406
|
||||
dialog.cancel=\u30ad\u30e3\u30f3\u30bb\u30eb
|
||||
dialog.ok=OK
|
||||
dialog.name=\u540d\u79f0
|
||||
dialog.method=\u30e1\u30bd\u30c3\u30c9
|
||||
basic.username=\u30e6\u30fc\u30b6\u30fc\u540d
|
||||
basic.password=\u30d1\u30b9\u30ef\u30fc\u30c9
|
||||
kerberos.principal=\u30e6\u30fc\u30b6\u30fc\u540d
|
||||
kerberos.password=\u30d1\u30b9\u30ef\u30fc\u30c9
|
||||
kerberos.usekeytab=Keytab\u3092\u4f7f\u7528
|
||||
kerberos.keytab=Keytab
|
||||
error.on_initialization=Error initializing dialog
|
||||
log.name=Authentication Provider Manager Dialog
|
||||
controller.name= \u8a8d\u8a3c\u30d7\u30ed\u30d0\u30a4\u30c0\u30b3\u30f3\u30c8\u30ed\u30fc\u30e9\u30fc
|
||||
uniquename.provider=provider_
|
||||
error.on_bind=Error attempting to bind ui objects.
|
||||
error.on_execution=Error executing bound methods on ui objects.
|
||||
error.file_browse=Error creating file browse dialog.
|
||||
error.new_provider=Error creating new provider.
|
|
@ -0,0 +1,102 @@
|
|||
/*! ******************************************************************************
|
||||
*
|
||||
* Pentaho Data Integration
|
||||
*
|
||||
* Copyright (C) 2002-2017 by Hitachi Vantara : http://www.pentaho.com
|
||||
*
|
||||
*******************************************************************************
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
package org.pentaho.di.ui.core.auth.model;
|
||||
|
||||
import org.pentaho.ui.xul.XulEventSourceAdapter;
|
||||
import org.pentaho.ui.xul.XulException;
|
||||
import org.pentaho.ui.xul.binding.Binding;
|
||||
import org.pentaho.ui.xul.binding.BindingException;
|
||||
import org.pentaho.ui.xul.binding.BindingFactory;
|
||||
|
||||
import java.lang.reflect.InvocationTargetException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public abstract class AbstractAuthProvider extends XulEventSourceAdapter
|
||||
implements AuthProvider {
|
||||
|
||||
private String principal;
|
||||
BindingFactory bf;
|
||||
private java.util.List<Binding> elementBindings = new ArrayList<Binding>();
|
||||
|
||||
public AbstractAuthProvider( BindingFactory bf ) {
|
||||
this.bf = bf;
|
||||
}
|
||||
|
||||
public String getPrincipal() {
|
||||
return this.principal;
|
||||
}
|
||||
|
||||
public void setPrincipal( String principal ) {
|
||||
this.principal = principal;
|
||||
}
|
||||
|
||||
public String getOverlay() {
|
||||
return "org/pentaho/di/ui/core/auth/xul/".concat( getProviderDescription().toLowerCase() ).concat( ".xul" );
|
||||
}
|
||||
|
||||
@Override
|
||||
public void bind() throws BindingException, XulException, InvocationTargetException {
|
||||
|
||||
unbind();
|
||||
elementBindings = new ArrayList<Binding>();
|
||||
|
||||
Binding b = bf.createBinding( this, "principal", "principal", "value" );
|
||||
b.setBindingType( Binding.Type.BI_DIRECTIONAL );
|
||||
elementBindings.add( b );
|
||||
|
||||
addBindings( elementBindings, bf );
|
||||
fireBindingsChanged();
|
||||
|
||||
}
|
||||
|
||||
protected abstract void addBindings( List<Binding> bindings, BindingFactory bf );
|
||||
|
||||
@Override
|
||||
public void unbind() {
|
||||
|
||||
for ( Binding bind : elementBindings ) {
|
||||
bind.destroyBindings();
|
||||
}
|
||||
elementBindings.clear();
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void fireBindingsChanged() throws XulException, InvocationTargetException {
|
||||
|
||||
for ( Binding bind : elementBindings ) {
|
||||
bind.fireSourceChanged();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public AuthProvider clone() throws CloneNotSupportedException {
|
||||
return (AuthProvider) super.clone();
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
return getProviderDescription();
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,46 @@
|
|||
/*! ******************************************************************************
|
||||
*
|
||||
* Pentaho Data Integration
|
||||
*
|
||||
* Copyright (C) 2002-2017 by Hitachi Vantara : http://www.pentaho.com
|
||||
*
|
||||
*******************************************************************************
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
package org.pentaho.di.ui.core.auth.model;
|
||||
|
||||
import org.pentaho.ui.xul.XulException;
|
||||
import org.pentaho.ui.xul.binding.BindingException;
|
||||
|
||||
import java.lang.reflect.InvocationTargetException;
|
||||
|
||||
public abstract interface AuthProvider extends Cloneable {
|
||||
public abstract String getPrincipal();
|
||||
|
||||
public abstract void setPrincipal( String paramString );
|
||||
|
||||
public abstract String getProviderDescription();
|
||||
|
||||
public abstract String getOverlay();
|
||||
|
||||
public void bind() throws BindingException, XulException, InvocationTargetException;
|
||||
|
||||
public void unbind();
|
||||
|
||||
public AuthProvider clone() throws CloneNotSupportedException;
|
||||
|
||||
public void fireBindingsChanged() throws XulException, InvocationTargetException;
|
||||
}
|
|
@ -0,0 +1,65 @@
|
|||
/*! ******************************************************************************
|
||||
*
|
||||
* Pentaho Data Integration
|
||||
*
|
||||
* Copyright (C) 2002-2017 by Hitachi Vantara : http://www.pentaho.com
|
||||
*
|
||||
*******************************************************************************
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
package org.pentaho.di.ui.core.auth.model;
|
||||
|
||||
import org.pentaho.ui.xul.binding.Binding;
|
||||
import org.pentaho.ui.xul.binding.BindingFactory;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class BasicAuthProvider extends AbstractAuthProvider {
|
||||
|
||||
private String password;
|
||||
|
||||
public BasicAuthProvider( BindingFactory bf ) {
|
||||
super( bf );
|
||||
}
|
||||
|
||||
public String getPassword() {
|
||||
|
||||
return this.password;
|
||||
|
||||
}
|
||||
|
||||
public void setPassword( String password ) {
|
||||
|
||||
this.password = password;
|
||||
|
||||
}
|
||||
|
||||
public String getProviderDescription() {
|
||||
|
||||
return "Basic";
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void addBindings( List<Binding> bindings, BindingFactory bf ) {
|
||||
|
||||
Binding b = bf.createBinding( this, "password", "password", "value" );
|
||||
b.setBindingType( Binding.Type.BI_DIRECTIONAL );
|
||||
bindings.add( b );
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,97 @@
|
|||
/*! ******************************************************************************
|
||||
*
|
||||
* Pentaho Data Integration
|
||||
*
|
||||
* Copyright (C) 2002-2017 by Hitachi Vantara : http://www.pentaho.com
|
||||
*
|
||||
*******************************************************************************
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
package org.pentaho.di.ui.core.auth.model;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.pentaho.ui.xul.binding.Binding;
|
||||
import org.pentaho.ui.xul.binding.BindingFactory;
|
||||
|
||||
public class KerberosAuthProvider extends BasicAuthProvider {
|
||||
private boolean useKeytab;
|
||||
private String keytabFile;
|
||||
|
||||
public KerberosAuthProvider( BindingFactory bf ) {
|
||||
super( bf );
|
||||
}
|
||||
|
||||
public boolean isUseKeytab() {
|
||||
|
||||
return this.useKeytab;
|
||||
|
||||
}
|
||||
|
||||
public void setUseKeytab( boolean useKeytab ) {
|
||||
|
||||
this.useKeytab = useKeytab;
|
||||
|
||||
}
|
||||
|
||||
public String getKeytabFile() {
|
||||
|
||||
return this.keytabFile;
|
||||
|
||||
}
|
||||
|
||||
public void setKeytabFile( String keytabFile ) {
|
||||
|
||||
this.keytabFile = keytabFile;
|
||||
|
||||
}
|
||||
|
||||
public String getProviderDescription() {
|
||||
return "Kerberos";
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void addBindings( List<Binding> bindings, BindingFactory bf ) {
|
||||
|
||||
super.addBindings( bindings, bf );
|
||||
|
||||
Binding b = bf.createBinding( this, "keytabFile", "keytab", "value" );
|
||||
b.setBindingType( Binding.Type.BI_DIRECTIONAL );
|
||||
bindings.add( b );
|
||||
|
||||
b = bf.createBinding( this, "useKeytab", "useKeytab", "checked" );
|
||||
b.setBindingType( Binding.Type.BI_DIRECTIONAL );
|
||||
bindings.add( b );
|
||||
|
||||
b = bf.createBinding( "useKeytab", "checked", "keytab", "!disabled" );
|
||||
b.setBindingType( Binding.Type.ONE_WAY );
|
||||
bindings.add( b );
|
||||
|
||||
b = bf.createBinding( "useKeytab", "checked", "browse", "!disabled" );
|
||||
b.setBindingType( Binding.Type.ONE_WAY );
|
||||
bindings.add( b );
|
||||
|
||||
b = bf.createBinding( "useKeytab", "checked", "password", "disabled" );
|
||||
b.setBindingType( Binding.Type.ONE_WAY );
|
||||
bindings.add( b );
|
||||
|
||||
b = bf.createBinding( "useKeytab", "checked", "principal", "disabled" );
|
||||
b.setBindingType( Binding.Type.ONE_WAY );
|
||||
bindings.add( b );
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,33 @@
|
|||
/*! ******************************************************************************
|
||||
*
|
||||
* Pentaho Data Integration
|
||||
*
|
||||
* Copyright (C) 2002-2017 by Hitachi Vantara : http://www.pentaho.com
|
||||
*
|
||||
*******************************************************************************
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
package org.pentaho.di.ui.core.auth.model;
|
||||
|
||||
public abstract interface NamedModelObject<T> {
|
||||
public abstract String getName();
|
||||
|
||||
public abstract void setName( String paramString );
|
||||
|
||||
public abstract void setItem( T paramT );
|
||||
|
||||
public abstract T getItem();
|
||||
}
|
|
@ -0,0 +1,69 @@
|
|||
/*! ******************************************************************************
|
||||
*
|
||||
* Pentaho Data Integration
|
||||
*
|
||||
* Copyright (C) 2002-2017 by Hitachi Vantara : http://www.pentaho.com
|
||||
*
|
||||
*******************************************************************************
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
package org.pentaho.di.ui.core.auth.model;
|
||||
|
||||
import org.pentaho.di.core.logging.LogChannel;
|
||||
import org.pentaho.ui.xul.XulEventSourceAdapter;
|
||||
|
||||
public class NamedProvider extends XulEventSourceAdapter implements NamedModelObject<AuthProvider> {
|
||||
|
||||
String name = null;
|
||||
|
||||
AuthProvider provider = null;
|
||||
|
||||
public NamedProvider( String name, AuthProvider provider ) {
|
||||
|
||||
this.name = name;
|
||||
this.provider = provider;
|
||||
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return this.name;
|
||||
}
|
||||
|
||||
public void setName( String name ) {
|
||||
String prev = this.name;
|
||||
this.name = name;
|
||||
firePropertyChange( "name", prev, this.name );
|
||||
}
|
||||
|
||||
public void setItem( AuthProvider object ) {
|
||||
|
||||
this.provider = object;
|
||||
try {
|
||||
provider.fireBindingsChanged();
|
||||
} catch ( Exception e ) {
|
||||
LogChannel.GENERAL.logError( "Binding event error while attempting to select provider.", e );
|
||||
}
|
||||
}
|
||||
|
||||
public AuthProvider getItem() {
|
||||
return this.provider;
|
||||
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
return this.name;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,52 @@
|
|||
/*! ******************************************************************************
|
||||
*
|
||||
* Pentaho Data Integration
|
||||
*
|
||||
* Copyright (C) 2002-2017 by Hitachi Vantara : http://www.pentaho.com
|
||||
*
|
||||
*******************************************************************************
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
package org.pentaho.di.ui.core.auth.model;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.pentaho.ui.xul.binding.Binding;
|
||||
import org.pentaho.ui.xul.binding.BindingFactory;
|
||||
|
||||
public class NoAuthAuthProvider extends AbstractAuthProvider {
|
||||
public NoAuthAuthProvider( BindingFactory bf ) {
|
||||
super( bf );
|
||||
}
|
||||
|
||||
public String getPrincipal() {
|
||||
return null;
|
||||
}
|
||||
|
||||
public String getProviderDescription() {
|
||||
return "NoAuth";
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void addBindings( List<Binding> bindings, BindingFactory bf ) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void bind() {
|
||||
|
||||
}
|
||||
}
|
|
@ -0,0 +1,77 @@
|
|||
/*! ******************************************************************************
|
||||
*
|
||||
* Pentaho Data Integration
|
||||
*
|
||||
* Copyright (C) 2002-2017 by Hitachi Vantara : http://www.pentaho.com
|
||||
*
|
||||
*******************************************************************************
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
package org.pentaho.di.ui.core.auth.model;
|
||||
|
||||
import org.pentaho.ui.xul.XulEventSourceAdapter;
|
||||
import org.pentaho.ui.xul.util.AbstractModelList;
|
||||
|
||||
@SuppressWarnings( { "unchecked", "rawtypes" } )
|
||||
public class ObjectListModel extends XulEventSourceAdapter {
|
||||
private AbstractModelList<NamedModelObject> modelObjects = new AbstractModelList<NamedModelObject>();
|
||||
|
||||
private NamedModelObject selected = null;
|
||||
protected NamedModelObject selectedItem;
|
||||
protected Object value;
|
||||
|
||||
public AbstractModelList<NamedModelObject> getModelObjects() {
|
||||
return this.modelObjects;
|
||||
}
|
||||
|
||||
public NamedModelObject getSelectedItem() {
|
||||
return this.selected;
|
||||
}
|
||||
|
||||
public void setSelectedItem( NamedModelObject selected ) {
|
||||
NamedModelObject prev = this.selected;
|
||||
|
||||
this.selected = selected;
|
||||
firePropertyChange( "selectedItem", prev, selected );
|
||||
}
|
||||
|
||||
public void add( NamedModelObject item ) {
|
||||
this.modelObjects.add( item );
|
||||
}
|
||||
|
||||
public void setName( String value ) {
|
||||
|
||||
if ( selected != null ) {
|
||||
selected.setName( value );
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
|
||||
if ( this.selected != null ) {
|
||||
return this.selected.getName();
|
||||
}
|
||||
return "";
|
||||
|
||||
}
|
||||
|
||||
public void setItem( NamedModelObject selectedItem, Object value ) {
|
||||
|
||||
selectedItem.setItem( value );
|
||||
|
||||
}
|
||||
}
|
Binary file not shown.
After Width: | Height: | Size: 540 B |
Binary file not shown.
After Width: | Height: | Size: 451 B |
Binary file not shown.
After Width: | Height: | Size: 472 B |
|
@ -0,0 +1,79 @@
|
|||
<?xml version="1.0"?>
|
||||
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
|
||||
<!--
|
||||
~ This library is free software; you can redistribute it and/or
|
||||
~ modify it under the terms of the GNU Lesser General Public
|
||||
~ License as published by the Free Software Foundation; either
|
||||
~ version 2.1 of the License, or (at your option) any later version.
|
||||
~
|
||||
~ This library is distributed in the hope that it will be useful,
|
||||
~ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
~ Lesser General Public License for more details.
|
||||
~
|
||||
~ You should have received a copy of the GNU Lesser General Public
|
||||
~ License along with this library; if not, write to the Free Software
|
||||
~ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
~
|
||||
~ Copyright 2009 - 2017 Hitachi Vantara. All rights reserved.
|
||||
-->
|
||||
|
||||
<dialog xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
|
||||
xmlns:pen="http://www.pentaho.org/2008/xul"
|
||||
resizable="true"
|
||||
buttonlabelcancel="${dialog.cancel}"
|
||||
buttonlabelaccept="${dialog.ok}"
|
||||
buttons="accept,cancel"
|
||||
id="main_dialog"
|
||||
width="700"
|
||||
height="300"
|
||||
buttonalign="right"
|
||||
title="${dialog.title}"
|
||||
ondialogaccept="handler.onAccept()"
|
||||
ondialogcancel="handler.onCancel()"
|
||||
onload="handler.init()"
|
||||
>
|
||||
|
||||
<hbox flex="1" id="outer_container">
|
||||
<vbox flex="1">
|
||||
|
||||
<hbox>
|
||||
<spacer flex="1"/>
|
||||
<button id="add_button" image="org/pentaho/di/ui/core/auth/resources/Add.png" onclick="handler.addNew()"/>
|
||||
<button id="remove_button" pen:disabledimage="org/pentaho/di/ui/core/auth/resources/dRemove.png" image="org/pentaho/di/ui/core/auth/resources/Remove.png" onclick="handler.remove()"/>
|
||||
</hbox>
|
||||
|
||||
<listbox flex="2" id="auth_list" disabled="false" seltype="single" pen:binding="name">
|
||||
</listbox>
|
||||
|
||||
</vbox>
|
||||
|
||||
<vbox flex="4">
|
||||
<grid id="method_grid">
|
||||
<columns>
|
||||
<column/>
|
||||
<column flex="1"/>
|
||||
</columns>
|
||||
<rows>
|
||||
<row>
|
||||
<label value="${dialog.name}"/>
|
||||
<textbox flex="1" id="name"/>
|
||||
</row>
|
||||
<row>
|
||||
<label value="${dialog.method}"/>
|
||||
|
||||
<menulist label="method" id="method_list">
|
||||
<menupopup>
|
||||
</menupopup>
|
||||
</menulist>
|
||||
</row>
|
||||
</rows>
|
||||
</grid>
|
||||
|
||||
<hbox id="overlay_real_estate" flex="1">
|
||||
</hbox>
|
||||
</vbox>
|
||||
|
||||
</hbox>
|
||||
|
||||
</dialog>
|
|
@ -0,0 +1,27 @@
|
|||
<overlay>
|
||||
<hbox id="overlay_real_estate" flex="1">
|
||||
|
||||
<groupbox id="general-settings-box" flex="1">
|
||||
<grid id="method_grid" flex="1">
|
||||
<columns>
|
||||
<column/>
|
||||
<column flex="1"/>
|
||||
<column/>
|
||||
</columns>
|
||||
<rows>
|
||||
<row>
|
||||
<label value="${basic.username}"/>
|
||||
<textbox flex="1" id="principal"/>
|
||||
<spacer/>
|
||||
</row>
|
||||
<row>
|
||||
<label value="${basic.password}"/>
|
||||
<textbox flex="1" id="password" type="password"/>
|
||||
<spacer/>
|
||||
</row>
|
||||
</rows>
|
||||
</grid>
|
||||
</groupbox>
|
||||
|
||||
</hbox>
|
||||
</overlay>
|
|
@ -0,0 +1,37 @@
|
|||
<overlay>
|
||||
<hbox id="overlay_real_estate" flex="1">
|
||||
|
||||
<groupbox id="general-settings-box" flex="1">
|
||||
<grid id="method_grid" flex="1">
|
||||
<columns>
|
||||
<column/>
|
||||
<column flex="1"/>
|
||||
<column/>
|
||||
</columns>
|
||||
<rows>
|
||||
<row>
|
||||
<label value="${kerberos.principal}"/>
|
||||
<textbox flex="1" id="principal"/>
|
||||
<spacer/>
|
||||
</row>
|
||||
<row>
|
||||
<label value="${kerberos.password}"/>
|
||||
<textbox flex="1" id="password" type="password"/>
|
||||
<spacer/>
|
||||
</row>
|
||||
<row>
|
||||
<label value="${kerberos.usekeytab}"/>
|
||||
<checkbox id="useKeytab" />
|
||||
<spacer/>
|
||||
</row>
|
||||
<row>
|
||||
<label value="${kerberos.keytab}"/>
|
||||
<textbox flex="1" id="keytab"/>
|
||||
<button id="browse" label="..." onclick="handler.browse()"/>
|
||||
</row>
|
||||
</rows>
|
||||
</grid>
|
||||
</groupbox>
|
||||
|
||||
</hbox>
|
||||
</overlay>
|
|
@ -0,0 +1,16 @@
|
|||
<overlay>
|
||||
<hbox id="overlay_real_estate" flex="1">
|
||||
|
||||
<groupbox id="general-settings-box" flex="1">
|
||||
<grid id="method_grid" flex="1">
|
||||
<columns>
|
||||
<column/>
|
||||
<column flex="1"/>
|
||||
<column/>
|
||||
</columns>
|
||||
<rows></rows>
|
||||
</grid>
|
||||
</groupbox>
|
||||
|
||||
</hbox>
|
||||
</overlay>
|
|
@ -0,0 +1,206 @@
|
|||
/*! ******************************************************************************
|
||||
*
|
||||
* Pentaho Data Integration
|
||||
*
|
||||
* Copyright (C) 2002-2018 by Hitachi Vantara : http://www.pentaho.com
|
||||
*
|
||||
*******************************************************************************
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
package org.pentaho.di.ui.core.database.dialog;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
import org.eclipse.swt.SWT;
|
||||
import org.eclipse.swt.widgets.Composite;
|
||||
import org.eclipse.swt.widgets.MessageBox;
|
||||
import org.eclipse.swt.widgets.Shell;
|
||||
import org.pentaho.di.core.Const;
|
||||
import org.pentaho.di.core.RowMetaAndData;
|
||||
import org.pentaho.di.core.database.DatabaseMeta;
|
||||
import org.pentaho.di.core.database.DatabaseTestResults;
|
||||
import org.pentaho.di.core.row.RowMetaInterface;
|
||||
import org.pentaho.di.i18n.BaseMessages;
|
||||
import org.pentaho.di.ui.core.database.dialog.tags.ExtTextbox;
|
||||
import org.pentaho.di.ui.core.dialog.ErrorDialog;
|
||||
import org.pentaho.di.ui.core.dialog.PreviewRowsDialog;
|
||||
import org.pentaho.di.ui.core.dialog.ShowMessageDialog;
|
||||
import org.pentaho.ui.database.event.DataHandler;
|
||||
import org.pentaho.ui.xul.components.XulTextbox;
|
||||
import org.pentaho.ui.xul.containers.XulTree;
|
||||
|
||||
public class DataOverrideHandler extends DataHandler {
|
||||
boolean cancelPressed = false;
|
||||
|
||||
@Override
|
||||
public void onCancel() {
|
||||
super.onCancel();
|
||||
this.cancelPressed = true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onOK() {
|
||||
super.onOK();
|
||||
this.cancelPressed = false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object getData() {
|
||||
if ( !cancelPressed ) {
|
||||
return super.getData();
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
private static Class<?> PKG = DataOverrideHandler.class; // for i18n purposes, needed by Translator2!!
|
||||
|
||||
private java.util.List<DatabaseMeta> databases;
|
||||
|
||||
public DataOverrideHandler() {
|
||||
}
|
||||
|
||||
public void explore() {
|
||||
|
||||
Shell parent = getShell();
|
||||
|
||||
DatabaseMeta dbinfo = new DatabaseMeta();
|
||||
getInfo( dbinfo );
|
||||
|
||||
try {
|
||||
if ( dbinfo.getAccessType() != DatabaseMeta.TYPE_ACCESS_PLUGIN ) {
|
||||
DatabaseExplorerDialog ded = new DatabaseExplorerDialog( parent, SWT.NONE, dbinfo, databases, true );
|
||||
ded.open();
|
||||
} else {
|
||||
MessageBox mb = new MessageBox( parent, SWT.OK | SWT.ICON_INFORMATION );
|
||||
mb.setText( BaseMessages.getString( PKG, "DatabaseDialog.ExplorerNotImplemented.Title" ) );
|
||||
mb.setMessage( BaseMessages.getString( PKG, "DatabaseDialog.ExplorerNotImplemented.Message" ) );
|
||||
mb.open();
|
||||
}
|
||||
} catch ( Exception e ) {
|
||||
new ErrorDialog( parent, BaseMessages.getString( PKG, "DatabaseDialog.ErrorParameters.title" ), BaseMessages
|
||||
.getString( PKG, "DatabaseDialog.ErrorParameters.description" ), e );
|
||||
}
|
||||
}
|
||||
|
||||
private Shell getShell() {
|
||||
Object obj = document.getRootElement().getManagedObject();
|
||||
Shell parent;
|
||||
if ( obj instanceof Shell ) {
|
||||
parent = (Shell) obj;
|
||||
} else {
|
||||
parent = ( (Composite) obj ).getShell();
|
||||
}
|
||||
if ( parent == null ) {
|
||||
throw new IllegalStateException( "Could not get Shell reference from Xul Dialog Tree." );
|
||||
}
|
||||
return parent;
|
||||
}
|
||||
|
||||
public void showFeatureList() {
|
||||
|
||||
Shell parent = getShell();
|
||||
|
||||
DatabaseMeta dbinfo = new DatabaseMeta();
|
||||
getInfo( dbinfo );
|
||||
|
||||
try {
|
||||
java.util.List<RowMetaAndData> buffer = dbinfo.getFeatureSummary();
|
||||
if ( buffer.size() > 0 ) {
|
||||
RowMetaInterface rowMeta = buffer.get( 0 ).getRowMeta();
|
||||
java.util.List<Object[]> rowData = new ArrayList<Object[]>();
|
||||
for ( RowMetaAndData row : buffer ) {
|
||||
rowData.add( row.getData() );
|
||||
}
|
||||
|
||||
PreviewRowsDialog prd = new PreviewRowsDialog( parent, dbinfo, SWT.NONE, null, rowMeta, rowData );
|
||||
prd.setTitleMessage( BaseMessages.getString( PKG, "DatabaseDialog.FeatureList.title" ), BaseMessages
|
||||
.getString( PKG, "DatabaseDialog.FeatureList.title" ) );
|
||||
prd.open();
|
||||
}
|
||||
} catch ( Exception e ) {
|
||||
new ErrorDialog(
|
||||
parent, BaseMessages.getString( PKG, "DatabaseDialog.FeatureListError.title" ), BaseMessages.getString(
|
||||
PKG, "DatabaseDialog.FeatureListError.description" ), e );
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void getControls() {
|
||||
|
||||
super.getControls();
|
||||
|
||||
XulTextbox[] boxes =
|
||||
new XulTextbox[] {
|
||||
hostNameBox, databaseNameBox, portNumberBox, userNameBox, passwordBox, customDriverClassBox,
|
||||
customUrlBox, dataTablespaceBox, indexTablespaceBox, poolSizeBox, maxPoolSizeBox, languageBox,
|
||||
systemNumberBox, clientBox };
|
||||
|
||||
for ( int i = 0; i < boxes.length; i++ ) {
|
||||
XulTextbox xulTextbox = boxes[i];
|
||||
if ( ( xulTextbox != null ) && ( xulTextbox instanceof ExtTextbox ) ) {
|
||||
ExtTextbox ext = (ExtTextbox) xulTextbox;
|
||||
ext.setVariableSpace( databaseMeta );
|
||||
}
|
||||
}
|
||||
|
||||
XulTree[] trees = new XulTree[] { poolParameterTree, clusterParameterTree, optionsParameterTree };
|
||||
|
||||
for ( int i = 0; i < trees.length; i++ ) {
|
||||
XulTree xulTree = trees[i];
|
||||
if ( xulTree != null ) {
|
||||
xulTree.setData( databaseMeta );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public java.util.List<DatabaseMeta> getDatabases() {
|
||||
return databases;
|
||||
}
|
||||
|
||||
public void setDatabases( java.util.List<DatabaseMeta> databases ) {
|
||||
this.databases = databases;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void showMessage( String message, boolean scroll ) {
|
||||
Shell parent = getShell();
|
||||
|
||||
ShowMessageDialog msgDialog =
|
||||
new ShowMessageDialog( parent, SWT.ICON_INFORMATION | SWT.OK, BaseMessages.getString(
|
||||
PKG, "DatabaseDialog.DatabaseConnectionTest.title" ), message, scroll );
|
||||
msgDialog.open();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void showMessage( DatabaseTestResults databaseTestResults ) {
|
||||
Shell parent = getShell();
|
||||
String message = databaseTestResults.getMessage();
|
||||
boolean success = databaseTestResults.isSuccess();
|
||||
String title = success ? BaseMessages.getString( PKG, "DatabaseDialog.DatabaseConnectionTestSuccess.title" )
|
||||
: BaseMessages.getString( PKG, "DatabaseDialog.DatabaseConnectionTest.title" );
|
||||
if ( success && message.contains( Const.CR ) ) {
|
||||
message = message.substring( 0, message.indexOf( Const.CR ) )
|
||||
+ Const.CR + message.substring( message.indexOf( Const.CR ) );
|
||||
message = message.substring( 0, message.lastIndexOf( Const.CR ) );
|
||||
}
|
||||
ShowMessageDialog msgDialog = new ShowMessageDialog( parent, SWT.ICON_INFORMATION | SWT.OK,
|
||||
title, message, message.length() > 300 );
|
||||
msgDialog.setType( success ? Const.SHOW_MESSAGE_DIALOG_DB_TEST_SUCCESS
|
||||
: Const.SHOW_MESSAGE_DIALOG_DB_TEST_DEFAULT );
|
||||
msgDialog.open();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,147 @@
|
|||
/*! ******************************************************************************
|
||||
*
|
||||
* Pentaho Data Integration
|
||||
*
|
||||
* Copyright (C) 2002-2018 by Hitachi Vantara : http://www.pentaho.com
|
||||
*
|
||||
*******************************************************************************
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
package org.pentaho.di.ui.core.database.dialog;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
import org.eclipse.jface.dialogs.MessageDialog;
|
||||
import org.eclipse.swt.SWT;
|
||||
import org.eclipse.swt.widgets.MessageBox;
|
||||
import org.eclipse.swt.widgets.Shell;
|
||||
import org.eclipse.swt.widgets.Text;
|
||||
import org.pentaho.di.core.Const;
|
||||
import org.pentaho.di.core.database.DatabaseMeta;
|
||||
import org.pentaho.di.core.database.DatabaseTestResults;
|
||||
import org.pentaho.di.core.util.StringUtil;
|
||||
import org.pentaho.di.i18n.BaseMessages;
|
||||
import org.pentaho.di.ui.core.dialog.ShowMessageDialog;
|
||||
|
||||
/**
|
||||
*
|
||||
* Dialog that allows you to edit the settings of a database connection.
|
||||
*
|
||||
* @see <code>DatabaseInfo</code>
|
||||
* @author Matt
|
||||
* @since 18-05-2003
|
||||
*
|
||||
*/
|
||||
public class DatabaseDialog extends XulDatabaseDialog {
|
||||
private static Class<?> PKG = DatabaseDialog.class; // for i18n purposes, needed by Translator2!!
|
||||
|
||||
public DatabaseDialog( Shell parent ) {
|
||||
super( parent );
|
||||
}
|
||||
|
||||
public DatabaseDialog( Shell parent, DatabaseMeta databaseMeta ) {
|
||||
super( parent );
|
||||
setDatabaseMeta( databaseMeta );
|
||||
}
|
||||
|
||||
public String open() {
|
||||
return super.open();
|
||||
}
|
||||
|
||||
public static final void checkPasswordVisible( Text wPassword ) {
|
||||
String password = wPassword.getText();
|
||||
java.util.List<String> list = new ArrayList<String>();
|
||||
StringUtil.getUsedVariables( password, list, true );
|
||||
// ONLY show the variable in clear text if there is ONE variable used
|
||||
// Also, it has to be the only string in the field.
|
||||
//
|
||||
|
||||
if ( list.size() != 1 ) {
|
||||
wPassword.setEchoChar( '*' );
|
||||
} else {
|
||||
String variableName = null;
|
||||
if ( ( password.startsWith( StringUtil.UNIX_OPEN ) && password.endsWith( StringUtil.UNIX_CLOSE ) ) ) {
|
||||
// ${VAR}
|
||||
// 012345
|
||||
//
|
||||
variableName =
|
||||
password.substring( StringUtil.UNIX_OPEN.length(), password.length() - StringUtil.UNIX_CLOSE.length() );
|
||||
}
|
||||
if ( ( password.startsWith( StringUtil.WINDOWS_OPEN ) && password.endsWith( StringUtil.WINDOWS_CLOSE ) ) ) {
|
||||
// %VAR%
|
||||
// 01234
|
||||
//
|
||||
variableName =
|
||||
password.substring( StringUtil.WINDOWS_OPEN.length(), password.length()
|
||||
- StringUtil.WINDOWS_CLOSE.length() );
|
||||
}
|
||||
|
||||
// If there is a variable name in there AND if it's defined in the system properties...
|
||||
// Otherwise, we'll leave it alone.
|
||||
//
|
||||
if ( variableName != null && System.getProperty( variableName ) != null ) {
|
||||
wPassword.setEchoChar( '\0' ); // Show it all...
|
||||
} else {
|
||||
wPassword.setEchoChar( '*' );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Test the database connection
|
||||
*/
|
||||
public static final void test( Shell shell, DatabaseMeta dbinfo ) {
|
||||
String[] remarks = dbinfo.checkParameters();
|
||||
if ( remarks.length == 0 ) {
|
||||
// Get a "test" report from this database
|
||||
DatabaseTestResults databaseTestResults = dbinfo.testConnectionSuccess();
|
||||
String message = databaseTestResults.getMessage();
|
||||
boolean success = databaseTestResults.isSuccess();
|
||||
String title = success ? BaseMessages.getString( PKG, "DatabaseDialog.DatabaseConnectionTestSuccess.title" )
|
||||
: BaseMessages.getString( PKG, "DatabaseDialog.DatabaseConnectionTest.title" );
|
||||
if ( success && message.contains( Const.CR ) ) {
|
||||
message = message.substring( 0, message.indexOf( Const.CR ) )
|
||||
+ Const.CR + message.substring( message.indexOf( Const.CR ) );
|
||||
message = message.substring( 0, message.lastIndexOf( Const.CR ) );
|
||||
}
|
||||
ShowMessageDialog msgDialog = new ShowMessageDialog( shell, SWT.ICON_INFORMATION | SWT.OK,
|
||||
title, message, message.length() > 300 );
|
||||
msgDialog.setType( success ? Const.SHOW_MESSAGE_DIALOG_DB_TEST_SUCCESS
|
||||
: Const.SHOW_MESSAGE_DIALOG_DB_TEST_DEFAULT );
|
||||
msgDialog.open();
|
||||
} else {
|
||||
String message = "";
|
||||
for ( int i = 0; i < remarks.length; i++ ) {
|
||||
message += " * " + remarks[i] + Const.CR;
|
||||
}
|
||||
|
||||
MessageBox mb = new MessageBox( shell, SWT.OK | SWT.ICON_ERROR );
|
||||
mb.setText( BaseMessages.getString( PKG, "DatabaseDialog.ErrorParameters2.title" ) );
|
||||
mb.setMessage( BaseMessages.getString( PKG, "DatabaseDialog.ErrorParameters2.description", message ) );
|
||||
mb.open();
|
||||
}
|
||||
}
|
||||
|
||||
public static void showDatabaseExistsDialog( Shell parent, DatabaseMeta databaseMeta ) {
|
||||
String title = BaseMessages.getString( PKG, "DatabaseDialog.DatabaseNameExists.Title" );
|
||||
String message = BaseMessages.getString( PKG, "DatabaseDialog.DatabaseNameExists", databaseMeta.getName() );
|
||||
String okButton = BaseMessages.getString( PKG, "System.Button.OK" );
|
||||
MessageDialog dialog =
|
||||
new MessageDialog( parent, title, null, message, MessageDialog.ERROR, new String[] { okButton }, 0 );
|
||||
dialog.open();
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,54 @@
|
|||
/*! ******************************************************************************
|
||||
*
|
||||
* Pentaho Data Integration
|
||||
*
|
||||
* Copyright (C) 2002-2017 by Hitachi Vantara : http://www.pentaho.com
|
||||
*
|
||||
*******************************************************************************
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
package org.pentaho.di.ui.core.database.dialog;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.eclipse.swt.widgets.Shell;
|
||||
import org.pentaho.di.core.database.DatabaseMeta;
|
||||
|
||||
/**
|
||||
* This class has been adapted to use the XUL version of the DatabaseExplorerDialog instead. The old
|
||||
* DatabaseExplorerDialog has been renamed to DatabaseExplorerDialogLegacy
|
||||
*/
|
||||
public class DatabaseExplorerDialog extends XulDatabaseExplorerDialog {
|
||||
|
||||
public DatabaseExplorerDialog( Shell parent, int style, DatabaseMeta conn, List<DatabaseMeta> databases ) {
|
||||
super( parent, conn, databases, false );
|
||||
}
|
||||
|
||||
public DatabaseExplorerDialog( Shell parent, int style, DatabaseMeta conn, List<DatabaseMeta> databases,
|
||||
boolean aLook ) {
|
||||
super( parent, conn, databases, aLook );
|
||||
}
|
||||
}
|
||||
/*
|
||||
* public class DatabaseExplorerDialog extends DatabaseExplorerDialogLegacy {
|
||||
*
|
||||
* public DatabaseExplorerDialog(Shell parent, int style, DatabaseMeta conn, List<DatabaseMeta> databases) {
|
||||
* super(parent, SWT.APPLICATION_MODAL | SWT.DIALOG_TRIM | SWT.RESIZE | SWT.MAX | SWT.MIN, conn, databases, false); }
|
||||
*
|
||||
* public DatabaseExplorerDialog(Shell parent, int style, DatabaseMeta conn, List<DatabaseMeta> databases, boolean
|
||||
* aLook) { super(parent, SWT.APPLICATION_MODAL | SWT.DIALOG_TRIM | SWT.RESIZE | SWT.MAX | SWT.MIN, conn, databases,
|
||||
* aLook); } }
|
||||
*/
|
|
@ -0,0 +1,102 @@
|
|||
/*! ******************************************************************************
|
||||
*
|
||||
* Pentaho Data Integration
|
||||
*
|
||||
* Copyright (C) 2002-2017 by Hitachi Vantara : http://www.pentaho.com
|
||||
*
|
||||
*******************************************************************************
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
package org.pentaho.di.ui.core.database.dialog;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
import org.pentaho.ui.xul.util.AbstractModelNode;
|
||||
|
||||
public class DatabaseExplorerNode extends AbstractModelNode<DatabaseExplorerNode> {
|
||||
|
||||
private static final long serialVersionUID = -7409853507740739091L;
|
||||
|
||||
private String name;
|
||||
private String schema;
|
||||
private String image;
|
||||
private boolean isTable;
|
||||
private boolean isSchema;
|
||||
|
||||
// possibly a combination of schema and table
|
||||
private String label;
|
||||
|
||||
public DatabaseExplorerNode() {
|
||||
this.children = new ArrayList<DatabaseExplorerNode>();
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return this.name;
|
||||
}
|
||||
|
||||
public void setName( String name ) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
return "Database Node: " + this.name;
|
||||
}
|
||||
|
||||
public String getImage() {
|
||||
return this.image;
|
||||
}
|
||||
|
||||
public void setImage( String aImage ) {
|
||||
this.image = aImage;
|
||||
}
|
||||
|
||||
public void setIsSchema( boolean isSchema ) {
|
||||
this.isSchema = isSchema;
|
||||
}
|
||||
|
||||
public boolean isSchema() {
|
||||
return isSchema;
|
||||
}
|
||||
|
||||
public boolean isTable() {
|
||||
return this.isTable;
|
||||
}
|
||||
|
||||
public void setIsTable( boolean aIsTable ) {
|
||||
this.isTable = aIsTable;
|
||||
}
|
||||
|
||||
public void setSchema( String schema ) {
|
||||
this.schema = schema;
|
||||
}
|
||||
|
||||
public String getSchema() {
|
||||
return schema;
|
||||
}
|
||||
|
||||
public String getLabel() {
|
||||
if ( label != null ) {
|
||||
return label;
|
||||
} else {
|
||||
return name;
|
||||
}
|
||||
}
|
||||
|
||||
public void setLabel( String label ) {
|
||||
this.label = label;
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,98 @@
|
|||
/*! ******************************************************************************
|
||||
*
|
||||
* Pentaho Data Integration
|
||||
*
|
||||
* Copyright (C) 2002-2017 by Hitachi Vantara : http://www.pentaho.com
|
||||
*
|
||||
*******************************************************************************
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
package org.pentaho.di.ui.core.database.dialog;
|
||||
|
||||
import java.lang.reflect.InvocationTargetException;
|
||||
|
||||
import org.eclipse.core.runtime.IProgressMonitor;
|
||||
import org.eclipse.jface.dialogs.ProgressMonitorDialog;
|
||||
import org.eclipse.jface.operation.IRunnableWithProgress;
|
||||
import org.eclipse.swt.widgets.Shell;
|
||||
import org.pentaho.di.core.ProgressMonitorAdapter;
|
||||
import org.pentaho.di.core.database.DatabaseMeta;
|
||||
import org.pentaho.di.core.database.DatabaseMetaInformation;
|
||||
import org.pentaho.di.i18n.BaseMessages;
|
||||
import org.pentaho.di.ui.core.dialog.ErrorDialog;
|
||||
import org.pentaho.di.ui.spoon.Spoon;
|
||||
|
||||
/**
|
||||
* Takes care of displaying a dialog that will handle the wait while we're finding out what tables, views etc we can
|
||||
* reach in the database.
|
||||
*
|
||||
* @author Matt
|
||||
* @since 07-apr-2005
|
||||
*/
|
||||
public class GetDatabaseInfoProgressDialog {
|
||||
private static Class<?> PKG = GetDatabaseInfoProgressDialog.class; // for i18n purposes, needed by Translator2!!
|
||||
|
||||
private Shell shell;
|
||||
private DatabaseMeta dbInfo;
|
||||
|
||||
/**
|
||||
* Creates a new dialog that will handle the wait while we're finding out what tables, views etc we can reach in the
|
||||
* database.
|
||||
*/
|
||||
public GetDatabaseInfoProgressDialog( Shell shell, DatabaseMeta dbInfo ) {
|
||||
this.shell = shell;
|
||||
this.dbInfo = dbInfo;
|
||||
}
|
||||
|
||||
public DatabaseMetaInformation open() {
|
||||
final DatabaseMetaInformation dmi = new DatabaseMetaInformation( dbInfo );
|
||||
IRunnableWithProgress op = new IRunnableWithProgress() {
|
||||
public void run( IProgressMonitor monitor ) throws InvocationTargetException, InterruptedException {
|
||||
try {
|
||||
dmi.getData( Spoon.loggingObject, new ProgressMonitorAdapter( monitor ) );
|
||||
} catch ( Exception e ) {
|
||||
throw new InvocationTargetException( e, BaseMessages.getString(
|
||||
PKG, "GetDatabaseInfoProgressDialog.Error.GettingInfoTable", e.toString() ) );
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
try {
|
||||
ProgressMonitorDialog pmd = new ProgressMonitorDialog( shell );
|
||||
|
||||
pmd.run( true, true, op );
|
||||
} catch ( InvocationTargetException e ) {
|
||||
showErrorDialog( e );
|
||||
return null;
|
||||
} catch ( InterruptedException e ) {
|
||||
showErrorDialog( e );
|
||||
return null;
|
||||
}
|
||||
|
||||
return dmi;
|
||||
}
|
||||
|
||||
/**
|
||||
* Showing an error dialog
|
||||
*
|
||||
* @param e
|
||||
*/
|
||||
private void showErrorDialog( Exception e ) {
|
||||
new ErrorDialog(
|
||||
shell, BaseMessages.getString( PKG, "GetDatabaseInfoProgressDialog.Error.Title" ), BaseMessages.getString(
|
||||
PKG, "GetDatabaseInfoProgressDialog.Error.Message" ), e );
|
||||
}
|
||||
}
|
|
@ -0,0 +1,148 @@
|
|||
/*! ******************************************************************************
|
||||
*
|
||||
* Pentaho Data Integration
|
||||
*
|
||||
* Copyright (C) 2002-2017 by Hitachi Vantara : http://www.pentaho.com
|
||||
*
|
||||
*******************************************************************************
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
package org.pentaho.di.ui.core.database.dialog;
|
||||
|
||||
import java.lang.reflect.InvocationTargetException;
|
||||
import java.util.List;
|
||||
|
||||
import org.eclipse.core.runtime.IProgressMonitor;
|
||||
import org.eclipse.jface.dialogs.ProgressMonitorDialog;
|
||||
import org.eclipse.jface.operation.IRunnableWithProgress;
|
||||
import org.eclipse.swt.widgets.Shell;
|
||||
import org.pentaho.di.core.ProgressMonitorAdapter;
|
||||
import org.pentaho.di.core.database.Database;
|
||||
import org.pentaho.di.core.database.DatabaseMeta;
|
||||
import org.pentaho.di.core.exception.KettleException;
|
||||
import org.pentaho.di.core.row.RowMetaInterface;
|
||||
import org.pentaho.di.i18n.BaseMessages;
|
||||
import org.pentaho.di.ui.core.dialog.ErrorDialog;
|
||||
import org.pentaho.di.ui.spoon.Spoon;
|
||||
|
||||
/**
|
||||
* Takes care of displaying a dialog that will handle the wait while we're getting rows for a certain SQL query on a
|
||||
* database.
|
||||
*
|
||||
* @author Matt
|
||||
* @since 12-may-2005
|
||||
*/
|
||||
public class GetPreviewTableProgressDialog {
|
||||
private static Class<?> PKG = GetPreviewTableProgressDialog.class; // for i18n purposes, needed by Translator2!!
|
||||
|
||||
private Shell shell;
|
||||
private DatabaseMeta dbMeta;
|
||||
private String tableName;
|
||||
private int limit;
|
||||
private List<Object[]> rows;
|
||||
private RowMetaInterface rowMeta;
|
||||
|
||||
private Database db;
|
||||
|
||||
/**
|
||||
* Creates a new dialog that will handle the wait while we're doing the hard work.
|
||||
*/
|
||||
public GetPreviewTableProgressDialog( Shell shell, DatabaseMeta dbInfo, String schemaName, String tableName,
|
||||
int limit ) {
|
||||
this.shell = shell;
|
||||
this.dbMeta = dbInfo;
|
||||
this.tableName = dbInfo.getQuotedSchemaTableCombination( schemaName, tableName );
|
||||
this.limit = limit;
|
||||
}
|
||||
|
||||
public List<Object[]> open() {
|
||||
IRunnableWithProgress op = new IRunnableWithProgress() {
|
||||
public void run( IProgressMonitor monitor ) throws InvocationTargetException, InterruptedException {
|
||||
db = new Database( Spoon.loggingObject, dbMeta );
|
||||
try {
|
||||
db.connect();
|
||||
|
||||
if ( limit > 0 ) {
|
||||
db.setQueryLimit( limit );
|
||||
}
|
||||
|
||||
rows = db.getFirstRows( tableName, limit, new ProgressMonitorAdapter( monitor ) );
|
||||
rowMeta = db.getReturnRowMeta();
|
||||
} catch ( KettleException e ) {
|
||||
throw new InvocationTargetException( e, "Couldn't find any rows because of an error :" + e.toString() );
|
||||
} finally {
|
||||
db.disconnect();
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
try {
|
||||
final ProgressMonitorDialog pmd = new ProgressMonitorDialog( shell );
|
||||
// Run something in the background to cancel active database queries, forecably if needed!
|
||||
Runnable run = new Runnable() {
|
||||
public void run() {
|
||||
IProgressMonitor monitor = pmd.getProgressMonitor();
|
||||
while ( pmd.getShell() == null || ( !pmd.getShell().isDisposed() && !monitor.isCanceled() ) ) {
|
||||
try {
|
||||
Thread.sleep( 100 );
|
||||
} catch ( InterruptedException e ) {
|
||||
// Ignore
|
||||
}
|
||||
}
|
||||
|
||||
if ( monitor.isCanceled() ) { // Disconnect and see what happens!
|
||||
|
||||
try {
|
||||
db.cancelQuery();
|
||||
} catch ( Exception e ) {
|
||||
// Ignore
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
// Start the cancel tracker in the background!
|
||||
new Thread( run ).start();
|
||||
|
||||
pmd.run( true, true, op );
|
||||
} catch ( InvocationTargetException e ) {
|
||||
showErrorDialog( e );
|
||||
return null;
|
||||
} catch ( InterruptedException e ) {
|
||||
showErrorDialog( e );
|
||||
return null;
|
||||
}
|
||||
|
||||
return rows;
|
||||
}
|
||||
|
||||
/**
|
||||
* Showing an error dialog
|
||||
*
|
||||
* @param e
|
||||
*/
|
||||
private void showErrorDialog( Exception e ) {
|
||||
new ErrorDialog(
|
||||
shell, BaseMessages.getString( PKG, "GetPreviewTableProgressDialog.Error.Title" ), BaseMessages.getString(
|
||||
PKG, "GetPreviewTableProgressDialog.Error.Message" ), e );
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the rowMeta
|
||||
*/
|
||||
public RowMetaInterface getRowMeta() {
|
||||
return rowMeta;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,133 @@
|
|||
/*! ******************************************************************************
|
||||
*
|
||||
* Pentaho Data Integration
|
||||
*
|
||||
* Copyright (C) 2002-2017 by Hitachi Vantara : http://www.pentaho.com
|
||||
*
|
||||
*******************************************************************************
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
package org.pentaho.di.ui.core.database.dialog;
|
||||
|
||||
import java.lang.reflect.InvocationTargetException;
|
||||
|
||||
import org.eclipse.core.runtime.IProgressMonitor;
|
||||
import org.eclipse.jface.dialogs.ProgressMonitorDialog;
|
||||
import org.eclipse.jface.operation.IRunnableWithProgress;
|
||||
import org.eclipse.swt.widgets.Shell;
|
||||
import org.pentaho.di.core.database.Database;
|
||||
import org.pentaho.di.core.database.DatabaseMeta;
|
||||
import org.pentaho.di.core.row.RowMetaInterface;
|
||||
import org.pentaho.di.i18n.BaseMessages;
|
||||
import org.pentaho.di.ui.core.dialog.ErrorDialog;
|
||||
import org.pentaho.di.ui.spoon.Spoon;
|
||||
|
||||
/**
|
||||
* Takes care of displaying a dialog that will handle the wait while we're finding out which fields are output by a
|
||||
* certain SQL query on a database.
|
||||
*
|
||||
* @author Matt
|
||||
* @since 12-may-2005
|
||||
*/
|
||||
public class GetQueryFieldsProgressDialog {
|
||||
private static Class<?> PKG = GetQueryFieldsProgressDialog.class; // for i18n purposes, needed by Translator2!!
|
||||
|
||||
private Shell shell;
|
||||
private DatabaseMeta dbMeta;
|
||||
private String sql;
|
||||
private RowMetaInterface result;
|
||||
|
||||
private Database db;
|
||||
|
||||
/**
|
||||
* Creates a new dialog that will handle the wait while we're finding out what tables, views etc we can reach in the
|
||||
* database.
|
||||
*/
|
||||
public GetQueryFieldsProgressDialog( Shell shell, DatabaseMeta dbInfo, String sql ) {
|
||||
this.shell = shell;
|
||||
this.dbMeta = dbInfo;
|
||||
this.sql = sql;
|
||||
}
|
||||
|
||||
public RowMetaInterface open() {
|
||||
IRunnableWithProgress op = new IRunnableWithProgress() {
|
||||
public void run( IProgressMonitor monitor ) throws InvocationTargetException, InterruptedException {
|
||||
db = new Database( Spoon.loggingObject, dbMeta );
|
||||
try {
|
||||
db.connect();
|
||||
result = db.getQueryFields( sql, false );
|
||||
if ( monitor.isCanceled() ) {
|
||||
throw new InvocationTargetException( new Exception( "This operation was cancelled!" ) );
|
||||
}
|
||||
} catch ( Exception e ) {
|
||||
throw new InvocationTargetException( e, "Problem encountered determining query fields: " + e.toString() );
|
||||
} finally {
|
||||
db.disconnect();
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
try {
|
||||
final ProgressMonitorDialog pmd = new ProgressMonitorDialog( shell );
|
||||
|
||||
// Run something in the background to cancel active database queries, forecably if needed!
|
||||
Runnable run = new Runnable() {
|
||||
public void run() {
|
||||
IProgressMonitor monitor = pmd.getProgressMonitor();
|
||||
while ( pmd.getShell() == null || ( !pmd.getShell().isDisposed() && !monitor.isCanceled() ) ) {
|
||||
try {
|
||||
Thread.sleep( 250 );
|
||||
} catch ( InterruptedException e ) {
|
||||
// Ignore
|
||||
}
|
||||
}
|
||||
|
||||
if ( monitor.isCanceled() ) { // Disconnect and see what happens!
|
||||
|
||||
try {
|
||||
db.cancelQuery();
|
||||
} catch ( Exception e ) {
|
||||
// Ignore
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
// Dump the cancel looker in the background!
|
||||
new Thread( run ).start();
|
||||
|
||||
pmd.run( true, true, op );
|
||||
} catch ( InvocationTargetException e ) {
|
||||
showErrorDialog( e );
|
||||
return null;
|
||||
} catch ( InterruptedException e ) {
|
||||
showErrorDialog( e );
|
||||
return null;
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Showing an error dialog
|
||||
*
|
||||
* @param e
|
||||
*/
|
||||
private void showErrorDialog( Exception e ) {
|
||||
new ErrorDialog(
|
||||
shell, BaseMessages.getString( PKG, "GetQueryFieldsProgressDialog.Error.Title" ), BaseMessages.getString(
|
||||
PKG, "GetQueryFieldsProgressDialog.Error.Message" ), e );
|
||||
}
|
||||
}
|
|
@ -0,0 +1,140 @@
|
|||
/*! ******************************************************************************
|
||||
*
|
||||
* Pentaho Data Integration
|
||||
*
|
||||
* Copyright (C) 2002-2017 by Hitachi Vantara : http://www.pentaho.com
|
||||
*
|
||||
*******************************************************************************
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
package org.pentaho.di.ui.core.database.dialog;
|
||||
|
||||
import java.lang.reflect.InvocationTargetException;
|
||||
|
||||
import org.eclipse.core.runtime.IProgressMonitor;
|
||||
import org.eclipse.jface.dialogs.ProgressMonitorDialog;
|
||||
import org.eclipse.jface.operation.IRunnableWithProgress;
|
||||
import org.eclipse.swt.widgets.Shell;
|
||||
import org.pentaho.di.core.RowMetaAndData;
|
||||
import org.pentaho.di.core.database.Database;
|
||||
import org.pentaho.di.core.database.DatabaseMeta;
|
||||
import org.pentaho.di.core.exception.KettleException;
|
||||
import org.pentaho.di.i18n.BaseMessages;
|
||||
import org.pentaho.di.ui.core.dialog.ErrorDialog;
|
||||
import org.pentaho.di.ui.spoon.Spoon;
|
||||
|
||||
/**
|
||||
* Takes care of displaying a dialog that will handle the wait while we're getting the number of rows for a certain
|
||||
* table in a database.
|
||||
*
|
||||
* @author Matt
|
||||
* @since 12-may-2005
|
||||
*/
|
||||
public class GetTableSizeProgressDialog {
|
||||
private static Class<?> PKG = GetTableSizeProgressDialog.class; // for i18n purposes, needed by Translator2!!
|
||||
|
||||
private Shell shell;
|
||||
private DatabaseMeta dbMeta;
|
||||
private String tableName;
|
||||
private Long size;
|
||||
|
||||
private Database db;
|
||||
|
||||
/**
|
||||
* Creates a new dialog that will handle the wait while we're doing the hard work.
|
||||
*/
|
||||
public GetTableSizeProgressDialog( Shell shell, DatabaseMeta dbInfo, String tableName ) {
|
||||
this( shell, dbInfo, tableName, null );
|
||||
}
|
||||
|
||||
public GetTableSizeProgressDialog( Shell shell, DatabaseMeta dbInfo, String tableName, String schemaName ) {
|
||||
this.shell = shell;
|
||||
this.dbMeta = dbInfo;
|
||||
this.tableName = dbInfo.getQuotedSchemaTableCombination( schemaName, tableName );
|
||||
}
|
||||
|
||||
public Long open() {
|
||||
IRunnableWithProgress op = new IRunnableWithProgress() {
|
||||
public void run( IProgressMonitor monitor ) throws InvocationTargetException, InterruptedException {
|
||||
db = new Database( Spoon.loggingObject, dbMeta );
|
||||
try {
|
||||
db.connect();
|
||||
|
||||
String sql = dbMeta.getDatabaseInterface().getSelectCountStatement( tableName );
|
||||
RowMetaAndData row = db.getOneRow( sql );
|
||||
size = row.getRowMeta().getInteger( row.getData(), 0 );
|
||||
|
||||
if ( monitor.isCanceled() ) {
|
||||
throw new InvocationTargetException( new Exception( "This operation was cancelled!" ) );
|
||||
}
|
||||
|
||||
} catch ( KettleException e ) {
|
||||
throw new InvocationTargetException( e, "Couldn't get a result because of an error :" + e.toString() );
|
||||
} finally {
|
||||
db.disconnect();
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
try {
|
||||
final ProgressMonitorDialog pmd = new ProgressMonitorDialog( shell );
|
||||
// Run something in the background to cancel active database queries, forecably if needed!
|
||||
Runnable run = new Runnable() {
|
||||
public void run() {
|
||||
IProgressMonitor monitor = pmd.getProgressMonitor();
|
||||
while ( pmd.getShell() == null || ( !pmd.getShell().isDisposed() && !monitor.isCanceled() ) ) {
|
||||
try {
|
||||
Thread.sleep( 100 );
|
||||
} catch ( InterruptedException e ) {
|
||||
// Ignore
|
||||
}
|
||||
}
|
||||
|
||||
if ( monitor.isCanceled() ) { // Disconnect and see what happens!
|
||||
|
||||
try {
|
||||
db.cancelQuery();
|
||||
} catch ( Exception e ) {
|
||||
// Ignore
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
// Start the cancel tracker in the background!
|
||||
new Thread( run ).start();
|
||||
|
||||
pmd.run( true, true, op );
|
||||
} catch ( InvocationTargetException e ) {
|
||||
showErrorDialog( e );
|
||||
return null;
|
||||
} catch ( InterruptedException e ) {
|
||||
showErrorDialog( e );
|
||||
return null;
|
||||
}
|
||||
|
||||
return size;
|
||||
}
|
||||
|
||||
/**
|
||||
* Showing an error dialog
|
||||
*
|
||||
* @param e
|
||||
*/
|
||||
private void showErrorDialog( Exception e ) {
|
||||
new ErrorDialog( shell, BaseMessages.getString( PKG, "GetTableSizeProgressDialog.Error.Title" ), BaseMessages
|
||||
.getString( PKG, "GetTableSizeProgressDialog.Error.Message" ), e );
|
||||
}
|
||||
}
|
|
@ -0,0 +1,27 @@
|
|||
/*! ******************************************************************************
|
||||
*
|
||||
* Pentaho Data Integration
|
||||
*
|
||||
* Copyright (C) 2002-2017 by Hitachi Vantara : http://www.pentaho.com
|
||||
*
|
||||
*******************************************************************************
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
package org.pentaho.di.ui.core.database.dialog;
|
||||
|
||||
public interface IUiActionStatus {
|
||||
public UiPostActionStatus getActionStatus();
|
||||
}
|
|
@ -0,0 +1,464 @@
|
|||
/*! ******************************************************************************
|
||||
*
|
||||
* Pentaho Data Integration
|
||||
*
|
||||
* Copyright (C) 2002-2017 by Hitachi Vantara : http://www.pentaho.com
|
||||
*
|
||||
*******************************************************************************
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
package org.pentaho.di.ui.core.database.dialog;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.eclipse.swt.SWT;
|
||||
import org.eclipse.swt.events.FocusAdapter;
|
||||
import org.eclipse.swt.events.FocusEvent;
|
||||
import org.eclipse.swt.events.KeyAdapter;
|
||||
import org.eclipse.swt.events.KeyEvent;
|
||||
import org.eclipse.swt.events.ModifyEvent;
|
||||
import org.eclipse.swt.events.ModifyListener;
|
||||
import org.eclipse.swt.events.MouseAdapter;
|
||||
import org.eclipse.swt.events.MouseEvent;
|
||||
import org.eclipse.swt.events.ShellAdapter;
|
||||
import org.eclipse.swt.events.ShellEvent;
|
||||
import org.eclipse.swt.layout.FormAttachment;
|
||||
import org.eclipse.swt.layout.FormData;
|
||||
import org.eclipse.swt.layout.FormLayout;
|
||||
import org.eclipse.swt.widgets.Button;
|
||||
import org.eclipse.swt.widgets.Event;
|
||||
import org.eclipse.swt.widgets.Label;
|
||||
import org.eclipse.swt.widgets.Listener;
|
||||
import org.eclipse.swt.widgets.MessageBox;
|
||||
import org.eclipse.swt.widgets.Shell;
|
||||
import org.pentaho.di.core.Const;
|
||||
import org.pentaho.di.core.util.Utils;
|
||||
import org.pentaho.di.core.DBCache;
|
||||
import org.pentaho.di.core.Props;
|
||||
import org.pentaho.di.core.database.Database;
|
||||
import org.pentaho.di.core.database.DatabaseMeta;
|
||||
import org.pentaho.di.core.database.PartitionDatabaseMeta;
|
||||
import org.pentaho.di.core.database.SqlScriptStatement;
|
||||
import org.pentaho.di.core.exception.KettleDatabaseException;
|
||||
import org.pentaho.di.core.logging.KettleLogStore;
|
||||
import org.pentaho.di.core.logging.LogChannel;
|
||||
import org.pentaho.di.core.logging.LogChannelInterface;
|
||||
import org.pentaho.di.core.logging.LoggingObjectInterface;
|
||||
import org.pentaho.di.core.logging.LoggingObjectType;
|
||||
import org.pentaho.di.core.logging.SimpleLoggingObject;
|
||||
import org.pentaho.di.core.row.RowMetaInterface;
|
||||
import org.pentaho.di.core.variables.VariableSpace;
|
||||
import org.pentaho.di.i18n.BaseMessages;
|
||||
import org.pentaho.di.ui.core.PropsUI;
|
||||
import org.pentaho.di.ui.core.dialog.EnterTextDialog;
|
||||
import org.pentaho.di.ui.core.dialog.ErrorDialog;
|
||||
import org.pentaho.di.ui.core.dialog.PreviewRowsDialog;
|
||||
import org.pentaho.di.ui.core.gui.GUIResource;
|
||||
import org.pentaho.di.ui.core.gui.WindowProperty;
|
||||
import org.pentaho.di.ui.core.widget.StyledTextComp;
|
||||
import org.pentaho.di.ui.trans.step.BaseStepDialog;
|
||||
import org.pentaho.di.ui.trans.steps.tableinput.SQLValuesHighlight;
|
||||
|
||||
/**
|
||||
* Dialog that allows the user to launch SQL statements towards the database.
|
||||
*
|
||||
* @author Matt
|
||||
* @since 13-10-2003
|
||||
*
|
||||
*/
|
||||
public class SQLEditor {
|
||||
private static Class<?> PKG = SQLEditor.class; // for i18n purposes, needed by Translator2!!
|
||||
|
||||
public static final LoggingObjectInterface loggingObject = new SimpleLoggingObject(
|
||||
"SQL Editor", LoggingObjectType.SPOON, null );
|
||||
|
||||
private PropsUI props;
|
||||
|
||||
private Label wlScript;
|
||||
private StyledTextComp wScript;
|
||||
private FormData fdlScript, fdScript;
|
||||
|
||||
private Label wlPosition;
|
||||
private FormData fdlPosition;
|
||||
|
||||
private Button wExec, wClear, wCancel;
|
||||
private Listener lsExec, lsClear, lsCancel;
|
||||
|
||||
private String input;
|
||||
private DatabaseMeta connection;
|
||||
private Shell shell;
|
||||
private DBCache dbcache;
|
||||
|
||||
private LogChannelInterface log;
|
||||
private int style = SWT.DIALOG_TRIM | SWT.RESIZE | SWT.MAX | SWT.MIN;
|
||||
private Shell parentShell;
|
||||
|
||||
private VariableSpace variables;
|
||||
|
||||
private List<SqlScriptStatement> statements;
|
||||
|
||||
private SQLValuesHighlight highlight;
|
||||
|
||||
public SQLEditor( Shell parent, int style, DatabaseMeta ci, DBCache dbc, String sql ) {
|
||||
this( null, parent, style, ci, dbc, sql );
|
||||
}
|
||||
|
||||
public SQLEditor( VariableSpace space, Shell parent, int style, DatabaseMeta ci, DBCache dbc, String sql ) {
|
||||
props = PropsUI.getInstance();
|
||||
log = new LogChannel( ci );
|
||||
input = sql;
|
||||
connection = ci;
|
||||
dbcache = dbc;
|
||||
this.parentShell = parent;
|
||||
this.style = ( style != SWT.None ) ? style : this.style;
|
||||
this.variables = space;
|
||||
}
|
||||
|
||||
public void open() {
|
||||
shell = new Shell( parentShell, style );
|
||||
props.setLook( shell );
|
||||
shell.setImage( GUIResource.getInstance().getImageConnection() );
|
||||
|
||||
FormLayout formLayout = new FormLayout();
|
||||
formLayout.marginWidth = Const.FORM_MARGIN;
|
||||
formLayout.marginHeight = Const.FORM_MARGIN;
|
||||
|
||||
shell.setLayout( formLayout );
|
||||
shell.setText( BaseMessages.getString( PKG, "SQLEditor.Title" ) );
|
||||
|
||||
int margin = Const.MARGIN;
|
||||
|
||||
// Script line
|
||||
wlScript = new Label( shell, SWT.NONE );
|
||||
wlScript.setText( BaseMessages.getString( PKG, "SQLEditor.Editor.Label" ) );
|
||||
props.setLook( wlScript );
|
||||
|
||||
fdlScript = new FormData();
|
||||
fdlScript.left = new FormAttachment( 0, 0 );
|
||||
fdlScript.top = new FormAttachment( 0, 0 );
|
||||
wlScript.setLayoutData( fdlScript );
|
||||
wScript =
|
||||
new StyledTextComp(
|
||||
this.variables, shell, SWT.MULTI | SWT.LEFT | SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL, "" );
|
||||
wScript.setText( "" );
|
||||
props.setLook( wScript, Props.WIDGET_STYLE_FIXED );
|
||||
fdScript = new FormData();
|
||||
fdScript.left = new FormAttachment( 0, 0 );
|
||||
fdScript.top = new FormAttachment( wlScript, margin );
|
||||
fdScript.right = new FormAttachment( 100, -10 );
|
||||
fdScript.bottom = new FormAttachment( 100, -70 );
|
||||
wScript.setLayoutData( fdScript );
|
||||
|
||||
wScript.addModifyListener( new ModifyListener() {
|
||||
public void modifyText( ModifyEvent arg0 ) {
|
||||
setPosition();
|
||||
}
|
||||
|
||||
} );
|
||||
|
||||
wScript.addKeyListener( new KeyAdapter() {
|
||||
public void keyPressed( KeyEvent e ) {
|
||||
setPosition();
|
||||
}
|
||||
|
||||
public void keyReleased( KeyEvent e ) {
|
||||
setPosition();
|
||||
}
|
||||
} );
|
||||
wScript.addFocusListener( new FocusAdapter() {
|
||||
public void focusGained( FocusEvent e ) {
|
||||
setPosition();
|
||||
}
|
||||
|
||||
public void focusLost( FocusEvent e ) {
|
||||
setPosition();
|
||||
}
|
||||
} );
|
||||
wScript.addMouseListener( new MouseAdapter() {
|
||||
public void mouseDoubleClick( MouseEvent e ) {
|
||||
setPosition();
|
||||
}
|
||||
|
||||
public void mouseDown( MouseEvent e ) {
|
||||
setPosition();
|
||||
}
|
||||
|
||||
public void mouseUp( MouseEvent e ) {
|
||||
setPosition();
|
||||
}
|
||||
} );
|
||||
|
||||
// SQL Higlighting
|
||||
highlight = new SQLValuesHighlight();
|
||||
highlight.addKeyWords( connection.getReservedWords() );
|
||||
wScript.addLineStyleListener( highlight );
|
||||
|
||||
wlPosition = new Label( shell, SWT.NONE );
|
||||
wlPosition.setText( BaseMessages.getString( PKG, "SQLEditor.LineNr.Label", "0" ) );
|
||||
props.setLook( wlPosition );
|
||||
fdlPosition = new FormData();
|
||||
fdlPosition.left = new FormAttachment( 0, 0 );
|
||||
fdlPosition.top = new FormAttachment( wScript, margin );
|
||||
fdlPosition.right = new FormAttachment( 100, 0 );
|
||||
wlPosition.setLayoutData( fdlPosition );
|
||||
|
||||
wExec = new Button( shell, SWT.PUSH );
|
||||
wExec.setText( BaseMessages.getString( PKG, "SQLEditor.Button.Execute" ) );
|
||||
wClear = new Button( shell, SWT.PUSH );
|
||||
wClear.setText( BaseMessages.getString( PKG, "SQLEditor.Button.ClearCache" ) );
|
||||
wCancel = new Button( shell, SWT.PUSH );
|
||||
wCancel.setText( BaseMessages.getString( PKG, "System.Button.Close" ) );
|
||||
|
||||
wClear.setToolTipText( BaseMessages.getString( PKG, "SQLEditor.Button.ClearCache.Tooltip" ) );
|
||||
|
||||
BaseStepDialog.positionBottomButtons( shell, new Button[] { wExec, wClear, wCancel }, margin, null );
|
||||
|
||||
// Add listeners
|
||||
lsCancel = new Listener() {
|
||||
public void handleEvent( Event e ) {
|
||||
cancel();
|
||||
}
|
||||
};
|
||||
lsClear = new Listener() {
|
||||
public void handleEvent( Event e ) {
|
||||
clearCache();
|
||||
}
|
||||
};
|
||||
lsExec = new Listener() {
|
||||
public void handleEvent( Event e ) {
|
||||
try {
|
||||
exec();
|
||||
} catch ( Exception ge ) {
|
||||
// Ignore errors
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
wCancel.addListener( SWT.Selection, lsCancel );
|
||||
wClear.addListener( SWT.Selection, lsClear );
|
||||
wExec.addListener( SWT.Selection, lsExec );
|
||||
|
||||
// Detect X or ALT-F4 or something that kills this window...
|
||||
shell.addShellListener( new ShellAdapter() {
|
||||
public void shellClosed( ShellEvent e ) {
|
||||
cancel();
|
||||
}
|
||||
} );
|
||||
|
||||
BaseStepDialog.setSize( shell );
|
||||
|
||||
getData();
|
||||
|
||||
shell.open();
|
||||
}
|
||||
|
||||
public void setPosition() {
|
||||
|
||||
String scr = wScript.getText();
|
||||
int linenr = wScript.getLineAtOffset( wScript.getCaretOffset() ) + 1;
|
||||
int posnr = wScript.getCaretOffset();
|
||||
|
||||
// Go back from position to last CR: how many positions?
|
||||
int colnr = 0;
|
||||
while ( posnr > 0 && scr.charAt( posnr - 1 ) != '\n' && scr.charAt( posnr - 1 ) != '\r' ) {
|
||||
posnr--;
|
||||
colnr++;
|
||||
}
|
||||
|
||||
wlPosition.setText( BaseMessages.getString( PKG, "SQLEditor.Position.Label", "" + linenr, "" + colnr ) );
|
||||
|
||||
}
|
||||
|
||||
private void clearCache() {
|
||||
MessageBox mb = new MessageBox( shell, SWT.ICON_QUESTION | SWT.NO | SWT.YES | SWT.CANCEL );
|
||||
mb.setMessage( BaseMessages.getString( PKG, "SQLEditor.ClearWholeCache.Message", connection.getName() ) );
|
||||
mb.setText( BaseMessages.getString( PKG, "SQLEditor.ClearWholeCache.Title" ) );
|
||||
int answer = mb.open();
|
||||
|
||||
switch ( answer ) {
|
||||
case SWT.NO:
|
||||
DBCache.getInstance().clear( connection.getName() );
|
||||
|
||||
mb = new MessageBox( shell, SWT.ICON_INFORMATION | SWT.OK );
|
||||
mb.setMessage( BaseMessages.getString( PKG, "SQLEditor.ConnectionCacheCleared.Message", connection
|
||||
.getName() ) );
|
||||
mb.setText( BaseMessages.getString( PKG, "SQLEditor.ConnectionCacheCleared.Title" ) );
|
||||
mb.open();
|
||||
|
||||
break;
|
||||
case SWT.YES:
|
||||
DBCache.getInstance().clear( null );
|
||||
|
||||
mb = new MessageBox( shell, SWT.ICON_INFORMATION | SWT.OK );
|
||||
mb.setMessage( BaseMessages.getString( PKG, "SQLEditor.WholeCacheCleared.Message" ) );
|
||||
mb.setText( BaseMessages.getString( PKG, "SQLEditor.WholeCacheCleared.Title" ) );
|
||||
mb.open();
|
||||
|
||||
break;
|
||||
case SWT.CANCEL:
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
public void dispose() {
|
||||
props.setScreen( new WindowProperty( shell ) );
|
||||
shell.dispose();
|
||||
}
|
||||
|
||||
/**
|
||||
* Copy information from the meta-data input to the dialog fields.
|
||||
*/
|
||||
public void getData() {
|
||||
if ( input != null ) {
|
||||
wScript.setText( input );
|
||||
// if (connection!= null) wConnection.setText( connection );
|
||||
}
|
||||
}
|
||||
|
||||
private void cancel() {
|
||||
dispose();
|
||||
}
|
||||
|
||||
private void exec() {
|
||||
DatabaseMeta ci = connection;
|
||||
if ( ci == null ) {
|
||||
return;
|
||||
}
|
||||
|
||||
StringBuilder message = new StringBuilder();
|
||||
|
||||
Database db = new Database( loggingObject, ci );
|
||||
boolean first = true;
|
||||
PartitionDatabaseMeta[] partitioningInformation = ci.getPartitioningInformation();
|
||||
|
||||
for ( int partitionNr = 0; first
|
||||
|| ( partitioningInformation != null && partitionNr < partitioningInformation.length ); partitionNr++ ) {
|
||||
first = false;
|
||||
String partitionId = null;
|
||||
if ( partitioningInformation != null && partitioningInformation.length > 0 ) {
|
||||
partitionId = partitioningInformation[partitionNr].getPartitionId();
|
||||
}
|
||||
try {
|
||||
db.connect( partitionId );
|
||||
String sqlScript =
|
||||
Utils.isEmpty( wScript.getSelectionText() ) ? wScript.getText() : wScript.getSelectionText();
|
||||
|
||||
// Multiple statements in the script need to be split into individual
|
||||
// executable statements
|
||||
statements = ci.getDatabaseInterface().getSqlScriptStatements( sqlScript + Const.CR );
|
||||
|
||||
int nrstats = 0;
|
||||
for ( SqlScriptStatement sql : statements ) {
|
||||
if ( sql.isQuery() ) {
|
||||
// A Query
|
||||
log.logDetailed( "launch SELECT statement: " + Const.CR + sql );
|
||||
|
||||
nrstats++;
|
||||
try {
|
||||
List<Object[]> rows = db.getRows( sql.getStatement(), 1000 );
|
||||
RowMetaInterface rowMeta = db.getReturnRowMeta();
|
||||
if ( rows.size() > 0 ) {
|
||||
PreviewRowsDialog prd =
|
||||
new PreviewRowsDialog( shell, ci, SWT.NONE, BaseMessages.getString(
|
||||
PKG, "SQLEditor.ResultRows.Title", Integer.toString( nrstats ) ), rowMeta, rows );
|
||||
prd.open();
|
||||
} else {
|
||||
MessageBox mb = new MessageBox( shell, SWT.ICON_INFORMATION | SWT.OK );
|
||||
mb.setMessage( BaseMessages.getString( PKG, "SQLEditor.NoRows.Message", sql ) );
|
||||
mb.setText( BaseMessages.getString( PKG, "SQLEditor.NoRows.Title" ) );
|
||||
mb.open();
|
||||
}
|
||||
} catch ( KettleDatabaseException dbe ) {
|
||||
new ErrorDialog( shell, BaseMessages.getString( PKG, "SQLEditor.ErrorExecSQL.Title" ), BaseMessages
|
||||
.getString( PKG, "SQLEditor.ErrorExecSQL.Message", sql ), dbe );
|
||||
}
|
||||
} else {
|
||||
log.logDetailed( "launch DDL statement: " + Const.CR + sql );
|
||||
|
||||
// A DDL statement
|
||||
nrstats++;
|
||||
int startLogLine = KettleLogStore.getLastBufferLineNr();
|
||||
try {
|
||||
|
||||
log.logDetailed( "Executing SQL: " + Const.CR + sql );
|
||||
db.execStatement( sql.getStatement() );
|
||||
|
||||
message.append( BaseMessages.getString( PKG, "SQLEditor.Log.SQLExecuted", sql ) );
|
||||
message.append( Const.CR );
|
||||
|
||||
// Clear the database cache, in case we're using one...
|
||||
if ( dbcache != null ) {
|
||||
dbcache.clear( ci.getName() );
|
||||
}
|
||||
|
||||
// mark the statement in green in the dialog...
|
||||
//
|
||||
sql.setOk( true );
|
||||
} catch ( Exception dbe ) {
|
||||
sql.setOk( false );
|
||||
String error = BaseMessages.getString( PKG, "SQLEditor.Log.SQLExecError", sql, dbe.toString() );
|
||||
message.append( error ).append( Const.CR );
|
||||
ErrorDialog dialog =
|
||||
new ErrorDialog(
|
||||
shell, BaseMessages.getString( PKG, "SQLEditor.ErrorExecSQL.Title" ), error, dbe, true );
|
||||
if ( dialog.isCancelled() ) {
|
||||
break;
|
||||
}
|
||||
} finally {
|
||||
int endLogLine = KettleLogStore.getLastBufferLineNr();
|
||||
sql.setLoggingText( KettleLogStore.getAppender().getLogBufferFromTo(
|
||||
db.getLogChannelId(), true, startLogLine, endLogLine ).toString() );
|
||||
sql.setComplete( true );
|
||||
refreshExecutionResults();
|
||||
}
|
||||
}
|
||||
}
|
||||
message.append( BaseMessages.getString( PKG, "SQLEditor.Log.StatsExecuted", Integer.toString( nrstats ) ) );
|
||||
if ( partitionId != null ) {
|
||||
message.append( BaseMessages.getString( PKG, "SQLEditor.Log.OnPartition", partitionId ) );
|
||||
}
|
||||
message.append( Const.CR );
|
||||
} catch ( KettleDatabaseException dbe ) {
|
||||
MessageBox mb = new MessageBox( shell, SWT.OK | SWT.ICON_ERROR );
|
||||
String error =
|
||||
BaseMessages.getString( PKG, "SQLEditor.Error.CouldNotConnect.Message", ( connection == null
|
||||
? "" : connection.getName() ), dbe.getMessage() );
|
||||
message.append( error ).append( Const.CR );
|
||||
mb.setMessage( error );
|
||||
mb.setText( BaseMessages.getString( PKG, "SQLEditor.Error.CouldNotConnect.Title" ) );
|
||||
mb.open();
|
||||
} finally {
|
||||
db.disconnect();
|
||||
refreshExecutionResults();
|
||||
}
|
||||
}
|
||||
|
||||
EnterTextDialog dialog =
|
||||
new EnterTextDialog( shell, BaseMessages.getString( PKG, "SQLEditor.Result.Title" ), BaseMessages
|
||||
.getString( PKG, "SQLEditor.Result.Message" ), message.toString(), true );
|
||||
dialog.open();
|
||||
}
|
||||
|
||||
/**
|
||||
* During or after an execution we will mark regions of the SQL editor dialog in green or red.
|
||||
*/
|
||||
protected void refreshExecutionResults() {
|
||||
highlight.setScriptStatements( statements );
|
||||
wScript.redraw();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,128 @@
|
|||
/*! ******************************************************************************
|
||||
*
|
||||
* Pentaho Data Integration
|
||||
*
|
||||
* Copyright (C) 2002-2017 by Hitachi Vantara : http://www.pentaho.com
|
||||
*
|
||||
*******************************************************************************
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
package org.pentaho.di.ui.core.database.dialog;
|
||||
|
||||
import org.pentaho.ui.xul.XulEventSourceAdapter;
|
||||
|
||||
public class StepFieldNode extends XulEventSourceAdapter {
|
||||
|
||||
private String fieldName;
|
||||
private String type;
|
||||
private String length;
|
||||
private String precision;
|
||||
private String origin;
|
||||
private String storageType;
|
||||
private String conversionMask;
|
||||
private String decimalSymbol;
|
||||
private String groupingSymbol;
|
||||
private String trimType;
|
||||
private String comments;
|
||||
|
||||
public String getFieldName() {
|
||||
return this.fieldName;
|
||||
}
|
||||
|
||||
public void setFieldName( String aFieldName ) {
|
||||
this.fieldName = aFieldName;
|
||||
}
|
||||
|
||||
public String getType() {
|
||||
return this.type;
|
||||
}
|
||||
|
||||
public void setType( String aType ) {
|
||||
this.type = aType;
|
||||
}
|
||||
|
||||
public String getLength() {
|
||||
return this.length;
|
||||
}
|
||||
|
||||
public void setLength( String aLength ) {
|
||||
this.length = aLength;
|
||||
}
|
||||
|
||||
public String getPrecision() {
|
||||
return this.precision;
|
||||
}
|
||||
|
||||
public void setPrecision( String aPrecision ) {
|
||||
this.precision = aPrecision;
|
||||
}
|
||||
|
||||
public String getOrigin() {
|
||||
return this.origin;
|
||||
}
|
||||
|
||||
public void setOrigin( String aOrigin ) {
|
||||
this.origin = aOrigin;
|
||||
}
|
||||
|
||||
public String getStorageType() {
|
||||
return this.storageType;
|
||||
}
|
||||
|
||||
public void setStorageType( String aStorageType ) {
|
||||
this.storageType = aStorageType;
|
||||
}
|
||||
|
||||
public String getConversionMask() {
|
||||
return this.conversionMask;
|
||||
}
|
||||
|
||||
public void setConversionMask( String aConversionMask ) {
|
||||
this.conversionMask = aConversionMask;
|
||||
}
|
||||
|
||||
public String getDecimalSymbol() {
|
||||
return this.decimalSymbol;
|
||||
}
|
||||
|
||||
public void setDecimalSymbol( String aDecimalSymbol ) {
|
||||
this.decimalSymbol = aDecimalSymbol;
|
||||
}
|
||||
|
||||
public String getGroupingSymbol() {
|
||||
return this.groupingSymbol;
|
||||
}
|
||||
|
||||
public void setGroupingSymbol( String aGroupingSymbol ) {
|
||||
this.groupingSymbol = aGroupingSymbol;
|
||||
}
|
||||
|
||||
public String getTrimType() {
|
||||
return this.trimType;
|
||||
}
|
||||
|
||||
public void setTrimType( String aTrimType ) {
|
||||
this.trimType = aTrimType;
|
||||
}
|
||||
|
||||
public String getComments() {
|
||||
return this.comments;
|
||||
}
|
||||
|
||||
public void setComments( String aComments ) {
|
||||
this.comments = aComments;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,27 @@
|
|||
/*! ******************************************************************************
|
||||
*
|
||||
* Pentaho Data Integration
|
||||
*
|
||||
* Copyright (C) 2002-2017 by Hitachi Vantara : http://www.pentaho.com
|
||||
*
|
||||
*******************************************************************************
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
package org.pentaho.di.ui.core.database.dialog;
|
||||
|
||||
public enum UiPostActionStatus {
|
||||
OK, ERROR_DIALOG_SHOWN, ERROR, NONE;
|
||||
}
|
|
@ -0,0 +1,251 @@
|
|||
/*! ******************************************************************************
|
||||
*
|
||||
* Pentaho Data Integration
|
||||
*
|
||||
* Copyright (C) 2002-2018 by Hitachi Vantara : http://www.pentaho.com
|
||||
*
|
||||
*******************************************************************************
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
package org.pentaho.di.ui.core.database.dialog;
|
||||
|
||||
import java.util.MissingResourceException;
|
||||
import java.util.ResourceBundle;
|
||||
|
||||
import org.eclipse.swt.events.DisposeEvent;
|
||||
import org.eclipse.swt.events.DisposeListener;
|
||||
import org.eclipse.swt.widgets.Shell;
|
||||
import org.pentaho.di.core.database.DatabaseMeta;
|
||||
import org.pentaho.di.core.logging.LogChannel;
|
||||
import org.pentaho.di.core.logging.LogChannelInterface;
|
||||
import org.pentaho.di.core.util.Utils;
|
||||
import org.pentaho.di.i18n.BaseMessages;
|
||||
import org.pentaho.di.i18n.GlobalMessages;
|
||||
import org.pentaho.di.repository.ObjectId;
|
||||
import org.pentaho.di.ui.core.dialog.ErrorDialog;
|
||||
import org.pentaho.di.ui.xul.KettleXulLoader;
|
||||
import org.pentaho.ui.database.DatabaseConnectionDialog;
|
||||
import org.pentaho.ui.xul.XulComponent;
|
||||
import org.pentaho.ui.xul.XulDomContainer;
|
||||
import org.pentaho.ui.xul.XulException;
|
||||
import org.pentaho.ui.xul.containers.XulDialog;
|
||||
import org.pentaho.ui.xul.containers.XulTree;
|
||||
|
||||
public class XulDatabaseDialog {
|
||||
|
||||
private static Class<?> PKG = XulDatabaseDialog.class; // for i18n purposes, needed by Translator2!!
|
||||
|
||||
private DatabaseMeta databaseMeta;
|
||||
|
||||
/**
|
||||
* The original objectId of the databaseMeta before it was edited, possibly null.
|
||||
*/
|
||||
private ObjectId databaseMetaObjectId;
|
||||
|
||||
protected Shell shell;
|
||||
|
||||
private Shell parentShell;
|
||||
|
||||
private String databaseName;
|
||||
|
||||
private java.util.List<DatabaseMeta> databases;
|
||||
|
||||
private boolean modalDialog;
|
||||
|
||||
DataOverrideHandler dataHandler = null;
|
||||
|
||||
private LogChannelInterface log;
|
||||
|
||||
private static final String EVENT_ID = "dataHandler";
|
||||
|
||||
private static final String MESSAGES = "org.pentaho.di.ui.core.database.dialog.messages.messages";
|
||||
|
||||
private static final String DIALOG_FRAGMENT_FILE = "/feature_override.xul";
|
||||
|
||||
private static final String FRAGMENT_ID = "test-button-box";
|
||||
|
||||
private static final String EXTENDED_WIDGET_CLASSNAME = "org.pentaho.di.ui.core.database.dialog.tags.ExtTextbox";
|
||||
|
||||
private static final String PMD_WIDGET_CLASSNAME = "org.pentaho.ui.xul.swt.tags.SwtTextbox";
|
||||
|
||||
private static final String EXTENDED_WIDGET_ID = "VARIABLETEXTBOX";
|
||||
|
||||
private DatabaseConnectionDialog databaseDialogInstance;
|
||||
|
||||
private XulDialog xulDialogComponent;
|
||||
|
||||
public XulDatabaseDialog( Shell parent ) {
|
||||
|
||||
parentShell = parent;
|
||||
databases = null;
|
||||
|
||||
log = new LogChannel( "XulDatabaseDialog" );
|
||||
}
|
||||
|
||||
/**
|
||||
* Opens the XUL database dialog
|
||||
*
|
||||
* @return databaseName (or NULL on error or cancel) TODO: Fix deprecation warning in v3.2 by using the new dialog
|
||||
*/
|
||||
public String open() {
|
||||
if ( databaseDialogInstance == null ) {
|
||||
createDialog();
|
||||
}
|
||||
|
||||
try {
|
||||
|
||||
// PDI-5088 clear previous options selections since we are re-using the dialog
|
||||
XulTree tree =
|
||||
(XulTree) xulDialogComponent.getDocument().getRootElement().getElementById( "options-parameter-tree" );
|
||||
tree.getRootChildren().removeAll();
|
||||
|
||||
dataHandler.setData( databaseMeta );
|
||||
xulDialogComponent.show(); // Attention: onload: loadConnectionData() is called here the second time, see above
|
||||
// for first time
|
||||
// caught with a HACK in DataHandler.loadConnectionData()
|
||||
|
||||
databaseMeta = (DatabaseMeta) dataHandler.getData();
|
||||
|
||||
// keep the original id
|
||||
if ( databaseMeta != null ) {
|
||||
databaseMeta.setObjectId( databaseMetaObjectId );
|
||||
databaseName = Utils.isEmpty( databaseMeta.getName() ) ? null : databaseMeta.getName();
|
||||
} else {
|
||||
databaseName = null;
|
||||
}
|
||||
|
||||
} catch ( Exception e ) {
|
||||
new ErrorDialog( parentShell, BaseMessages.getString( PKG, "XulDatabaseDialog.Error.Title" ), BaseMessages
|
||||
.getString( PKG, "XulDatabaseDialog.Error.Dialog" ), e );
|
||||
return null;
|
||||
}
|
||||
return databaseName;
|
||||
}
|
||||
|
||||
@SuppressWarnings( "deprecation" )
|
||||
private void createDialog() {
|
||||
XulDomContainer container = null;
|
||||
try {
|
||||
databaseDialogInstance = new DatabaseConnectionDialog();
|
||||
if ( ( (Shell) this.parentShell ).getText().contains( "Metadata Editor" ) ) {
|
||||
databaseDialogInstance.registerClass( EXTENDED_WIDGET_ID, PMD_WIDGET_CLASSNAME );
|
||||
} else {
|
||||
databaseDialogInstance.registerClass( EXTENDED_WIDGET_ID, EXTENDED_WIDGET_CLASSNAME );
|
||||
}
|
||||
/*
|
||||
* Attention: onload: loadConnectionData() is called here the first time, see below for second time
|
||||
*/
|
||||
container = databaseDialogInstance.getSwtInstance( new KettleXulLoader(), parentShell );
|
||||
|
||||
container.addEventHandler( EVENT_ID, DataOverrideHandler.class.getName() );
|
||||
|
||||
dataHandler = (DataOverrideHandler) container.getEventHandler( EVENT_ID );
|
||||
if ( databaseMeta != null ) {
|
||||
dataHandler.setData( databaseMeta );
|
||||
}
|
||||
dataHandler.setDatabases( databases );
|
||||
dataHandler.getControls();
|
||||
|
||||
} catch ( XulException e ) {
|
||||
new ErrorDialog( parentShell, BaseMessages.getString( PKG, "XulDatabaseDialog.Error.Title" ), BaseMessages
|
||||
.getString( PKG, "XulDatabaseDialog.Error.HandleXul" ), e );
|
||||
return;
|
||||
}
|
||||
|
||||
try {
|
||||
// Inject the button panel that contains the "Feature List" and "Explore" buttons
|
||||
|
||||
XulComponent boxElement = container.getDocumentRoot().getElementById( FRAGMENT_ID );
|
||||
XulComponent parentElement = boxElement.getParent();
|
||||
|
||||
ResourceBundle res = null;
|
||||
try {
|
||||
res = GlobalMessages.getBundle( MESSAGES );
|
||||
} catch ( MissingResourceException e ) {
|
||||
log.logError(
|
||||
BaseMessages.getString( PKG, "XulDatabaseDialog.Error.ResourcesNotFound.Title" ), e.getMessage(), e );
|
||||
}
|
||||
|
||||
XulDomContainer fragmentContainer = null;
|
||||
String pkg = getClass().getPackage().getName().replace( '.', '/' );
|
||||
|
||||
// Kludge: paths of execution do not account for a null resourcebundle gracefully, need
|
||||
// to check for it here.
|
||||
if ( res != null ) {
|
||||
fragmentContainer = container.loadFragment( pkg.concat( DIALOG_FRAGMENT_FILE ), res );
|
||||
} else {
|
||||
fragmentContainer = container.loadFragment( pkg.concat( DIALOG_FRAGMENT_FILE ) );
|
||||
}
|
||||
|
||||
XulComponent newBox = fragmentContainer.getDocumentRoot().getFirstChild();
|
||||
parentElement.replaceChild( boxElement, newBox );
|
||||
|
||||
} catch ( Exception e ) {
|
||||
new ErrorDialog( parentShell, BaseMessages.getString( PKG, "XulDatabaseDialog.Error.Title" ), BaseMessages
|
||||
.getString( PKG, "XulDatabaseDialog.Error.HandleXul" ), e );
|
||||
return;
|
||||
}
|
||||
|
||||
try {
|
||||
xulDialogComponent = (XulDialog) container.getDocumentRoot().getRootElement();
|
||||
|
||||
parentShell.addDisposeListener( new DisposeListener() {
|
||||
|
||||
public void widgetDisposed( DisposeEvent arg0 ) {
|
||||
xulDialogComponent.hide();
|
||||
}
|
||||
|
||||
} );
|
||||
|
||||
} catch ( Exception e ) {
|
||||
new ErrorDialog( parentShell, BaseMessages.getString( PKG, "XulDatabaseDialog.Error.Title" ), BaseMessages
|
||||
.getString( PKG, "XulDatabaseDialog.Error.Dialog" ), e );
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
public void setDatabaseMeta( DatabaseMeta dbMeta ) {
|
||||
databaseMeta = dbMeta;
|
||||
if ( dbMeta != null ) {
|
||||
databaseMetaObjectId = databaseMeta.getObjectId();
|
||||
databaseName = databaseMeta.getDisplayName();
|
||||
}
|
||||
}
|
||||
|
||||
public DatabaseMeta getDatabaseMeta() {
|
||||
return databaseMeta;
|
||||
}
|
||||
|
||||
public void setDatabases( java.util.List<DatabaseMeta> databases ) {
|
||||
this.databases = databases;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the modalDialog
|
||||
*/
|
||||
public boolean isModalDialog() {
|
||||
return modalDialog;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param modalDialog
|
||||
* the modalDialog to set
|
||||
*/
|
||||
public void setModalDialog( boolean modalDialog ) {
|
||||
this.modalDialog = modalDialog;
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,699 @@
|
|||
/*! ******************************************************************************
|
||||
*
|
||||
* Pentaho Data Integration
|
||||
*
|
||||
* Copyright (C) 2002-2017 by Hitachi Vantara : http://www.pentaho.com
|
||||
*
|
||||
*******************************************************************************
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
package org.pentaho.di.ui.core.database.dialog;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.eclipse.swt.SWT;
|
||||
import org.eclipse.swt.widgets.MessageBox;
|
||||
import org.eclipse.swt.widgets.Shell;
|
||||
import org.pentaho.di.core.DBCache;
|
||||
import org.pentaho.di.core.database.Database;
|
||||
import org.pentaho.di.core.database.DatabaseMeta;
|
||||
import org.pentaho.di.core.database.DatabaseMetaInformation;
|
||||
import org.pentaho.di.core.database.Schema;
|
||||
import org.pentaho.di.core.exception.KettleDatabaseException;
|
||||
import org.pentaho.di.core.logging.LogChannel;
|
||||
import org.pentaho.di.core.logging.LoggingObject;
|
||||
import org.pentaho.di.core.row.RowMetaInterface;
|
||||
import org.pentaho.di.i18n.BaseMessages;
|
||||
import org.pentaho.di.trans.Trans;
|
||||
import org.pentaho.di.trans.TransMeta;
|
||||
import org.pentaho.di.trans.TransProfileFactory;
|
||||
import org.pentaho.di.ui.core.dialog.EnterSelectionDialog;
|
||||
import org.pentaho.di.ui.core.dialog.EnterTextDialog;
|
||||
import org.pentaho.di.ui.core.dialog.ErrorDialog;
|
||||
import org.pentaho.di.ui.core.dialog.PreviewRowsDialog;
|
||||
import org.pentaho.di.ui.core.dialog.StepFieldsDialog;
|
||||
import org.pentaho.di.ui.trans.dialog.TransPreviewProgressDialog;
|
||||
import org.pentaho.ui.xul.XulComponent;
|
||||
import org.pentaho.ui.xul.XulException;
|
||||
import org.pentaho.ui.xul.binding.Binding;
|
||||
import org.pentaho.ui.xul.binding.Binding.Type;
|
||||
import org.pentaho.ui.xul.binding.BindingConvertor;
|
||||
import org.pentaho.ui.xul.binding.BindingFactory;
|
||||
import org.pentaho.ui.xul.binding.DefaultBindingFactory;
|
||||
import org.pentaho.ui.xul.components.XulButton;
|
||||
import org.pentaho.ui.xul.components.XulMessageBox;
|
||||
import org.pentaho.ui.xul.components.XulPromptBox;
|
||||
import org.pentaho.ui.xul.containers.XulTree;
|
||||
import org.pentaho.ui.xul.impl.AbstractXulEventHandler;
|
||||
import org.pentaho.ui.xul.swt.tags.SwtButton;
|
||||
import org.pentaho.ui.xul.swt.tags.SwtDialog;
|
||||
import org.pentaho.ui.xul.util.XulDialogCallback;
|
||||
|
||||
public class XulDatabaseExplorerController extends AbstractXulEventHandler implements IUiActionStatus {
|
||||
|
||||
private static final Class<?> PKG = XulDatabaseExplorerController.class;
|
||||
|
||||
private XulDatabaseExplorerModel model;
|
||||
private Binding databaseTreeBinding;
|
||||
private Binding selectedTableBinding;
|
||||
// private Binding selectedSchemaBinding;
|
||||
private XulTree databaseTree;
|
||||
private XulButton expandCollapseButton;
|
||||
private BindingFactory bf;
|
||||
protected Shell shell;
|
||||
private SwtDialog dbExplorerDialog;
|
||||
private DBCache dbcache;
|
||||
private List<DatabaseMeta> databases;
|
||||
private boolean isExpanded;
|
||||
private boolean isJustLook;
|
||||
|
||||
private UiPostActionStatus status = UiPostActionStatus.NONE;
|
||||
|
||||
private static final String DATABASE_IMAGE = "ui/images/folder_connection.svg";
|
||||
private static final String FOLDER_IMAGE = "ui/images/BOL.svg";
|
||||
private static final String SCHEMA_IMAGE = "ui/images/schema.svg";
|
||||
private static final String TABLE_IMAGE = "ui/images/table.svg";
|
||||
private static final String EXPAND_ALL_IMAGE = "ui/images/ExpandAll.svg";
|
||||
private static final String COLLAPSE_ALL_IMAGE = "ui/images/CollapseAll.svg";
|
||||
|
||||
private static final String STRING_SCHEMAS = BaseMessages
|
||||
.getString( PKG, "DatabaseExplorerDialog.Schemas.Label" );
|
||||
private static final String STRING_TABLES = BaseMessages.getString( PKG, "DatabaseExplorerDialog.Tables.Label" );
|
||||
private static final String STRING_VIEWS = BaseMessages.getString( PKG, "DatabaseExplorerDialog.Views.Label" );
|
||||
private static final String STRING_SYNONYMS = BaseMessages.getString(
|
||||
PKG, "DatabaseExplorerDialog.Synonyms.Label" );
|
||||
|
||||
public XulDatabaseExplorerController( Shell shell, DatabaseMeta databaseMeta, List<DatabaseMeta> databases,
|
||||
boolean aLook ) {
|
||||
this.model = new XulDatabaseExplorerModel( databaseMeta );
|
||||
this.shell = shell;
|
||||
this.bf = new DefaultBindingFactory();
|
||||
this.databases = databases;
|
||||
this.dbcache = DBCache.getInstance();
|
||||
this.isJustLook = aLook;
|
||||
}
|
||||
|
||||
public void init() {
|
||||
|
||||
SwtButton theAcceptButton = (SwtButton) this.document.getElementById( "databaseExplorerDialog_accept" );
|
||||
SwtButton theCancelButton = (SwtButton) this.document.getElementById( "databaseExplorerDialog_cancel" );
|
||||
if ( this.isJustLook ) {
|
||||
theAcceptButton.setVisible( false );
|
||||
theCancelButton.setLabel( BaseMessages.getString( getClass(), "DatabaseExplorer.Button.Ok" ) );
|
||||
theAcceptButton.setDisabled( false );
|
||||
|
||||
} else {
|
||||
theAcceptButton.setLabel( BaseMessages.getString( getClass(), "DatabaseExplorer.Button.Ok" ) );
|
||||
theCancelButton.setLabel( BaseMessages.getString( getClass(), "DatabaseExplorer.Button.Cancel" ) );
|
||||
theAcceptButton.setDisabled( true );
|
||||
}
|
||||
|
||||
this.dbExplorerDialog = (SwtDialog) this.document.getElementById( "databaseExplorerDialog" );
|
||||
|
||||
createDatabaseNodes();
|
||||
if ( this.status != UiPostActionStatus.OK ) {
|
||||
// something goes dramatically wrong!
|
||||
return;
|
||||
}
|
||||
|
||||
this.bf.setDocument( super.document );
|
||||
this.bf.setBindingType( Type.ONE_WAY );
|
||||
|
||||
this.expandCollapseButton = (XulButton) document.getElementById( "expandCollapseButton" );
|
||||
this.databaseTree = (XulTree) document.getElementById( "databaseTree" );
|
||||
this.databaseTreeBinding = bf.createBinding( this.model, "database", this.databaseTree, "elements" );
|
||||
|
||||
bf.createBinding(
|
||||
model, "selectedNode", theAcceptButton, "disabled", new BindingConvertor<DatabaseExplorerNode, Boolean>() {
|
||||
|
||||
@Override
|
||||
public Boolean sourceToTarget( DatabaseExplorerNode arg0 ) {
|
||||
return ( !isJustLook && ( arg0 == null || !arg0.isTable() ) );
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public DatabaseExplorerNode targetToSource( Boolean arg0 ) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
} );
|
||||
|
||||
bf.setBindingType( Binding.Type.BI_DIRECTIONAL );
|
||||
this.bf.createBinding(
|
||||
this.databaseTree, "selectedItems", this.model, "selectedNode",
|
||||
new BindingConvertor<List<DatabaseExplorerNode>, DatabaseExplorerNode>() {
|
||||
|
||||
@Override
|
||||
public DatabaseExplorerNode sourceToTarget( List<DatabaseExplorerNode> arg0 ) {
|
||||
if ( arg0 == null || arg0.size() == 0 ) {
|
||||
return null;
|
||||
}
|
||||
return arg0.get( 0 );
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<DatabaseExplorerNode> targetToSource( DatabaseExplorerNode arg0 ) {
|
||||
return Collections.singletonList( arg0 );
|
||||
}
|
||||
|
||||
} );
|
||||
|
||||
BindingConvertor<DatabaseExplorerNode, Boolean> isDisabledConvertor =
|
||||
new BindingConvertor<DatabaseExplorerNode, Boolean>() {
|
||||
public Boolean sourceToTarget( DatabaseExplorerNode value ) {
|
||||
return !( value != null && value.isTable() );
|
||||
}
|
||||
|
||||
public DatabaseExplorerNode targetToSource( Boolean value ) {
|
||||
return null;
|
||||
}
|
||||
};
|
||||
bf.setBindingType( Binding.Type.ONE_WAY );
|
||||
this.bf.createBinding( this.databaseTree, "selectedItem", "buttonMenuPopUp", "disabled", isDisabledConvertor );
|
||||
this.bf.createBinding(
|
||||
this.databaseTree, "selectedItem", "buttonMenuPopUpImg", "disabled", isDisabledConvertor );
|
||||
this.bf.createBinding( this.databaseTree, "selectedItem", "action_popup", "disabled", isDisabledConvertor );
|
||||
fireBindings();
|
||||
}
|
||||
|
||||
public void setSelectedSchemaAndTable( String aSchema, String aTable ) throws KettleDatabaseException {
|
||||
this.model.setSelectedNode( model.findBy( aSchema, aTable ) );
|
||||
}
|
||||
|
||||
public String getSelectedTable() {
|
||||
return model.getTable();
|
||||
}
|
||||
|
||||
public DatabaseMeta getDatabaseMeta() {
|
||||
return this.model.getDatabaseMeta();
|
||||
}
|
||||
|
||||
public String getSelectedSchema() {
|
||||
return model.getSchema();
|
||||
}
|
||||
|
||||
public void accept() {
|
||||
if ( this.model.getTable() != null ) {
|
||||
this.dbExplorerDialog.setVisible( false );
|
||||
}
|
||||
}
|
||||
|
||||
public void cancel() {
|
||||
this.model.setSelectedNode( null );
|
||||
this.dbExplorerDialog.setVisible( false );
|
||||
}
|
||||
|
||||
public void truncate() {
|
||||
if ( this.model.getTable() == null ) {
|
||||
return;
|
||||
}
|
||||
DatabaseMeta dm = this.model.getDatabaseMeta();
|
||||
String message = dm.getTruncateTableStatement( this.model.getSchema(), this.model.getTable() );
|
||||
if ( message == null ) {
|
||||
message = "Truncating tables is not supported by " + dm.getDatabaseInterface().getPluginName();
|
||||
}
|
||||
SQLEditor theSqlEditor =
|
||||
new SQLEditor( this.getDatabaseMeta(), this.dbExplorerDialog.getShell(), SWT.NONE, dm, this.dbcache, "-- "
|
||||
+ message );
|
||||
theSqlEditor.open();
|
||||
}
|
||||
|
||||
public void viewSql() {
|
||||
if ( this.model.getTable() == null ) {
|
||||
return;
|
||||
}
|
||||
SQLEditor theSqlEditor =
|
||||
new SQLEditor( this.getDatabaseMeta(), this.dbExplorerDialog.getShell(), SWT.NONE, this.model
|
||||
.getDatabaseMeta(), this.dbcache, "SELECT * FROM " + getSchemaAndTable( this.model ) );
|
||||
theSqlEditor.open();
|
||||
}
|
||||
|
||||
public void showLayout() {
|
||||
|
||||
DatabaseMeta databaseMeta = model.getDatabaseMeta();
|
||||
String schemaTable = databaseMeta.getQuotedSchemaTableCombination( model.getSchema(), model.getTable() );
|
||||
|
||||
String theSql = databaseMeta.getSQLQueryFields( schemaTable );
|
||||
GetQueryFieldsProgressDialog theProgressDialog =
|
||||
new GetQueryFieldsProgressDialog( this.shell, databaseMeta, theSql );
|
||||
RowMetaInterface fields = theProgressDialog.open();
|
||||
|
||||
StepFieldsDialog stepFieldsDialog = new StepFieldsDialog( shell, databaseMeta, SWT.NONE, schemaTable, fields );
|
||||
stepFieldsDialog.setShellText( BaseMessages.getString( PKG, "DatabaseExplorerDialog.TableLayout.ShellText" ) );
|
||||
stepFieldsDialog
|
||||
.setOriginText( BaseMessages.getString( PKG, "DatabaseExplorerDialog.TableLayout.OriginText" ) );
|
||||
stepFieldsDialog.setShowEditButton( false );
|
||||
stepFieldsDialog.open();
|
||||
}
|
||||
|
||||
public void displayRowCount() {
|
||||
if ( this.model.getTable() == null ) {
|
||||
return;
|
||||
}
|
||||
try {
|
||||
GetTableSizeProgressDialog pd =
|
||||
new GetTableSizeProgressDialog(
|
||||
this.dbExplorerDialog.getShell(), this.model.getDatabaseMeta(), this.model.getTable(), model
|
||||
.getSchema() );
|
||||
Long theCount = pd.open();
|
||||
if ( theCount != null ) {
|
||||
XulMessageBox theMessageBox = (XulMessageBox) document.createElement( "messagebox" );
|
||||
theMessageBox.setModalParent( this.dbExplorerDialog.getShell() );
|
||||
theMessageBox.setTitle( BaseMessages.getString( PKG, "DatabaseExplorerDialog.TableSize.Title" ) );
|
||||
theMessageBox.setMessage( BaseMessages.getString(
|
||||
PKG, "DatabaseExplorerDialog.TableSize.Message", this.model.getTable(), theCount.toString() ) );
|
||||
theMessageBox.open();
|
||||
}
|
||||
} catch ( XulException e ) {
|
||||
LogChannel.GENERAL.logError( "Error displaying row count", e );
|
||||
}
|
||||
}
|
||||
|
||||
private void fireBindings() {
|
||||
try {
|
||||
this.databaseTreeBinding.fireSourceChanged();
|
||||
if ( this.getSelectedTable() != null ) {
|
||||
this.selectedTableBinding.fireSourceChanged();
|
||||
}
|
||||
// if (this.getSelectedSchema() != null) {
|
||||
// this.selectedSchemaBinding.fireSourceChanged();
|
||||
// }
|
||||
} catch ( Exception e ) {
|
||||
LogChannel.GENERAL.logError( "Error firing bindings in database explorer", e );
|
||||
}
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return "dbexplorer";
|
||||
}
|
||||
|
||||
public void preview( boolean askLimit ) {
|
||||
if ( model.getTable() == null ) {
|
||||
return;
|
||||
}
|
||||
try {
|
||||
PromptCallback theCallback = new PromptCallback();
|
||||
@SuppressWarnings( "unused" )
|
||||
boolean execute = true;
|
||||
int limit = 100;
|
||||
if ( askLimit ) {
|
||||
XulPromptBox thePromptBox = (XulPromptBox) this.document.createElement( "promptbox" );
|
||||
thePromptBox.setModalParent( this.dbExplorerDialog.getShell() );
|
||||
thePromptBox.setTitle( "Enter Max Rows" );
|
||||
thePromptBox.setMessage( "Max Rows:" );
|
||||
thePromptBox.addDialogCallback( theCallback );
|
||||
thePromptBox.open();
|
||||
execute = theCallback.getLimit() != -1;
|
||||
limit = theCallback.getLimit();
|
||||
}
|
||||
|
||||
// if (execute) {
|
||||
// XulPreviewRowsDialog thePreviewRowsDialog = new XulPreviewRowsDialog(this.shell, SWT.NONE,
|
||||
// this.model.getDatabaseMeta(), this.model.getTable(), theCallback.getLimit());
|
||||
// thePreviewRowsDialog.open();
|
||||
// }
|
||||
|
||||
GetPreviewTableProgressDialog pd =
|
||||
new GetPreviewTableProgressDialog( this.dbExplorerDialog.getShell(), this.model.getDatabaseMeta(), model
|
||||
.getSchema(), model.getTable(), limit );
|
||||
List<Object[]> rows = pd.open();
|
||||
if ( rows != null ) { // otherwise an already shown error...
|
||||
|
||||
if ( rows.size() > 0 ) {
|
||||
PreviewRowsDialog prd =
|
||||
new PreviewRowsDialog(
|
||||
this.dbExplorerDialog.getShell(), this.model.getDatabaseMeta(), SWT.None, this.model.getTable(),
|
||||
pd.getRowMeta(), rows );
|
||||
prd.open();
|
||||
} else {
|
||||
MessageBox mb = new MessageBox( this.dbExplorerDialog.getShell(), SWT.ICON_INFORMATION | SWT.OK );
|
||||
mb.setMessage( BaseMessages.getString( PKG, "DatabaseExplorerDialog.NoRows.Message" ) );
|
||||
mb.setText( BaseMessages.getString( PKG, "DatabaseExplorerDialog.NoRows.Title" ) );
|
||||
mb.open();
|
||||
}
|
||||
}
|
||||
|
||||
} catch ( Exception e ) {
|
||||
LogChannel.GENERAL.logError( "Error previewing rows", e );
|
||||
}
|
||||
}
|
||||
|
||||
public void refresh() {
|
||||
collapse();
|
||||
this.model.getDatabase().clear();
|
||||
createDatabaseNodes();
|
||||
if ( this.status != UiPostActionStatus.OK ) {
|
||||
// something goes dramatically wrong!
|
||||
return;
|
||||
}
|
||||
fireBindings();
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @return true if all goes fine, false otherwise. This will signal to caller
|
||||
* that it may not attempt to show broken dialog
|
||||
*/
|
||||
void createDatabaseNodes() {
|
||||
this.status = UiPostActionStatus.NONE;
|
||||
Database theDatabase = new Database( null, this.model.getDatabaseMeta() );
|
||||
try {
|
||||
theDatabase.connect();
|
||||
GetDatabaseInfoProgressDialog gdipd =
|
||||
new GetDatabaseInfoProgressDialog( (Shell) this.dbExplorerDialog.getRootObject(), this.model
|
||||
.getDatabaseMeta() );
|
||||
DatabaseMetaInformation dmi = gdipd.open();
|
||||
|
||||
// Adds the main database node.
|
||||
DatabaseExplorerNode theDatabaseNode = new DatabaseExplorerNode();
|
||||
theDatabaseNode.setName( this.model.getDatabaseMeta().getName() );
|
||||
theDatabaseNode.setImage( DATABASE_IMAGE );
|
||||
this.model.getDatabase().add( theDatabaseNode );
|
||||
|
||||
// Adds the Schema database node.
|
||||
DatabaseExplorerNode theSchemasNode = new DatabaseExplorerNode();
|
||||
theSchemasNode.setName( STRING_SCHEMAS );
|
||||
theSchemasNode.setImage( FOLDER_IMAGE );
|
||||
theDatabaseNode.add( theSchemasNode );
|
||||
|
||||
// Adds the Tables database node.
|
||||
DatabaseExplorerNode theTablesNode = new DatabaseExplorerNode();
|
||||
theTablesNode.setName( STRING_TABLES );
|
||||
theTablesNode.setImage( FOLDER_IMAGE );
|
||||
theDatabaseNode.add( theTablesNode );
|
||||
|
||||
// Adds the Views database node.
|
||||
DatabaseExplorerNode theViewsNode = new DatabaseExplorerNode();
|
||||
theViewsNode.setName( STRING_VIEWS );
|
||||
theViewsNode.setImage( FOLDER_IMAGE );
|
||||
theDatabaseNode.add( theViewsNode );
|
||||
|
||||
// Adds the Synonyms database node.
|
||||
DatabaseExplorerNode theSynonymsNode = new DatabaseExplorerNode();
|
||||
theSynonymsNode.setName( STRING_SYNONYMS );
|
||||
theSynonymsNode.setImage( FOLDER_IMAGE );
|
||||
theDatabaseNode.add( theSynonymsNode );
|
||||
|
||||
// Adds the database schemas.
|
||||
Schema[] schemas = dmi.getSchemas();
|
||||
if ( schemas != null ) {
|
||||
DatabaseExplorerNode theSchemaNode = null;
|
||||
for ( int i = 0; i < schemas.length; i++ ) {
|
||||
theSchemaNode = new DatabaseExplorerNode();
|
||||
theSchemaNode.setName( schemas[i].getSchemaName() );
|
||||
theSchemaNode.setImage( SCHEMA_IMAGE );
|
||||
theSchemaNode.setIsSchema( true );
|
||||
theSchemasNode.add( theSchemaNode );
|
||||
|
||||
// Adds the database tables for the given schema.
|
||||
String[] theTableNames = schemas[i].getItems();
|
||||
if ( theTableNames != null ) {
|
||||
for ( int i2 = 0; i2 < theTableNames.length; i2++ ) {
|
||||
DatabaseExplorerNode theTableNode = new DatabaseExplorerNode();
|
||||
theTableNode.setIsTable( true );
|
||||
theTableNode.setSchema( schemas[i].getSchemaName() );
|
||||
theTableNode.setName( theTableNames[i2] );
|
||||
theTableNode.setImage( TABLE_IMAGE );
|
||||
theSchemaNode.add( theTableNode );
|
||||
theTableNode.setParent( theSchemaNode );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Adds the database tables.
|
||||
Map<String, Collection<String>> tableMap = dmi.getTableMap();
|
||||
List<String> tableKeys = new ArrayList<String>( tableMap.keySet() );
|
||||
Collections.sort( tableKeys );
|
||||
for ( String schema : tableKeys ) {
|
||||
List<String> tables = new ArrayList<String>( tableMap.get( schema ) );
|
||||
Collections.sort( tables );
|
||||
for ( String table : tables ) {
|
||||
DatabaseExplorerNode theTableNode = new DatabaseExplorerNode();
|
||||
theTableNode.setIsTable( true );
|
||||
theTableNode.setName( table );
|
||||
theTableNode.setImage( TABLE_IMAGE );
|
||||
theTablesNode.add( theTableNode );
|
||||
}
|
||||
}
|
||||
|
||||
// Adds the database views.
|
||||
Map<String, Collection<String>> viewMap = dmi.getViewMap();
|
||||
if ( viewMap != null ) {
|
||||
List<String> viewKeys = new ArrayList<String>( viewMap.keySet() );
|
||||
Collections.sort( viewKeys );
|
||||
for ( String schema : viewKeys ) {
|
||||
List<String> views = new ArrayList<String>( viewMap.get( schema ) );
|
||||
Collections.sort( views );
|
||||
for ( String view : views ) {
|
||||
DatabaseExplorerNode theViewNode = new DatabaseExplorerNode();
|
||||
theViewNode.setIsTable( true );
|
||||
theViewNode.setName( view );
|
||||
theViewNode.setImage( TABLE_IMAGE );
|
||||
theViewsNode.add( theViewNode );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Adds the Synonyms.
|
||||
Map<String, Collection<String>> synonymMap = dmi.getSynonymMap();
|
||||
if ( synonymMap != null ) {
|
||||
List<String> synonymKeys = new ArrayList<String>( synonymMap.keySet() );
|
||||
Collections.sort( synonymKeys );
|
||||
for ( String schema : synonymKeys ) {
|
||||
List<String> synonyms = new ArrayList<String>( synonymMap.get( schema ) );
|
||||
Collections.sort( synonyms );
|
||||
for ( String synonym : synonyms ) {
|
||||
DatabaseExplorerNode theSynonymNode = new DatabaseExplorerNode();
|
||||
theSynonymNode.setIsTable( true );
|
||||
theSynonymNode.setName( synonym );
|
||||
theSynonymNode.setImage( TABLE_IMAGE );
|
||||
theSynonymsNode.add( theSynonymNode );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
} catch ( Exception e ) {
|
||||
// Something goes wrong?
|
||||
this.status = UiPostActionStatus.ERROR;
|
||||
theDatabase.disconnect();
|
||||
new ErrorDialog( shell, "Error", "Unexpected explorer error:", e );
|
||||
this.status = UiPostActionStatus.ERROR_DIALOG_SHOWN;
|
||||
return;
|
||||
} finally {
|
||||
if ( theDatabase != null ) {
|
||||
try {
|
||||
theDatabase.disconnect();
|
||||
} catch ( Exception ignored ) {
|
||||
// Can't do anything else here...
|
||||
}
|
||||
theDatabase = null;
|
||||
}
|
||||
}
|
||||
this.status = UiPostActionStatus.OK;
|
||||
}
|
||||
|
||||
public void close() {
|
||||
this.dbExplorerDialog.setVisible( false );
|
||||
}
|
||||
|
||||
public void expandCollapse() {
|
||||
if ( this.isExpanded ) {
|
||||
collapse();
|
||||
} else {
|
||||
expand();
|
||||
}
|
||||
}
|
||||
|
||||
private void expand() {
|
||||
this.databaseTree.expandAll();
|
||||
this.isExpanded = true;
|
||||
this.expandCollapseButton.setImage( COLLAPSE_ALL_IMAGE );
|
||||
}
|
||||
|
||||
private void collapse() {
|
||||
this.databaseTree.collapseAll();
|
||||
this.isExpanded = false;
|
||||
this.expandCollapseButton.setImage( EXPAND_ALL_IMAGE );
|
||||
}
|
||||
|
||||
public void getDDL() {
|
||||
if ( model.getTable() == null ) {
|
||||
return;
|
||||
}
|
||||
Database db = new Database( null, this.model.getDatabaseMeta() );
|
||||
try {
|
||||
db.connect();
|
||||
String tableName = getSchemaAndTable( this.model );
|
||||
RowMetaInterface r = db.getTableFields( tableName );
|
||||
String sql = db.getCreateTableStatement( tableName, r, null, false, null, true );
|
||||
SQLEditor se =
|
||||
new SQLEditor( this.getDatabaseMeta(), this.dbExplorerDialog.getShell(), SWT.NONE, this.model
|
||||
.getDatabaseMeta(), this.dbcache, sql );
|
||||
se.open();
|
||||
} catch ( KettleDatabaseException dbe ) {
|
||||
new ErrorDialog(
|
||||
this.dbExplorerDialog.getShell(), BaseMessages.getString( PKG, "Dialog.Error.Header" ), BaseMessages
|
||||
.getString( PKG, "DatabaseExplorerDialog.Error.RetrieveLayout" ), dbe );
|
||||
} finally {
|
||||
db.disconnect();
|
||||
}
|
||||
}
|
||||
|
||||
public void getDDLForOther() {
|
||||
|
||||
if ( databases != null ) {
|
||||
try {
|
||||
|
||||
// Now select the other connection...
|
||||
|
||||
// Only take non-SAP ERP connections....
|
||||
List<DatabaseMeta> dbs = new ArrayList<DatabaseMeta>();
|
||||
for ( int i = 0; i < databases.size(); i++ ) {
|
||||
if ( ( ( databases.get( i ) ).getDatabaseInterface().isExplorable() ) ) {
|
||||
dbs.add( databases.get( i ) );
|
||||
}
|
||||
}
|
||||
|
||||
String[] conn = new String[dbs.size()];
|
||||
for ( int i = 0; i < conn.length; i++ ) {
|
||||
conn[i] = ( dbs.get( i ) ).getName();
|
||||
}
|
||||
|
||||
EnterSelectionDialog esd = new EnterSelectionDialog( this.dbExplorerDialog.getShell(), conn,
|
||||
BaseMessages.getString( PKG, "DatabaseExplorerDialog.TargetDatabase.Title" ),
|
||||
BaseMessages.getString( PKG, "DatabaseExplorerDialog.TargetDatabase.Message" ) );
|
||||
String target = esd.open();
|
||||
if ( target != null ) {
|
||||
DatabaseMeta targetdbi = DatabaseMeta.findDatabase( dbs, target );
|
||||
Database targetdb = new Database( null, targetdbi );
|
||||
try {
|
||||
targetdb.connect();
|
||||
String tableName = getSchemaAndTable( model );
|
||||
RowMetaInterface r = targetdb.getTableFields( tableName );
|
||||
|
||||
String sql = targetdb.getCreateTableStatement( tableName, r, null, false, null, true );
|
||||
SQLEditor se =
|
||||
new SQLEditor( this.getDatabaseMeta(), this.dbExplorerDialog.getShell(), SWT.NONE, this.model
|
||||
.getDatabaseMeta(), this.dbcache, sql );
|
||||
se.open();
|
||||
} finally {
|
||||
targetdb.disconnect();
|
||||
}
|
||||
}
|
||||
} catch ( KettleDatabaseException dbe ) {
|
||||
new ErrorDialog(
|
||||
this.dbExplorerDialog.getShell(), BaseMessages.getString( PKG, "Dialog.Error.Header" ), BaseMessages
|
||||
.getString( PKG, "DatabaseExplorerDialog.Error.GenDDL" ), dbe );
|
||||
}
|
||||
} else {
|
||||
MessageBox mb = new MessageBox( this.dbExplorerDialog.getShell(), SWT.NONE | SWT.ICON_INFORMATION );
|
||||
mb.setMessage( BaseMessages.getString( PKG, "DatabaseExplorerDialog.NoConnectionsKnown.Message" ) );
|
||||
mb.setText( BaseMessages.getString( PKG, "DatabaseExplorerDialog.NoConnectionsKnown.Title" ) );
|
||||
mb.open();
|
||||
}
|
||||
}
|
||||
|
||||
public void dataProfile() {
|
||||
if ( model.getTable() == null ) {
|
||||
return;
|
||||
}
|
||||
Shell dbShell = (Shell) dbExplorerDialog.getRootObject();
|
||||
try {
|
||||
TransProfileFactory profileFactory =
|
||||
new TransProfileFactory( this.model.getDatabaseMeta(), getSchemaAndTable( this.model ) );
|
||||
TransMeta transMeta = profileFactory.generateTransformation( new LoggingObject( model.getTable() ) );
|
||||
TransPreviewProgressDialog progressDialog =
|
||||
new TransPreviewProgressDialog(
|
||||
dbShell, transMeta, new String[] { TransProfileFactory.RESULT_STEP_NAME, }, new int[] { 25000, } );
|
||||
|
||||
progressDialog.open();
|
||||
|
||||
if ( !progressDialog.isCancelled() ) {
|
||||
Trans trans = progressDialog.getTrans();
|
||||
String loggingText = progressDialog.getLoggingText();
|
||||
|
||||
if ( trans.getResult() != null && trans.getResult().getNrErrors() > 0 ) {
|
||||
EnterTextDialog etd =
|
||||
new EnterTextDialog(
|
||||
dbShell, BaseMessages.getString( PKG, "System.Dialog.PreviewError.Title" ), BaseMessages
|
||||
.getString( PKG, "System.Dialog.PreviewError.Message" ), loggingText, true );
|
||||
etd.setReadOnly();
|
||||
etd.open();
|
||||
}
|
||||
|
||||
PreviewRowsDialog prd =
|
||||
new PreviewRowsDialog(
|
||||
dbShell, transMeta, SWT.NONE, TransProfileFactory.RESULT_STEP_NAME, progressDialog
|
||||
.getPreviewRowsMeta( TransProfileFactory.RESULT_STEP_NAME ), progressDialog
|
||||
.getPreviewRows( TransProfileFactory.RESULT_STEP_NAME ), loggingText );
|
||||
prd.open();
|
||||
|
||||
}
|
||||
|
||||
} catch ( Exception e ) {
|
||||
new ErrorDialog( this.dbExplorerDialog.getShell(),
|
||||
BaseMessages.getString( PKG, "DatabaseExplorerDialog.UnexpectedProfilingError.Title" ),
|
||||
BaseMessages.getString( PKG, "DatabaseExplorerDialog.UnexpectedProfilingError.Message" ), e );
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
class PromptCallback implements XulDialogCallback<Object> {
|
||||
|
||||
private int limit = -1;
|
||||
|
||||
public void onClose( XulComponent aSender, Status aReturnCode, Object aRetVal ) {
|
||||
if ( aReturnCode == Status.ACCEPT ) {
|
||||
try {
|
||||
this.limit = Integer.parseInt( aRetVal.toString() );
|
||||
} catch ( NumberFormatException e ) {
|
||||
LogChannel.GENERAL.logError( "Error parsing string '" + aRetVal.toString() + "'", e );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void onError( XulComponent aSenter, Throwable aThrowable ) {
|
||||
}
|
||||
|
||||
public int getLimit() {
|
||||
return this.limit;
|
||||
}
|
||||
}
|
||||
|
||||
private String getSchemaAndTable( XulDatabaseExplorerModel model ) {
|
||||
return getSchemaAndTable( model, model.getDatabaseMeta() );
|
||||
}
|
||||
|
||||
private String getSchemaAndTable( XulDatabaseExplorerModel model, DatabaseMeta meta ) {
|
||||
if ( model.getSchema() != null ) {
|
||||
return meta.getQuotedSchemaTableCombination( model.getSchema(), model.getTable() );
|
||||
} else {
|
||||
return meta.getQuotedSchemaTableCombination( null, model.getTable() );
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public UiPostActionStatus getActionStatus() {
|
||||
return status;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,131 @@
|
|||
/*! ******************************************************************************
|
||||
*
|
||||
* Pentaho Data Integration
|
||||
*
|
||||
* Copyright (C) 2002-2017 by Hitachi Vantara : http://www.pentaho.com
|
||||
*
|
||||
*******************************************************************************
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
package org.pentaho.di.ui.core.database.dialog;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.Enumeration;
|
||||
import java.util.List;
|
||||
import java.util.ResourceBundle;
|
||||
|
||||
import org.eclipse.swt.widgets.Shell;
|
||||
import org.pentaho.di.core.Const;
|
||||
import org.pentaho.di.core.database.DatabaseMeta;
|
||||
import org.pentaho.di.core.logging.LogChannel;
|
||||
import org.pentaho.di.i18n.BaseMessages;
|
||||
import org.pentaho.di.ui.spoon.SpoonPluginManager;
|
||||
import org.pentaho.di.ui.spoon.XulSpoonSettingsManager;
|
||||
import org.pentaho.di.ui.xul.KettleXulLoader;
|
||||
import org.pentaho.ui.xul.XulDomContainer;
|
||||
import org.pentaho.ui.xul.XulRunner;
|
||||
import org.pentaho.ui.xul.containers.XulDialog;
|
||||
import org.pentaho.ui.xul.impl.DefaultSettingsManager;
|
||||
import org.pentaho.ui.xul.swt.SwtXulRunner;
|
||||
|
||||
public class XulDatabaseExplorerDialog {
|
||||
|
||||
private static final Class<?> PKG = XulDatabaseExplorerDialog.class;
|
||||
|
||||
private Shell shell;
|
||||
private XulDomContainer container;
|
||||
private XulRunner runner;
|
||||
private XulDatabaseExplorerController controller;
|
||||
private DatabaseMeta databaseMeta;
|
||||
private List<DatabaseMeta> databases;
|
||||
private static final String XUL = "org/pentaho/di/ui/core/database/dialog/database_explorer.xul";
|
||||
private boolean look;
|
||||
private String schemaName;
|
||||
private String selectedTable;
|
||||
|
||||
public XulDatabaseExplorerDialog( Shell aShell, DatabaseMeta aDatabaseMeta, List<DatabaseMeta> aDataBases,
|
||||
boolean aLook ) {
|
||||
this.shell = aShell;
|
||||
this.databaseMeta = aDatabaseMeta;
|
||||
this.databases = aDataBases;
|
||||
this.look = aLook;
|
||||
}
|
||||
|
||||
public boolean open() {
|
||||
try {
|
||||
|
||||
KettleXulLoader theLoader = new KettleXulLoader();
|
||||
theLoader.setSettingsManager( XulSpoonSettingsManager.getInstance() );
|
||||
theLoader.setSettingsManager( new DefaultSettingsManager( new File( Const.getKettleDirectory()
|
||||
+ Const.FILE_SEPARATOR + "xulSettings.properties" ) ) );
|
||||
theLoader.setOuterContext( this.shell );
|
||||
|
||||
this.container = theLoader.loadXul( XUL, new XulDatabaseExplorerResourceBundle() );
|
||||
|
||||
XulDialog theExplorerDialog =
|
||||
(XulDialog) this.container.getDocumentRoot().getElementById( "databaseExplorerDialog" );
|
||||
|
||||
SpoonPluginManager.getInstance().applyPluginsForContainer( "database_dialog", container );
|
||||
|
||||
this.controller =
|
||||
new XulDatabaseExplorerController(
|
||||
(Shell) theExplorerDialog.getRootObject(), this.databaseMeta, this.databases, look );
|
||||
|
||||
this.container.addEventHandler( this.controller );
|
||||
|
||||
this.runner = new SwtXulRunner();
|
||||
this.runner.addContainer( this.container );
|
||||
|
||||
this.runner.initialize();
|
||||
|
||||
this.controller.setSelectedSchemaAndTable( schemaName, selectedTable );
|
||||
|
||||
// show dialog if connection is success only.
|
||||
if ( controller.getActionStatus() == UiPostActionStatus.OK ) {
|
||||
theExplorerDialog.show();
|
||||
}
|
||||
|
||||
} catch ( Exception e ) {
|
||||
LogChannel.GENERAL.logError( "Error exploring database", e );
|
||||
}
|
||||
return this.controller.getSelectedTable() != null;
|
||||
}
|
||||
|
||||
public void setSelectedSchemaAndTable( String aSchema, String aTable ) {
|
||||
schemaName = aSchema;
|
||||
selectedTable = aTable;
|
||||
}
|
||||
|
||||
public String getSchemaName() {
|
||||
return ( this.controller != null ) ? this.controller.getSelectedSchema() : schemaName;
|
||||
}
|
||||
|
||||
public String getTableName() {
|
||||
return ( this.controller != null ) ? this.controller.getSelectedTable() : selectedTable;
|
||||
}
|
||||
|
||||
private static class XulDatabaseExplorerResourceBundle extends ResourceBundle {
|
||||
@Override
|
||||
public Enumeration<String> getKeys() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Object handleGetObject( String key ) {
|
||||
return BaseMessages.getString( PKG, key );
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,121 @@
|
|||
/*! ******************************************************************************
|
||||
*
|
||||
* Pentaho Data Integration
|
||||
*
|
||||
* Copyright (C) 2002-2017 by Hitachi Vantara : http://www.pentaho.com
|
||||
*
|
||||
*******************************************************************************
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
package org.pentaho.di.ui.core.database.dialog;
|
||||
|
||||
import java.util.ListIterator;
|
||||
|
||||
import org.pentaho.di.core.database.DatabaseMeta;
|
||||
import org.pentaho.di.core.util.Utils;
|
||||
import org.pentaho.ui.xul.XulEventSourceAdapter;
|
||||
import org.pentaho.ui.xul.util.AbstractModelNode;
|
||||
|
||||
public class XulDatabaseExplorerModel extends XulEventSourceAdapter {
|
||||
|
||||
// TODO can this be renamed? it's actually just the root node
|
||||
private XulDatabaseExplorerNode database;
|
||||
protected DatabaseMeta databaseMeta;
|
||||
private DatabaseExplorerNode selectedNode;
|
||||
|
||||
public XulDatabaseExplorerModel( DatabaseMeta aDatabaseMeta ) {
|
||||
this.database = new XulDatabaseExplorerNode();
|
||||
this.databaseMeta = aDatabaseMeta;
|
||||
}
|
||||
|
||||
public DatabaseMeta getDatabaseMeta() {
|
||||
return this.databaseMeta;
|
||||
}
|
||||
|
||||
public XulDatabaseExplorerNode getDatabase() {
|
||||
return this.database;
|
||||
}
|
||||
|
||||
public void setDatabase( XulDatabaseExplorerNode aDatabase ) {
|
||||
this.database = aDatabase;
|
||||
}
|
||||
|
||||
public String getTable() {
|
||||
if ( selectedNode != null && selectedNode.isTable() ) {
|
||||
return selectedNode.getName();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public String getSchema() {
|
||||
if ( selectedNode != null ) {
|
||||
return selectedNode.getSchema();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Finds the node.
|
||||
*
|
||||
* @param aSchema
|
||||
* can be null
|
||||
* @param aName
|
||||
* can be null
|
||||
* @return node
|
||||
*/
|
||||
public DatabaseExplorerNode findBy( String aSchema, String aTable ) {
|
||||
ListIterator<DatabaseExplorerNode> theNodes = this.database.listIterator();
|
||||
return drillDown( theNodes, aSchema, aTable );
|
||||
}
|
||||
|
||||
private DatabaseExplorerNode drillDown( ListIterator<DatabaseExplorerNode> aNodes, String aSchema, String aTable ) {
|
||||
boolean lookingForSchema = aTable == null || Utils.isEmpty( aTable );
|
||||
DatabaseExplorerNode theNode = null;
|
||||
while ( aNodes.hasNext() ) {
|
||||
theNode = aNodes.next();
|
||||
if ( theNode != null ) {
|
||||
if ( lookingForSchema && theNode.isSchema() && theNode.getName().equals( aSchema ) ) {
|
||||
break;
|
||||
} else if ( !lookingForSchema
|
||||
&& theNode.isTable() && theNode.getName().equals( aTable )
|
||||
&& ( theNode.getSchema() != null ? theNode.getSchema().equals( aSchema ) : aSchema == null ) ) {
|
||||
break;
|
||||
} else {
|
||||
theNode = drillDown( theNode.listIterator(), aSchema, aTable );
|
||||
if ( theNode != null ) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return theNode;
|
||||
}
|
||||
|
||||
// TODO mlowery why is this subclass needed?
|
||||
public static class XulDatabaseExplorerNode extends AbstractModelNode<DatabaseExplorerNode> {
|
||||
private static final long serialVersionUID = 2466708563640027488L;
|
||||
}
|
||||
|
||||
public DatabaseExplorerNode getSelectedNode() {
|
||||
return selectedNode;
|
||||
}
|
||||
|
||||
public void setSelectedNode( DatabaseExplorerNode selectedNode ) {
|
||||
DatabaseExplorerNode prevVal = this.selectedNode;
|
||||
this.selectedNode = selectedNode;
|
||||
firePropertyChange( "selectedNode", prevVal, this.selectedNode );
|
||||
}
|
||||
}
|
|
@ -0,0 +1,143 @@
|
|||
/*! ******************************************************************************
|
||||
*
|
||||
* Pentaho Data Integration
|
||||
*
|
||||
* Copyright (C) 2002-2017 by Hitachi Vantara : http://www.pentaho.com
|
||||
*
|
||||
*******************************************************************************
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
package org.pentaho.di.ui.core.database.dialog;
|
||||
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.eclipse.swt.widgets.Shell;
|
||||
import org.pentaho.di.core.database.DatabaseMeta;
|
||||
import org.pentaho.ui.xul.binding.Binding;
|
||||
import org.pentaho.ui.xul.binding.Binding.Type;
|
||||
import org.pentaho.ui.xul.binding.BindingFactory;
|
||||
import org.pentaho.ui.xul.binding.DefaultBindingFactory;
|
||||
import org.pentaho.ui.xul.containers.XulDialog;
|
||||
import org.pentaho.ui.xul.containers.XulTree;
|
||||
import org.pentaho.ui.xul.containers.XulTreeRow;
|
||||
import org.pentaho.ui.xul.impl.AbstractXulEventHandler;
|
||||
import org.pentaho.ui.xul.swt.tags.SwtTreeCell;
|
||||
import org.pentaho.ui.xul.swt.tags.SwtTreeCol;
|
||||
import org.pentaho.ui.xul.swt.tags.SwtTreeCols;
|
||||
|
||||
public class XulPreviewRowsController extends AbstractXulEventHandler {
|
||||
|
||||
private Shell shell;
|
||||
private DatabaseMeta databaseMeta;
|
||||
private String schema;
|
||||
private String table;
|
||||
private int limit;
|
||||
private BindingFactory bf;
|
||||
private Binding rowCountBinding;
|
||||
private String rowCount;
|
||||
|
||||
private static Log logger = LogFactory.getLog( XulStepFieldsController.class );
|
||||
|
||||
public XulPreviewRowsController( Shell aShell, DatabaseMeta aDatabaseMeta, String aSchema, String aTable,
|
||||
int aLimit ) {
|
||||
this.shell = aShell;
|
||||
this.databaseMeta = aDatabaseMeta;
|
||||
this.schema = aSchema;
|
||||
this.table = aTable;
|
||||
this.limit = aLimit;
|
||||
this.bf = new DefaultBindingFactory();
|
||||
}
|
||||
|
||||
public void init() {
|
||||
createPreviewRows();
|
||||
|
||||
this.bf.setDocument( super.document );
|
||||
this.bf.setBindingType( Type.ONE_WAY );
|
||||
this.rowCountBinding = this.bf.createBinding( this, "rowCount", "rowCountLabel", "value" );
|
||||
fireBindings();
|
||||
}
|
||||
|
||||
private void fireBindings() {
|
||||
try {
|
||||
this.rowCountBinding.fireSourceChanged();
|
||||
} catch ( Exception e ) {
|
||||
logger.info( e );
|
||||
}
|
||||
}
|
||||
|
||||
private void createPreviewRows() {
|
||||
GetPreviewTableProgressDialog theProgressDialog =
|
||||
new GetPreviewTableProgressDialog( this.shell, this.databaseMeta, this.schema, this.table, this.limit );
|
||||
List<Object[]> thePreviewData = theProgressDialog.open();
|
||||
|
||||
// Adds table rows.
|
||||
Object[] theObj = null;
|
||||
XulTreeRow theRow = null;
|
||||
Object theValue = null;
|
||||
SwtTreeCell theCell = null;
|
||||
int theRowCount = 0;
|
||||
|
||||
XulTree thePreviewTable = (XulTree) super.document.getElementById( "table_data" );
|
||||
thePreviewTable.getRootChildren().removeAll();
|
||||
Iterator<Object[]> theItr = thePreviewData.iterator();
|
||||
while ( theItr.hasNext() ) {
|
||||
theObj = theItr.next();
|
||||
theRow = thePreviewTable.getRootChildren().addNewRow();
|
||||
theRowCount++;
|
||||
for ( int i = 0; i < theObj.length; i++ ) {
|
||||
theValue = theObj[i];
|
||||
theCell = new SwtTreeCell( null );
|
||||
theCell.setLabel( theValue == null ? "" : theValue.toString() );
|
||||
theRow.addCell( theCell );
|
||||
}
|
||||
}
|
||||
|
||||
// Adds table columns.
|
||||
SwtTreeCol theColumn = null;
|
||||
String[] theFieldNames = theProgressDialog.getRowMeta().getFieldNames();
|
||||
SwtTreeCols theColumns = new SwtTreeCols( null, thePreviewTable, null, null );
|
||||
for ( int i = 0; i < theFieldNames.length; i++ ) {
|
||||
theColumn = new SwtTreeCol( null, null, null, null );
|
||||
theColumn.setWidth( 100 );
|
||||
theColumn.setLabel( theFieldNames[i] );
|
||||
theColumns.addColumn( theColumn );
|
||||
}
|
||||
thePreviewTable.setColumns( theColumns );
|
||||
thePreviewTable.update();
|
||||
|
||||
setRowCount( "Rows of step: " + this.table + " (" + theRowCount + " rows)" );
|
||||
}
|
||||
|
||||
public void accept() {
|
||||
XulDialog theDialog = (XulDialog) super.document.getElementById( "previewRowsDialog" );
|
||||
theDialog.setVisible( false );
|
||||
}
|
||||
|
||||
public void setRowCount( String aRowCount ) {
|
||||
this.rowCount = aRowCount;
|
||||
}
|
||||
|
||||
public String getRowCount() {
|
||||
return this.rowCount;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return "previewRows";
|
||||
}
|
||||
}
|
|
@ -0,0 +1,81 @@
|
|||
/*! ******************************************************************************
|
||||
*
|
||||
* Pentaho Data Integration
|
||||
*
|
||||
* Copyright (C) 2002-2017 by Hitachi Vantara : http://www.pentaho.com
|
||||
*
|
||||
*******************************************************************************
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
package org.pentaho.di.ui.core.database.dialog;
|
||||
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.eclipse.swt.widgets.Shell;
|
||||
import org.pentaho.di.core.database.DatabaseMeta;
|
||||
import org.pentaho.di.ui.spoon.XulSpoonSettingsManager;
|
||||
import org.pentaho.di.ui.xul.KettleXulLoader;
|
||||
import org.pentaho.ui.xul.XulDomContainer;
|
||||
import org.pentaho.ui.xul.XulRunner;
|
||||
import org.pentaho.ui.xul.containers.XulDialog;
|
||||
import org.pentaho.ui.xul.swt.SwtXulRunner;
|
||||
|
||||
public class XulPreviewRowsDialog {
|
||||
|
||||
private Shell shell;
|
||||
private int limit;
|
||||
private String schema;
|
||||
private String table;
|
||||
private XulDomContainer container;
|
||||
private XulRunner runner;
|
||||
private XulPreviewRowsController controller;
|
||||
private DatabaseMeta databaseMeta;
|
||||
private static Log logger = LogFactory.getLog( XulPreviewRowsDialog.class );
|
||||
private static final String XUL = "org/pentaho/di/ui/core/database/dialog/preview_rows.xul";
|
||||
|
||||
public XulPreviewRowsDialog( Shell aShell, int aStyle, DatabaseMeta aDatabaseMeta, String aSchemaName,
|
||||
String aTableName, int aLimit ) {
|
||||
this.shell = aShell;
|
||||
this.limit = aLimit;
|
||||
this.schema = aSchemaName;
|
||||
this.table = aTableName;
|
||||
this.databaseMeta = aDatabaseMeta;
|
||||
}
|
||||
|
||||
public void open() {
|
||||
try {
|
||||
KettleXulLoader theLoader = new KettleXulLoader();
|
||||
theLoader.setSettingsManager( XulSpoonSettingsManager.getInstance() );
|
||||
theLoader.setOuterContext( this.shell );
|
||||
this.container = theLoader.loadXul( XUL );
|
||||
|
||||
this.controller =
|
||||
new XulPreviewRowsController( this.shell, this.databaseMeta, this.schema, this.table, this.limit );
|
||||
this.container.addEventHandler( this.controller );
|
||||
|
||||
this.runner = new SwtXulRunner();
|
||||
this.runner.addContainer( this.container );
|
||||
this.runner.initialize();
|
||||
|
||||
XulDialog thePreviewDialog =
|
||||
(XulDialog) this.container.getDocumentRoot().getElementById( "previewRowsDialog" );
|
||||
thePreviewDialog.show();
|
||||
|
||||
} catch ( Exception e ) {
|
||||
logger.info( e );
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,165 @@
|
|||
/*! ******************************************************************************
|
||||
*
|
||||
* Pentaho Data Integration
|
||||
*
|
||||
* Copyright (C) 2002-2017 by Hitachi Vantara : http://www.pentaho.com
|
||||
*
|
||||
*******************************************************************************
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
package org.pentaho.di.ui.core.database.dialog;
|
||||
|
||||
import org.eclipse.swt.widgets.Shell;
|
||||
import org.pentaho.di.core.database.DatabaseMeta;
|
||||
import org.pentaho.di.core.logging.LogChannel;
|
||||
import org.pentaho.di.core.row.RowMetaInterface;
|
||||
import org.pentaho.di.core.row.ValueMetaInterface;
|
||||
import org.pentaho.ui.xul.binding.Binding;
|
||||
import org.pentaho.ui.xul.binding.Binding.Type;
|
||||
import org.pentaho.ui.xul.binding.BindingConvertor;
|
||||
import org.pentaho.ui.xul.binding.BindingFactory;
|
||||
import org.pentaho.ui.xul.binding.DefaultBindingFactory;
|
||||
import org.pentaho.ui.xul.containers.XulDialog;
|
||||
import org.pentaho.ui.xul.containers.XulTree;
|
||||
import org.pentaho.ui.xul.impl.AbstractXulEventHandler;
|
||||
|
||||
public class XulStepFieldsController extends AbstractXulEventHandler {
|
||||
|
||||
private Shell shell;
|
||||
private DatabaseMeta databaseMeta;
|
||||
private String schemaTableCombo;
|
||||
private BindingFactory bf;
|
||||
private Binding stepFieldsTreeBinding;
|
||||
private Binding stepNameBinding;
|
||||
private Binding acceptButtonBinding;
|
||||
private XulTree stepFieldsTree;
|
||||
private XulStepFieldsModel model;
|
||||
private Boolean showAcceptButton;
|
||||
private RowMetaInterface rowMetaInterface;
|
||||
|
||||
public XulStepFieldsController( Shell aShell, DatabaseMeta aDatabaseMeta, String schemaTableCombo,
|
||||
RowMetaInterface anInput ) {
|
||||
this.shell = aShell;
|
||||
this.databaseMeta = aDatabaseMeta;
|
||||
this.schemaTableCombo = schemaTableCombo;
|
||||
this.bf = new DefaultBindingFactory();
|
||||
this.model = new XulStepFieldsModel();
|
||||
this.rowMetaInterface = anInput;
|
||||
}
|
||||
|
||||
public void init() {
|
||||
createStepFieldNodes();
|
||||
|
||||
this.bf.setDocument( super.document );
|
||||
this.bf.setBindingType( Type.ONE_WAY );
|
||||
|
||||
this.stepFieldsTree = (XulTree) super.document.getElementById( "step_fields_data" );
|
||||
this.stepFieldsTreeBinding = this.bf.createBinding( this.model, "stepFields", this.stepFieldsTree, "elements" );
|
||||
this.stepNameBinding = this.bf.createBinding( this.model, "stepName", "stepNameLabel", "value" );
|
||||
this.acceptButtonBinding =
|
||||
this.bf.createBinding( this, "showAcceptButton", "stepFieldsDialog_accept", "visible" );
|
||||
|
||||
if ( this.getShowAcceptButton() ) {
|
||||
BindingConvertor<StepFieldNode, Boolean> isDisabledConvertor =
|
||||
new BindingConvertor<StepFieldNode, Boolean>() {
|
||||
public Boolean sourceToTarget( StepFieldNode value ) {
|
||||
return !( value != null );
|
||||
}
|
||||
|
||||
public StepFieldNode targetToSource( Boolean value ) {
|
||||
return null;
|
||||
}
|
||||
};
|
||||
|
||||
this.acceptButtonBinding =
|
||||
this.bf.createBinding(
|
||||
this.stepFieldsTree, "selectedItem", "stepFieldsDialog_accept", "disabled", isDisabledConvertor );
|
||||
}
|
||||
fireBindings();
|
||||
|
||||
}
|
||||
|
||||
public void cancelDialog() {
|
||||
XulDialog theDialog = (XulDialog) super.document.getElementById( "stepFieldsDialog" );
|
||||
theDialog.setVisible( false );
|
||||
}
|
||||
|
||||
public void setShowAcceptButton( boolean isVisible ) {
|
||||
this.showAcceptButton = isVisible;
|
||||
}
|
||||
|
||||
public boolean getShowAcceptButton() {
|
||||
return this.showAcceptButton;
|
||||
}
|
||||
|
||||
private void createStepFieldNodes() {
|
||||
|
||||
if ( this.rowMetaInterface == null ) {
|
||||
String theSql = this.databaseMeta.getSQLQueryFields( this.schemaTableCombo );
|
||||
GetQueryFieldsProgressDialog theProgressDialog =
|
||||
new GetQueryFieldsProgressDialog( this.shell, this.databaseMeta, theSql );
|
||||
this.rowMetaInterface = theProgressDialog.open();
|
||||
}
|
||||
|
||||
this.model.setStepName( "Step name:" + this.schemaTableCombo );
|
||||
|
||||
if ( this.rowMetaInterface != null ) {
|
||||
StepFieldNode theStep = null;
|
||||
for ( int i = 0; i < this.rowMetaInterface.size(); i++ ) {
|
||||
theStep = new StepFieldNode();
|
||||
ValueMetaInterface theMetaInterface = this.rowMetaInterface.getValueMeta( i );
|
||||
theStep.setFieldName( theMetaInterface.getName() );
|
||||
theStep.setType( theMetaInterface.getTypeDesc() );
|
||||
theStep.setLength( Integer.toString( theMetaInterface.getLength() ) );
|
||||
theStep.setPrecision( Integer.toString( theMetaInterface.getPrecision() ) );
|
||||
theStep.setOrigin( theMetaInterface.getOrigin() );
|
||||
theStep.setStorageType( Integer.toString( theMetaInterface.getStorageType() ) );
|
||||
theStep.setConversionMask( theMetaInterface.getConversionMask() );
|
||||
theStep.setDecimalSymbol( theMetaInterface.getDecimalSymbol() );
|
||||
theStep.setGroupingSymbol( theMetaInterface.getGroupingSymbol() );
|
||||
theStep.setTrimType( Integer.toString( theMetaInterface.getTrimType() ) );
|
||||
theStep.setComments( theMetaInterface.getComments() );
|
||||
this.model.addStepField( theStep );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void editOriginStep() {
|
||||
StepFieldNode theSelectedStep = (StepFieldNode) this.stepFieldsTree.getSelectedItem();
|
||||
if ( theSelectedStep != null ) {
|
||||
XulDialog theStepsDialog = (XulDialog) document.getElementById( "stepFieldsDialog" );
|
||||
theStepsDialog.hide();
|
||||
}
|
||||
}
|
||||
|
||||
public String getSelectedStep() {
|
||||
return this.schemaTableCombo;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return "stepFields";
|
||||
}
|
||||
|
||||
private void fireBindings() {
|
||||
try {
|
||||
this.stepFieldsTreeBinding.fireSourceChanged();
|
||||
this.stepNameBinding.fireSourceChanged();
|
||||
this.acceptButtonBinding.fireSourceChanged();
|
||||
} catch ( Exception e ) {
|
||||
LogChannel.GENERAL.logError( "Error firing bindings", e );
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,86 @@
|
|||
/*! ******************************************************************************
|
||||
*
|
||||
* Pentaho Data Integration
|
||||
*
|
||||
* Copyright (C) 2002-2017 by Hitachi Vantara : http://www.pentaho.com
|
||||
*
|
||||
*******************************************************************************
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
package org.pentaho.di.ui.core.database.dialog;
|
||||
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.eclipse.swt.widgets.Shell;
|
||||
import org.pentaho.di.core.database.DatabaseMeta;
|
||||
import org.pentaho.di.core.row.RowMetaInterface;
|
||||
import org.pentaho.di.ui.spoon.XulSpoonSettingsManager;
|
||||
import org.pentaho.di.ui.xul.KettleXulLoader;
|
||||
import org.pentaho.ui.xul.XulDomContainer;
|
||||
import org.pentaho.ui.xul.XulRunner;
|
||||
import org.pentaho.ui.xul.containers.XulDialog;
|
||||
import org.pentaho.ui.xul.swt.SwtXulRunner;
|
||||
import org.pentaho.ui.xul.swt.tags.SwtDialog;
|
||||
|
||||
public class XulStepFieldsDialog {
|
||||
|
||||
private Shell shell;
|
||||
private String schemaTableCombo;
|
||||
private XulDomContainer container;
|
||||
private XulRunner runner;
|
||||
private XulStepFieldsController controller;
|
||||
private DatabaseMeta databaseMeta;
|
||||
private RowMetaInterface rowMeta;
|
||||
private static Log logger = LogFactory.getLog( XulStepFieldsDialog.class );
|
||||
private static final String XUL = "org/pentaho/di/ui/core/database/dialog/step_fields.xul";
|
||||
|
||||
public XulStepFieldsDialog( Shell aShell, int aStyle, DatabaseMeta aDatabaseMeta, String aTableName,
|
||||
RowMetaInterface anInput, String schemaName ) {
|
||||
this.shell = aShell;
|
||||
this.schemaTableCombo = aDatabaseMeta.getQuotedSchemaTableCombination( schemaName, aTableName );
|
||||
this.databaseMeta = aDatabaseMeta;
|
||||
this.rowMeta = anInput;
|
||||
}
|
||||
|
||||
public void open( boolean isAcceptButtonHidden ) {
|
||||
try {
|
||||
KettleXulLoader theLoader = new KettleXulLoader();
|
||||
theLoader.setOuterContext( this.shell );
|
||||
theLoader.setSettingsManager( XulSpoonSettingsManager.getInstance() );
|
||||
this.container = theLoader.loadXul( XUL );
|
||||
|
||||
this.controller =
|
||||
new XulStepFieldsController( this.shell, this.databaseMeta, this.schemaTableCombo, this.rowMeta );
|
||||
this.controller.setShowAcceptButton( isAcceptButtonHidden );
|
||||
this.container.addEventHandler( this.controller );
|
||||
|
||||
this.runner = new SwtXulRunner();
|
||||
this.runner.addContainer( this.container );
|
||||
this.runner.initialize();
|
||||
|
||||
XulDialog thePreviewDialog =
|
||||
(XulDialog) this.container.getDocumentRoot().getElementById( "stepFieldsDialog" );
|
||||
thePreviewDialog.show();
|
||||
( (SwtDialog) thePreviewDialog ).dispose();
|
||||
} catch ( Exception e ) {
|
||||
logger.info( e );
|
||||
}
|
||||
}
|
||||
|
||||
public String getSelectedStep() {
|
||||
return this.controller.getSelectedStep();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,64 @@
|
|||
/*! ******************************************************************************
|
||||
*
|
||||
* Pentaho Data Integration
|
||||
*
|
||||
* Copyright (C) 2002-2017 by Hitachi Vantara : http://www.pentaho.com
|
||||
*
|
||||
*******************************************************************************
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
package org.pentaho.di.ui.core.database.dialog;
|
||||
|
||||
import org.pentaho.ui.xul.XulEventSourceAdapter;
|
||||
import org.pentaho.ui.xul.util.AbstractModelList;
|
||||
|
||||
public class XulStepFieldsModel extends XulEventSourceAdapter {
|
||||
|
||||
private String stepName;
|
||||
private FieldsCollection stepFields;
|
||||
|
||||
public XulStepFieldsModel() {
|
||||
this.stepFields = new FieldsCollection();
|
||||
}
|
||||
|
||||
public FieldsCollection getStepFields() {
|
||||
return this.stepFields;
|
||||
}
|
||||
|
||||
public void setStepFields( FieldsCollection aStepFields ) {
|
||||
this.stepFields = aStepFields;
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
return "Step Fields Node";
|
||||
}
|
||||
|
||||
public void setStepName( String aStepName ) {
|
||||
this.stepName = aStepName;
|
||||
}
|
||||
|
||||
public String getStepName() {
|
||||
return this.stepName;
|
||||
}
|
||||
|
||||
public void addStepField( StepFieldNode aStepField ) {
|
||||
this.stepFields.add( aStepField );
|
||||
}
|
||||
|
||||
public static class FieldsCollection extends AbstractModelList<StepFieldNode> {
|
||||
private static final long serialVersionUID = -2489107137334871323L;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,65 @@
|
|||
<?xml version="1.0"?>
|
||||
<dialog width="600" height="400" id="databaseExplorerDialog" title="${DatabaseExplorer.Title}" appicon="ui/images/CNC.svg"
|
||||
ondialogaccept="dbexplorer.accept()"
|
||||
ondialogcancel="dbexplorer.cancel()" onload="dbexplorer.init()" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
|
||||
xmlns:HTML="http://www.w3.org/Profiles/XHTML-transitional" xmlns:pen="http://www.pentaho.org/2008/xul" >
|
||||
<vbox flex="1" id="mainVBox">
|
||||
<hbox>
|
||||
<spacer flex="1"/>
|
||||
<button image="ui/images/refresh.png" onclick="dbexplorer.refresh()" tooltiptext="${tooltip_refresh}"/>
|
||||
<button id="expandCollapseButton" image="ui/images/ExpandAll.png" onclick="dbexplorer.expandCollapse()" tooltiptext="${tooltip_expand_collapse}"/>
|
||||
<!--<label value="Actions" id="action_label"/>-->
|
||||
<spacer width="25"/>
|
||||
<button label="${DatabaseExplorer.Actions}" id="buttonMenuPopUp" image="" menu="action_popup" disabled="true"/>
|
||||
<button id="buttonMenuPopUpImg" image="ui/images/9x9_arrow_down.gif" menu="action_popup" disabled="true"/>
|
||||
</hbox>
|
||||
|
||||
<tree id="databaseTree" flex="1" editable="false" expanded="false" context="action_popup" command="dbexplorer.accept()">
|
||||
<treecols>
|
||||
<treecol flex="1" label="" primary="true" editable="false" pen:binding="label" pen:childrenbinding="children" pen:imagebinding="image" />
|
||||
</treecols>
|
||||
<treechildren>
|
||||
<treeitem container="true" open="true">
|
||||
<treerow>
|
||||
<treecell label="Schema" />
|
||||
</treerow>
|
||||
<treechildren>
|
||||
<treeitem container="true" open="true">
|
||||
<treerow>
|
||||
<treecell label="Tables" />
|
||||
</treerow>
|
||||
<treechildren>
|
||||
<treeitem container="true" open="true">
|
||||
<treerow>
|
||||
<treecell label="Table" />
|
||||
</treerow>
|
||||
<treechildren>
|
||||
</treechildren>
|
||||
</treeitem>
|
||||
</treechildren>
|
||||
</treeitem>
|
||||
</treechildren>
|
||||
</treeitem>
|
||||
</treechildren>
|
||||
</tree>
|
||||
</vbox>
|
||||
|
||||
|
||||
<menupopup id="action_popup">
|
||||
<menuitem label="${DatabaseExplorer.Preview100}" command="dbexplorer.preview(false)"/>
|
||||
<menuitem label="${DatabaseExplorer.PreviewX}" command="dbexplorer.preview(true)"/>
|
||||
<menuitem label="${DatabaseExplorer.RowCount}" command="dbexplorer.displayRowCount()"/>
|
||||
<menuitem label="${DatabaseExplorer.ShowLayout}" command="dbexplorer.showLayout()"/>
|
||||
<menu label="${DatabaseExplorer.DDL}">
|
||||
<menupopup>
|
||||
<menuitem label="${DatabaseExplorer.UseCurrent}" command="dbexplorer.getDDL()"/>
|
||||
<menuitem label="${DatabaseExplorer.SelectConnection}" command="dbexplorer.getDDLForOther()"/>
|
||||
</menupopup>
|
||||
</menu>
|
||||
<menuitem label="${DatabaseExplorer.ViewSQL}" command="dbexplorer.viewSql()"/>
|
||||
<menuitem label="${DatabaseExplorer.Truncate}" command="dbexplorer.truncate()"/>
|
||||
<menuitem label="${DatabaseExplorer.DataProfile}" command="dbexplorer.dataProfile()"/>
|
||||
</menupopup>
|
||||
|
||||
</dialog>
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
<!-- ############################################################################### -->
|
||||
<!-- TEST BUTTON BOX: A box for the test button. -->
|
||||
<!-- ############################################################################### -->
|
||||
<hbox id="test-button-box">
|
||||
<label id="spacer-label" flex="5" />
|
||||
<button id="test-button" label="${DatabaseDialog.button.Test}" flex="1" onclick="dataHandler.testDatabaseConnection()" />
|
||||
<button id="feature-button" label="${DatabaseDialog.button.FeatureList}" flex="1" onclick="dataHandler.showFeatureList()" />
|
||||
<button id="explore-button" label="${DatabaseDialog.button.Explore}" flex="1" onclick="dataHandler.explore()" />
|
||||
<label id="spacer-label" flex="5" />
|
||||
|
||||
</hbox>
|
|
@ -0,0 +1,391 @@
|
|||
#
|
||||
# Dialog allgemein
|
||||
#
|
||||
Dialog.Error.EnterInteger=Bitte geben Sie eine Ganzzahl ein!
|
||||
Dialog.Error.Header=Fehler
|
||||
|
||||
#
|
||||
# Check Result Dialog
|
||||
#
|
||||
CheckResultDialog.Title=Ergebnisse der Transformations-Prüfung
|
||||
CheckResultDialog.HideSuccessful.Label=Verberge erfolgreiche Tests
|
||||
CheckResultDialog.ShowSuccessful.Label=Zeige erfolgreiche Tests
|
||||
CheckResultDialog.Remarks.Label=Anmerkungen\:
|
||||
CheckResultDialog.WarningsErrors.Label=Warnungen und Fehler\:
|
||||
CheckResultDialog.Stepname.Label=Schrittname
|
||||
CheckResultDialog.Result.Label=Resultat
|
||||
CheckResultDialog.Remark.Label=Anmerkung
|
||||
CheckResultDialog.Button.ViewMessage=Nachricht ansehen
|
||||
CheckResultDialog.Button.EditOriginStep=Schritt editieren
|
||||
CheckResultDialog.TextDialog.Title=Nachricht anschauen
|
||||
CheckResultDialog.TextDialog.Subtitle=Nachricht:
|
||||
CheckResultDialog.TextDialog.SubtitlePlural=Nachrichten:
|
||||
|
||||
#
|
||||
# Condition Dialog
|
||||
#
|
||||
ConditionDialog.Title=Bedingung eingeben
|
||||
|
||||
#
|
||||
# Database Dialog
|
||||
#
|
||||
DatabaseDialog.Shell.title=Verbindungs-Informationen
|
||||
DatabaseDialog.button.Test=\ Testen
|
||||
DatabaseDialog.button.Explore=\ Durchsuchen
|
||||
DatabaseDialog.button.FeatureList=\ Feature-Liste
|
||||
DatabaseDialog.DbTab.title=Allgemein
|
||||
DatabaseDialog.label.ConnectionName=Verbindungsname
|
||||
DatabaseDialog.label.ConnectionType=Verbindungstyp
|
||||
DatabaseDialog.label.AccessMethod=Zugriffsmethode
|
||||
DatabaseDialog.label.ServerHostname=Server Host-Name
|
||||
DatabaseDialog.label.DatabaseName=Datenbankname
|
||||
DatabaseDialog.label.PortNumber=Port-Nummer
|
||||
DatabaseDialog.label.Username=Nutzername
|
||||
DatabaseDialog.label.Password=Passwort
|
||||
DatabaseDialog.PoolTab.title=Pooling
|
||||
DatabaseDialog.label.UseConnectionPool=Verbindungs-Pool benutzen
|
||||
DatabaseDialog.label.InitialPoolSize=Initiale Pool-Gr\u00F6\u00DFe
|
||||
DatabaseDialog.label.MaximumPoolSize=Maximale Pool-Gr\u00F6\u00DFe
|
||||
DatabaseDialog.OracleTab.title=Oracle
|
||||
DatabaseDialog.label.TablespaceForData=Tabellenbereich f\u00FCr Daten
|
||||
DatabaseDialog.label.TablespaceForIndexes=Tabellenbereich f\u00FCr Indizes
|
||||
DatabaseDialog.MySQLTab.title=MySQL
|
||||
DatabaseDialog.label.MySQLStreamResults=Ergebnis-"Streaming" benutzen (Cursor simulieren)
|
||||
DatabaseDialog.IfxTab.title=Informix
|
||||
DatabaseDialog.label.InformixServername=Informix Server-Name
|
||||
DatabaseDialog.label.Sap=SAP ERP
|
||||
DatabaseDialog.label.Language=Sprache
|
||||
DatabaseDialog.label.SystemNumber=Systemnummer
|
||||
DatabaseDialog.label.SapClient=SAP Client
|
||||
DatabaseDialog.GenericTab.title=Generisch
|
||||
DatabaseDialog.GenericTab.tooltip=Einstellungen für den Fall, dass eine generische Datenbank mit einem nicht unterstützten JDBC-Treiber verwendet werden soll
|
||||
DatabaseDialog.label.Url=URL
|
||||
DatabaseDialog.label.DriverClass=Treiberklasse
|
||||
DatabaseDialog.label.Options=Optionen
|
||||
DatabaseDialog.tooltip.Options=Weitere Optionen in der URL
|
||||
DatabaseDialog.button.ShowHelp=Hilfetext bei Verwendung der Option anzeigen
|
||||
DatabaseDialog.column.DbType=Datenbank-Typ
|
||||
DatabaseDialog.column.Parameter=Parameter
|
||||
DatabaseDialog.column.Value=Wert
|
||||
DatabaseDialog.tooltip.DbType=Weitere Parameter, die in der URL für die Verbindung zu Datenbank gesetzt werden
|
||||
DatabaseDialog.tooltip.Parameter=Die Werte der Parameter
|
||||
DatabaseDialog.SQLTab.title=SQL
|
||||
DatabaseDialog.SQLTab.tooltip=SQL-Anweisung, die nach Verbindungsaufbau ausgeführt werden soll
|
||||
DatabaseDialog.label.Statements=Die Anweisungen, die nach Verbindungsaufbau ausgeführt werden sollen (getrennt durch Semikolon [;])
|
||||
DatabaseDialog.ClusterTab.title=Cluster
|
||||
DatabaseDialog.ClusterTab.tooltip=Zusätzliche Cluster-Informationen
|
||||
DatabaseDialog.label.UseClustering=Cluster benutzen (noch EXPERIMENTAL)?
|
||||
DatabaseDialog.tooltip.UseClustering=Cluster verwenden
|
||||
DatabaseDialog.column.PartitionId=Partitions-ID
|
||||
DatabaseDialog.column.Hostname=Host-Name
|
||||
DatabaseDialog.column.Port=Port-Nummer
|
||||
DatabaseDialog.column.DatabaseName=Datenbank-Name
|
||||
DatabaseDialog.column.Username=Nutzername
|
||||
DatabaseDialog.column.Password=Passwort
|
||||
DatabaseDialog.tooltip.PartitionId=Weitere Parameter, die in der URL für die Verbindung zu Datenbank gesetzt werden
|
||||
DatabaseDialog.tooltip.Hostname=Die Werte der Parameter
|
||||
DatabaseDialog.JDBCOptions.Tab={0}: Hilfe für JDBC-Optionen
|
||||
DatabaseDialog.HelpText.title=Hilfetext für die Optionen
|
||||
DatabaseDialog.HelpText.description=Hilfetext für [{0}]:
|
||||
DatabaseDialog.ErrorHelpText.title=Fehler!
|
||||
DatabaseDialog.ErrorHelpText.description=Konnte Hilfetext nicht laden. Bitte sicherstellen, dass alle nötigen Parameter korrekt eingegeben wurden.
|
||||
DatabaseDialog.ErrorParameters.title=Fehler!
|
||||
DatabaseDialog.ErrorParameters.description=Bitte sicherstellen, dass alle nötigen Parameter korrekt eingegeben wurden.
|
||||
DatabaseDialog.ErrorConnectionInfo.title=Fehler
|
||||
DatabaseDialog.ErrorConnectionInfo.description=Konnte Verbindungs-Informationen nicht erhalten
|
||||
DatabaseDialog.report.ConnectionWithPartOk=Die Verbindung zur Datenbank [{0}] mit der Partitions-Id [{1}] ist in Ordnung.
|
||||
DatabaseDialog.report.ConnectionWithPartError=Fehler beim Verbinden zu Datenbank [{0}] mit der Partitions-Id [{1}] : {2}
|
||||
DatabaseDialog.report.Hostname= Host-Name \:
|
||||
DatabaseDialog.report.Port= Port-Nummer \:
|
||||
DatabaseDialog.report.DatabaseName= Datenbankname \:
|
||||
DatabaseDialog.report.ConnectionOk=Die Verbindung zur Datenbank [{0}] ist in Ordnung.
|
||||
DatabaseDialog.report.ConnectionError=Fehler beim Verbinden zu Datenbank [{0}]\:
|
||||
DatabaseDialog.ConnectionReport.title=Auswertung der Verbindungsaufnahme
|
||||
DatabaseDialog.ConnectionReport.description=Auswertung der Verbindungsaufnahme
|
||||
DatabaseDialog.ErrorParameters2.title=Fehler!
|
||||
DatabaseDialog.ErrorParameters2.description=Bitte stellen Sie sicher, dass alle n\u00F6tigen Parameter korrekt eingegeben wurden\:\n{0}
|
||||
DatabaseDialog.FeatureList.title=Liste der Eigenschaften
|
||||
DatabaseDialog.FeatureList.title2=Die Liste der Eigenschaften:
|
||||
DatabaseDialog.FeatureListError.title=Fehler!
|
||||
DatabaseDialog.FeatureListError.description=Konnte Liste der Eigenschaften nicht holen. Bitte stellen Sie sicher, dass alle nötigen Parameter korrekt eingegeben wurden.
|
||||
DatabaseDialog.Exception.IncorrectParameter=Fehlerhafter Datenbank-Parameter\! Bitte folgende Einstellungen \u00FCberpr\u00FCfen\:
|
||||
|
||||
DatabaseDialog.label.PoolParameters = Parameter für Verbindungs-Pools
|
||||
DatabaseDialog.column.PoolParameter=Pool-Parameter
|
||||
DatabaseDialog.column.PoolDefault=Voreinstellung
|
||||
DatabaseDialog.column.PoolValue=Wert
|
||||
DatabaseDialog.column.PoolDescription=Beschreibung des Parameters
|
||||
DatabaseDialog.column.SelectPoolParameter=Pool-Paramter aussuchen
|
||||
|
||||
#
|
||||
# Database Explorer Dialog
|
||||
#
|
||||
DatabaseExplorerDialog.Title=Datenbank-Explorer für Verbindung [{0}]
|
||||
DatabaseExplorerDialog.Catalogs.Label=Kataloge
|
||||
DatabaseExplorerDialog.Schemas.Label=Schemata
|
||||
DatabaseExplorerDialog.Tables.Label=Tabellen
|
||||
DatabaseExplorerDialog.Views.Label=Sichten
|
||||
DatabaseExplorerDialog.Synonyms.Label=Synonyme
|
||||
DatabaseExplorerDialog.Menu.Preview100=&Voransicht der ersten 100 Zeilen von [{0}]
|
||||
DatabaseExplorerDialog.Menu.PreviewN=Voransicht der &ersten ... Zeilen von [{0}]
|
||||
DatabaseExplorerDialog.Menu.ShowSize=Anzahl der Zeilen in [{0}]
|
||||
DatabaseExplorerDialog.Menu.ShowLayout=Struktur der Tabelle [{0}]
|
||||
DatabaseExplorerDialog.Menu.GenDDL=DDL erzeugen
|
||||
DatabaseExplorerDialog.Menu.GenDDLOtherConn=DDL für andere Verbindung erzeugen
|
||||
DatabaseExplorerDialog.Menu.OpenSQL=SQL-Abfrage auf [{0}] erzeugen
|
||||
DatabaseExplorerDialog.Menu.Truncate=Tabelle [{0}] leeren
|
||||
DatabaseExplorerDialog.PreviewTable.Title=Voransicht von ... Zeilen
|
||||
DatabaseExplorerDialog.PreviewTable.Message=Wieviele Zeilen sollen angezeigt werden (0 für "alle Zeilen")
|
||||
DatabaseExplorerDialog.NoRows.Title=Keine Zeilen
|
||||
DatabaseExplorerDialog.NoRows.Message=Die Tabelle enthält keine Zeilen
|
||||
DatabaseExplorerDialog.TableSize.Title=Zeilenanzahl
|
||||
DatabaseExplorerDialog.TableSize.Message=Die Tabelle ''{0}'' enthält {1} Zeilen
|
||||
DatabaseExplorerDialog.Error.RetrieveLayout=Konnte Tabellenstruktur nicht ermitteln
|
||||
DatabaseExplorerDialog.TargetDatabase.Title=Zieldatenbank
|
||||
DatabaseExplorerDialog.TargetDatabase.Message=Wählen Sie die Zieldatenbank aus:
|
||||
DatabaseExplorerDialog.Error.GenDDL=Konnte die DDL nicht erzeugen
|
||||
DatabaseExplorerDialog.NoConnectionsKnown.Title=Keine Verbindungen bekannt
|
||||
DatabaseExplorerDialog.NoConnectionsKnown.Message=Derzeit sind keine weiteren Verbindungen bekannt, für die die DDL generiert werden können.
|
||||
|
||||
#
|
||||
# Enter Condition Dialog
|
||||
#
|
||||
EnterConditionDialog.Title=Bedingung eingeben
|
||||
|
||||
#
|
||||
# Enter List Dialog
|
||||
#
|
||||
EnterListDialog.Title=Liste eingeben
|
||||
EnterListDialog.AvailableItems.Label=Verf\u00FCgbare Eintr\u00E4ge\:
|
||||
EnterListDialog.AddOne.Tooltip=Links ausgewählte Einträge rechts hinzufügen
|
||||
EnterListDialog.AddAll.Tooltip=Alle linken Einträge rechts hinzufügen
|
||||
EnterListDialog.RemoveOne.Tooltip=Rechts ausgewählte Einträge dort entfernen
|
||||
EnterListDialog.RemoveAll.Tooltip=Alle Einträge rechts entfernen
|
||||
EnterListDialog.Selection.Label=Ihre Auswahl\:
|
||||
|
||||
#
|
||||
# Enter Mapping Dialog
|
||||
#
|
||||
EnterMappingDialog.Title=Zuordnung eingeben
|
||||
EnterMappingDialog.SourceFields.Label=Quellfelder\:
|
||||
EnterMappingDialog.AutoTargetSelection.Label=Automatische Zielselektion?
|
||||
EnterMappingDialog.HideUsedSources=Zugeordnete Quellfelder verbergen?
|
||||
EnterMappingDialog.TargetFields.Label=Zielfelder\:
|
||||
EnterMappingDialog.AutoSourceSelection.Label=Automatische Quellselektion?
|
||||
EnterMappingDialog.HideUsedTargets=Zugeordnete Zielfelder verbergen?
|
||||
EnterMappingDialog.Button.Add= &Hinzuf\u00FCgen
|
||||
EnterMappingDialog.Button.Delete= &Entfernen
|
||||
EnterMappingDialog.ResultMappings.Label=Zuordnungen\:
|
||||
EnterMappingDialog.Button.Guess= &Raten
|
||||
|
||||
#
|
||||
# Enter Options Dialog
|
||||
#
|
||||
EnterOptionsDialog.Title=Kettle Optionen
|
||||
EnterOptionsDialog.General.Label=Allgemein
|
||||
EnterOptionsDialog.MaximumUndo.Label=Maximale Anzahl von Undo-Schritten\:
|
||||
EnterOptionsDialog.DefaultPreviewSize.Label=Standard-Zeilenanzahl bei Vorschau-Dialog\:
|
||||
EnterOptionsDialog.ShowTipsStartup.Label=Tips nach Start anzeigen?
|
||||
EnterOptionsDialog.ShowWelcomePage.Label=Willkommenseite nach Start anzeigen?
|
||||
EnterOptionsDialog.UseDatabaseCache.Label=Datenbank-Cache benutzen?
|
||||
EnterOptionsDialog.OpenLastFileStartup.Label=Zuletzt ge\u00F6ffnete Datei bei Neustart laden?
|
||||
EnterOptionsDialog.AutoSave.Label=Ge\u00E4nderte Dateien automatisch speichern?
|
||||
EnterOptionsDialog.OnlySaveUsedConnections.Label=Nur benutzte DB-Verbindungen in XML speichern?
|
||||
EnterOptionsDialog.ReplaceDBAsk.Label=Nachfrage beim Ersetzen von DB-Verbindungen?
|
||||
EnterOptionsDialog.ReplaceDBAsk.Tooltip=Wenn beim \u00D6ffnen oder dem Import von Transformationen DB-Verbindungen erstellt werden, die den gleichen Namen haben wie bestehende,\nkann ein Dialog angezeigt werden was in diesem Fall zu tun ist (wenn diese Option aktiviert ist).
|
||||
EnterOptionsDialog.ReplaceDB.Label=DB-Verbindungen beim \u00D6ffnen/Import ersetzen?
|
||||
EnterOptionsDialog.ReplaceDB.Tooltip=Wenn diese Option aktiviert ist, werden existierende DB-Verbindungen beim \u00D6ffnen oder dem Import von Transformationen ersetzt.\nOb dazu ein Best\u00E4tigungsdialog angezeigt wird, entscheidet die obere Option.
|
||||
EnterOptionsDialog.ShowSaveConfirmation.Label="Speichern"-Best\u00E4tigungs-Dialog anzeigen?
|
||||
EnterOptionsDialog.AutoSplitHops.Label=Verbinder automatisch trennen?
|
||||
EnterOptionsDialog.AutoSplitHops.Tooltip=Wenn ein Schritt auf einen Verbinder gezogen wird, kann der Verbinder geteilt werden,\nso dass der neue Schritt zwischen den beiden urspr\u00FCnglichen Schritten steht.\nWenn Sie diese Option aktivieren, geschieht das automatisch, ansonsten wird ein Best\u00E4tigungsdialog angezeigt.
|
||||
EnterOptionsDialog.CopyOrDistributeDialog.Label="Kopieren oder Verteilen"-Dialog anzeigen?
|
||||
EnterOptionsDialog.CopyOrDistributeDialog.Tooltip=Wenn diese Option aktiviert ist und ein Schritt gerade mehr als einen anderen Schritt mit Daten beliefern soll,\nwird in einem Dialog abgefragt, ob die Daten auf die Schritte verteilt werden sollen, oder jeder\nSchritt alle Daten bekommt (Kopieren). Ist diese Option nicht aktiviert werden die Daten als Voreinstellung kopiert.
|
||||
EnterOptionsDialog.ShowRepoDialog.Label=Repository-Dialog zum Start anzeigen?
|
||||
EnterOptionsDialog.AskOnExit.Label=Bei Programmende nachfragen?
|
||||
EnterOptionsDialog.ClearCustomParameters.Label=Benutzervariablen in Schritten / Plugins l\u00F6schen\:
|
||||
EnterOptionsDialog.ClearCustomParameters.Tooltip=Löscht alle benutzerdefinierten Parameter und Markierungen in den Dialogen der Schritte und Plugins
|
||||
EnterOptionsDialog.ClearCustomParameters.Title=Frage
|
||||
EnterOptionsDialog.ClearCustomParameters.Question=Wollen Sie wirklich alle benutzerdefinierten Parameter und Markierungen in den Dialogen der Schritte und Plugins löschen?
|
||||
EnterOptionsDialog.ClearCustomParameters.Confirmation=Die benutzerdefinierten Parameter und Markierungen wurden gelöscht.
|
||||
|
||||
EnterOptionsDialog.LookAndFeel.Label=Aussehen und Bedienung
|
||||
EnterOptionsDialog.FixedWidthFont.Label=Schriftart mit fixierter Breite\:
|
||||
EnterOptionsDialog.Button.Reset=Standard
|
||||
EnterOptionsDialog.Button.Reset.Tooltip=Stellt den Standard-Wert für diese Option wieder her
|
||||
EnterOptionsDialog.Button.Edit=Ändern
|
||||
EnterOptionsDialog.Button.Edit.Tooltip=Ändert den Wert dieser Option
|
||||
EnterOptionsDialog.GraphFont.Label=Schriftart des Arbeitsbereiches\:
|
||||
EnterOptionsDialog.NoteFont.Label=Schriftart f\u00FCr Notizen\:
|
||||
EnterOptionsDialog.BackgroundColor.Label=Hintergrundfarbe\:
|
||||
EnterOptionsDialog.BackgroundColorGraph.Label=Hintergrundfarbe des Arbeitsbereiches\:
|
||||
EnterOptionsDialog.TabColor.Label=Farben der Reiter\:
|
||||
EnterOptionsDialog.IconSize.Label=Gr\u00F6\u00DFe der Symbole im Arbeitsbereich\:
|
||||
EnterOptionsDialog.LineWidth.Label=Liniendicke der Verbindern\:
|
||||
EnterOptionsDialog.ShadowSize.Label=Schattierungsst\u00E4rke im Arbeitsbereich\:
|
||||
EnterOptionsDialog.DialogMiddlePercentage.Label=Mittelachse f\u00FCr Ausrichtung in Dialogen (in %)\:
|
||||
EnterOptionsDialog.CanvasAntiAliasing.Label=Anti-Aliasing bei R\u00E4ndern?
|
||||
EnterOptionsDialog.UseOSLook.Label=Layout des Betriebssystems verwenden?
|
||||
EnterOptionsDialog.DefaultLocale.Label=Bevorzugte Sprache\:
|
||||
EnterOptionsDialog.FailoverLocale.Label=Alternative Sprache\:
|
||||
|
||||
#
|
||||
# Enter Print Dialog
|
||||
#
|
||||
EnterPrintDialog.Title=Seiten drucken
|
||||
EnterPrintDialog.PrintArea.Label=Druckbereich\:
|
||||
EnterPrintDialog.Rows.Label=Zeilen\:
|
||||
EnterPrintDialog.Cols.Label=Spalten\:
|
||||
EnterPrintDialog.Scaling.Label=Skalierung (10-100%)\:
|
||||
EnterPrintDialog.LeftMargin.Label=Linker Rand (inch)\:
|
||||
EnterPrintDialog.RightMargin.Label=Rechter Rand (inch)\:
|
||||
EnterPrintDialog.TopMargin.Label=Oberer Rand (inch)\:
|
||||
EnterPrintDialog.BottomMargin.Label=Unterer Rand (inch)\:
|
||||
|
||||
#
|
||||
# EnterSearchDialog
|
||||
#
|
||||
EnterSearchDialog.Shell.Title = Meta Daten suchen
|
||||
EnterSearchDialog.Step.Label = Schritte suchen
|
||||
EnterSearchDialog.Step.Tooltip = Schritte suchen
|
||||
EnterSearchDialog.DB.Label = Datenbankverbindungen suchen
|
||||
EnterSearchDialog.DB.Tooltip = Datenbankverbindungen suchen
|
||||
EnterSearchDialog.Note.Label = Notizen suchen
|
||||
EnterSearchDialog.Note.Tooltip = Notizen suchen
|
||||
EnterSearchDialog.FilterSelection.Label = Suchbegriff
|
||||
|
||||
#
|
||||
# Enter Strings Dialog
|
||||
#
|
||||
EnterStringsDialog.Title=String-Werte eingeben
|
||||
EnterStringsDialog.Message=Geben Sie hier Werte für die unten aufgelisteten Strings ein:
|
||||
EnterStringsDialog.StringName.Label=Name
|
||||
EnterStringsDialog.StringValue.Label=Wert
|
||||
|
||||
#
|
||||
# Enter Value Dialog
|
||||
#
|
||||
EnterValueDialog.Title=Wert eingeben
|
||||
EnterValueDialog.Type.Label=Typ\:
|
||||
EnterValueDialog.Value.Label=Wert\:
|
||||
EnterValueDialog.ConversionFormat.Label=Format f\u00FCr Konvertierung\:
|
||||
EnterValueDialog.Length.Label=L\u00E4nge\:
|
||||
EnterValueDialog.Precision.Label=Pr\u00E4zision\:
|
||||
EnterValueDialog.TestResult.Title=Wert
|
||||
EnterValueDialog.TestResult.Message=Der resultierende Wert ist\:\n\n{0}
|
||||
|
||||
#
|
||||
# Error Dialog
|
||||
#
|
||||
ErrorDialog.ShowDetails.Title=Fehler-Details
|
||||
ErrorDialog.ShowDetails.Message=Fehlerdetails und der Stacktrace einer ggf. aufgetretenen Ausnahme
|
||||
|
||||
#
|
||||
# Get DatabaseInfo Progress Dialog
|
||||
#
|
||||
GetDatabaseInfoProgressDialog.Error.Title=Fehler beim Lesen der Informationen
|
||||
GetDatabaseInfoProgressDialog.Error.Message=Beim Lesen der Informationen aus der Datenbank trat ein Fehler auf!
|
||||
|
||||
#
|
||||
# Get PreviewTable Progress Dialog
|
||||
#
|
||||
GetPreviewTableProgressDialog.Error.Title=Fehler beim Lesen der Informationen
|
||||
GetPreviewTableProgressDialog.Error.Message=Beim Lesen der Informationen aus der Datenbank trat ein Fehler auf!
|
||||
|
||||
#
|
||||
# Get QueryFields Progress Dialog
|
||||
#
|
||||
GetQueryFieldsProgressDialog.Error.Title=Fehler beim Lesen der Informationen
|
||||
GetQueryFieldsProgressDialog.Error.Message=Beim Lesen der Informationen aus der Datenbank trat ein Fehler auf!
|
||||
|
||||
#
|
||||
# Get TableSize Progress Dialog
|
||||
#
|
||||
GetTableSizeProgressDialog.Error.Title=Fehler beim Lesen der Informationen
|
||||
GetTableSizeProgressDialog.Error.Message=Beim Lesen der Informationen aus der Datenbank trat ein Fehler auf!
|
||||
|
||||
#
|
||||
# Preview Rows Dialog
|
||||
#
|
||||
PreviewRowsDialog.Title=Daten in Voransicht ansehen
|
||||
PreviewRowsDialog.Header=Zeilen des Schrittes: {0}
|
||||
PreviewRowsDialog.NoRows.Message=Leider keine Zeilen für Voransicht gefunden.
|
||||
PreviewRowsDialog.NoRows.Text=Sorry
|
||||
PreviewRowsDialog.Button.ShowLog=Log anzeigen
|
||||
PreviewRowsDialog.ShowLogging.Title=Logansicht
|
||||
PreviewRowsDialog.ShowLogging.Message=Die Logausschriften
|
||||
|
||||
#
|
||||
# Select Row Dialog
|
||||
#
|
||||
SelectRowDialog.Title=Eintrag auswählen
|
||||
|
||||
#
|
||||
# Show Image Dialog
|
||||
#
|
||||
ShowImageDialog.Title=Anzeige einer Graphik
|
||||
|
||||
#
|
||||
# SQL Editor
|
||||
#
|
||||
SQLEditor.Title=Einfacher SQL Editor
|
||||
SQLEditor.Editor.Label=SQL-Anweisungen, separiert durch Semikolon '';''
|
||||
SQLEditor.LineNr.Label=Zeile {0}
|
||||
SQLEditor.Button.Execute= &Ausf\u00FChren
|
||||
SQLEditor.Button.ClearCache= Cache &leeren
|
||||
SQLEditor.Button.ClearCache.Tooltip=Benutzen Sie diesen Button, wenn die Resultate der SQL-Anweisungen den aktuellen Datenbankinhalten wiedersprechen.\nDer benutzte Cache kann invalid werden, wenn Sie noch andere Werkzeuge verwenden, um die Datenbank zu ver\u00E4ndern.
|
||||
SQLEditor.ClearWholeCache.Title=Gesamten Cache löschen?
|
||||
SQLEditor.ClearWholeCache.Message=Wollen Sie den gesamten Cache der Datenbank l\u00F6schen?\nWenn Sie ''Nein'' w\u00E4hlen, wird nur der Cache dieser DB-Verbindung ({0}) gel\u00F6scht.
|
||||
SQLEditor.ConnectionCacheCleared.Title=Cache geleert
|
||||
SQLEditor.ConnectionCacheCleared.Message=Der Cache der DB-Verbindung ''{0}'' wurde geleert
|
||||
SQLEditor.WholeCacheCleared.Title=Cache geleert
|
||||
SQLEditor.WholeCacheCleared.Message=Der gesamte Datenbank-Cache wurde geleert
|
||||
SQLEditor.ResultRows.Title=SQL-Anweisung Nummer {0}
|
||||
SQLEditor.NoRows.Title=Kein Ergebnis
|
||||
SQLEditor.NoRows.Message=F\u00FCr diese Anweisung wurden keine Ergebnisse gefunden\:\n\n{0}
|
||||
SQLEditor.ErrorExecSQL.Title=Fehler bei Ausführung
|
||||
SQLEditor.ErrorExecSQL.Message=Ein Fehler trat bei der Ausf\u00FChrung dieser SQL-Anweisung auf\:\n\n{0}
|
||||
SQLEditor.Log.SQLExecuted=SQL ausfgef\u00FChrt\: {0}\n
|
||||
SQLEditor.Log.SQLExecError=Fehler bei der Ausf\u00FChrung\: {0}\n{1}
|
||||
SQLEditor.Log.StatsExecuted={0} SQL-Anweisung(en) ausgeführt
|
||||
SQLEditor.Log.OnPartition=auf Partition ''{0}''
|
||||
SQLEditor.Error.CouldNotConnect.Title=Verbindung nicht erfolgreich
|
||||
SQLEditor.Error.CouldNotConnect.Message=Verbindung zur Datenbank konnte nicht hergestellt werden.\nBitte Verbindung [{0}] \u00FCberpr\u00FCfen\n{1}
|
||||
SQLEditor.Result.Title=Ergebnis der SQL-Anweisungen
|
||||
SQLEditor.Result.Message=Die SQL-Anweisungen führten zu folgenden Ergebnissen
|
||||
|
||||
#
|
||||
# SQL Statement dialog
|
||||
#
|
||||
SQLStatementDialog.Title=Die auszuführenden SQL-Anweisungen
|
||||
SQLStatementDialog.TableCol.Stepname=Schrittname
|
||||
SQLStatementDialog.TableCol.Connection=Verbindung
|
||||
SQLStatementDialog.TableCol.SQL=SQL
|
||||
SQLStatementDialog.TableCol.Error=Fehler
|
||||
SQLStatementDialog.Button.ViewSQL= SQL &zeigen
|
||||
SQLStatementDialog.Button.ExecSQL= SQL &Ausführen
|
||||
SQLStatementDialog.Button.EditStep= Schritt &editieren
|
||||
SQLStatementDialog.Log.Step=-- Schritt \: {0}\n
|
||||
SQLStatementDialog.Log.Connection=-- Datenbank-Verbindung \: {0}\n
|
||||
SQLStatementDialog.Log.Undefined=<nicht definiert>
|
||||
SQLStatementDialog.Log.Error=-- Fehlernachricht \: {0}\n
|
||||
SQLStatementDialog.ViewSQL.Title=SQL-Anweisungen
|
||||
SQLStatementDialog.ViewSQL.Message=SQL-Anweisungen:
|
||||
SQLStatementDialog.Error.Title=Fehler
|
||||
SQLStatementDialog.Error.CouldNotExec=Die folgende SQL-Anweisung konnte nicht ausgef\u00FChrt werden\:\n{0}
|
||||
SQLStatementDialog.Error.CouldNotConnect=Es konnte keine Verbindung zur Datenbank [{0}] hergestellt werden
|
||||
SQLStatementDialog.Success.Title=Erfolg
|
||||
SQLStatementDialog.Success.Message={0} SQL-Anweisung(en) wurde(n) erfolgreich ausgeführt
|
||||
SQLStatementDialog.Error.Message=Die SQL-Anweisungen können nicht ausgeführt werden, {0} sind/ist fehlerhaft.
|
||||
|
||||
#
|
||||
# Step fields dialog
|
||||
#
|
||||
StepFieldsDialog.Title=Schrittfelder und ihre Herkunft
|
||||
StepFieldsDialog.Name.Label=Schrittname\:
|
||||
StepFieldsDialog.Fields.Label=Felder\:
|
||||
StepFieldsDialog.TableCol.Fieldname=Feldname
|
||||
StepFieldsDialog.TableCol.Type=Typ
|
||||
StepFieldsDialog.TableCol.Length=Länge
|
||||
StepFieldsDialog.TableCol.Precision=Genauigkeit
|
||||
StepFieldsDialog.TableCol.Origin=Herkunftsschritt
|
||||
StepFieldsDialog.Buttons.EditOrigin=&Originalschritt bearbeiten
|
|
@ -0,0 +1,346 @@
|
|||
#File generated by Hitachi Vantara Translator for package 'org.pentaho.di.ui.core.database.dialog' in locale 'en_US'
|
||||
CheckResultDialog.Button.EditOriginStep=Edit origin step
|
||||
CheckResultDialog.Button.ViewMessage=View message
|
||||
CheckResultDialog.HideSuccessful.Label=Hide &successful results
|
||||
CheckResultDialog.Remark.Label=Remark
|
||||
CheckResultDialog.Remarks.Label=Remarks:
|
||||
CheckResultDialog.Result.Label=Result
|
||||
CheckResultDialog.ShowSuccessful.Label=Show &successful results
|
||||
CheckResultDialog.Stepname.Label=Stepname
|
||||
CheckResultDialog.TextDialog.Subtitle=Message:
|
||||
CheckResultDialog.TextDialog.SubtitlePlural=Messages:
|
||||
CheckResultDialog.TextDialog.Title=View message
|
||||
CheckResultDialog.Title=Results of transformation checks
|
||||
#Wed Sep 02 18:46:59 CEST 2009
|
||||
CheckResultDialog.WarningsErrors.Label=Warnings and errors:
|
||||
ConditionDialog.Title=Enter Condition
|
||||
DatabaseDialog.AdvancedTab.title=Advanced
|
||||
DatabaseDialog.ClusterTab.title=Cluster
|
||||
DatabaseDialog.ClusterTab.tooltip=Optional clustering information
|
||||
DatabaseDialog.ConnectionReport.description=Here is the connection report
|
||||
DatabaseDialog.ConnectionReport.title=Connection report
|
||||
DatabaseDialog.DatabaseConnectionTest.title=Database Connection Test
|
||||
DatabaseDialog.DatabaseConnectionTestSuccess.title=Connection tested successfully
|
||||
DatabaseDialog.DbTab.title=General
|
||||
DatabaseDialog.ErrorConnectionInfo.description=Unable to get the connection information
|
||||
DatabaseDialog.ErrorConnectionInfo.title=Error
|
||||
DatabaseDialog.ErrorHelpText.description=Unable to get the help text. Please make sure all required parameters are entered correctly!
|
||||
DatabaseDialog.ErrorHelpText.title=Error!
|
||||
DatabaseDialog.ErrorParameters.description=Please make sure all required parameters are entered correctly!
|
||||
DatabaseDialog.ErrorParameters.title=Error!
|
||||
DatabaseDialog.ErrorParameters2.description=Please make sure all required parameters are entered correctly:\n{0}
|
||||
DatabaseDialog.ErrorParameters2.title=Error!
|
||||
DatabaseDialog.Exception.IncorrectParameter=Incorrect database parameter(s)! Check these settings :
|
||||
DatabaseDialog.ExplorerNotImplemented.Message=Sorry, the explorer for this database was not yet implemented.
|
||||
DatabaseDialog.ExplorerNotImplemented.Title=Sorry
|
||||
DatabaseDialog.FeatureList.title=Feature list
|
||||
DatabaseDialog.FeatureList.title2="The list of features:"
|
||||
DatabaseDialog.FeatureListError.description=Unable to get feature list. Please make sure all required parameters are entered correctly!
|
||||
DatabaseDialog.FeatureListError.title=Error!
|
||||
DatabaseDialog.GenericTab.title=Generic
|
||||
DatabaseDialog.GenericTab.tooltip=Settings in case you want to use a generic database with a non-supported JDBC driver
|
||||
DatabaseDialog.HelpText.description=This is the help text for [{0}] :
|
||||
DatabaseDialog.HelpText.title=Options help text
|
||||
DatabaseDialog.IfxTab.title=Informix
|
||||
DatabaseDialog.JDBCOptions.Tab={0}: JDBC options help
|
||||
DatabaseDialog.MSSQLTab.title=SQL Server
|
||||
DatabaseDialog.MySQLTab.title=MySQL
|
||||
DatabaseDialog.OracleTab.title=Oracle
|
||||
DatabaseDialog.PoolTab.title=Pooling
|
||||
DatabaseDialog.SQLTab.title=SQL
|
||||
DatabaseDialog.SQLTab.tooltip=Specify the SQL to execute after connecting
|
||||
DatabaseDialog.Shell.title=Connection information
|
||||
DatabaseDialog.button.Explore=Explore
|
||||
DatabaseDialog.button.FeatureList=Feature List
|
||||
DatabaseDialog.button.ShowHelp=Show help text on option usage
|
||||
DatabaseDialog.button.Test=Test
|
||||
DatabaseDialog.column.DatabaseName=Database name
|
||||
DatabaseDialog.column.DbType=Database Type
|
||||
DatabaseDialog.column.Hostname=Hostname
|
||||
DatabaseDialog.column.Parameter=Parameter
|
||||
DatabaseDialog.column.PartitionId=Partition ID
|
||||
DatabaseDialog.column.Password=Password
|
||||
DatabaseDialog.column.PoolDefault=Default value
|
||||
DatabaseDialog.column.PoolDescription=Parameter description
|
||||
DatabaseDialog.column.PoolParameter=Pool parameter
|
||||
DatabaseDialog.column.PoolValue=Value
|
||||
DatabaseDialog.column.Port=Port
|
||||
DatabaseDialog.column.SelectPoolParameter=Select the pool parameter to set
|
||||
DatabaseDialog.column.Username=Username
|
||||
DatabaseDialog.column.Value=Value
|
||||
DatabaseDialog.label.AccessMethod=Method of access
|
||||
DatabaseDialog.label.AdvancedForceIdentifiersLowerCase=Force all identifiers to lower case
|
||||
DatabaseDialog.label.AdvancedForceIdentifiersUpperCase=Force all identifiers to upper case
|
||||
DatabaseDialog.label.AdvancedQuoteAllFields=Quote all identifiers in database
|
||||
DatabaseDialog.label.ConnectionName=Connection name
|
||||
DatabaseDialog.label.ConnectionType=Connection type
|
||||
DatabaseDialog.label.DatabaseName=Database name
|
||||
DatabaseDialog.label.DriverClass=Driver class
|
||||
DatabaseDialog.label.InformixServername=Informix Servername
|
||||
DatabaseDialog.label.InitialPoolSize=The initial pool size
|
||||
DatabaseDialog.label.Language=Language
|
||||
DatabaseDialog.label.MaximumPoolSize=The maximum pool size
|
||||
DatabaseDialog.label.MySQLStreamResults=Use result streaming (cursor emulation)
|
||||
DatabaseDialog.label.Options=Options
|
||||
DatabaseDialog.label.Password=Password
|
||||
DatabaseDialog.label.PoolParameters=Connection Pooling parameters
|
||||
DatabaseDialog.label.PortNumber=Port number
|
||||
DatabaseDialog.label.PreferredSchemaName=The preferred schema name. Is used when no other schema is specified.
|
||||
DatabaseDialog.label.SQLServerInstance=SQL Server instance name
|
||||
DatabaseDialog.label.Sap=SAP ERP
|
||||
DatabaseDialog.label.SapClient=SAP Client
|
||||
DatabaseDialog.label.ServerHostname=Server host name
|
||||
DatabaseDialog.label.Statements=The statements to execute right after connecting (separated by ;)
|
||||
DatabaseDialog.label.SystemNumber=System Number
|
||||
DatabaseDialog.label.TablespaceForData=Tablespace for data
|
||||
DatabaseDialog.label.TablespaceForIndexes=Tablespace for indexes
|
||||
DatabaseDialog.label.Url=URL
|
||||
DatabaseDialog.label.UseClustering=Use clustering?
|
||||
DatabaseDialog.label.UseConnectionPool=Use a connection pool
|
||||
DatabaseDialog.label.UseDoubleDecimalSeparator=Use .. to separate schema and table
|
||||
DatabaseDialog.label.Username=Username
|
||||
DatabaseDialog.tooltip.DbType=The extra parameters to set in the URL to connectect to the database
|
||||
DatabaseDialog.tooltip.Hostname=The values to set for the parameters
|
||||
DatabaseDialog.tooltip.Options=Extra options to set in the URL
|
||||
DatabaseDialog.tooltip.Parameter=The values to set for the parameters
|
||||
DatabaseDialog.tooltip.PartitionId=The extra parameters to set in the URL to connect to the database
|
||||
DatabaseDialog.tooltip.UseClustering=Enable clustering to add all kinds of clustering information.
|
||||
DatabaseDialog.DatabaseNameExists.Title=Database Connection Exists
|
||||
DatabaseDialog.DatabaseNameExists=Database Connection {0} already exists.
|
||||
DatabaseExplorer.Actions=Actions
|
||||
DatabaseExplorer.Button.Cancel=&Cancel
|
||||
DatabaseExplorer.Button.Ok=&OK
|
||||
DatabaseExplorer.DDL=DDL
|
||||
DatabaseExplorer.DataProfile=Data Profile
|
||||
DatabaseExplorer.Preview100=Preview first 100
|
||||
DatabaseExplorer.PreviewX=Preview x Rows
|
||||
DatabaseExplorer.RowCount=Row Count
|
||||
DatabaseExplorer.SelectConnection=Select Connection
|
||||
DatabaseExplorer.ShowLayout=Show Layout
|
||||
DatabaseExplorer.Title=Database Explorer
|
||||
DatabaseExplorer.Truncate=Truncate Table
|
||||
DatabaseExplorer.UseCurrent=Use Current Connection
|
||||
DatabaseExplorer.ViewSQL=View SQL
|
||||
DatabaseExplorerDialog.Catalogs.Label=Catalogs
|
||||
DatabaseExplorerDialog.Error.GenDDL=Couldn''t generate the DDL
|
||||
DatabaseExplorerDialog.Error.RetrieveLayout=Couldn''t retrieve the table layout.
|
||||
DatabaseExplorerDialog.Menu.DisplayColumns=Display columns
|
||||
DatabaseExplorerDialog.Menu.GenDDL=Generate DDL
|
||||
DatabaseExplorerDialog.Menu.GenDDLOtherConn=Generate DDL for other connection
|
||||
DatabaseExplorerDialog.Menu.OpenSQL=Open SQL for [{0}]
|
||||
DatabaseExplorerDialog.Menu.Preview100=&Preview first 100 rows of [{0}]
|
||||
DatabaseExplorerDialog.Menu.PreviewN=&Preview first ... rows of [{0}]
|
||||
DatabaseExplorerDialog.Menu.ProfileTable=Data profile ''{0}''
|
||||
DatabaseExplorerDialog.Menu.ShowLayout=Show layout of [{0}]
|
||||
DatabaseExplorerDialog.Menu.ShowSize=Number of rows of [{0}]
|
||||
DatabaseExplorerDialog.Menu.Truncate=Truncate table [{0}]
|
||||
DatabaseExplorerDialog.NoConnectionsKnown.Message=At this point no other connections are available to generate the DDL for.
|
||||
DatabaseExplorerDialog.NoConnectionsKnown.Title=No connections known
|
||||
DatabaseExplorerDialog.NoRows.Message=The table contains no rows
|
||||
DatabaseExplorerDialog.NoRows.Title=No rows
|
||||
DatabaseExplorerDialog.PreviewTable.Message=Number of lines to preview (0 means all lines)
|
||||
DatabaseExplorerDialog.PreviewTable.Title=Preview limit
|
||||
DatabaseExplorerDialog.Procedures.Label=Procedures
|
||||
DatabaseExplorerDialog.Schemas.Label=Schemas
|
||||
DatabaseExplorerDialog.Synonyms.Label=Synonyms
|
||||
DatabaseExplorerDialog.TableSize.Message=Table ''{0}'' contains {1} rows
|
||||
DatabaseExplorerDialog.TableSize.Title=Number of rows
|
||||
DatabaseExplorerDialog.Tables.Label=Tables
|
||||
DatabaseExplorerDialog.TargetDatabase.Message=Select the target database:
|
||||
DatabaseExplorerDialog.TargetDatabase.Title=Target database
|
||||
DatabaseExplorerDialog.Title=Database explorer on connection [{0}]
|
||||
DatabaseExplorerDialog.UnexpectedProfilingError.Message=There was an unexpected profiling error:
|
||||
DatabaseExplorerDialog.UnexpectedProfilingError.Title=Profiling error
|
||||
DatabaseExplorerDialog.Views.Label=Views
|
||||
Dialog.Error.EnterInteger=Please enter an integer number!
|
||||
Dialog.Error.Header=Error
|
||||
EnterConditionDialog.Title=Enter condition
|
||||
EnterListDialog.AddAll.Tooltip=Add all items on the left
|
||||
EnterListDialog.AddOne.Tooltip=Add the selected items on the left
|
||||
EnterListDialog.AvailableItems.Label=Available items:
|
||||
EnterListDialog.RemoveAll.Tooltip=Add all items on the right
|
||||
EnterListDialog.RemoveOne.Tooltip=Remove the selected items on the right
|
||||
EnterListDialog.Selection.Label=Your selection:
|
||||
EnterListDialog.Title=Enter list
|
||||
EnterMappingDialog.AutoSourceSelection.Label=Auto source selection?
|
||||
EnterMappingDialog.AutoTargetSelection.Label=Auto target selection?
|
||||
EnterMappingDialog.Button.Add=&Add
|
||||
EnterMappingDialog.Button.Delete=&Delete
|
||||
EnterMappingDialog.Button.Guess=&Guess
|
||||
EnterMappingDialog.HideUsedSources=Hide assigned source fields?
|
||||
EnterMappingDialog.HideUsedTargets=Hide assigned target fields?
|
||||
EnterMappingDialog.ResultMappings.Label=Mappings:
|
||||
EnterMappingDialog.SourceFields.Label=Source fields:
|
||||
EnterMappingDialog.TargetFields.Label=Target fields:
|
||||
EnterMappingDialog.Title=Enter Mapping
|
||||
EnterOptionsDialog.AskOnExit.Label=Ask user when exiting:
|
||||
EnterOptionsDialog.AutoSave.Label=Autosave changed files:
|
||||
EnterOptionsDialog.AutoSplitHops.Label=Automatically split hops:
|
||||
EnterOptionsDialog.AutoSplitHops.Tooltip=If a step is drawn on a hop the hop can be split\nso that the new step lays between the two original ones.\nIf you activate this option this will happen automatically, otherwise a confirmation dialog is shown.
|
||||
EnterOptionsDialog.BackgroundColor.Label=Background color:
|
||||
EnterOptionsDialog.BackgroundColorGraph.Label=Workspace background color:
|
||||
EnterOptionsDialog.Branding.Label=Show branding graphics:
|
||||
EnterOptionsDialog.Button.Edit=Change
|
||||
EnterOptionsDialog.Button.Edit.Tooltip=Edits the option
|
||||
EnterOptionsDialog.Button.Reset=Reset
|
||||
EnterOptionsDialog.Button.Reset.Tooltip=Resets this option to the default value
|
||||
EnterOptionsDialog.CanvasAntiAliasing.Label=Canvas anti-aliasing:
|
||||
EnterOptionsDialog.ClearCustomParameters.Confirmation=The custom flags and parameters have been deleted.
|
||||
EnterOptionsDialog.ClearCustomParameters.Label=Clear custom parameters (steps/plugins):
|
||||
EnterOptionsDialog.ClearCustomParameters.Question=Do you really want to delete all custom flags and parameters in the dialogs of the steps and plugins?
|
||||
EnterOptionsDialog.ClearCustomParameters.Title=Question
|
||||
EnterOptionsDialog.ClearCustomParameters.Tooltip=Deletes all custom flags and parameters in the dialogs of the steps and plugins
|
||||
EnterOptionsDialog.CopyOrDistributeDialog.Label=Show Copy or Distribute dialog:
|
||||
EnterOptionsDialog.CopyOrDistributeDialog.Tooltip=If this option is activated and a step is about to deliver data to more than one step, a dialog asks the user whether the data\nget distributed to each receiving step or if each receiving step gets the same data (copying).\nIf this option is not activated the default is to copy the data.
|
||||
EnterOptionsDialog.DefaultLocale.Label=Preferred Language:
|
||||
EnterOptionsDialog.DefaultPreviewSize.Label=Preview data batch size:
|
||||
EnterOptionsDialog.DialogMiddlePercentage.Label=Dialog middle percentage:
|
||||
EnterOptionsDialog.EnableAutoCollapseCoreObjectTree.Label=Auto collapse palette tree:
|
||||
EnterOptionsDialog.FailoverLocale.Label=Alternative Language:
|
||||
EnterOptionsDialog.FixedWidthFont.Label=Fixed width font:
|
||||
EnterOptionsDialog.General.Label=General
|
||||
EnterOptionsDialog.GraphFont.Label=Font on workspace:
|
||||
EnterOptionsDialog.GridSize.Label=Canvas Grid Size:
|
||||
EnterOptionsDialog.GridSize.ToolTip=Make the icons snap to a grid allowing you to align the steps more easily.
|
||||
EnterOptionsDialog.ShowCanvasGrid.Label=Show Canvas Grid:
|
||||
EnterOptionsDialog.ShowCanvasGrid.ToolTip=If enabled, the canvas grid will be visible
|
||||
EnterOptionsDialog.HelpToolTipsEnabled.Label=Show help tooltips:
|
||||
EnterOptionsDialog.EnableSVG.Label=Enable .svg icons
|
||||
EnterOptionsDialog.IconSize.Label=Icon size in workspace:
|
||||
EnterOptionsDialog.LineWidth.Label=Line width on workspace:
|
||||
EnterOptionsDialog.LookAndFeel.Label=Look && Feel
|
||||
EnterOptionsDialog.MaxLogLineTimeout.Label=Central log line store timeout in minutes:
|
||||
EnterOptionsDialog.MaxNrHistLinesSize.Label=Max number of lines in the log history views:
|
||||
EnterOptionsDialog.MaxNrLogLinesSize.Label=Max number of lines in the logging windows:
|
||||
EnterOptionsDialog.MaximumUndo.Label=Maximum Undo level:
|
||||
EnterOptionsDialog.NoteFont.Label=Font for notes:
|
||||
EnterOptionsDialog.OnlyActiveFile.Label=Only show the active file in the main tree:
|
||||
EnterOptionsDialog.OnlySaveUsedConnections.Label=Only save used connections to XML:
|
||||
EnterOptionsDialog.OpenLastFileStartup.Label=Open last file at startup:
|
||||
EnterOptionsDialog.ReplaceDB.Label=Replace existing objects on open/import:
|
||||
EnterOptionsDialog.ReplaceDB.Tooltip=Replace existing objects (database connections, slave servers, cluster schemas, and/or partition schemas) when opening or importing transformations.
|
||||
EnterOptionsDialog.ReplaceDBAsk.Label=Ask before replacing objects:
|
||||
EnterOptionsDialog.ReplaceDBAsk.Tooltip=Ask before replacing existing objects when opening or importing transformations.
|
||||
EnterOptionsDialog.ShadowSize.Label=Shadow size on workspace:
|
||||
EnterOptionsDialog.ShowRepoDialog.Label=Show repository dialog at startup:
|
||||
EnterOptionsDialog.ShowSaveConfirmation.Label=Show Save dialog:
|
||||
EnterOptionsDialog.ShowTipsStartup.Label=Show tips at startup:
|
||||
EnterOptionsDialog.ShowWelcomePage.Label=Show welcome page at startup:
|
||||
EnterOptionsDialog.TabColor.Label=Tab color:
|
||||
EnterOptionsDialog.Title=Kettle Options
|
||||
EnterOptionsDialog.ToolTipsEnabled.Label=Display tooltips:
|
||||
EnterOptionsDialog.UseDatabaseCache.Label=Use database cache:
|
||||
EnterOptionsDialog.UseOSLook.Label=Use look of OS:
|
||||
EnterOptionsDialog.VersionCheck.Label=Skip check for updates?
|
||||
EnterOptionsDialog.CanvasIndicateSlowSteps.Label=Show bottleneck transformation steps:
|
||||
EnterOptionsDialog.CanvasIndicateSlowSteps.Tooltip=If enabled, draws an animated border inside transformation steps that receive input rows faster than they can process them (bottleneck steps).
|
||||
EnterPrintDialog.BottomMargin.Label=Bottom margin (inch):
|
||||
EnterPrintDialog.Cols.Label=Columns:
|
||||
EnterPrintDialog.LeftMargin.Label=Left margin (inch):
|
||||
EnterPrintDialog.PrintArea.Label=Printing area:
|
||||
EnterPrintDialog.RightMargin.Label=Right margin (inch):
|
||||
EnterPrintDialog.Rows.Label=Rows:
|
||||
EnterPrintDialog.Scaling.Label=Scaling (10-100%):
|
||||
EnterPrintDialog.Title=Print pages
|
||||
EnterPrintDialog.TopMargin.Label=Top margin (inch):
|
||||
EnterSearchDialog.DB.Label=Search database connections
|
||||
EnterSearchDialog.DB.Tooltip=Search database connections
|
||||
EnterSearchDialog.FilterSelection.Label=Filter
|
||||
EnterSearchDialog.Note.Label=Search notes
|
||||
EnterSearchDialog.Note.Tooltip=Search notes
|
||||
EnterSearchDialog.Shell.Title=Search Meta Data
|
||||
EnterSearchDialog.Step.Label=Search steps
|
||||
EnterSearchDialog.Step.Tooltip=Search steps
|
||||
EnterStringsDialog.Message=Enter values for the Strings specified below:
|
||||
EnterStringsDialog.StringName.Label=Name
|
||||
EnterStringsDialog.StringValue.Label=Value
|
||||
EnterStringsDialog.Title=Enter string values
|
||||
EnterValueDialog.ConversionFormat.Label=Conversion format:
|
||||
EnterValueDialog.Length.Label=Length:
|
||||
EnterValueDialog.Precision.Label=Precision:
|
||||
EnterValueDialog.TestResult.Message=The resulting value is:\n\n{0}
|
||||
EnterValueDialog.TestResult.Title=Value
|
||||
EnterValueDialog.Title=Enter value
|
||||
EnterValueDialog.Type.Label=Type:
|
||||
EnterValueDialog.Value.Label=Value:
|
||||
ErrorDialog.ShowDetails.Message=Error Details and the stacktrace of a possibly exception
|
||||
ErrorDialog.ShowDetails.Title=Error Details
|
||||
GetDatabaseInfoProgressDialog.Error.GettingInfoTable=Problem encountered getting information from the database: {0}
|
||||
GetDatabaseInfoProgressDialog.Error.Message=An error occured getting information from the database!
|
||||
GetDatabaseInfoProgressDialog.Error.Title=Error getting information
|
||||
GetPreviewTableProgressDialog.Error.Message=An error occured getting information from the database!
|
||||
GetPreviewTableProgressDialog.Error.Title=Error getting information
|
||||
GetQueryFieldsProgressDialog.Error.Message=An error occured getting information from the database!
|
||||
GetQueryFieldsProgressDialog.Error.Title=Error getting information
|
||||
GetTableSizeProgressDialog.Error.Message=An error occured getting information from the database!
|
||||
GetTableSizeProgressDialog.Error.Title=Error getting information
|
||||
SQLEditor.Button.ClearCache=&Clear cache
|
||||
SQLEditor.Button.ClearCache.Tooltip=Use this button if you find that the results above do not correspond with the actual situation in the database.\nThe database cache becomes invalid if you use other tools besides Kettle to create or alter tables in the database.
|
||||
SQLEditor.Button.Execute=&Execute
|
||||
SQLEditor.ClearWholeCache.Message=Do you want to clear the complete cache?\nIf you press ''No'' only the cache of the database connection ''{0}'' gets cleared
|
||||
SQLEditor.ClearWholeCache.Title=Clear whole cache?
|
||||
SQLEditor.ConnectionCacheCleared.Message=Cache of database connection ''{0}'' was cleared
|
||||
SQLEditor.ConnectionCacheCleared.Title=Cache geleert
|
||||
SQLEditor.Editor.Label=SQL statements, separated by semicolon '';''
|
||||
SQLEditor.Error.CouldNotConnect.Message=Unable to connect to the database!\nPlease check the connection setting for connection [{0}]\n{1}
|
||||
SQLEditor.Error.CouldNotConnect.Title=Could not connect
|
||||
SQLEditor.ErrorExecSQL.Message=An error occured executing the following sql:\n\n{0}
|
||||
SQLEditor.ErrorExecSQL.Title=Error executing SQL
|
||||
SQLEditor.LineNr.Label=Line number: {0}
|
||||
SQLEditor.Log.OnPartition=on partition ''{0}''
|
||||
SQLEditor.Log.SQLExecError=Error while executing: {0}\n{1}
|
||||
SQLEditor.Log.SQLExecuted=SQL executed: {0}\n
|
||||
SQLEditor.Log.StatsExecuted={0} SQL statements executed
|
||||
SQLEditor.NoRows.Message=No results found for SQL statement:\n\n{0}
|
||||
SQLEditor.NoRows.Title=No result
|
||||
SQLEditor.Position.Label=Line {0} column {1}
|
||||
SQLEditor.Result.Message=The SQL statements had the following results
|
||||
SQLEditor.Result.Title=Results of the SQL statements
|
||||
SQLEditor.ResultRows.Title=SQL statement #{0}
|
||||
SQLEditor.Title=Simple SQL editor
|
||||
SQLEditor.WholeCacheCleared.Message=The whole database cache was cleared
|
||||
SQLEditor.WholeCacheCleared.Title=Cache geleert
|
||||
SQLStatementDialog.Button.EditStep=&Edit origin step
|
||||
SQLStatementDialog.Button.ExecSQL=E&xecute SQL
|
||||
SQLStatementDialog.Button.ViewSQL=&View SQL
|
||||
SQLStatementDialog.Error.CouldNotConnect=Could not connect to database connection [{0}]
|
||||
SQLStatementDialog.Error.CouldNotExec=The following statement could not be executed:\n{0}
|
||||
SQLStatementDialog.Error.Message=We can''t execute the selected statetements as there are/is {0} with errors.
|
||||
SQLStatementDialog.Error.Title=Error
|
||||
SQLStatementDialog.Log.Connection=-- Database Connection : {0}\n
|
||||
SQLStatementDialog.Log.Error=-- Error message : {0}\n
|
||||
SQLStatementDialog.Log.Step=-- Step : {0}\n
|
||||
SQLStatementDialog.Log.Undefined=<undefined>
|
||||
SQLStatementDialog.Success.Message={0} SQL statement(s) executed successfully
|
||||
SQLStatementDialog.Success.Title=Success
|
||||
SQLStatementDialog.TableCol.Connection=Connection
|
||||
SQLStatementDialog.TableCol.Error=Error
|
||||
SQLStatementDialog.TableCol.SQL=SQL
|
||||
SQLStatementDialog.TableCol.Stepname=Stepname
|
||||
SQLStatementDialog.Title=List of SQL statements to execute
|
||||
SQLStatementDialog.ViewSQL.Message=SQL statements:
|
||||
SQLStatementDialog.ViewSQL.Title=SQL statements
|
||||
SelectRowDialog.Title=Select an entry
|
||||
ShowImageDialog.Title=Image display
|
||||
StepFieldsDialog.Buttons.EditOrigin=&Edit origin step
|
||||
StepFieldsDialog.Fields.Label=Fields:
|
||||
StepFieldsDialog.Name.Label=Step name:
|
||||
StepFieldsDialog.TableCol.Fieldname=Fieldname
|
||||
StepFieldsDialog.TableCol.Length=Length
|
||||
StepFieldsDialog.TableCol.Origin=Step origin
|
||||
StepFieldsDialog.TableCol.Precision=Precision
|
||||
StepFieldsDialog.TableCol.Type=Type
|
||||
StepFieldsDialog.Title=Step fields and their origin
|
||||
XulDatabaseDialog.Error.Dialog=General error in dialog
|
||||
XulDatabaseDialog.Error.General=General error
|
||||
XulDatabaseDialog.Error.HandleXul=Error working with XUL definition
|
||||
XulDatabaseDialog.Error.LoadXul=Error loading XUL definition
|
||||
XulDatabaseDialog.Error.ResourcesNotFound=Unable to find resource bundle for primary locale {0}, failover locale {1}
|
||||
XulDatabaseDialog.Error.ResourcesNotFound.Title=String resources can't be found for dialog
|
||||
XulDatabaseDialog.Error.SAXReader=Error reading XUL definition by SAX reader
|
||||
XulDatabaseDialog.Error.Title=Error
|
||||
tooltip_expand_collapse=Expand/Collapse Tree
|
||||
tooltip_refresh=Refresh Tree
|
||||
|
||||
DatabaseExplorerDialog.TableLayout.ShellText=Table layout
|
||||
DatabaseExplorerDialog.TableLayout.OriginText=Table
|
|
@ -0,0 +1,240 @@
|
|||
#File generated by Hitachi Vantara Transator for package 'org.pentaho.di.ui.core.database.dialog' in locale 'es_AR'
|
||||
|
||||
|
||||
#Fri Dec 07 16:33:44 GMT-03:00 2007
|
||||
EnterOptionsDialog.ShowSaveConfirmation.Label=\u00BFMostrar di\u00E1logo "Guardar"?
|
||||
DatabaseExplorerDialog.Title=Explorador de base de datso en la conexi\u00F3n [{0}]
|
||||
EnterSearchDialog.DB.Label=Buscar conexiones a Base de Datos
|
||||
EnterOptionsDialog.OnlyActiveFile.Label=\u00BFS\u00F3lo mostrar el archivo activo en el \u00E1rbol principal?
|
||||
EnterOptionsDialog.UseOSLook.Label=\u00BFUtilizar apariencia de SO?
|
||||
EnterOptionsDialog.Button.Edit.Tooltip=Edita la opci\u00F3n
|
||||
EnterOptionsDialog.DialogMiddlePercentage.Label=Porcentaje medio del di\u00E1logo\:
|
||||
CheckResultDialog.Button.EditOriginStep=Editar paso origen
|
||||
EnterOptionsDialog.General.Label=General\:
|
||||
CheckResultDialog.Result.Label=Resultado
|
||||
EnterOptionsDialog.ShowRepoDialog.Label=\u00BFMostrar di\u00E1logo de repositorio al iniciar?
|
||||
EnterOptionsDialog.ClearCustomParameters.Question=\u00BFRealmente desea borrar todas las se\u00F1ales y complementos personalizados en los di\u00E1logos de los pasos y complementos?
|
||||
EnterOptionsDialog.CanvasAntiAliasing.Label=\u00BFAnti alias de lienzo?
|
||||
DatabaseExplorerDialog.TableSize.Message=La tabla "{0}" contiene {1} filas
|
||||
EnterOptionsDialog.ReplaceDB.Label=\u00BFReemplazar las conexiones existentes al abrir/importar?
|
||||
EnterMappingDialog.HideUsedSources=\u00BFEsconder campos de origen asignados?
|
||||
EnterOptionsDialog.MaximumUndo.Label=M\u00E1ximo nivel de "deshacer"\:
|
||||
DatabaseDialog.SQLTab.tooltip=SQL que se debe ejecutar despu\u00E9s de conectar
|
||||
DatabaseDialog.column.PoolParameter=P\u00E1rametro del fondo
|
||||
CheckResultDialog.TextDialog.SubtitlePlural=Mensajes\:
|
||||
GetPreviewTableProgressDialog.Error.Message=\u00A1Ocurri\u00F3 un error al obtener informaci\u00F3n de la base de datos\!
|
||||
SQLEditor.Button.ClearCache=&Limpiar cache
|
||||
DatabaseDialog.column.PoolDefault=Valor por defecto
|
||||
DatabaseDialog.ErrorParameters.title=\u00A1Error\!
|
||||
DatabaseDialog.Exception.IncorrectParameter=Par\u00E1metros de base de datos incorrectos\! Comprueba esta configuraci\u00F3n \:
|
||||
DatabaseDialog.ExplorerNotImplemented.Title=Disculpe
|
||||
DatabaseExplorerDialog.PreviewTable.Title=L\u00EDmite de vista previa
|
||||
DatabaseExplorerDialog.Tables.Label=Tablas
|
||||
EnterMappingDialog.Button.Add=&Agregar
|
||||
DatabaseDialog.button.Explore=\ Explorar
|
||||
DatabaseDialog.tooltip.DbType=Los par\u00E1metros extra que se deben poner en la URL para conectar a la base de datos
|
||||
SQLEditor.Title=Editor SQL simple
|
||||
EnterOptionsDialog.OnlySaveUsedConnections.Label=\u00BFS\u00F3lo guardar conexiones utilizadas en el XML?
|
||||
CheckResultDialog.TextDialog.Subtitle=Mensaje\:
|
||||
DatabaseDialog.label.Username=Nombre de usuario
|
||||
DatabaseDialog.column.Parameter=Par\u00E1metro
|
||||
DatabaseDialog.column.Username=Nombre de usuario
|
||||
DatabaseDialog.label.Sap=SAP ERP
|
||||
DatabaseDialog.AdvancedTab.title=Avanzado
|
||||
DatabaseDialog.label.DatabaseName=Nombre de la base de datos
|
||||
GetQueryFieldsProgressDialog.Error.Title=Error al obtener informaci\u00F3n
|
||||
DatabaseDialog.report.Hostname=Nombre de servidor \:
|
||||
DatabaseDialog.ExplorerNotImplemented.Message=El explorador para esta base de datos no ha sido implementado a\u00FAn.
|
||||
SQLEditor.Result.Title=Resultados de las sentencias SQL
|
||||
DatabaseDialog.JDBCOptions.Tab={0}\: ayuda de opciones JDBC
|
||||
DatabaseDialog.OracleTab.title=Oracle
|
||||
EnterSearchDialog.DB.Tooltip=Buscar conexiones a Base de Datos
|
||||
EnterOptionsDialog.ShowTipsStartup.Label=\u00BFMostrar consejos al iniciar?
|
||||
CheckResultDialog.Button.ViewMessage=Ver mensaje
|
||||
EnterOptionsDialog.ClearCustomParameters.Tooltip=Elimina todas las se\u00F1ales y par\u00E1metros personalizados en los dia\u013Aogos de los pasos y complementos
|
||||
DatabaseDialog.label.UseClustering=\u00BFUsar cluster?
|
||||
DatabaseDialog.label.AdvancedForceIdentifiersUpperCase=Forzar todos los identificadores a may\u00FAsculas
|
||||
CheckResultDialog.Remark.Label=Observaci\u00F3n
|
||||
SQLEditor.ConnectionCacheCleared.Title=Cache vaciada
|
||||
EnterOptionsDialog.CopyOrDistributeDialog.Label=\u00BFMostrar el d\u00EDalogo "copiar \u00F3 distribuir"?
|
||||
DatabaseExplorerDialog.NoConnectionsKnown.Title=No se conocen conexiones
|
||||
CheckResultDialog.Stepname.Label=Nombre del paso
|
||||
DatabaseDialog.label.PoolParameters=P\u00E1rametros del Fondo Com\u00FAn de Conexiones
|
||||
DatabaseDialog.label.Language=Lenguaje
|
||||
SQLEditor.WholeCacheCleared.Message=La cache de toda la base de datos fue vaciada
|
||||
EnterOptionsDialog.Button.Edit=Cambiar
|
||||
EnterOptionsDialog.Button.Reset.Tooltip=Restablece esta opci\u00F3n al valor por defecto
|
||||
EnterSearchDialog.Step.Label=Buscar pasos
|
||||
DatabaseDialog.ClusterTab.title=Cl\u00FAster
|
||||
EnterSearchDialog.Shell.Title=Buscar Meta Informaci\u00F3n
|
||||
EnterOptionsDialog.AutoSave.Label=\u00BFAuto guardar archivos cambiados?
|
||||
EnterOptionsDialog.ClearCustomParameters.Label=Limpiar par\u00E1metros personalizados (pasos / complementos)\:
|
||||
SQLEditor.Error.CouldNotConnect.Message=\u00A1No se puede conectar a la base de datos\!\nPor favor verifique las opciones de conexi\u00F3n para la conexi\u00F3n [{0}]\n{1}
|
||||
DatabaseDialog.ErrorConnectionInfo.description=Informaci\u00F3n de la conexi\u00F3n no disponible.
|
||||
DatabaseDialog.label.UseConnectionPool=Usar reserva de conexiones
|
||||
EnterMappingDialog.AutoTargetSelection.Label=\u00BFSelecci\u00F3n autom\u00E1tica de destino?
|
||||
GetTableSizeProgressDialog.Error.Message=\u00A1Ocurri\u00F3 un error al obtener informaci\u00F3n de la base de datos\!
|
||||
CheckResultDialog.Remarks.Label=Observaciones\:
|
||||
SQLEditor.ClearWholeCache.Message=\u00BFQuiere vaciar la cache completamente?\nSi selecciona "no" s\u00F3lo la cach\u00E9 de la conexi\u00F3n "{0}" ser\u00E1 vaciada.
|
||||
DatabaseExplorerDialog.Schemas.Label=Esquemas
|
||||
SQLEditor.Editor.Label=Sentencias SQL, separadas por punto y coma ";"
|
||||
DatabaseExplorerDialog.Menu.Truncate=Truncar tablas [{0}]
|
||||
DatabaseDialog.report.ConnectionWithPartOk=La conexi\u00F3n a la base de datos [{0}] con el id de partici\u00F3n [{1}] funciona bien.
|
||||
DatabaseDialog.Shell.title=Datos de la conexi\u00F3n
|
||||
DatabaseDialog.FeatureList.title=Lista de funciones
|
||||
DatabaseDialog.HelpText.title=Ayuda de las opciones
|
||||
EnterOptionsDialog.FailoverLocale.Label=Lenguaje Alternativo\:
|
||||
DatabaseDialog.label.PortNumber=N\u00FAmero de puerto
|
||||
SQLEditor.Button.Execute=&Ejecutar
|
||||
EnterOptionsDialog.Button.Reset=Restablecer
|
||||
DatabaseDialog.label.InformixServername=Nombre de servidor Informix
|
||||
DatabaseDialog.tooltip.PartitionId=Los par\u00E1metros extra que se deben poner en la URL para conectar a la base de datos
|
||||
DatabaseDialog.GenericTab.title=Gen\u00E9rico
|
||||
EnterOptionsDialog.ShadowSize.Label=Tama\u00F1o de la sombra en el espacio de trabajo\:
|
||||
EnterMappingDialog.SourceFields.Label=Campos de origen\:
|
||||
DatabaseExplorerDialog.Error.GenDDL=No pudo generarse el DDL
|
||||
EnterOptionsDialog.ShowWelcomePage.Label=\u00BFMostrar p\u00E1gina de bienvenida al iniciar?
|
||||
DatabaseDialog.label.TablespaceForIndexes=Espacio de tablas para \u00EDndices
|
||||
DatabaseDialog.column.Password=Contrase\u00F1a
|
||||
DatabaseDialog.label.Password=Contrase\u00F1a
|
||||
EnterOptionsDialog.ReplaceDB.Tooltip=Si esta opci\u00F3n est\u00E1 activada las conexiones a base de datos existentes ser\u00E1n reemplazadas al abrir \u00F3 importar transformaciones.\nEsta opci\u00F3n decide si un di\u00E1logo es mostrado para seleccionar esta opci\u00F3n o no.
|
||||
DatabaseExplorerDialog.Views.Label=Vistas
|
||||
GetDatabaseInfoProgressDialog.Error.Message=\u00A1Ocurri\u00F3 un error al obtener informaci\u00F3n de la base de datos\!
|
||||
DatabaseExplorerDialog.NoRows.Title=No hay filas
|
||||
DatabaseDialog.label.Statements=Las sentencias a ejecutar justo despu\u00E9s de conectar (separadas por ;)
|
||||
CheckResultDialog.WarningsErrors.Label=Advertencias y errores\:
|
||||
DatabaseExplorerDialog.TargetDatabase.Message=Seleccionar la base de datos destino
|
||||
DatabaseDialog.column.Hostname=Nombre del servidor
|
||||
DatabaseDialog.tooltip.UseClustering=Permitir a\u00F1adir todo tipo de informaci\u00F3n al cluster.
|
||||
DatabaseDialog.report.ConnectionOk=La conexi\u00F3n a la base de datos [{0}] funciona bien.
|
||||
CheckResultDialog.HideSuccessful.Label=E&sconder resultados exitosos
|
||||
EnterOptionsDialog.NoteFont.Label=Fuente para notas\:
|
||||
DatabaseDialog.PoolTab.title=Reserva
|
||||
DatabaseDialog.label.MySQLStreamResults=Utilizar flujo de resultados (emulaci\u00F3n de cursor) DatabaseDialog.IfxTab.title\=Informix
|
||||
DatabaseExplorerDialog.Menu.GenDDL=Generar DDL
|
||||
SQLEditor.ResultRows.Title=Sentencia SQL \#{0}
|
||||
EnterOptionsDialog.BackgroundColorGraph.Label=Color de fondo del espacio de trabajo\:
|
||||
DatabaseDialog.column.PoolValue=Valor
|
||||
EnterSearchDialog.Note.Tooltip=Buscar notas
|
||||
EnterOptionsDialog.TabColor.Label=Color de solapas\:
|
||||
EnterOptionsDialog.OpenLastFileStartup.Label=\u00BFAbrir el \u00FAltimo archivo al iniciar?
|
||||
SQLEditor.ErrorExecSQL.Title=Error al ejecutar c\u00F3digo SQL
|
||||
SQLEditor.NoRows.Title=No hay resultados
|
||||
Dialog.Error.Header=Error
|
||||
SQLEditor.LineNr.Label=N\u00FAmero de l\u00EDnea\: {0}
|
||||
EnterOptionsDialog.ClearCustomParameters.Confirmation=Las se\u00F1ales y par\u00E1metros personalizados han sido eliminados.
|
||||
SQLEditor.ClearWholeCache.Title=\u00BFLimpiar toda la cache?
|
||||
EnterMappingDialog.HideUsedTargets=\u00BFEsconder campos destino asignados?
|
||||
DatabaseDialog.report.DatabaseName=Nombre de base de datos \:
|
||||
DatabaseDialog.ConnectionReport.title=Informe de conexi\u00F3n
|
||||
DatabaseDialog.label.AdvancedQuoteAllFields=Poner todos los identificadores en la base de datos entre comillas
|
||||
DatabaseDialog.column.Port=Puerto
|
||||
DatabaseDialog.ErrorHelpText.description=Ayuda no disponible. Por favor, compruebe que todos los par\u00E1metros solicitados se han introducido correctamente.
|
||||
EnterOptionsDialog.Branding.Label=Mostrar gr\u00E1ficos de marca
|
||||
EnterOptionsDialog.UseDatabaseCache.Label=\u00BFUtilizar cache de base de datos?
|
||||
DatabaseDialog.ConnectionReport.description=Aqu\u00ED tiene el informe de conexi\u00F3n
|
||||
SQLEditor.Error.CouldNotConnect.Title=No se pudo conectar
|
||||
EnterMappingDialog.AutoSourceSelection.Label=\u00BFSelecci\u00F3n autom\u00E1tica de origen?
|
||||
DatabaseDialog.GenericTab.tooltip=Par\u00E1metros para usar una base de datos gen\u00E9rica que no tenga un controlador JDBC soportado
|
||||
DatabaseExplorerDialog.Menu.Preview100=&Prever las primeros 100 filas de [{0}]
|
||||
DatabaseDialog.ErrorParameters2.title=\u00A1Error\!
|
||||
DatabaseExplorerDialog.Synonyms.Label=Sin\u00F3nimos
|
||||
EnterOptionsDialog.CopyOrDistributeDialog.Tooltip=Si esta opci\u00F3n est\u00E1 activada y un paso est\u00E1 a punto de entregar datos a m\u00E1s de un paso, un di\u00E1logo solicita al usuario si los datos\n se distribuyen entre los pasos receptores \u00F3 si cada pasa recibe los mismos datos (copia).\nSi esta opci\u00F3n no es activada por defecto se copian los datos.
|
||||
EnterSearchDialog.Note.Label=Buscar notas
|
||||
EnterOptionsDialog.AskOnExit.Label=\u00BFPreguntar al usuario al salir?
|
||||
DatabaseExplorerDialog.PreviewTable.Message=N\u00FAmero de l\u00EDneas a prever (0\=todas)
|
||||
DatabaseDialog.FeatureListError.title=\u00A1Error\!
|
||||
EnterOptionsDialog.FixedWidthFont.Label=Fuente de ancho variable\:
|
||||
DatabaseDialog.report.ConnectionError=Error conectando a la base de datos [{0}] \:
|
||||
DatabaseExplorerDialog.Menu.GenDDLOtherConn=Generar DDL para otra conexi\u00F3n
|
||||
DatabaseDialog.ErrorParameters2.description=Por favor, compruebe que todos los par\u00E1metros solicitados se han introducido correctamente\:\n{0}
|
||||
DatabaseExplorerDialog.NoRows.Message=La tabla no contiene filas
|
||||
GetTableSizeProgressDialog.Error.Title=Error al obtener informaci\u00F3n
|
||||
EnterOptionsDialog.Title=Opciones de Kettle
|
||||
DatabaseDialog.column.PartitionId=Id de la partici\u00F3n
|
||||
DatabaseDialog.label.ConnectionName=Nombre de la conexi\u00F3n
|
||||
DatabaseDialog.ErrorParameters.description=Por favor, compruebe que todos los par\u00E1metros solicitados se han introducido correctamente.
|
||||
DatabaseDialog.report.Port=Puerto \:
|
||||
EnterOptionsDialog.ReplaceDBAsk.Label=\u00BFPreguntar si reemplazar conexiones existentes al abrir/importar?
|
||||
DatabaseDialog.DbTab.title=General
|
||||
EnterOptionsDialog.IconSize.Label=Tama\u00F1o de \u00EDconos en espacio de trabajo\:
|
||||
GetPreviewTableProgressDialog.Error.Title=Error al obtener informaci\u00F3n
|
||||
DatabaseExplorerDialog.Menu.ShowSize=N\u00FAmero de filas de [{0}]
|
||||
DatabaseDialog.column.DatabaseName=Nombre de la base de datos
|
||||
CheckResultDialog.TextDialog.Title=Ver mensajes
|
||||
EnterOptionsDialog.BackgroundColor.Label=Color de fondo\:
|
||||
EnterOptionsDialog.LookAndFeel.Label=Apariencia
|
||||
CheckResultDialog.Title=Resultados de las verificaciones de la transformaci\u00F3n
|
||||
DatabaseExplorerDialog.TargetDatabase.Title=Base de datos destino
|
||||
EnterOptionsDialog.ToolTipsEnabled.Label=\u00BFMostrar cuadros de ayuda?
|
||||
DatabaseDialog.column.SelectPoolParameter=Selecciona el par\u00E1metro del fondo a configurar
|
||||
EnterOptionsDialog.GraphFont.Label=Fuente en el espacio de trabajo\:
|
||||
EnterOptionsDialog.MaxNrLogLinesSize.Label=M\u00E1ximo n\u00FAmero de l\u00EDneas en las ventana de logueo.
|
||||
EnterOptionsDialog.LineWidth.Label=Ancho de l\u00EDnea en espacio de trabajo\:
|
||||
DatabaseDialog.column.Value=Valor
|
||||
DatabaseDialog.SQLTab.title=SQL
|
||||
DatabaseDialog.label.MaximumPoolSize=Tama\u00F1o m\u00E1ximo de la reserva
|
||||
DatabaseDialog.FeatureListError.description=Lista de funciones no disponible. Por favor, compruebe que todos los par\u00E1metros solicitados se han introducido correctamente.
|
||||
DatabaseDialog.HelpText.description=Esta es la ayuda para [{0}] \:
|
||||
DatabaseDialog.IfxTab.title=Informix
|
||||
DatabaseDialog.ErrorHelpText.title=\u00A1Error\!
|
||||
EnterMappingDialog.Button.Delete=&Eliminar
|
||||
DatabaseDialog.MySQLTab.title=MySQL
|
||||
EnterMappingDialog.ResultMappings.Label=Mapeos\:
|
||||
SQLEditor.NoRows.Message=No se encontraron resultados para la sentencia SQL\n\n{0}
|
||||
DatabaseDialog.column.DbType=Tipo de base de datos
|
||||
DatabaseExplorerDialog.Catalogs.Label=Cat\u00E1logos
|
||||
DatabaseExplorerDialog.Menu.ShowLayout=Mostrar diagrama de [{0}]
|
||||
CheckResultDialog.ShowSuccessful.Label=Mo&strar resultados exitosos
|
||||
DatabaseExplorerDialog.NoConnectionsKnown.Message=En este momento no hay otras conexiones disponibles para generar DDL.
|
||||
EnterMappingDialog.Title=Ingrese Mapeo
|
||||
DatabaseExplorerDialog.Menu.PreviewN=&Prever primeras ... filas de [{0}]
|
||||
DatabaseDialog.label.SapClient=Cliente SAP
|
||||
DatabaseDialog.FeatureList.title2="La lista de funciones\:"
|
||||
DatabaseDialog.tooltip.Options=Opciones extra para la URL
|
||||
EnterOptionsDialog.DefaultPreviewSize.Label=N\u00FAmero de l\u00EDneas por defecto en el di\u00E1logo de vista previa\:
|
||||
SQLEditor.ErrorExecSQL.Message=Ocurri\u00F3 un error al ejecutar el siguiente c\u00F3digo SQL\:\n\n{0}
|
||||
DatabaseDialog.label.AdvancedForceIdentifiersLowerCase=Forzar todos los identificadores a min\u00FAsculas
|
||||
DatabaseDialog.label.Url=URL
|
||||
GetDatabaseInfoProgressDialog.Error.Title=Error al obtener informaci\u00F3n
|
||||
DatabaseDialog.label.ConnectionType=Tipo de conexi\u00F3n
|
||||
DatabaseExplorerDialog.TableSize.Title=N\u00FAmero de filas
|
||||
EnterOptionsDialog.AutoSplitHops.Label=\u00BFDividir saltos autom\u00E1ticamente?
|
||||
DatabaseDialog.report.ConnectionWithPartError=Error conectando a la base de datos [{0}] con el id de partici\u00F3n [{1}] \: {2}
|
||||
DatabaseDialog.tooltip.Hostname=Los valores para los par\u00E1metros
|
||||
DatabaseDialog.label.InitialPoolSize=Tama\u00F1o inicial de la reserva
|
||||
DatabaseDialog.label.UseDoubleDecimalSeparator=Utilizar .. para separar esquema y tabla
|
||||
DatabaseDialog.label.ServerHostname=Nombre del servidor
|
||||
DatabaseDialog.column.PoolDescription=Descripci\u00F3n de par\u00E1metro
|
||||
DatabaseDialog.label.SystemNumber=N\u00FAmero de sistema
|
||||
DatabaseDialog.MSSQLTab.title=SQL Server
|
||||
SQLEditor.Button.ClearCache.Tooltip=Utilizar este bot\u00F3n si encuentra que los resultados arriba no corresponden con la situaci\u00F3n actual en la base de datos.\nLa cache de la base de datos se vuelve inv\u00E1lida si utilizar otras herramientas adem\u00E1s de Kettle para crear \u00F3 modificar tablas en la base de datos.
|
||||
DatabaseExplorerDialog.Error.RetrieveLayout=No pudo obtenerse el diagrama de tablas.
|
||||
SQLEditor.Log.OnPartition=en partici\u00F3n "{0}"
|
||||
DatabaseDialog.label.TablespaceForData=Espacio de tablas para datos
|
||||
EnterMappingDialog.TargetFields.Label=Campos destino\:
|
||||
DatabaseDialog.label.DriverClass=Clase del controlador
|
||||
DatabaseDialog.label.Options=Opciones
|
||||
DatabaseDialog.ClusterTab.tooltip=Informaci\u00F3n opcional de cluster
|
||||
DatabaseDialog.button.Test=\ Probar
|
||||
SQLEditor.WholeCacheCleared.Title=Cache vaciada
|
||||
SQLEditor.Result.Message=Las consultas SQL tuvieron los siguientes resultados
|
||||
EnterSearchDialog.FilterSelection.Label=Filtro
|
||||
EnterSearchDialog.Step.Tooltip=Buscar pasos
|
||||
DatabaseDialog.label.SQLServerInstance=Nombre de la instancia de SQL Server
|
||||
EnterOptionsDialog.AutoSplitHops.Tooltip=Si un paso es arrastrado hacia un salto, el salto puede ser dividido\n de manera que el nuevo paso quede ubicado entre los dos originales.\nSi se activa esta opci\u00F3n lo anterior suceder\u00E1 autom\u00E1ticamente, de otra manera se muestra un di\u00E1logo de confirmaci\u00F3n.
|
||||
DatabaseDialog.tooltip.Parameter=Los valores para los par\u00E1metros
|
||||
DatabaseDialog.button.ShowHelp=Mostrar ayuda sobre las opciones
|
||||
EnterMappingDialog.Button.Guess=&Adivinar
|
||||
SQLEditor.ConnectionCacheCleared.Message=La cache de la conexi\u00F3n "{0}" fue vaciada
|
||||
SQLEditor.Log.SQLExecError=Error al ejecutar\: {0}\n{1}
|
||||
EnterOptionsDialog.DefaultLocale.Label=Lenguaje Preferido\:
|
||||
DatabaseExplorerDialog.Menu.OpenSQL=Abrir SQL para [{0}]
|
||||
GetQueryFieldsProgressDialog.Error.Message=\u00A1Ocurri\u00F3 un error al obtener informaci\u00F3n de la base de datos\!
|
||||
DatabaseDialog.label.AccessMethod=M\u00E9todo de acceso
|
||||
EnterOptionsDialog.ReplaceDBAsk.Tooltip=Si las transformaciones son abiertas \u00F3 importadas y la conexi\u00F3n a base de datos existe con el mismo nombre que alguna actual,\nun di\u00E1logo puede ser mostrado para preguntar al usuario si deben reemplazarse las conexiones existentes \u00F3 no.
|
||||
DatabaseDialog.button.FeatureList=\ Lista de funciones
|
||||
SQLEditor.Log.StatsExecuted={0} sentencias SQL ejecutadas
|
||||
EnterOptionsDialog.ClearCustomParameters.Title=Pregunta
|
||||
DatabaseDialog.ErrorConnectionInfo.title=Error
|
||||
SQLEditor.Log.SQLExecuted=SQL ejecutado\: {0}
|
|
@ -0,0 +1,101 @@
|
|||
#
|
||||
# EnterSearchDialog
|
||||
#
|
||||
EnterSearchDialog.Shell.Title = Buscar Meta Información
|
||||
EnterSearchDialog.Step.Label = Buscar pasos
|
||||
EnterSearchDialog.Step.Tooltip = Buscar pasos
|
||||
EnterSearchDialog.DB.Label = Buscar conexiones a Base de Datos
|
||||
EnterSearchDialog.DB.Tooltip = Buscar conexiones a Base de Datos
|
||||
EnterSearchDialog.Note.Label = Buscar notas
|
||||
EnterSearchDialog.Note.Tooltip = Buscar notas
|
||||
EnterSearchDialog.FilterSelection.Label = Filtro
|
||||
|
||||
#
|
||||
# DatabaseDialog
|
||||
#
|
||||
DatabaseDialog.Shell.title=Datos de la conexión
|
||||
DatabaseDialog.button.Test=\ Probar
|
||||
DatabaseDialog.button.Explore=\ Explorar
|
||||
DatabaseDialog.button.FeatureList=\ Lista de funciones
|
||||
DatabaseDialog.DbTab.title=General
|
||||
DatabaseDialog.label.ConnectionName=Nombre de la conexi\u00F3n
|
||||
DatabaseDialog.label.ConnectionType=Tipo de conexi\u00F3n
|
||||
DatabaseDialog.label.AccessMethod=M\u00E9todo de acceso
|
||||
DatabaseDialog.label.ServerHostname=Nombre del servidor
|
||||
DatabaseDialog.label.DatabaseName=Nombre de la base de datos
|
||||
DatabaseDialog.label.PortNumber=N\u00FAmero de puerto
|
||||
DatabaseDialog.label.Username=Nombre de usuario
|
||||
DatabaseDialog.label.Password=Contrase\u00F1a
|
||||
DatabaseDialog.PoolTab.title=Reserva
|
||||
DatabaseDialog.label.UseConnectionPool=Usar reserva de conexiones
|
||||
DatabaseDialog.label.InitialPoolSize=Tama\u00F1o inicial de la reserva
|
||||
DatabaseDialog.label.MaximumPoolSize=Tama\u00F1o m\u00E1ximo de la reserva
|
||||
DatabaseDialog.OracleTab.title=Oracle
|
||||
DatabaseDialog.label.TablespaceForData=Espacio de tablas para datos
|
||||
DatabaseDialog.label.TablespaceForIndexes=Espacio de tablas para \u00EDndices
|
||||
DatabaseDialog.MySQLTab.title=MySQL
|
||||
DatabaseDialog.label.MySQLStreamResults=Utilizar flujo de resultados (emulaci\u00F3n de cursor) DatabaseDialog.IfxTab.title\=Informix
|
||||
DatabaseDialog.label.InformixServername=Nombre de servidor Informix
|
||||
DatabaseDialog.label.Sap=SAP ERP
|
||||
DatabaseDialog.label.Language=Lenguaje
|
||||
DatabaseDialog.label.SystemNumber=N\u00FAmero de sistema
|
||||
DatabaseDialog.label.SapClient=Cliente SAP
|
||||
DatabaseDialog.GenericTab.title=Genérico
|
||||
DatabaseDialog.GenericTab.tooltip=Parámetros para usar una base de datos genérica que no tenga un controlador JDBC soportado
|
||||
DatabaseDialog.label.Url=URL
|
||||
DatabaseDialog.label.DriverClass=Clase del controlador
|
||||
DatabaseDialog.label.Options=Opciones
|
||||
DatabaseDialog.tooltip.Options=Opciones extra para la URL
|
||||
DatabaseDialog.button.ShowHelp=Mostrar ayuda sobre las opciones
|
||||
DatabaseDialog.column.DbType=Tipo de base de datos
|
||||
DatabaseDialog.column.Parameter=Parámetro
|
||||
DatabaseDialog.column.Value=Valor
|
||||
DatabaseDialog.tooltip.DbType=Los parámetros extra que se deben poner en la URL para conectar a la base de datos
|
||||
DatabaseDialog.tooltip.Parameter=Los valores para los parámetros
|
||||
DatabaseDialog.SQLTab.title=SQL
|
||||
DatabaseDialog.SQLTab.tooltip=SQL que se debe ejecutar después de conectar
|
||||
DatabaseDialog.label.Statements=Las sentencias a ejecutar justo después de conectar (separadas por ;)
|
||||
DatabaseDialog.ClusterTab.title=Clúster
|
||||
DatabaseDialog.ClusterTab.tooltip=Información opcional de cluster
|
||||
DatabaseDialog.label.UseClustering=¿Usar cluster?
|
||||
DatabaseDialog.tooltip.UseClustering=Permitir añadir todo tipo de información al cluster.
|
||||
DatabaseDialog.column.PartitionId=Id de la partición
|
||||
DatabaseDialog.column.Hostname=Nombre del servidor
|
||||
DatabaseDialog.column.Port=Puerto
|
||||
DatabaseDialog.column.DatabaseName=Nombre de la base de datos
|
||||
DatabaseDialog.column.Username=Nombre de usuario
|
||||
DatabaseDialog.column.Password=Contraseña
|
||||
DatabaseDialog.tooltip.PartitionId=Los parámetros extra que se deben poner en la URL para conectar a la base de datos
|
||||
DatabaseDialog.tooltip.Hostname=Los valores para los parámetros
|
||||
DatabaseDialog.HelpText.title=Ayuda de las opciones
|
||||
DatabaseDialog.HelpText.description=Esta es la ayuda para [{0}] :
|
||||
DatabaseDialog.ErrorHelpText.title=¡Error!
|
||||
DatabaseDialog.ErrorHelpText.description=Ayuda no disponible. Por favor, compruebe que todos los parámetros solicitados se han introducido correctamente.
|
||||
DatabaseDialog.ErrorParameters.title=¡Error!
|
||||
DatabaseDialog.ErrorParameters.description=Por favor, compruebe que todos los parámetros solicitados se han introducido correctamente.
|
||||
DatabaseDialog.ErrorConnectionInfo.title=Error
|
||||
DatabaseDialog.ErrorConnectionInfo.description=Información de la conexión no disponible.
|
||||
DatabaseDialog.report.ConnectionWithPartOk=La conexión a la base de datos [{0}] con el id de partición [{1}] funciona bien.
|
||||
DatabaseDialog.report.ConnectionWithPartError=Error conectando a la base de datos [{0}] con el id de partición [{1}] : {2}
|
||||
DatabaseDialog.report.Hostname= Nombre de servidor \:
|
||||
DatabaseDialog.report.Port= Puerto \:
|
||||
DatabaseDialog.report.DatabaseName= Nombre de base de datos \:
|
||||
DatabaseDialog.report.ConnectionOk=La conexión a la base de datos [{0}] funciona bien.
|
||||
DatabaseDialog.report.ConnectionError=Error conectando a la base de datos [{0}] \:
|
||||
DatabaseDialog.ConnectionReport.title=Informe de conexión
|
||||
DatabaseDialog.ConnectionReport.description=Aquí tiene el informe de conexión
|
||||
DatabaseDialog.ErrorParameters2.title=¡Error!
|
||||
DatabaseDialog.ErrorParameters2.description=Por favor, compruebe que todos los par\u00E1metros solicitados se han introducido correctamente\:\n{0}
|
||||
DatabaseDialog.FeatureList.title=Lista de funciones
|
||||
DatabaseDialog.FeatureList.title2="La lista de funciones:"
|
||||
DatabaseDialog.FeatureListError.title=¡Error!
|
||||
DatabaseDialog.FeatureListError.description=Lista de funciones no disponible. Por favor, compruebe que todos los parámetros solicitados se han introducido correctamente.
|
||||
DatabaseDialog.Exception.IncorrectParameter=Par\u00E1metros de base de datos incorrectos\! Comprueba esta configuraci\u00F3n \:
|
||||
|
||||
DatabaseDialog.label.PoolParameters = Párametros del Fondo Común de Conexiones
|
||||
DatabaseDialog.column.PoolParameter=Párametro del fondo
|
||||
DatabaseDialog.column.PoolDefault=Valor por defecto
|
||||
DatabaseDialog.column.PoolValue=Valor
|
||||
DatabaseDialog.column.PoolDescription=Descripción de parámetro
|
||||
DatabaseDialog.column.SelectPoolParameter=Selecciona el parámetro del fondo a configurar
|
||||
|
|
@ -0,0 +1,349 @@
|
|||
#File generated by Hitachi Vantara Translator for package 'org.pentaho.di.ui.core.database.dialog' in locale 'fr_FR'
|
||||
#
|
||||
#
|
||||
#Wed Jan 05 16:32:24 CET 2011
|
||||
CheckResultDialog.WarningsErrors.Label=Alertes et erreurs\:
|
||||
DatabaseExplorerDialog.Menu.GenDDL=G\u00E9n\u00E9rer instructions DDL
|
||||
EnterMappingDialog.Button.Delete=&Supprimer
|
||||
EnterOptionsDialog.ShowRepoDialog.Label=Afficher menu r\u00E9f\u00E9rentiel au d\u00E9marrage
|
||||
SQLStatementDialog.Success.Title=Succ\u00E8s
|
||||
EnterPrintDialog.Title=Pages impression
|
||||
DatabaseDialog.report.Hostname=Nom H\u00F4te \:
|
||||
DatabaseExplorerDialog.TargetDatabase.Title=Base de donn\u00E9es cible
|
||||
CheckResultDialog.Stepname.Label=Nom \u00E9tape
|
||||
DatabaseExplorerDialog.Views.Label=Vues
|
||||
DatabaseDialog.ClusterTab.title=Grappe
|
||||
DatabaseDialog.label.SystemNumber=Nombre Syst\u00E8me
|
||||
DatabaseDialog.report.ConnectionError=Erreur durant la connexion \u00E0 la base de donn\u00E9es [{0}] \:
|
||||
PreviewRowsDialog.NoRows.Message=D\u00E9sol\u00E9, aucune donn\u00E9e n''a \u00E9t\u00E9 retourn\u00E9e pour la pr\u00E9visualisation.
|
||||
StepFieldsDialog.TableCol.Precision=Pr\u00E9cision
|
||||
StepFieldsDialog.TableCol.Type=Type
|
||||
SQLStatementDialog.Log.Connection=-- Connexion base de donn\u00E9es \: {0}\n
|
||||
EnterOptionsDialog.ClearCustomParameters.Tooltip=Suppresssion de tous les param\u00E8tres des \u00E9tapes et plugiciels
|
||||
DatabaseDialog.ErrorParameters2.title=Erreur\!
|
||||
SQLStatementDialog.TableCol.Stepname=Nom \u00E9tape
|
||||
EnterOptionsDialog.ReplaceDBAsk.Tooltip=Si des transformations sont import\u00E9es et qu''elles contiennent des connexions portant le m\u00EAme nom,\nl''utilisateur est invit\u00E9 \u00E0 choisir le remplacement ou non.
|
||||
DatabaseDialog.label.UseConnectionPool=Utiliser un pool de connexions
|
||||
EnterOptionsDialog.BackgroundColor.Label=Couleur arri\u00E8re plan\:
|
||||
EnterMappingDialog.ResultMappings.Label=Sch\u00E9ma de correspondance
|
||||
DatabaseDialog.Shell.title=Informations connexion
|
||||
SQLEditor.Result.Message=R\u00E9sultat des instructions SQL
|
||||
DatabaseDialog.label.MaximumPoolSize=La taille maximale du pool
|
||||
CheckResultDialog.ShowSuccessful.Label=Afficher contr\u00F4les r\u00E9ussis
|
||||
DatabaseExplorerDialog.Menu.Truncate=Tronquer la table [{0}]
|
||||
EnterOptionsDialog.ShowWelcomePage.Label=Afficher onglet de bienvenue au d\u00E9marrage
|
||||
DatabaseDialog.tooltip.DbType=Les param\u00E8tres suppl\u00E9mentaires \u00E0 ins\u00E9rer dans l''URL
|
||||
EnterOptionsDialog.HelpToolTipsEnabled.Label=Afficher infos bulles aide
|
||||
SQLEditor.ErrorExecSQL.Message=An error occured executing the following sql\:\n\n{0}
|
||||
SQLStatementDialog.Error.CouldNotExec=L''instruction suivant n''a pas pu \u00EAtre ex\u00E9cut\u00E9e\:\n{0}
|
||||
DatabaseDialog.ConnectionReport.description=Etat sur la connexion
|
||||
DatabaseExplorerDialog.PreviewTable.Message=Nombre de lignes maximum \u00E0 pr\u00E9visualiser (0 aucune limite)
|
||||
DatabaseDialog.ErrorHelpText.title=Erreur\!
|
||||
DatabaseDialog.label.MySQLStreamResults=Utiliser r\u00E9sultat flux (\u00E9mulation curseur)
|
||||
EnterPrintDialog.BottomMargin.Label=marge en Bas (inch)\:
|
||||
DatabaseDialog.label.ConnectionName=Nom connexion
|
||||
DatabaseDialog.ConnectionReport.title=Etat sur la connexion
|
||||
DatabaseExplorerDialog.Catalogs.Label=Catalogues
|
||||
DatabaseDialog.ExplorerNotImplemented.Title=D\u00E9sol\u00E9
|
||||
PreviewRowsDialog.ShowLogging.Message=The logging text
|
||||
DatabaseDialog.label.SapClient=Client SAP
|
||||
EnterOptionsDialog.GridSize.Label=Activer grille d''alignement
|
||||
EnterPrintDialog.Cols.Label=Colonnes\:
|
||||
EnterMappingDialog.HideUsedTargets=Masquer champs cibles assign\u00E9s
|
||||
EnterOptionsDialog.DialogMiddlePercentage.Label=% Bo\u00EEte de dialogue\:
|
||||
SQLStatementDialog.Title=Liste instructions SQL \u00E0 ex\u00E9cuter
|
||||
EnterOptionsDialog.BackgroundColorGraph.Label=Couleur arri\u00E8re plan espace travail\:
|
||||
EnterOptionsDialog.ShowSaveConfirmation.Label=Afficher \u00E9cran de "sauvegarde"
|
||||
EnterPrintDialog.PrintArea.Label=Limite impression\:
|
||||
SQLEditor.Error.CouldNotConnect.Message=Impossible de se connecter \u00E0 la base de donn\u00E9es\!\nVeuillez svp v\u00E9rifie les param\u00E8tres de la connexion [{0}]\n{1}
|
||||
SQLEditor.Log.SQLExecuted=Instruction SQL \u00E9x\u00E9cut\u00E9e\: {0}\n
|
||||
DatabaseDialog.label.Options=Options
|
||||
SQLStatementDialog.Log.Error=-- Message erreur \: {0}\n
|
||||
DatabaseDialog.column.Parameter=Param\u00E8tre
|
||||
EnterOptionsDialog.MaxLogLineTimeout.Label=Timeout du journal central en minutes
|
||||
DatabaseDialog.report.ConnectionWithPartOk=La connexion \u00E0 la base de donn\u00E9es [{0}] avec l''id de partition [{1}] a \u00E9t\u00E9 effectu\u00E9e avec succ\u00E8s.
|
||||
SQLEditor.ConnectionCacheCleared.Message=Cache de la connexion ''{0}'' vid\u00E9
|
||||
EnterOptionsDialog.FixedWidthFont.Label=Largeur fix\u00E9\:
|
||||
SQLEditor.WholeCacheCleared.Message=Cache enti\u00E8rement vid\u00E9
|
||||
DatabaseDialog.label.Url=URL
|
||||
EnterStringsDialog.Title=Saisissez valeurs chaines
|
||||
SelectRowDialog.Title=S\u00E9lectionner une entr\u00E9e
|
||||
DatabaseExplorerDialog.Menu.PreviewN=&Pr\u00E9visualiser les ... premi\u00E8res lignes de [{0}]
|
||||
DatabaseDialog.label.TablespaceForIndexes=Tablespace des indexes
|
||||
XulDatabaseDialog.Error.Title=Erreur
|
||||
EnterMappingDialog.HideUsedSources=Masquer champs sources assign\u00E9s
|
||||
EnterOptionsDialog.ToolTipsEnabled.Label=Afficher infos bulles
|
||||
EnterOptionsDialog.ReplaceDB.Label=Remplacer connexions existantes sur ouverture/import
|
||||
XulDatabaseDialog.Error.HandleXul=Erreur au niveau de la d\u00E9finition de l''interface XUL
|
||||
SQLStatementDialog.Button.ViewSQL=&Afficher SQL
|
||||
DatabaseExplorerDialog.NoConnectionsKnown.Message=Aucune autre connexion n''est disponible.
|
||||
EnterOptionsDialog.TabColor.Label=Couleur\:
|
||||
SQLEditor.ResultRows.Title=Instruction SQL \#{0}
|
||||
DatabaseDialog.label.PortNumber=Num\u00E9ro du port
|
||||
DatabaseDialog.ClusterTab.tooltip=Information optionnel sur le grappage
|
||||
DatabaseDialog.ErrorParameters.description=Veuillez svp vous assurer que tous les param\u00E8tres requis sont bien renseign\u00E9s\!
|
||||
CheckResultDialog.Remarks.Label=Remarques\:
|
||||
DatabaseDialog.HelpText.description=Texte d''aide pour [{0}] \:
|
||||
EnterPrintDialog.TopMargin.Label=Marge en Haut (inch)\:
|
||||
EnterOptionsDialog.ClearCustomParameters.Question=Voulez vous vraiment supprimer tous les param\u00E8tres des \u00E9tapes et plugiciels?
|
||||
EnterListDialog.RemoveOne.Tooltip=Enlever les \u00E9l\u00E9ments s\u00E9lectionn\u00E9s de la droite
|
||||
DatabaseDialog.GenericTab.title=G\u00E9n\u00E9rique
|
||||
EnterOptionsDialog.NoteFont.Label=Police notes\:
|
||||
EnterOptionsDialog.AutoSplitHops.Tooltip=Si cette option est s\u00E9lectionn\u00E9e, l''insertion d''une \u00E9tape entre deux \u00E9tapes se fera automatiquement. Sinon la confimation de l''utilisateur sera exig\u00E9e.
|
||||
DatabaseExplorerDialog.TableSize.Message=La table ''{0}'' contient {1} ligne(s)
|
||||
PreviewRowsDialog.Title=Examen donn\u00E9es pr\u00E9visualis\u00E9es
|
||||
DatabaseDialog.FeatureList.title2=La liste des sp\u00E9cifications\:
|
||||
EnterOptionsDialog.AutoSplitHops.Label=Ins\u00E9rer auto. \u00E9tape
|
||||
EnterOptionsDialog.GraphFont.Label=Police espace travail\:
|
||||
DatabaseDialog.column.DatabaseName=Nom base de donn\u00E9es
|
||||
DatabaseDialog.label.DatabaseName=Nom de la base de donn\u00E9es
|
||||
DatabaseDialog.column.Port=Num\u00E9ro du Port
|
||||
DatabaseDialog.label.InformixServername=Nom du serveur Informix
|
||||
StepFieldsDialog.TableCol.Origin=\u00C9tape origine
|
||||
DatabaseDialog.column.SelectPoolParameter=S\u00E9lectionner param\u00E8tre pool
|
||||
SQLEditor.Result.Title=R\u00E9sultat des instruction SQL
|
||||
StepFieldsDialog.Buttons.EditOrigin=&Editer \u00E9tape origine
|
||||
DatabaseDialog.label.DriverClass=Classe Pilote
|
||||
DatabaseDialog.label.InitialPoolSize=La taille initiale du pool
|
||||
EnterOptionsDialog.CanvasIndicateSlowSteps.Tooltip=S\u00E9lectionnez cette option si vous souhaitez marqu\u00E9 visuellement (bord de l'\u00E9tape anim\u00E9)\r\nles \u00E9tapes qui sont lentes dans le traitement des lignes.
|
||||
EnterListDialog.AvailableItems.Label=Elements disponibles\:
|
||||
EnterListDialog.RemoveAll.Tooltip=Ajouter tous les \u00E9l\u00E9ments de la droite
|
||||
DatabaseDialog.column.PoolValue=Valeur
|
||||
ConditionDialog.Title=Saisissez Condition
|
||||
DatabaseDialog.label.Username=Nom d''utilisateur
|
||||
DatabaseDialog.tooltip.Options=Options suppl\u00E9mentaires \u00E0 inscrire dans l''URL
|
||||
CheckResultDialog.TextDialog.Title=Afficher message
|
||||
DatabaseDialog.ErrorHelpText.description=Impossible de r\u00E9cup\u00E9rer le texte d''aide. Veuillez svp vous assurer que tous les param\u00E8tres requis sont bien renseign\u00E9s\!
|
||||
DatabaseDialog.DbTab.title=G\u00E9n\u00E9ral
|
||||
DatabaseDialog.PoolTab.title=Pooling
|
||||
ShowImageDialog.Title=Affichage Image
|
||||
EnterSearchDialog.Note.Label=Rechercher note
|
||||
DatabaseDialog.column.Username=Nom utilisateur
|
||||
EnterOptionsDialog.ClearCustomParameters.Confirmation=Les param\u00E8tres des \u00E9tapes/plugiciels ont \u00E9t\u00E9 supprim\u00E9s.
|
||||
GetDatabaseInfoProgressDialog.Error.Title=Erreur lors de la r\u00E9cup\u00E9ration des informations
|
||||
SQLEditor.Error.CouldNotConnect.Title=Impossible de se connecter
|
||||
EnterOptionsDialog.General.Label=G\u00E9n\u00E9ral
|
||||
CheckResultDialog.Title=R\u00E9sultats contr\u00F4les transformation
|
||||
DatabaseExplorerDialog.Menu.ShowLayout=Afficher structure sortie de [{0}]
|
||||
EnterStringsDialog.StringName.Label=Nom
|
||||
DatabaseDialog.button.FeatureList=Sp\u00E9cification
|
||||
DatabaseDialog.label.Sap=SAP ERP
|
||||
CheckResultDialog.Button.ViewMessage=Afficher message
|
||||
SQLStatementDialog.Log.Undefined=<und\u00E9fini>
|
||||
XulDatabaseDialog.Error.ResourcesNotFound.Title=Impossible de trouver des ressources
|
||||
DatabaseDialog.tooltip.UseClustering=Activer le grappage.
|
||||
DatabaseDialog.GenericTab.tooltip=Param\u00E8tres dans le cas de l''utilisation d''une base de donn\u00E9es g\u00E9n\u00E9rique
|
||||
EnterOptionsDialog.MaxNrLogLinesSize.Label=Nombre de lignes max
|
||||
EnterPrintDialog.LeftMargin.Label=Marge gauche (inch)\:
|
||||
SQLEditor.ConnectionCacheCleared.Title=Cache connexion vid\u00E9
|
||||
EnterSearchDialog.Step.Tooltip=Rechercher \u00E9tape
|
||||
EnterMappingDialog.AutoSourceSelection.Label=S\u00E9lection auto. source
|
||||
PreviewRowsDialog.ShowLogging.Title=Logging text
|
||||
EnterMappingDialog.Button.Add=&Ajouter
|
||||
DatabaseExplorerDialog.UnexpectedProfilingError.Message=PDI a rencontr\u00E9 une erreur lors de l''analyse des donn\u00E9es \:
|
||||
DatabaseDialog.label.AdvancedForceIdentifiersLowerCase=Mettre tous les identifiants en minuscule
|
||||
DatabaseDialog.ErrorConnectionInfo.title=Erreur
|
||||
DatabaseDialog.FeatureListError.title=Erreur\!
|
||||
DatabaseDialog.IfxTab.title=Informix
|
||||
DatabaseDialog.column.Hostname=Nom de l''h\u00F4te
|
||||
EnterOptionsDialog.FailoverLocale.Label=Langue substitution\:
|
||||
GetTableSizeProgressDialog.Error.Title=Erreur lors de la r\u00E9cup\u00E9ration des informations
|
||||
SQLStatementDialog.Button.EditStep=&Editer \u00E9tape origine
|
||||
DatabaseDialog.DatabaseConnectionTest.title=Test de la connexion
|
||||
EnterOptionsDialog.Button.Reset.Tooltip=Initialisation \u00E0 la valeurs par d\u00E9faut
|
||||
SQLEditor.Position.Label=Ligne {0} colonne {1}
|
||||
SQLEditor.Button.Execute=&Ex\u00E9cuter
|
||||
EnterOptionsDialog.AskOnExit.Label=Demander confirmation sur sortie
|
||||
DatabaseDialog.label.Statements=Les ordres SQL \u00E0 \u00E9x\u00E9cuter apr\u00E8s la connexion \u00E0 la base de donn\u00E9es (s\u00E9par\u00E9s par by ;)
|
||||
SQLEditor.Button.ClearCache.Tooltip=Utiliser ce bouton si vous remarquez que le r\u00E9sultat ne correspond \u00E0 la r\u00E9alit\u00E9.\nLe cache de la base de donn\u00E9es devient invalide d\u00E9s lors qu''un autre outil modifier les tables concern\u00E9es.
|
||||
DatabaseDialog.label.UseDoubleDecimalSeparator=Utiliser .. pour s\u00E9parer table et sch\u00E9ma
|
||||
StepFieldsDialog.Fields.Label=Champs\:
|
||||
DatabaseExplorerDialog.Menu.GenDDLOtherConn=G\u00E9n\u00E9rer instructions DDL pour autre connexion
|
||||
GetPreviewTableProgressDialog.Error.Message=PDI a rencontr\u00E9 une erreur la r\u00E9cup\u00E9ration des informations depuis la base de donn\u00E9es\!
|
||||
SQLEditor.Button.ClearCache=&Vider cache
|
||||
SQLStatementDialog.Log.Step=-- \u00C9tape \: {0}\n
|
||||
DatabaseDialog.report.Port=Num\u00E9ro Port \:
|
||||
EnterOptionsDialog.ShadowSize.Label=Taille ombre \u00E9tape,liens\:
|
||||
SQLStatementDialog.TableCol.Error=Erreur
|
||||
EnterValueDialog.Length.Label=Longeur\:
|
||||
EnterSearchDialog.Shell.Title=Recherche Meta-Donn\u00E9es
|
||||
DatabaseDialog.MSSQLTab.title=SQL Server
|
||||
SQLEditor.ClearWholeCache.Message=Souhaitez vous vider enti\u00E8rement le cache?\nSi vous r\u00E9pondez par la n\u00E9gative, le cache de la connexion ''{0}'' sera vid\u00E9
|
||||
EnterMappingDialog.SourceFields.Label=Champs sources
|
||||
SQLEditor.ClearWholeCache.Title=Vider enti\u00E8rement la cache?
|
||||
DatabaseDialog.report.ConnectionOk=La connexion \u00E0 la base de donn\u00E9es [{0}] a \u00E9t\u00E9 effectu\u00E9e avec succ\u00E8s.
|
||||
EnterOptionsDialog.CopyOrDistributeDialog.Tooltip=Si cette option est s\u00E9lectionn\u00E9e et une \u00E9tape est sur le point de transmettre des donn\u00E9es \u00E0 plus d''une \u00E9tape, l''utilisateur sera invit\u00E9 \u00E0 choisir entre la distribution et la copie.
|
||||
SQLStatementDialog.Error.Message=We can''t execute the selected statetements as there are/is {0} with errors.
|
||||
DatabaseExplorerDialog.Menu.OpenSQL=Ouvrir La fen\u00EAtre ex\u00E9cution SQL pour [{0}]
|
||||
EnterOptionsDialog.UseDatabaseCache.Label=Utiliser cache base de donn\u00E9es
|
||||
EnterMappingDialog.TargetFields.Label=Champs cibles
|
||||
DatabaseDialog.label.AdvancedQuoteAllFields=Quoter tous les identifiants de la BDD
|
||||
Dialog.Error.Header=Erreur
|
||||
SQLStatementDialog.Error.CouldNotConnect=Impossible de se connecter \u00E0 la connexion [{0}]
|
||||
EnterOptionsDialog.EnableAutoCollapseCoreObjectTree.Label=Replier automatiquement la palette
|
||||
XulDatabaseDialog.Error.ResourcesNotFound=Impossible de trouver des ressources pour la langue {0}, basculement vers la langue par d\u00E9faut {1}
|
||||
EnterOptionsDialog.GridSize.ToolTip=Activer la grille sur le canevas afin de rendre l''alignement des \u00E9tapes plus facile.\r\nSaisissez dans cette case le pas de s\u00E9paration de deux points de la grille.\r\n
|
||||
EnterMappingDialog.AutoTargetSelection.Label=S\u00E9lection auto. cible
|
||||
DatabaseDialog.ExplorerNotImplemented.Message=D\u00E9sol\u00E9, l''explorateur pour ce fournisseur n''a pas \u00E9t\u00E9 encore impl\u00E9ment\u00E9.
|
||||
CheckResultDialog.TextDialog.SubtitlePlural=Messages\:
|
||||
DatabaseExplorerDialog.NoRows.Message=La table est vide
|
||||
EnterOptionsDialog.Button.Edit=Changer
|
||||
EnterListDialog.Selection.Label=Votre s\u00E9lection\:
|
||||
EnterValueDialog.TestResult.Title=Valeur
|
||||
EnterOptionsDialog.Button.Reset=R\u00E9-initialiser
|
||||
DatabaseDialog.SQLTab.tooltip=Sp\u00E9cifier les ordres SQL \u00E0 \u00E9x\u00E9cuter apr\u00E8s la connexion \u00E0 la base de donn\u00E9es
|
||||
EnterOptionsDialog.ClearCustomParameters.Title=Question
|
||||
GetDatabaseInfoProgressDialog.Error.Message=PDI a rencontr\u00E9 une erreur la r\u00E9cup\u00E9ration des informations depuis la base de donn\u00E9es\!
|
||||
EnterOptionsDialog.OpenLastFileStartup.Label=Ouvrir dernier fichier au d\u00E9marrage
|
||||
EnterOptionsDialog.ReplaceDBAsk.Label=Confirmer remplacement connexions sur ouverture/import
|
||||
EnterOptionsDialog.OnlySaveUsedConnections.Label=Sauvegarder uniquement les connexions utilis\u00E9es
|
||||
EnterStringsDialog.StringValue.Label=Valeur
|
||||
EnterOptionsDialog.AutoSave.Label=Sauvegarder automatiquement traitements modifi\u00E9s
|
||||
EnterPrintDialog.Scaling.Label=Echelle (10-100%)\:
|
||||
SQLStatementDialog.Success.Message={0} SQL statement(s) executed successfully
|
||||
EnterStringsDialog.Message=Saisissez valeurs pour les chaines sp\u00E9cifi\u00E9es ci-dessous\:
|
||||
EnterValueDialog.Value.Label=Valeur\:
|
||||
EnterValueDialog.Precision.Label=Pr\u00E9cision\:
|
||||
SQLEditor.Editor.Label=Instructions SQL, s\u00E9par\u00E9es par un point virgule '';''
|
||||
DatabaseDialog.label.Password=Mot de passe
|
||||
DatabaseDialog.ErrorConnectionInfo.description=Impossible de r\u00E9cup\u00E9rer les informations de connexion
|
||||
DatabaseDialog.ErrorParameters.title=Erreur\!
|
||||
EnterOptionsDialog.Button.Edit.Tooltip=Edition options
|
||||
DatabaseExplorerDialog.Synonyms.Label=Synonymes
|
||||
DatabaseExplorerDialog.TableSize.Title=Nombre de lignes
|
||||
DatabaseExplorerDialog.NoRows.Title=Aucune ligne
|
||||
DatabaseDialog.column.Password=Mot de passe
|
||||
DatabaseDialog.button.Test=\ Tester
|
||||
DatabaseDialog.column.PoolDefault=Valeur par d\u00E9faut
|
||||
CheckResultDialog.HideSuccessful.Label=Masquer contr\u00F4les r\u00E9u&ssis
|
||||
EnterSearchDialog.Note.Tooltip=Rechercher note
|
||||
EnterOptionsDialog.Title=Options
|
||||
Dialog.Error.EnterInteger=Veuillez svp saisir un nombre entier\!
|
||||
EnterValueDialog.ConversionFormat.Label=Format conversion\:
|
||||
SQLStatementDialog.Button.ExecSQL=E&x\u00E9cuter SQL
|
||||
GetQueryFieldsProgressDialog.Error.Message=PDI a rencontr\u00E9 une erreur la r\u00E9cup\u00E9ration des informations depuis la base de donn\u00E9es\!
|
||||
DatabaseDialog.label.TablespaceForData=Tablespace des donn\u00E9es
|
||||
DatabaseDialog.column.DbType=type base de donn\u00E9es
|
||||
GetPreviewTableProgressDialog.Error.Title=Erreur lors de la r\u00E9cup\u00E9ration des informations
|
||||
EnterOptionsDialog.MaxNrHistLinesSize.Label=Limite (lignes) vue donn\u00E9es historis\u00E9es
|
||||
DatabaseDialog.label.Language=Langage
|
||||
SQLStatementDialog.TableCol.SQL=SQL
|
||||
DatabaseDialog.JDBCOptions.Tab={0}\: Aide options JDBC
|
||||
DatabaseDialog.SQLTab.title=SQL
|
||||
DatabaseExplorerDialog.Title=Explorateur base de donn\u00E9es sur la connexion [{0}]
|
||||
DatabaseDialog.label.PoolParameters=Param\u00E8tres de pool de connexion
|
||||
DatabaseExplorerDialog.Menu.Preview100=&Pr\u00E9visualiser les 100 premi\u00E8res lignes de [{0}]
|
||||
DatabaseDialog.MySQLTab.title=MySQL
|
||||
EnterOptionsDialog.ClearCustomParameters.Label=supprimer param\u00E8tres (\u00E9tapes / plugiciels)\:
|
||||
DatabaseDialog.HelpText.title=Texte d''aide sur les options
|
||||
EnterOptionsDialog.MaximumUndo.Label=Niveau max d''annulation\:
|
||||
EnterPrintDialog.Rows.Label=Lignes\:
|
||||
DatabaseDialog.Exception.IncorrectParameter=Param\u00E8tre(s) de base de donn\u00E9es incorrect(s)\! Veuillez svp v\u00E9rificer ces param\u00E8tres \:
|
||||
EnterSearchDialog.FilterSelection.Label=Filtre
|
||||
CheckResultDialog.Button.EditOriginStep=Editer \u00E9tape origine
|
||||
EnterOptionsDialog.LineWidth.Label=Largeur ligne espace travail\:
|
||||
DatabaseDialog.label.AccessMethod=M\u00E9thode d''acc\u00E8s
|
||||
EnterMappingDialog.Button.Guess=&Deviner
|
||||
DatabaseDialog.FeatureListError.description=Impossible de r\u00E9cup\u00E9rer la liste des sp\u00E9cifications. Veuillez svp vous assurer que tous les param\u00E8tres requis sont bien renseign\u00E9s\!
|
||||
EnterOptionsDialog.Branding.Label=Afficher logo
|
||||
DatabaseDialog.column.PoolDescription=Description param\u00E8tre
|
||||
DatabaseExplorerDialog.Tables.Label=Tables
|
||||
ErrorDialog.ShowDetails.Title=D\u00E9tail erreurs
|
||||
DatabaseExplorerDialog.Procedures.Label=Proc\u00E9dures
|
||||
DatabaseExplorerDialog.NoConnectionsKnown.Title=Aucune connexion
|
||||
EnterOptionsDialog.CanvasAntiAliasing.Label=Canevas anti-surnom
|
||||
DatabaseExplorerDialog.TargetDatabase.Message=S\u00E9lectionner la base de donn\u00E9es cible\:
|
||||
SQLEditor.Log.StatsExecuted={0} instructions SQL \u00E9x\u00E9cut\u00E9es
|
||||
SQLEditor.Title=Editeur instructions SQL
|
||||
DatabaseDialog.tooltip.Parameter=Les valeurs des param\u00E8tres
|
||||
GetTableSizeProgressDialog.Error.Message=PDI a rencontr\u00E9 une erreur la r\u00E9cup\u00E9ration des informations depuis la base de donn\u00E9es\!
|
||||
PreviewRowsDialog.Button.ShowLog=Afficher &Trace
|
||||
DatabaseDialog.column.Value=Valeur
|
||||
ErrorDialog.ShowDetails.Message=D\u00E9tail erreurs
|
||||
DatabaseDialog.button.ShowHelp=Afficher le texte d''aide sur l''utilisation des options
|
||||
DatabaseExplorerDialog.Menu.DisplayColumns=Afficher les colonnes
|
||||
DatabaseExplorerDialog.Error.GenDDL=Impossible de g\u00E9n\u00E9rer les instructions DDL
|
||||
EnterListDialog.Title=Saisissez liste
|
||||
DatabaseExplorerDialog.Schemas.Label=Sch\u00E9mas
|
||||
DatabaseDialog.label.SQLServerInstance=Nom instance SQL Server
|
||||
StepFieldsDialog.Name.Label=Nom \u00E9tape\:
|
||||
DatabaseExplorerDialog.PreviewTable.Title=Limite de pr\u00E9visualisation
|
||||
DatabaseDialog.AdvancedTab.title=Divers
|
||||
EnterOptionsDialog.ShowTipsStartup.Label=Afficher astuces au d\u00E9marrage
|
||||
DatabaseDialog.column.PartitionId=ID Partition
|
||||
SQLEditor.WholeCacheCleared.Title=Cache vid\u00E9
|
||||
SQLEditor.Log.OnPartition=sur la partition ''{0}''
|
||||
DatabaseDialog.OracleTab.title=Oracle
|
||||
EnterOptionsDialog.OnlyActiveFile.Label=Afficher uniquement fichier actif dans explorateur
|
||||
EnterSearchDialog.Step.Label=Rechercher \u00E9tape
|
||||
EnterOptionsDialog.CanvasIndicateSlowSteps.Label=Marquer les \u00E9tapes lentes
|
||||
EnterOptionsDialog.LookAndFeel.Label=Apparence
|
||||
DatabaseDialog.label.AdvancedForceIdentifiersUpperCase=Mettre tous les identifiants en majuscule
|
||||
StepFieldsDialog.Title=Champs \u00E9tape
|
||||
EnterOptionsDialog.IconSize.Label=Taille ic\u00F4ne\:
|
||||
EnterOptionsDialog.DefaultPreviewSize.Label=Nbr lignes max \u00E0 pr\u00E9visualiser par d\u00E9faut\:
|
||||
DatabaseDialog.column.PoolParameter=Param\u00E8tres pool
|
||||
SQLStatementDialog.ViewSQL.Message=Instructions SQL\:
|
||||
CheckResultDialog.TextDialog.Subtitle=Message\:
|
||||
EnterPrintDialog.RightMargin.Label=Marge droite (inch)\:
|
||||
CheckResultDialog.Remark.Label=Remarque
|
||||
DatabaseDialog.tooltip.PartitionId=Les param\u00E8tres suppl\u00E9mentaires \u00E0 ins\u00E9rer dans l''URL
|
||||
SQLEditor.NoRows.Message=Pas de r\u00E9sultat retourn\u00E9 pour l''instruction SQL\:\n\n{0}
|
||||
SQLEditor.NoRows.Title=Pas de r\u00E9sultat
|
||||
EnterSearchDialog.DB.Label=Rechercher connexions
|
||||
EnterMappingDialog.Title=Dialogue sch\u00E9ma de correspondance
|
||||
DatabaseDialog.label.ConnectionType=Fournisseur base de donn\u00E9es
|
||||
SQLEditor.ErrorExecSQL.Title=Erreur lors de l''ex\u00E9cution de l''instruction SQL
|
||||
EnterConditionDialog.Title=Saisissez condition
|
||||
EnterOptionsDialog.UseOSLook.Label=Utiliser apparence du SE
|
||||
EnterOptionsDialog.DefaultLocale.Label=Langue\:
|
||||
DatabaseDialog.report.DatabaseName=Nom Base de donn\u00E9es \:
|
||||
DatabaseDialog.FeatureList.title=Liste sp\u00E9cifications
|
||||
EnterListDialog.AddOne.Tooltip=Ajouter les \u00E9l\u00E9ments s\u00E9lectionn\u00E9s (gauche)
|
||||
DatabaseExplorerDialog.Menu.ProfileTable=Profilage des donn\u00E9es ''{0}''
|
||||
EnterSearchDialog.DB.Tooltip=Rechercher connexion
|
||||
SQLStatementDialog.Error.Title=Erreur
|
||||
GetDatabaseInfoProgressDialog.Error.GettingInfoTable=PDI a rencontr\u00E9 une erreur lors de la tentative de r\u00E9cup\u00E9ration des informations depuis la base de donn\u00E9es\: {0}
|
||||
DatabaseExplorerDialog.UnexpectedProfilingError.Title=Erreur analyse donn\u00E9es
|
||||
DatabaseDialog.tooltip.Hostname=Les valeurs des param\u00E8tres
|
||||
PreviewRowsDialog.NoRows.Text=D\u00E9sol\u00E9
|
||||
StepFieldsDialog.TableCol.Fieldname=Nom champ
|
||||
SQLEditor.LineNr.Label=Nr ligne\: {0}
|
||||
DatabaseDialog.button.Explore=\ Explorer
|
||||
SQLEditor.Log.SQLExecError=Erreur lors de l''ex\u00E9cution de l''instruction SQL\: {0}\n{1}
|
||||
SQLStatementDialog.ViewSQL.Title=Instructions SQL
|
||||
PreviewRowsDialog.Header=Lignes de l''\u00E9tape\: {0}
|
||||
DatabaseDialog.label.ServerHostname=Nom du serveur h\u00F4te
|
||||
DatabaseDialog.ErrorParameters2.description=Veuillez svp vous assurer que tous les param\u00E8tres requis sont bien renseign\u00E9s\:\n{0}
|
||||
DatabaseExplorerDialog.Error.RetrieveLayout=Impossible de r\u00E9cup\u00E9rer les informations depuis la table.
|
||||
EnterOptionsDialog.CopyOrDistributeDialog.Label=Afficher choix "copier ou distribuer"
|
||||
SQLStatementDialog.TableCol.Connection=Connexion
|
||||
EnterOptionsDialog.ReplaceDB.Tooltip=Si cette option est s\u00E9lectionn\u00E9e, les connexions seront remplac\u00E9es par celles du traitement charg\u00E9 ou import\u00E9.\nVous pouvez \u00EAtre alert\u00E9 si vous s\u00E9lectionnez l''option ci-dessus.
|
||||
DatabaseExplorerDialog.Menu.ShowSize=Nombre de lignes de [{0}]
|
||||
EnterValueDialog.Type.Label=Type\:
|
||||
EnterValueDialog.Title=Saisissez valeur
|
||||
EnterValueDialog.TestResult.Message=Le r\u00E9sultat est\:\n\n{0}
|
||||
DatabaseDialog.report.ConnectionWithPartError=Erreur durant la connexion \u00E0 la base de donn\u00E9es [{0}] avec l''id partition [{1}] \: {2}
|
||||
DatabaseDialog.label.UseClustering=Utiliser le grappage
|
||||
EnterListDialog.AddAll.Tooltip=Ajouter tous les \u00E9l\u00E9ments de la gauche
|
||||
StepFieldsDialog.TableCol.Length=Longueur
|
||||
CheckResultDialog.Result.Label=R\u00E9sultat
|
||||
GetQueryFieldsProgressDialog.Error.Title=Erreur lors de la r\u00E9cup\u00E9ration des informations
|
||||
XulDatabaseDialog.Error.Dialog=Erreur g\u00E9n\u00E9rale
|
||||
|
||||
DatabaseExplorer.Actions=Actions
|
||||
DatabaseExplorer.Button.Cancel=&Annuler
|
||||
DatabaseExplorer.Button.Ok=&Valider
|
||||
DatabaseExplorer.DDL=DDL
|
||||
DatabaseExplorer.DataProfile=Profilage de données
|
||||
DatabaseExplorer.Preview100=Prévisualiser les 100 premières lignes
|
||||
DatabaseExplorer.PreviewX=Prévisualiser les x premières lignes
|
||||
DatabaseExplorer.RowCount=Retourner le nombre total de lignes
|
||||
DatabaseExplorer.SelectConnection=Sélection de connexion
|
||||
DatabaseExplorer.ShowLayout=Afficher les colonnes
|
||||
DatabaseExplorer.Title=Explorer la base de données
|
||||
DatabaseExplorer.Truncate=Tronquer la table
|
||||
DatabaseExplorer.UseCurrent=Utiliser la connexion actuelle
|
||||
DatabaseExplorer.ViewSQL=Afficher SQL
|
||||
tooltip_expand_collapse=Dérouler/Replier l''arborescence
|
||||
tooltip_refresh=Actualiser l''arborescence
|
|
@ -0,0 +1,253 @@
|
|||
#File generated by Hitachi Vantara Translator for package 'org.pentaho.di.ui.core.database.dialog' in locale 'it_IT'
|
||||
#
|
||||
#
|
||||
#Fri Apr 26 11:08:49 CEST 2013
|
||||
EnterMappingDialog.HideUsedSources=Nascondere campi d''origine assegnati?
|
||||
EnterOptionsDialog.ShowSaveConfirmation.Label=Mostrare la finestra "Salva"?
|
||||
DatabaseExplorerDialog.Title=Explorer database sulla connessione [{0}]
|
||||
DatabaseExplorerDialog.TableSize.Message=La tabella ''{0}'' contiene {1} righe
|
||||
EnterOptionsDialog.EnableAutoCollapseCoreObjectTree.Label=Auto collassare albero palette?
|
||||
EnterOptionsDialog.ReplaceDB.Label=Rimpiazzare le connessioni esistenti su apri/importa?
|
||||
EnterOptionsDialog.DialogMiddlePercentage.Label=Finestra di percentuale intermedia\:
|
||||
CheckResultDialog.Button.EditOriginStep=Modifica passo d''origine
|
||||
EnterOptionsDialog.General.Label=Generale
|
||||
CheckResultDialog.Result.Label=Risultato
|
||||
EnterOptionsDialog.ShowRepoDialog.Label=Mostrare finestra repository all''avvio?
|
||||
EnterOptionsDialog.Button.Edit.Tooltip=Modifica l''opzione
|
||||
EnterOptionsDialog.ClearCustomParameters.Question=Vuoi davvero cancellare tutti i flag e parametri personalizzati nelle finestre dei passi e dei plugin?
|
||||
EnterOptionsDialog.OnlyActiveFile.Label=Mostrare solo il file attivo nell''albero principale?
|
||||
EnterOptionsDialog.UseOSLook.Label=Utilizzare look del Sistema Operativo?
|
||||
EnterOptionsDialog.CanvasAntiAliasing.Label=Anti-aliasing delle finestre?
|
||||
EnterSearchDialog.DB.Label=Ricerca connessioni database
|
||||
SQLEditor.Log.SQLExecuted=Esecuzione SQL\: {0}\r\n
|
||||
DatabaseDialog.SQLTab.tooltip=Specificare l''SQL da eseguire dopo la connessione
|
||||
DatabaseDialog.column.PoolParameter=Parametro di pool
|
||||
GetPreviewTableProgressDialog.Error.Message=Si \u00E8 verificato un errore durante il recupero delle informazioni dal database\!
|
||||
CheckResultDialog.TextDialog.SubtitlePlural=Messaggi\:
|
||||
SQLEditor.Button.ClearCache=&Pulisci cache
|
||||
DatabaseExplorerDialog.UnexpectedProfilingError.Title=Errore di profilo
|
||||
DatabaseDialog.ErrorParameters.title=Errore\!
|
||||
DatabaseDialog.ExplorerNotImplemented.Title=Spiacente
|
||||
DatabaseExplorerDialog.PreviewTable.Title=Limite dell''anteprima
|
||||
EnterOptionsDialog.GridSize.Label=Dimensione griglia
|
||||
EnterMappingDialog.Button.Add=&Aggiungi
|
||||
DatabaseExplorerDialog.Tables.Label=Tabelle
|
||||
DatabaseDialog.tooltip.DbType=Parametri extra da impostare nell''URL per connettersi al database
|
||||
DatabaseExplorerDialog.Menu.OpenSQL=Apri SQL per [{0}]
|
||||
DatabaseDialog.button.Explore=Esplora
|
||||
EnterOptionsDialog.OnlySaveUsedConnections.Label=Salvare in XML solamente le connessioni utilizzate?
|
||||
DatabaseDialog.label.Sap=SAP ERP
|
||||
DatabaseDialog.column.Username=Utente
|
||||
DatabaseDialog.label.Username=Utente
|
||||
GetQueryFieldsProgressDialog.Error.Title=Errore di ricezione dell''informazione
|
||||
EnterOptionsDialog.DefaultLocale.Label=Lingua preferita\:
|
||||
SQLEditor.Result.Title=Risultati degli statement SQL
|
||||
DatabaseDialog.ExplorerNotImplemented.Message=Spiacente, l''explorer per questo database non \u00E8 stato ancora implementato.
|
||||
EnterMappingDialog.Button.Guess=&Indovina
|
||||
SQLEditor.ConnectionCacheCleared.Message=La cache della connessione di database ''{0}'' \u00E8 stata pulita
|
||||
DatabaseDialog.OracleTab.title=Oracle
|
||||
DatabaseDialog.JDBCOptions.Tab={0}\: aiuto opzioni JDBC
|
||||
DatabaseDialog.button.ShowHelp=Mostra il testo d''aiuto sull''uso delle opzioni
|
||||
DatabaseDialog.tooltip.Parameter=Il valori da impostare per i parametri
|
||||
CheckResultDialog.Button.ViewMessage=Vedi messaggio
|
||||
DatabaseDialog.label.SQLServerInstance=Nome istanza SQL Server
|
||||
EnterOptionsDialog.AutoSplitHops.Tooltip=Se un passo \u00E8 disegnato su un hop e l''hop pu\u00F2 essere separato\r\nin modo che il nuovo passo stia fra i due originali.\r\nSe viene attivata quest''opzione ci\u00F2 avverr\u00E0 automaticamente, altrimenti verr\u00E0 mostrata una finestra di conferma.
|
||||
DatabaseDialog.label.UseClustering=Utilizzare clustering?
|
||||
EnterSearchDialog.FilterSelection.Label=Filtro
|
||||
DatabaseDialog.label.AdvancedForceIdentifiersUpperCase=Forza tutti gli identificatori al carattere maiuscolo
|
||||
XulDatabaseDialog.Error.ResourcesNotFound.Title=Le risorse di stringa per la finestra non sono state trovate
|
||||
SQLEditor.ConnectionCacheCleared.Title=Cache pulita
|
||||
EnterOptionsDialog.HelpToolTipsEnabled.Label=Mostrare suggerimenti per l''aiuto dei tool?
|
||||
DatabaseDialog.ClusterTab.tooltip=Informazioni opzionali sul clustering
|
||||
DatabaseDialog.button.Test=Prova
|
||||
CheckResultDialog.Stepname.Label=Nome del passo
|
||||
EnterOptionsDialog.MaxNrHistLinesSize.Label=Numero massimo di linee nelle viste dello storico log
|
||||
DatabaseDialog.label.Language=Linguaggio
|
||||
DatabaseDialog.label.Options=Opzioni
|
||||
DatabaseDialog.label.DriverClass=Classe di driver
|
||||
EnterMappingDialog.TargetFields.Label=Campi di destinazione\:
|
||||
SQLEditor.WholeCacheCleared.Message=L''intera cache del database \u00E8 stata ripulita
|
||||
SQLEditor.Log.OnPartition=sulla partizione ''{0}''
|
||||
EnterSearchDialog.Shell.Title=Ricerca metadati
|
||||
DatabaseDialog.ClusterTab.title=Cluster
|
||||
SQLEditor.Button.ClearCache.Tooltip=Utilizzare questo bottone se i risultati sopra non corrispondono all''attuale situazione del database.\r\nLa cache di database diventa invalida altri strumenti oltre a Kettle sono utilizzati per creare od alterare le tabelle nel database.
|
||||
EnterOptionsDialog.ClearCustomParameters.Label=Pulire i parametri personalizzati (passi / plugin)\:
|
||||
DatabaseDialog.ErrorConnectionInfo.description=Impossibile ricevere le informazioni sulla connessione
|
||||
SQLEditor.Error.CouldNotConnect.Message=Impossibile connettersi al database\!\nPrego controllare i parametri di connessione per la connesione [{0}]\n{1}
|
||||
EnterMappingDialog.AutoTargetSelection.Label=Selezione automatica della destinazione?
|
||||
DatabaseDialog.label.UseConnectionPool=Utilizza pool di connessione
|
||||
DatabaseDialog.label.SystemNumber=Numero sistema
|
||||
CheckResultDialog.Remarks.Label=Rimarche\:
|
||||
DatabaseDialog.column.PoolDescription=Descrizione parametro
|
||||
DatabaseDialog.label.ServerHostname=Nome host server
|
||||
DatabaseDialog.HelpText.title=Opzioni testo d''aiuto
|
||||
DatabaseDialog.FeatureList.title=List feature
|
||||
DatabaseDialog.tooltip.PartitionId=Parametri extra da impostare nell''URL per connettersi al database
|
||||
DatabaseDialog.GenericTab.title=Generico
|
||||
EnterMappingDialog.SourceFields.Label=Campi origine\:
|
||||
DatabaseDialog.label.ConnectionType=Tipo di connessione
|
||||
EnterOptionsDialog.ShowWelcomePage.Label=Mostrare pagina di benvenuto all''avvio?
|
||||
DatabaseDialog.label.TablespaceForIndexes=Tablespace per gli indici
|
||||
SQLEditor.ErrorExecSQL.Message=Errore nell''esecuzione del seguente SQL\:\r\n\r\n{0}
|
||||
EnterOptionsDialog.ReplaceDB.Tooltip=Se quest''opzione \u00E8 attivata le connessioni di database esistenti verranno rimpiazzate durante l''apertura o l''importazione delle trasformazioni.\r\nSe una finestra di conferma venga mostrata \u00E8 deciso dall''opzione di cui sopra.
|
||||
DatabaseExplorerDialog.Views.Label=Viste
|
||||
EnterOptionsDialog.DefaultPreviewSize.Label=Numero di linee di default nella finestra d''anteprima\:
|
||||
DatabaseExplorerDialog.NoRows.Title=Nessuna riga
|
||||
GetDatabaseInfoProgressDialog.Error.Message=Si \u00E8 verificato un errore durante il recupero delle informazioni dal database\!
|
||||
DatabaseDialog.column.Hostname=Nome host
|
||||
DatabaseExplorerDialog.TargetDatabase.Message=Seleziona il database di destinazione\:
|
||||
DatabaseDialog.tooltip.UseClustering=Abilitare clustering per aggiungere tutti i tipi di informazione sul clustering.
|
||||
DatabaseExplorerDialog.Menu.PreviewN=&Anteprima delle prime ... righe di [{0}]
|
||||
EnterMappingDialog.Title=Inserire mappatura
|
||||
CheckResultDialog.ShowSuccessful.Label=Mostra risultati di &successo
|
||||
DatabaseExplorerDialog.Menu.ShowLayout=Mostra layout di [{0}]
|
||||
EnterOptionsDialog.GridSize.ToolTip=Rende le icone agganciate alla griglia e permette un pi\u00F9 agevole allineamento ai passi.
|
||||
DatabaseExplorerDialog.Catalogs.Label=Cataloghi
|
||||
SQLEditor.NoRows.Message=Nessun risultato trovato per lo statement SQL\:\r\n\r\n{0}
|
||||
DatabaseDialog.MySQLTab.title=MySQL
|
||||
EnterMappingDialog.Button.Delete=&Cancella
|
||||
DatabaseDialog.HelpText.description=Questo \u00E8 il testo d''aiuto per [{0}]\:
|
||||
DatabaseDialog.label.MaximumPoolSize=Dimensione massima del pool
|
||||
DatabaseExplorerDialog.UnexpectedProfilingError.Message=Errore di profilo\:
|
||||
EnterOptionsDialog.NoteFont.Label=Font per le note\:
|
||||
DatabaseDialog.label.MySQLStreamResults=Utilizza il risultato dello streaming (emulazione cursore)
|
||||
XulDatabaseDialog.Error.HandleXul=Errore nel lavorare con la definizione XUL
|
||||
EnterOptionsDialog.LineWidth.Label=Larghezza linea nello spazio di lavoro\:
|
||||
EnterOptionsDialog.GraphFont.Label=Font nello spazio di lavoro\:
|
||||
DatabaseExplorerDialog.Menu.GenDDL=Genera DDL
|
||||
EnterOptionsDialog.BackgroundColorGraph.Label=Colore di sfondo del piano di lavoro\:
|
||||
DatabaseDialog.column.PoolValue=Valore
|
||||
EnterSearchDialog.Note.Tooltip=Ricerca note
|
||||
SQLEditor.NoRows.Title=Nessun risultato
|
||||
EnterOptionsDialog.OpenLastFileStartup.Label=Aprire l''ultimo file all''avvio?
|
||||
EnterOptionsDialog.TabColor.Label=Colore tab\:
|
||||
Dialog.Error.Header=Errore
|
||||
XulDatabaseDialog.Error.ResourcesNotFound=Impossibile trovare il bundle delle risorse per il locale primario {0}, errore locale {1}
|
||||
EnterOptionsDialog.BackgroundColor.Label=Colore di sfondo\:
|
||||
DatabaseDialog.column.DatabaseName=Nome del database
|
||||
SQLEditor.ClearWholeCache.Title=Pulire l''intera cache?
|
||||
GetPreviewTableProgressDialog.Error.Title=Errore di ricezione dell''informazione
|
||||
DatabaseDialog.DbTab.title=Generale
|
||||
EnterOptionsDialog.ReplaceDBAsk.Label=Chiedere di rimpiazzare le connessioni esistenti su apri/importa?
|
||||
DatabaseDialog.ConnectionReport.title=Report sulla connessione
|
||||
DatabaseDialog.label.ConnectionName=Nome di connessione
|
||||
DatabaseDialog.DatabaseConnectionTest.title=Test di connessione al database
|
||||
DatabaseDialog.column.Port=Porta
|
||||
DatabaseDialog.ErrorHelpText.description=Impossibile ricevere il testo d''aiuto. Prego assicurarsi che tutti i parametri richiesti siano inseriti correttamente\!
|
||||
EnterOptionsDialog.MaxLogLineTimeout.Label=Timeout in minuti per la memorizzazione del log centrale
|
||||
DatabaseExplorerDialog.NoRows.Message=La tabella non contiene righe
|
||||
DatabaseExplorerDialog.Menu.GenDDLOtherConn=Genera DDL per altra connessione
|
||||
SQLEditor.Error.CouldNotConnect.Title=Impossibile connettersi
|
||||
EnterSearchDialog.Note.Label=Ricerca note
|
||||
EnterOptionsDialog.AskOnExit.Label=Chiedere conferma per l''uscita?
|
||||
DatabaseExplorerDialog.TableLayout.ShellText=Layout tabella
|
||||
DatabaseExplorerDialog.Synonyms.Label=Sinonimi
|
||||
EnterOptionsDialog.CopyOrDistributeDialog.Tooltip=Se quest''opzione \u00E8 attivata e un passo sta per consegnare i dati a pi\u00F9 di un passo, una finestra chiede \r\nall''utente se i dati debbano essere distribuiti a ciascun passo ricevente o se ciascun passo ricevente debba ricevere gli stessi dati (copia).\r\nSe quest''opzione non \u00E8 attivata il comportamento di default \u00E8 copiare i dati.
|
||||
DatabaseDialog.ErrorParameters2.title=Errore\!
|
||||
DatabaseExplorerDialog.Menu.Preview100=&Anteprima delle prime 100 righe di [{0}]
|
||||
DatabaseDialog.GenericTab.tooltip=Parametri nel caso si voglia utilizzare un database generico con un driver JDBC non supportato
|
||||
EnterMappingDialog.AutoSourceSelection.Label=Selezione automatica dell''origine?
|
||||
DatabaseDialog.ConnectionReport.description=Ecco il report sulla connessione
|
||||
DatabaseExplorerDialog.PreviewTable.Message=Numero di linee per l''anteprima (0 significa tutte le linee)
|
||||
DatabaseDialog.FeatureListError.title=Errore\!
|
||||
EnterOptionsDialog.FixedWidthFont.Label=Font a larghezza fissa\:
|
||||
EnterOptionsDialog.UseDatabaseCache.Label=Utilizzare la cache del database?
|
||||
DatabaseDialog.ErrorParameters2.description=Prego assicurarsi che tutti i parametri richiesti siano inseriti correttamente\:\r\n{0}
|
||||
GetTableSizeProgressDialog.Error.Title=Errore nel recupero delle informazioni
|
||||
EnterOptionsDialog.Branding.Label=Mostrare logo
|
||||
XulDatabaseDialog.Error.Dialog=Errore generale nella finestra
|
||||
EnterOptionsDialog.Title=Opzioni Kettle
|
||||
DatabaseDialog.label.AdvancedQuoteAllFields=Quota fra virgolette tutti gli identificatori nel database
|
||||
DatabaseDialog.column.PartitionId=ID partizione
|
||||
DatabaseDialog.ErrorParameters.description=Prego assicurarsi che tutti i parametri richiesti siano inseriti correttamente\!
|
||||
EnterOptionsDialog.IconSize.Label=Dimensione icona nello spazio di lavoro\:
|
||||
EnterMappingDialog.HideUsedTargets=Nascondere campi di destinazione assegnati?
|
||||
DatabaseExplorerDialog.Menu.ShowSize=Numero di righe di [{0}]
|
||||
EnterOptionsDialog.ClearCustomParameters.Confirmation=I flag ed i parametri personalizzati sono stati cancellati.
|
||||
CheckResultDialog.TextDialog.Title=Vedi messaggio
|
||||
EnterOptionsDialog.LookAndFeel.Label=Look && Feel
|
||||
SQLEditor.LineNr.Label=Numero linea\: {0}
|
||||
CheckResultDialog.Title=Risultati dei controlli sulla trasformazione
|
||||
SQLEditor.ErrorExecSQL.Title=Errore di esecuzione SQL
|
||||
EnterOptionsDialog.ToolTipsEnabled.Label=Mostrare suggerimenti?
|
||||
DatabaseExplorerDialog.TargetDatabase.Title=Database di destinazione
|
||||
DatabaseExplorerDialog.TableLayout.OriginText=Tabella
|
||||
SQLEditor.ResultRows.Title=statement SQL \#{0}
|
||||
EnterOptionsDialog.MaxNrLogLinesSize.Label=N\u00B0 massimo di linee nelle finestre di log
|
||||
DatabaseDialog.column.Value=Valore
|
||||
DatabaseDialog.PoolTab.title=Pooling
|
||||
DatabaseDialog.SQLTab.title=SQL
|
||||
DatabaseDialog.FeatureListError.description=Impossibile recuperare la lista delle feature. Prego assicurarsi che tutti i parametri richiesti siano stati inseriti correttamente\!
|
||||
DatabaseDialog.ErrorHelpText.title=Errore\!
|
||||
DatabaseDialog.IfxTab.title=Informix
|
||||
EnterMappingDialog.ResultMappings.Label=Mappature\:
|
||||
SQLEditor.Position.Label=Linea {0} colonna {1}
|
||||
DatabaseDialog.column.DbType=Tipo database
|
||||
DatabaseExplorerDialog.NoConnectionsKnown.Message=A questo punto nessuna connessione \u00E8 disponibile per generare DDL.
|
||||
DatabaseDialog.label.SapClient=SAP Client
|
||||
CheckResultDialog.HideSuccessful.Label=Nascondi risultati di &successo
|
||||
DatabaseDialog.tooltip.Options=Opzioni extra da impostare nell''URL
|
||||
CheckResultDialog.WarningsErrors.Label=Avvisi ed errori\:
|
||||
DatabaseDialog.label.Statements=Gli statement da eseguire appena dopo la connessione (separati da ;)
|
||||
DatabaseExplorerDialog.Menu.ProfileTable=Profilo di dati ''{0}''
|
||||
GetDatabaseInfoProgressDialog.Error.Title=Errore nel prelievo delle informazioni
|
||||
DatabaseDialog.label.Password=Password
|
||||
DatabaseDialog.column.Password=Password
|
||||
DatabaseDialog.label.Url=URL
|
||||
DatabaseDialog.label.AdvancedForceIdentifiersLowerCase=Forza tutti gli identificatori al carattere minuscolo
|
||||
DatabaseExplorerDialog.Error.GenDDL=Impossibile generare il DDL
|
||||
EnterOptionsDialog.ShadowSize.Label=Dimensione dell''ombra nello spazio di lavoro\:
|
||||
XulDatabaseDialog.Error.Title=Errore
|
||||
DatabaseDialog.label.InformixServername=Nome server Informix
|
||||
EnterOptionsDialog.AutoSplitHops.Label=Separare automaticamente gli hop?
|
||||
DatabaseExplorerDialog.TableSize.Title=Numero di righe
|
||||
EnterOptionsDialog.Button.Reset=Reset
|
||||
SQLEditor.Button.Execute=&Esegui
|
||||
DatabaseDialog.tooltip.Hostname=Valori da impostare per i parametri
|
||||
EnterOptionsDialog.CanvasIndicateSlowSteps.Label=Mostra i passi della trasformazione collo di bottiglia
|
||||
DatabaseDialog.label.PortNumber=Numero porta
|
||||
EnterOptionsDialog.FailoverLocale.Label=Lingua alternativa\:
|
||||
DatabaseDialog.label.InitialPoolSize=Dimensione iniziale del pool
|
||||
DatabaseDialog.Shell.title=Informazioni di connessione
|
||||
DatabaseExplorerDialog.Menu.Truncate=Tronca tabella [{0}]
|
||||
DatabaseDialog.label.UseDoubleDecimalSeparator=Utilizza .. per separare lo schema e la tabella
|
||||
DatabaseExplorerDialog.Menu.DisplayColumns=Mostra colonne
|
||||
SQLEditor.Editor.Label=statement SQL, separati da punto e virgola '';''
|
||||
DatabaseExplorerDialog.Schemas.Label=Schema
|
||||
SQLEditor.ClearWholeCache.Message=Vuoi pulire completamente la cache?\r\nSe viene premuto "No" soltanto la cache della connessione del database ''{0}'' viene pulita
|
||||
GetTableSizeProgressDialog.Error.Message=Si \u00E8 verificato un errore durante il recupero delle informazioni dal database\!
|
||||
DatabaseDialog.MSSQLTab.title=SQL Server
|
||||
EnterOptionsDialog.AutoSave.Label=Salvare automaticamente i file cambiati?
|
||||
DatabaseExplorerDialog.Error.RetrieveLayout=Impossibile recuperare il layout della tabella.
|
||||
EnterSearchDialog.Step.Label=Passi di ricerca
|
||||
EnterOptionsDialog.CanvasIndicateSlowSteps.Tooltip=Se abilitato, disegna un bordo animato dentro i passi della trasformazione che ricevono righe di input pi\u00F9 velocemente di quelle che posso processare (passi collo di bottiglia).
|
||||
EnterOptionsDialog.Button.Reset.Tooltip=Azzera quest''opzione al valore di default
|
||||
DatabaseExplorerDialog.Procedures.Label=Procedure
|
||||
EnterOptionsDialog.Button.Edit=Cambia
|
||||
DatabaseDialog.label.TablespaceForData=Tablespace per i dati
|
||||
DatabaseDialog.label.PoolParameters=Parametri di connessione di pooling
|
||||
DatabaseExplorerDialog.NoConnectionsKnown.Title=Nessuna connessione nota
|
||||
SQLEditor.WholeCacheCleared.Title=Cache pulita
|
||||
EnterOptionsDialog.CopyOrDistributeDialog.Label=Mostrare finestra "copia o distribuisci"?
|
||||
CheckResultDialog.Remark.Label=Rimarca
|
||||
SQLEditor.Result.Message=Gli statement SQL hanno i seguenti risultati
|
||||
EnterSearchDialog.Step.Tooltip=Passi di ricerca
|
||||
EnterOptionsDialog.ClearCustomParameters.Tooltip=Cancella tutti i flag e parametri personalizzati nelle finestre dei passi e dei plugin
|
||||
EnterOptionsDialog.ShowTipsStartup.Label=Mostrare suggerimento all''avvio?
|
||||
GetDatabaseInfoProgressDialog.Error.GettingInfoTable=Rilevato un problema nel prelevare le informazioni dal database\: {0}
|
||||
EnterSearchDialog.DB.Tooltip=Ricerca connessioni database
|
||||
SQLEditor.Log.SQLExecError=Errore durante l''esecuzione\: {0}\r\n{1}
|
||||
DatabaseDialog.label.DatabaseName=Nome database
|
||||
DatabaseDialog.AdvancedTab.title=Avanzato
|
||||
DatabaseDialog.column.Parameter=Parametro
|
||||
CheckResultDialog.TextDialog.Subtitle=Messaggio\:
|
||||
SQLEditor.Title=Editor SQL semplice
|
||||
GetQueryFieldsProgressDialog.Error.Message=Si \u00E8 verificato un errore durante il recupero delle informazioni dal database\!
|
||||
DatabaseDialog.label.AccessMethod=Metodo di accesso
|
||||
DatabaseDialog.Exception.IncorrectParameter=Parametro/i di database incorretto/i\! Controlla questi parametri\:
|
||||
EnterOptionsDialog.ReplaceDBAsk.Tooltip=Se le trasformazioni sono aperte o importate e le connessioni di database esistono con lo stesso nome di quelle correnti,\r\npotrebbe essere mostrata una finestra per chiedere all''utente se rimpiazzare le connessioni esistenti oppure no.
|
||||
DatabaseDialog.column.PoolDefault=Valore di default
|
||||
DatabaseDialog.button.FeatureList=Lista delle feature
|
||||
SQLEditor.Log.StatsExecuted={0} statement SQL eseguito
|
||||
EnterOptionsDialog.MaximumUndo.Label=Massimo livello di annullamento (Undo)\:
|
||||
EnterOptionsDialog.ClearCustomParameters.Title=Domanda
|
|
@ -0,0 +1,339 @@
|
|||
#File generated by Hitachi Vantara Translator for package 'org.pentaho.di.ui.core.database.dialog' in locale 'en_US'
|
||||
CheckResultDialog.Button.EditOriginStep=\u5143\u306e\u30b9\u30c6\u30c3\u30d7\u3092\u7de8\u96c6
|
||||
CheckResultDialog.Button.ViewMessage=\u30E1\u30C3\u30BB\u30FC\u30B8\u8868\u793A
|
||||
CheckResultDialog.HideSuccessful.Label=\u6210\u529F\u7D50\u679C\u3092\u96A0\u3059(&)
|
||||
CheckResultDialog.Remark.Label=\u8AAC\u660E
|
||||
CheckResultDialog.Remarks.Label=\u8AAC\u660E\:
|
||||
CheckResultDialog.Result.Label=\u7D50\u679C
|
||||
CheckResultDialog.ShowSuccessful.Label=\u6210\u529F\u7D50\u679C\u8868\u793A(&s)
|
||||
CheckResultDialog.Stepname.Label=\u30B9\u30C6\u30C3\u30D7\u540D
|
||||
CheckResultDialog.TextDialog.Subtitle=\u30E1\u30C3\u30BB\u30FC\u30B8\:
|
||||
CheckResultDialog.TextDialog.SubtitlePlural=\u30E1\u30C3\u30BB\u30FC\u30B8\:
|
||||
CheckResultDialog.TextDialog.Title=\u30E1\u30C3\u30BB\u30FC\u30B8\u8868\u793A
|
||||
CheckResultDialog.Title=\u30C7\u30FC\u30BF\u5909\u63DB\u30C1\u30A7\u30C3\u30AF\u306E\u7D50\u679C
|
||||
#Wed Sep 02 18:46:59 CEST 2009
|
||||
CheckResultDialog.WarningsErrors.Label=\u8b66\u544a\u3068\u30a8\u30e9\u30fc:
|
||||
ConditionDialog.Title=\u6761\u4ef6\u3092\u5165\u529b
|
||||
DatabaseDialog.AdvancedTab.title=\u8A73\u7D30
|
||||
DatabaseDialog.ClusterTab.title=\u30AF\u30E9\u30B9\u30BF\u30FC
|
||||
DatabaseDialog.ClusterTab.tooltip=\u30AA\u30D7\u30B7\u30E7\u30F3\u30AF\u30E9\u30B9\u30BF\u60C5\u5831
|
||||
DatabaseDialog.ConnectionReport.description=\u63A5\u7D9A\u30EC\u30DD\u30FC\u30C8\u304C\u3042\u308A\u307E\u3059
|
||||
DatabaseDialog.ConnectionReport.title=\u63A5\u7D9A\u7D50\u679C
|
||||
DatabaseDialog.DatabaseConnectionTest.title=\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u63A5\u7D9A\u30C6\u30B9\u30C8
|
||||
DatabaseDialog.DbTab.title=\u4E00\u822C
|
||||
DatabaseDialog.ErrorConnectionInfo.description=\u63A5\u7D9A\u60C5\u5831\u3092\u53D6\u5F97\u3067\u304D\u307E\u305B\u3093
|
||||
DatabaseDialog.ErrorConnectionInfo.title=\u30A8\u30E9\u30FC
|
||||
DatabaseDialog.ErrorHelpText.description=\u30D8\u30EB\u30D7\u30C6\u30AD\u30B9\u30C8\u3092\u53D6\u5F97\u3067\u304D\u307E\u305B\u3093\u3002\u3059\u3079\u3066\u306E\u5FC5\u9808\u30D1\u30E9\u30E1\u30FC\u30BF\u304C\u6B63\u3057\u304F\u5165\u529B\u3055\u308C\u3066\u3044\u308B\u3053\u3068\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002
|
||||
DatabaseDialog.ErrorHelpText.title=\u30A8\u30E9\u30FC
|
||||
DatabaseDialog.ErrorParameters.description=\u3059\u3079\u3066\u306E\u5FC5\u9808\u30D1\u30E9\u30E1\u30FC\u30BF\u304C\u6B63\u3057\u304F\u5165\u529B\u3055\u308C\u3066\u3044\u308B\u3053\u3068\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002
|
||||
DatabaseDialog.ErrorParameters.title=\u30A8\u30E9\u30FC
|
||||
DatabaseDialog.ErrorParameters2.description=\u3059\u3079\u3066\u306E\u5FC5\u9808\u30D1\u30E9\u30E1\u30FC\u30BF\u304C\u6B63\u3057\u304F\u5165\u529B\u3055\u308C\u305F\u3053\u3068\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\:\n{0}
|
||||
DatabaseDialog.ErrorParameters2.title=\u30A8\u30E9\u30FC
|
||||
DatabaseDialog.Exception.IncorrectParameter=\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u30D1\u30E9\u30E1\u30FC\u30BF\u304C\u4E0D\u6B63\u3067\u3059\u3002\u8A2D\u5B9A\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044 \:
|
||||
DatabaseDialog.ExplorerNotImplemented.Message=\u3053\u306E\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u306E\u691C\u7D22\u306F\u3067\u304D\u307E\u305B\u3093\u3002
|
||||
DatabaseDialog.ExplorerNotImplemented.Title=\u78BA\u8A8D
|
||||
DatabaseDialog.FeatureList.title=\u30D7\u30ED\u30D1\u30C6\u30A3\u30EA\u30B9\u30C8
|
||||
DatabaseDialog.FeatureList.title2="\u6a5f\u80fd\u30ea\u30b9\u30c8\:"
|
||||
DatabaseDialog.FeatureListError.description=\u30D7\u30ED\u30D1\u30C6\u30A3\u30EA\u30B9\u30C8\u3092\u53D6\u5F97\u3067\u304D\u307E\u305B\u3093\u3002\u3059\u3079\u3066\u306E\u5FC5\u9808\u30D1\u30E9\u30E1\u30FC\u30BF\u304C\u6B63\u3057\u304F\u5165\u529B\u3055\u308C\u3066\u3044\u308B\u3053\u3068\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002
|
||||
DatabaseDialog.FeatureListError.title=\u30A8\u30E9\u30FC
|
||||
DatabaseDialog.GenericTab.title=\u4E00\u822C
|
||||
DatabaseDialog.GenericTab.tooltip=\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u306A\u3044JDBC\u30C9\u30E9\u30A4\u30D0\u3067\u4E00\u822C\u7684\u306A\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u3092\u4F7F\u3046\u5834\u5408\u306E\u8A2D\u5B9A
|
||||
DatabaseDialog.HelpText.description=\u30D8\u30EB\u30D7\u30C6\u30AD\u30B9\u30C8 [{0}] \:
|
||||
DatabaseDialog.HelpText.title=\u30aa\u30d7\u30b7\u30e7\u30f3\u30d8\u30eb\u30d7\u30c6\u30ad\u30b9\u30c8
|
||||
DatabaseDialog.IfxTab.title=Informix
|
||||
DatabaseDialog.JDBCOptions.Tab={0}\: JDBC \u30AA\u30D7\u30B7\u30E7\u30F3\u30D8\u30EB\u30D7
|
||||
DatabaseDialog.MSSQLTab.title=SQL Server
|
||||
DatabaseDialog.MySQLTab.title=MySQL
|
||||
DatabaseDialog.OracleTab.title=Oracle
|
||||
DatabaseDialog.PoolTab.title=\u30D7\u30FC\u30EA\u30F3\u30B0
|
||||
DatabaseDialog.SQLTab.title=SQL
|
||||
DatabaseDialog.SQLTab.tooltip=\u63A5\u7D9A\u5F8C\u306B\u5B9F\u884C\u3059\u308BSQL\u3092\u6307\u5B9A\u3057\u307E\u3059
|
||||
DatabaseDialog.Shell.title=\u63A5\u7D9A\u60C5\u5831
|
||||
DatabaseDialog.button.Explore=\u691C\u7D22
|
||||
DatabaseDialog.button.FeatureList=\u30EA\u30B9\u30C8
|
||||
DatabaseDialog.button.ShowHelp=\u30AA\u30D7\u30B7\u30E7\u30F3\u4F7F\u7528\u306B\u95A2\u3057\u3066\u30D8\u30EB\u30D7\u30C6\u30AD\u30B9\u30C8\u3092\u8868\u793A
|
||||
DatabaseDialog.button.Test=\u30C6\u30B9\u30C8
|
||||
DatabaseDialog.column.DatabaseName=\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u540D
|
||||
DatabaseDialog.column.DbType=\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u30BF\u30A4\u30D7
|
||||
DatabaseDialog.column.Hostname=\u30DB\u30B9\u30C8\u540D
|
||||
DatabaseDialog.column.Parameter=\u30D1\u30E9\u30E1\u30FC\u30BF\u30FC
|
||||
DatabaseDialog.column.PartitionId=\u30D1\u30FC\u30C6\u30A3\u30B7\u30E7\u30F3ID
|
||||
DatabaseDialog.column.Password=\u30D1\u30B9\u30EF\u30FC\u30C9
|
||||
DatabaseDialog.column.PoolDefault=\u30C7\u30D5\u30A9\u30EB\u30C8\u5024
|
||||
DatabaseDialog.column.PoolDescription=\u30D1\u30E9\u30E1\u30FC\u30BF\u30FC\u8AAC\u660E
|
||||
DatabaseDialog.column.PoolParameter=\u30D7\u30FC\u30EB\u30D1\u30E9\u30E1\u30FC\u30BF\u30FC
|
||||
DatabaseDialog.column.PoolValue=\u5024
|
||||
DatabaseDialog.column.Port=\u30DD\u30FC\u30C8
|
||||
DatabaseDialog.column.SelectPoolParameter=\u8A2D\u5B9A\u3059\u308B\u30D7\u30FC\u30EB\u30D1\u30E9\u30E1\u30FC\u30BF\u9078\u629E
|
||||
DatabaseDialog.column.Username=\u30E6\u30FC\u30B6\u30FC\u540D
|
||||
DatabaseDialog.column.Value=\u5024
|
||||
DatabaseDialog.label.AccessMethod=\u30A2\u30AF\u30BB\u30B9\u65B9\u6CD5
|
||||
DatabaseDialog.label.AdvancedForceIdentifiersLowerCase=\u3059\u3079\u3066\u306e\u8b58\u5225\u5b50\u3092\u5c0f\u6587\u5b57\u306b\u3059\u308b
|
||||
DatabaseDialog.label.AdvancedForceIdentifiersUpperCase=\u5927\u6587\u5B57\u306B\u3059\u3079\u3066\u306E\u8B58\u5225\u5B50\u3092\u5F37\u8981\u3059\u308B
|
||||
DatabaseDialog.label.AdvancedQuoteAllFields=\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306e\u3059\u3079\u3066\u306e\u8b58\u5225\u5b50\u3092\u30af\u30aa\u30fc\u30c8\u3067\u56f2\u3080
|
||||
DatabaseDialog.label.ConnectionName=\u63A5\u7D9A\u540D
|
||||
DatabaseDialog.label.ConnectionType=\u63A5\u7D9A\u30BF\u30A4\u30D7
|
||||
DatabaseDialog.label.DatabaseName=\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u540D
|
||||
DatabaseDialog.label.DriverClass=\u30C9\u30E9\u30A4\u30D0\u30FC\u30AF\u30E9\u30B9
|
||||
DatabaseDialog.label.InformixServername=Informix \u30B5\u30FC\u30D0\u30FC\u540D
|
||||
DatabaseDialog.label.InitialPoolSize=\u521D\u671F\u30D7\u30FC\u30EB\u30B5\u30A4\u30BA
|
||||
DatabaseDialog.label.Language=\u8A00\u8A9E
|
||||
DatabaseDialog.label.MaximumPoolSize=\u6700\u5927\u30D7\u30FC\u30EB\u30B5\u30A4\u30BA
|
||||
DatabaseDialog.label.MySQLStreamResults=\u7D50\u679C\u30B9\u30C8\u30EA\u30FC\u30DF\u30F3\u30B0\u3092\u4F7F\u7528(\u30AB\u30FC\u30BD\u30EB\u30A8\u30DF\u30E5\u30EC\u30FC\u30B7\u30E7\u30F3)
|
||||
DatabaseDialog.label.Options=\u30AA\u30D7\u30B7\u30E7\u30F3
|
||||
DatabaseDialog.label.Password=\u30D1\u30B9\u30EF\u30FC\u30C9
|
||||
DatabaseDialog.label.PoolParameters=\u30B3\u30CD\u30AF\u30B7\u30E7\u30F3\u30D7\u30FC\u30EA\u30F3\u30B0\u30D1\u30E9\u30E1\u30FC\u30BF\u30FC
|
||||
DatabaseDialog.label.PortNumber=\u30DD\u30FC\u30C8\u756A\u53F7
|
||||
DatabaseDialog.label.PreferredSchemaName=\u63A8\u5968\u306E\u30B9\u30AD\u30FC\u30DE\u540D\u3002\u30B9\u30AD\u30FC\u30DE\u3092\u6307\u5B9A\u3057\u306A\u3044\u3068\u304D\u306B\u4F7F\u7528\u3055\u308C\u307E\u3059\u3002
|
||||
DatabaseDialog.label.SQLServerInstance=SQL\u30b5\u30fc\u30d0\u30fc\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u540d
|
||||
DatabaseDialog.label.Sap=SAP ERP
|
||||
DatabaseDialog.label.SapClient=SAP\u30af\u30e9\u30a4\u30a2\u30f3\u30c8
|
||||
DatabaseDialog.label.ServerHostname=\u30B5\u30FC\u30D0\u30FC\u30DB\u30B9\u30C8\u540D
|
||||
DatabaseDialog.label.Statements=\u63A5\u7D9A\u76F4\u5F8C\u306B\u5B9F\u884C\u3059\u308BSQL\u6587 (; \u3067\u533A\u5207\u308B)
|
||||
DatabaseDialog.label.SystemNumber=\u30B7\u30B9\u30C6\u30E0\u756A\u53F7
|
||||
DatabaseDialog.label.TablespaceForData=\u30C7\u30FC\u30BF\u306E\u305F\u3081\u306E\u30C6\u30FC\u30D6\u30EB\u30B9\u30DA\u30FC\u30B9
|
||||
DatabaseDialog.label.TablespaceForIndexes=\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u306E\u305F\u3081\u306E\u30C6\u30FC\u30D6\u30EB\u30B9\u30DA\u30FC\u30B9
|
||||
DatabaseDialog.label.Url=URL
|
||||
DatabaseDialog.label.UseClustering=\u30AF\u30E9\u30B9\u30BF\u30EA\u30F3\u30B0\u4F7F\u7528
|
||||
DatabaseDialog.label.UseConnectionPool=\u30B3\u30CD\u30AF\u30B7\u30E7\u30F3\u30D7\u30FC\u30EB\u4F7F\u7528
|
||||
DatabaseDialog.label.UseDoubleDecimalSeparator=..\u3067\u30b9\u30ad\u30fc\u30de\u3068\u30c6\u30fc\u30d6\u30eb\u3092\u5206\u3051\u308b
|
||||
DatabaseDialog.label.Username=\u30E6\u30FC\u30B6\u30FC\u540D
|
||||
DatabaseDialog.tooltip.DbType=\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u63a5\u7d9a\u7528URL\u306b\u8a2d\u5b9a\u3059\u308b\u8ffd\u52a0\u30d1\u30e9\u30e1\u30fc\u30bf\u30fc
|
||||
DatabaseDialog.tooltip.Hostname=\u30D1\u30E9\u30E1\u30FC\u30BF\u30FC\u306B\u8A2D\u5B9A\u3059\u308B\u5024
|
||||
DatabaseDialog.tooltip.Options=URL\u3067\u8A2D\u5B9A\u3059\u308B\u8FFD\u52A0\u30AA\u30D7\u30B7\u30E7\u30F3
|
||||
DatabaseDialog.tooltip.Parameter=\u30D1\u30E9\u30E1\u30FC\u30BF\u306B\u8A2D\u5B9A\u3059\u308B\u5024
|
||||
DatabaseDialog.tooltip.PartitionId=\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u306B\u63A5\u7D9A\u3059\u308BURL\u3067\u8A2D\u5B9A\u3059\u308B\u7279\u5225\u306A\u30D1\u30E9\u30E1\u30FC\u30BF\u30FC
|
||||
DatabaseDialog.tooltip.UseClustering=\u3059\u3079\u3066\u306E\u7A2E\u985E\u306E\u30AF\u30E9\u30B9\u30BF\u30EA\u30F3\u30B0\u60C5\u5831\u3092\u8FFD\u52A0\u3059\u308B\u30AF\u30E9\u30B9\u30EA\u30F3\u30B0\u3092\u53EF\u80FD\u306B\u3059\u308B\u3002
|
||||
DatabaseExplorer.Actions=\u6A5F\u80FD
|
||||
DatabaseExplorer.Button.Cancel=&Cancel
|
||||
DatabaseExplorer.Button.Ok=&OK
|
||||
DatabaseExplorer.DDL=DDL
|
||||
DatabaseExplorer.DataProfile=\u30C7\u30FC\u30BF\u30D7\u30ED\u30D5\u30A1\u30A4\u30EB
|
||||
DatabaseExplorer.Preview100=\u6700\u521D\u306E100\u884C\u30D7\u30EC\u30D3\u30E5\u30FC
|
||||
DatabaseExplorer.PreviewX=x\u884C\u30D7\u30EC\u30D3\u30E5\u30FC
|
||||
DatabaseExplorer.RowCount=\u884C\u6570\u30AB\u30A6\u30F3\u30C8
|
||||
DatabaseExplorer.SelectConnection=\u63A5\u7D9A\u3092\u9078\u629E
|
||||
DatabaseExplorer.ShowLayout=\u30EC\u30A4\u30A2\u30A6\u30C8\u8868\u793A
|
||||
DatabaseExplorer.Title=\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u30A8\u30AF\u30B9\u30D7\u30ED\u30FC\u30E9\u30FC
|
||||
DatabaseExplorer.Truncate=\u30C8\u30E9\u30F3\u30B1\u30FC\u30C8\u30C6\u30FC\u30D6\u30EB
|
||||
DatabaseExplorer.UseCurrent=\u73FE\u5728\u306E\u63A5\u7D9A\u3092\u4F7F\u7528
|
||||
DatabaseExplorer.ViewSQL=SQL\u30D3\u30E5\u30FC
|
||||
DatabaseExplorerDialog.Catalogs.Label=\u30AB\u30BF\u30ED\u30B0
|
||||
DatabaseExplorerDialog.Error.GenDDL=DDL\u3092\u751F\u6210\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002
|
||||
DatabaseExplorerDialog.Error.RetrieveLayout=\u30C6\u30FC\u30D6\u30EB\u30EC\u30A4\u30A2\u30A6\u30C8\u3092\u8AAD\u307F\u51FA\u305B\u307E\u305B\u3093\u3067\u3057\u305F\u3002
|
||||
DatabaseExplorerDialog.Menu.DisplayColumns=\u8868\u793A\u30AB\u30E9\u30E0
|
||||
DatabaseExplorerDialog.Menu.GenDDL=Generate DDL
|
||||
DatabaseExplorerDialog.Menu.GenDDLOtherConn=\u4ED6\u306E\u63A5\u7D9A\u306EDDL\u751F\u6210
|
||||
DatabaseExplorerDialog.Menu.OpenSQL=[{0}] \u306ESQL\u3092\u958B\u304F
|
||||
DatabaseExplorerDialog.Menu.Preview100=[{0}] \u306E\u6700\u521D\u306E100\u884C\u3092\u30D7\u30EC\u30D3\u30E5\u30FC(&P)
|
||||
DatabaseExplorerDialog.Menu.PreviewN=[{0}] \u306E\u6700\u521D\u306E ... \u884C\u3092\u30D7\u30EC\u30D3\u30E5\u30FC(&P)
|
||||
DatabaseExplorerDialog.Menu.ProfileTable=\u30C7\u30FC\u30BF\u30D7\u30ED\u30D5\u30A1\u30A4\u30EB ''{0}''
|
||||
DatabaseExplorerDialog.Menu.ShowLayout=[{0}] \u306E\u30EC\u30A4\u30A2\u30A6\u30C8\u3092\u8868\u793A
|
||||
DatabaseExplorerDialog.Menu.ShowSize=[{0}] \u306E\u884C\u6570
|
||||
DatabaseExplorerDialog.Menu.Truncate=\u30C8\u30E9\u30F3\u30B1\u30FC\u30C8\u30C6\u30FC\u30D6\u30EB [{0}]
|
||||
DatabaseExplorerDialog.NoConnectionsKnown.Message=\u73FE\u5728\u306E\u3068\u3053\u308D\u3001\u4ED6\u306E\u63A5\u7D9A\u306FDDL\u3092\u751F\u6210\u3067\u304D\u307E\u305B\u3093\u3002
|
||||
DatabaseExplorerDialog.NoConnectionsKnown.Title=\u63A5\u7D9A\u4E0D\u660E
|
||||
DatabaseExplorerDialog.NoRows.Message=\u30C6\u30FC\u30D6\u30EB\u306F\u884C\u3092\u542B\u307F\u307E\u305B\u3093
|
||||
DatabaseExplorerDialog.NoRows.Title=\u30EC\u30B3\u30FC\u30C9\u306A\u3057
|
||||
DatabaseExplorerDialog.PreviewTable.Message=\u30D7\u30EC\u30D3\u30E5\u30FC\u884C\u6570 (0\u306F\u3059\u3079\u3066\u306E\u884C\u3092\u610F\u5473\u3057\u307E\u3059)
|
||||
DatabaseExplorerDialog.PreviewTable.Title=\u30D7\u30EC\u30D3\u30E5\u30FC\u9650\u754C
|
||||
DatabaseExplorerDialog.Procedures.Label=Procedures
|
||||
DatabaseExplorerDialog.Schemas.Label=\u30B9\u30AD\u30FC\u30DE
|
||||
DatabaseExplorerDialog.Synonyms.Label=Synonyms
|
||||
DatabaseExplorerDialog.TableSize.Message=\u30C6\u30FC\u30D6\u30EB ''{0}'' \u5185\u5BB9 {1} \u884C
|
||||
DatabaseExplorerDialog.TableSize.Title=\u30EC\u30B3\u30FC\u30C9\u6570
|
||||
DatabaseExplorerDialog.Tables.Label=\u30C6\u30FC\u30D6\u30EB
|
||||
DatabaseExplorerDialog.TargetDatabase.Message=\u30BF\u30FC\u30B2\u30C3\u30C8\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u9078\u629E\:
|
||||
DatabaseExplorerDialog.TargetDatabase.Title=\u30BF\u30FC\u30B2\u30C3\u30C8\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9
|
||||
DatabaseExplorerDialog.Title=\u63A5\u7D9A [{0}] \u306E\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u30A8\u30AF\u30B9\u30D7\u30ED\u30FC\u30E9\u30FC
|
||||
DatabaseExplorerDialog.UnexpectedProfilingError.Message=\u4E88\u671F\u305B\u306C\u30D7\u30ED\u30D5\u30A1\u30A4\u30EB\u30A8\u30E9\u30FC\u304C\u3042\u308A\u307E\u3057\u305F\:
|
||||
DatabaseExplorerDialog.UnexpectedProfilingError.Title=\u30D7\u30ED\u30D5\u30A1\u30A4\u30EA\u30F3\u30B0\u30A8\u30E9\u30FC
|
||||
DatabaseExplorerDialog.Views.Label=\u30D3\u30E5\u30FC
|
||||
Dialog.Error.EnterInteger=\u6570\u5024\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044\u3002
|
||||
Dialog.Error.Header=\u30A8\u30E9\u30FC
|
||||
EnterConditionDialog.Title=\u30A8\u30E9\u30FC\u72B6\u6CC1
|
||||
EnterListDialog.AddAll.Tooltip=\u5DE6\u306E\u30A2\u30A4\u30C6\u30E0\u3092\u3059\u3079\u3066\u8FFD\u52A0
|
||||
EnterListDialog.AddOne.Tooltip=\u5DE6\u306E\u9078\u629E\u3057\u3066\u3044\u308B\u30A2\u30A4\u30C6\u30E0\u3092\u8FFD\u52A0
|
||||
EnterListDialog.AvailableItems.Label=\u30A2\u30A4\u30C6\u30E0\:
|
||||
EnterListDialog.RemoveAll.Tooltip=\u5DE6\u306E\u3059\u3079\u3066\u306E\u30A2\u30A4\u30C6\u30E0\u3092\u8FFD\u52A0
|
||||
EnterListDialog.RemoveOne.Tooltip=\u53F3\u306E\u9078\u629E\u3057\u3066\u3044\u308B\u30A2\u30A4\u30C6\u30E0\u3092\u524A\u9664
|
||||
EnterListDialog.Selection.Label=\u9078\u629E\:
|
||||
EnterListDialog.Title=\u5165\u529B\u30EA\u30B9\u30C8
|
||||
EnterMappingDialog.AutoSourceSelection.Label=\u81EA\u52D5\u3067\u30BD\u30FC\u30B9\u9078\u629E\u3059\u308B
|
||||
EnterMappingDialog.AutoTargetSelection.Label=\u81EA\u52D5\u3067\u30BF\u30FC\u30B2\u30C3\u30C8\u9078\u629E\u3059\u308B
|
||||
EnterMappingDialog.Button.Add=\u8FFD\u52A0(&A)
|
||||
EnterMappingDialog.Button.Delete=\u524A\u9664(&D)
|
||||
EnterMappingDialog.Button.Guess=\u63A8\u6E2C(&G)
|
||||
EnterMappingDialog.HideUsedSources=\u5272\u308A\u5F53\u3066\u305F\u30BD\u30FC\u30B9\u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u975E\u8868\u793A
|
||||
EnterMappingDialog.HideUsedTargets=\u30bf\u30fc\u30b2\u30c3\u30c8\u30d5\u30a3\u30fc\u30eb\u30c9\u3092\u96a0\u3057\u307e\u3059\u304b?
|
||||
EnterMappingDialog.ResultMappings.Label=\u30DE\u30C3\u30D4\u30F3\u30B0\:
|
||||
EnterMappingDialog.SourceFields.Label=\u30bd\u30fc\u30b9\u30d5\u30a3\u30fc\u30eb\u30c9\:
|
||||
EnterMappingDialog.TargetFields.Label=\u30BF\u30FC\u30B2\u30C3\u30C8\u30D5\u30A3\u30FC\u30EB\u30C9\:
|
||||
EnterMappingDialog.Title=\u30DE\u30C3\u30D4\u30F3\u30B0\u5165\u529B
|
||||
EnterOptionsDialog.AskOnExit.Label=\u7D42\u4E86\u6642\u306B\u78BA\u8A8D\u3059\u308B\:
|
||||
EnterOptionsDialog.AutoSave.Label=\u5909\u66F4\u3057\u305F\u30D5\u30A1\u30A4\u30EB\u3092\u81EA\u52D5\u4FDD\u5B58\u3059\u308B\:
|
||||
EnterOptionsDialog.AutoSplitHops.Label=\u7D50\u5408\u3092\u81EA\u52D5\u7684\u306B\u5206\u5C90\u3059\u308B\:
|
||||
EnterOptionsDialog.AutoSplitHops.Tooltip=\u30b9\u30c6\u30c3\u30d7\u3092\u30db\u30c3\u30d7\u4e0a\u306b\u914d\u7f6e\u3059\u308b\u3068\u30db\u30c3\u30d7\u306f\u5206\u5272\u3055\u308c\u3001\n\u65b0\u305f\u306a\u30b9\u30c6\u30c3\u30d7\u306f\u5143\u306e\uff12\u3064\u306e\u30b9\u30c6\u30c3\u30d7\u306e\u9593\u306b\u914d\u7f6e\u3055\u308c\u307e\u3059\u3002\n\u3053\u306e\u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u6709\u52b9\u306b\u3059\u308b\u3068\u3053\u306e\u51e6\u7406\u306f\u81ea\u52d5\u7684\u306b\u884c\u308f\u308c\u307e\u3059\u3002\u7121\u52b9\u306e\u5834\u5408\u306f\u78ba\u8a8d\u30dc\u30c3\u30af\u30b9\u304c\u8868\u793a\u3055\u308c\u307e\u3059\u3002
|
||||
EnterOptionsDialog.BackgroundColor.Label=\u80CC\u666F\u8272\:
|
||||
EnterOptionsDialog.BackgroundColorGraph.Label=\u30EF\u30FC\u30AF\u30B9\u30DA\u30FC\u30B9\u306E\u80CC\u666F\u8272\:
|
||||
EnterOptionsDialog.Branding.Label=\u30D6\u30E9\u30F3\u30C9\u30ED\u30B4\u306A\u3069\u306E\u753B\u50CF\u3092\u8868\u793A\u3059\u308B\:
|
||||
EnterOptionsDialog.Button.Edit=\u7DE8\u96C6
|
||||
EnterOptionsDialog.Button.Edit.Tooltip=\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u7DE8\u96C6
|
||||
EnterOptionsDialog.Button.Reset=\u30EA\u30BB\u30C3\u30C8
|
||||
EnterOptionsDialog.Button.Reset.Tooltip=\u3053\u306E\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u30C7\u30D5\u30A9\u30EB\u30C8\u5024\u306B\u30EA\u30BB\u30C3\u30C8
|
||||
EnterOptionsDialog.CanvasAntiAliasing.Label=\u30AD\u30E3\u30F3\u30D0\u30B9\u306E\u30A2\u30F3\u30C1\u30A8\u30A4\u30EA\u30A2\u30B9\:
|
||||
EnterOptionsDialog.ClearCustomParameters.Confirmation=\u30AB\u30B9\u30BF\u30E0\u30D5\u30A3\u30FC\u30EB\u30C9\u3068\u30D1\u30E9\u30E1\u30FC\u30BF\u30FC\u306F\u524A\u9664\u3055\u308C\u307E\u3057\u305F\u3002
|
||||
EnterOptionsDialog.ClearCustomParameters.Label=\u30AB\u30B9\u30BF\u30E0\u30D1\u30E9\u30E1\u30FC\u30BF\u3092\u30AF\u30EA\u30A2\u30FC\u3059\u308B(\u30B9\u30C6\u30C3\u30D7/\u30D7\u30E9\u30B0\u30A4\u30F3)\:
|
||||
EnterOptionsDialog.ClearCustomParameters.Question=\u30B9\u30C6\u30C3\u30D7/\u30D7\u30E9\u30B0\u30A4\u30F3\u306E\u30C0\u30A4\u30A2\u30ED\u30B0\u306E\u30AB\u30B9\u30BF\u30E0\u30D5\u30E9\u30B0\u3068\u30D1\u30E9\u30E1\u30FC\u30BF\u30FC\u3092\u672C\u5F53\u306B\u524A\u9664\u3057\u307E\u3059\u304B\uFF1F
|
||||
EnterOptionsDialog.ClearCustomParameters.Title=\u78BA\u8A8D
|
||||
EnterOptionsDialog.ClearCustomParameters.Tooltip=\u30B9\u30C6\u30C3\u30D7\u3068\u30D7\u30E9\u30B0\u30A4\u30F3\u306E\u30C0\u30A4\u30A2\u30ED\u30B0\u306B\u304A\u3044\u3066\u3001\u3059\u3079\u3066\u306E\u30AB\u30B9\u30BF\u30E0\u30D5\u30E9\u30B0\u3068\u30D1\u30E9\u30E1\u30FC\u30BF\u30FC\u3092\u524A\u9664\u3057\u307E\u3059\u3002
|
||||
EnterOptionsDialog.CopyOrDistributeDialog.Label="\u30B3\u30D4\u30FC\u307E\u305F\u306F\u5206\u5C90"\u306E\u30C0\u30A4\u30A2\u30ED\u30B0\u3092\u8868\u793A\u3059\u308B\:
|
||||
EnterOptionsDialog.CopyOrDistributeDialog.Tooltip=\u3053\u306E\u30AA\u30D7\u30B7\u30E7\u30F3\u304C\u6709\u52B9\u3067\u30B9\u30C6\u30C3\u30D7\u304C\u8907\u6570\u30B9\u30C6\u30C3\u30D7\u306B\u30C7\u30FC\u30BF\u3092\u914D\u5E03\u3057\u3088\u3046\u3068\u3057\u305F\u3068\u304D\u3001\u30C7\u30FC\u30BF\u3092\u5404\u30B9\u30C6\u30C3\u30D7\u306B\u5206\u914D\u3059\u308B\u304B\u3001\u540C\u3058\u30C7\u30FC\u30BF\u3092\u30B3\u30D4\u30FC\u3059\u308B\u304B\u30C0\u30A4\u30A2\u30ED\u30B0\u3067\u78BA\u8A8D\u3057\u307E\u3059\u3002\n\u3053\u306E\u30AA\u30D7\u30B7\u30E7\u30F3\u304C\u6709\u52B9\u3067\u306A\u3044\u5834\u5408\u3001\u30C7\u30D5\u30A9\u30EB\u30C8\u3067\u30C7\u30FC\u30BF\u306F\u30B3\u30D4\u30FC\u3055\u308C\u307E\u3059\u3002
|
||||
EnterOptionsDialog.DefaultLocale.Label=\u63A8\u5968\u8A00\u8A9E(1\u6B21\u8A00\u8A9E)\:
|
||||
EnterOptionsDialog.DefaultPreviewSize.Label=\u30D7\u30EC\u30D3\u30E5\u30FC\u306E\u30C7\u30D5\u30A9\u30EB\u30C8\u30EC\u30B3\u30FC\u30C9\u6570\:
|
||||
EnterOptionsDialog.DialogMiddlePercentage.Label=\u30C0\u30A4\u30A2\u30ED\u30B0\u306E\u4E2D\u5FC3(%)\:
|
||||
EnterOptionsDialog.EnableAutoCollapseCoreObjectTree.Label=\u30D1\u30EC\u30C3\u30C8\u30C4\u30EA\u30FC\u3092\u81EA\u52D5\u5C55\u958B\u3059\u308B\:
|
||||
EnterOptionsDialog.FailoverLocale.Label=\u4EE3\u66FF\u8A00\u8A9E(2\u6B21\u8A00\u8A9E)\:
|
||||
EnterOptionsDialog.FixedWidthFont.Label=\u56FA\u5B9A\u30D5\u30A9\u30F3\u30C8\:
|
||||
EnterOptionsDialog.General.Label=\u4E00\u822C
|
||||
EnterOptionsDialog.GraphFont.Label=\u30EF\u30FC\u30AF\u30B9\u30DA\u30FC\u30B9\u306E\u30D5\u30A9\u30F3\u30C8\:
|
||||
EnterOptionsDialog.GridSize.Label=\u30B0\u30EA\u30C3\u30C9\u30B5\u30A4\u30BA\:
|
||||
EnterOptionsDialog.GridSize.ToolTip=\u30A2\u30A4\u30B3\u30F3\u304C\u30B0\u30EA\u30C3\u30C9\u306B\u30B9\u30CA\u30C3\u30D7\u3057\u3001\u7C21\u5358\u306B\u30B9\u30C6\u30C3\u30D7\u3092\u6574\u5217\u3059\u308B\u3053\u3068\u304C\u53EF\u80FD\u306B\u306A\u308A\u307E\u3059\u3002
|
||||
EnterOptionsDialog.HelpToolTipsEnabled.Label=\u30D8\u30EB\u30D7\u30C4\u30FC\u30EB\u30C1\u30C3\u30D7\u3092\u8868\u793A\u3059\u308B\:
|
||||
EnterOptionsDialog.IconSize.Label=\u30EF\u30FC\u30AF\u30B9\u30DA\u30FC\u30B9\u306E\u30A2\u30A4\u30B3\u30F3\u30B5\u30A4\u30BA\:
|
||||
EnterOptionsDialog.LineWidth.Label=\u30EF\u30FC\u30AF\u30B9\u30DA\u30FC\u30B9\u306E\u7DDA\u5E45\:
|
||||
EnterOptionsDialog.LookAndFeel.Label=\u5916\u89B3
|
||||
EnterOptionsDialog.MaxLogLineTimeout.Label=\u91CD\u8981\u306A\u30ED\u30B0\u30EC\u30B3\u30FC\u30C9\u306E\u4FDD\u5B58\u30BF\u30A4\u30E0\u30A2\u30A6\u30C8(\u5206)\:
|
||||
EnterOptionsDialog.MaxNrHistLinesSize.Label=\u30ED\u30B0\u5C65\u6B74\u30D3\u30E5\u30FC\u306E\u6700\u5927\u30EC\u30B3\u30FC\u30C9\u6570\:
|
||||
EnterOptionsDialog.MaxNrLogLinesSize.Label=\u30ED\u30B0\u30A6\u30A3\u30F3\u30C9\u30A6\u306E\u6700\u5927\u30EC\u30B3\u30FC\u30C9\u6570\:
|
||||
EnterOptionsDialog.MaximumUndo.Label=\u6700\u5927Undo\u30EC\u30D9\u30EB\:
|
||||
EnterOptionsDialog.NoteFont.Label=\u30E1\u30E2\u306E\u30D5\u30A9\u30F3\u30C8\:
|
||||
EnterOptionsDialog.OnlyActiveFile.Label=\u30E1\u30A4\u30F3\u30C4\u30EA\u30FC\u306B\u4F7F\u7528\u4E2D\u306E\u30D5\u30A1\u30A4\u30EB\u306E\u307F\u8868\u793A\u3059\u308B\:
|
||||
EnterOptionsDialog.OnlySaveUsedConnections.Label=XML\u3078\u4F7F\u7528\u6E08\u307F\u63A5\u7D9A\u3060\u3051\u3092\u4FDD\u5B58\u3059\u308B\:
|
||||
EnterOptionsDialog.OpenLastFileStartup.Label=\u8D77\u52D5\u6642\u306B\u6700\u5F8C\u306B\u958B\u3044\u305F\u30D5\u30A1\u30A4\u30EB\u3092\u958B\u304F\:
|
||||
EnterOptionsDialog.ReplaceDB.Label=\u958B\u304F\u307E\u305F\u306F\u30A4\u30F3\u30DD\u30FC\u30C8\u6642\u3001\u65E2\u5B58\u306E\u63A5\u7D9A\u306B\u7F6E\u304D\u63DB\u3048\u308B\:
|
||||
EnterOptionsDialog.ReplaceDB.Tooltip=\u3053\u306e\u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u6709\u52b9\u306b\u3059\u308b\u3068\u65e2\u5b58\u306e\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u63a5\u7d9a\u306f\u30c8\u30e9\u30f3\u30b9\u30d5\u30a9\u30fc\u30e1\u30fc\u30b7\u30e7\u30f3\u3092\u958b\u3044\u305f\u6642\u3084\u3001\u30a4\u30f3\u30dd\u30fc\u30c8\u3057\u305f\u6642\u306b\u7f6e\u304d\u63db\u3048\u3089\u308c\u307e\u3059\u3002\n\u78ba\u8a8d\u30dc\u30c3\u30af\u30b9\u306e\u8868\u793a/\u975e\u8868\u793a\u306f\u4e0a\u306e\u30aa\u30d7\u30b7\u30e7\u30f3\u3067\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044\u3002
|
||||
EnterOptionsDialog.ReplaceDBAsk.Label=\u958B\u304F\u307E\u305F\u306F\u30A4\u30F3\u30DD\u30FC\u30C8\u6642\u3001\u65E2\u5B58\u306E\u63A5\u7D9A\u306B\u7F6E\u304D\u63DB\u3048\u308B\u304B\u78BA\u8A8D\u3059\u308B\:
|
||||
EnterOptionsDialog.ReplaceDBAsk.Tooltip=\u30C7\u30FC\u30BF\u5909\u63DB\u304C\u30AA\u30FC\u30D7\u30F3\u3055\u308C\u308B\u304B\u30A4\u30F3\u30DD\u30FC\u30C8\u3055\u308C\u3001\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u63A5\u7D9A\u304C\u73FE\u5728\u3068\u540C\u69D8\u306E\u540D\u79F0\u3067\u5B58\u5728\u3059\u308B\u306A\u3089\u3001\n\u30C0\u30A4\u30A2\u30ED\u30B0\u3067\u65E2\u5B58\u306E\u63A5\u7D9A\u306B\u7F6E\u304D\u63DB\u3048\u308B\u304B\u3069\u3046\u304B\u78BA\u8A8D\u3057\u307E\u3059\u3002
|
||||
EnterOptionsDialog.ShadowSize.Label=\u30EF\u30FC\u30AF\u30B9\u30DA\u30FC\u30B9\u306E\u5F71\u306E\u30B5\u30A4\u30BA\:
|
||||
EnterOptionsDialog.ShowRepoDialog.Label=\u958B\u59CB\u6642\u306B\u30EA\u30DD\u30B8\u30C8\u30EA\u30C0\u30A4\u30A2\u30ED\u30B0\u3092\u8868\u793A\u3059\u308B\:
|
||||
EnterOptionsDialog.ShowSaveConfirmation.Label="\u4FDD\u5B58" \u30C0\u30A4\u30A2\u30ED\u30B0\u3092\u8868\u793A\u3059\u308B\:
|
||||
EnterOptionsDialog.ShowTipsStartup.Label=\u8D77\u52D5\u6642\u306BTips\u3092\u8868\u793A\u3059\u308B\:
|
||||
EnterOptionsDialog.ShowWelcomePage.Label=\u8D77\u52D5\u6642\u306B\u3088\u3046\u3053\u305D\u30DA\u30FC\u30B8\u3092\u8868\u793A\u3059\u308B\:
|
||||
EnterOptionsDialog.TabColor.Label=\u30BF\u30D6\u306E\u8272\:
|
||||
EnterOptionsDialog.Title=Kettle \u30AA\u30D7\u30B7\u30E7\u30F3
|
||||
EnterOptionsDialog.ToolTipsEnabled.Label=\u30C4\u30FC\u30EB\u30C1\u30C3\u30D7\u3092\u8868\u793A\u3059\u308B\:
|
||||
EnterOptionsDialog.UseDatabaseCache.Label=\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u30AD\u30E3\u30C3\u30B7\u30E5\u3092\u4F7F\u7528\u3059\u308B\:
|
||||
EnterOptionsDialog.UseOSLook.Label=OS\u306E\u5916\u89B3\u3092\u4F7F\u7528\u3059\u308B\:
|
||||
EnterOptionsDialog.VersionCheck.Label=\u66F4\u65B0\u30C1\u30A7\u30C3\u30AF\u3092\u30B9\u30AD\u30C3\u30D7\u3057\u307E\u3059\u304B\uFF1F
|
||||
EnterOptionsDialog.CanvasIndicateSlowSteps.Label=\u30dc\u30c8\u30eb\u30cd\u30c3\u30af\u306e\u30c8\u30e9\u30f3\u30b9\u30d5\u30a9\u30fc\u30e1\u30fc\u30b7\u30e7\u30f3\u30b9\u30c6\u30c3\u30d7\u3092\u8868\u793a
|
||||
EnterOptionsDialog.CanvasIndicateSlowSteps.Tooltip=\u6709\u52b9\u306b\u8a2d\u5b9a\u3057\u305f\u5834\u5408\u3001\u884c\u306e\u5165\u529b\u304c\u51e6\u7406\u901f\u5ea6\u3088\u308a\u3082\u65e9\u3044\u30b9\u30c6\u30c3\u30d7(\u30dc\u30c8\u30eb\u30cd\u30c3\u30af\u30b9\u30c6\u30c3\u30d7)\u306b\u7dda\u304c\u63cf\u304b\u308c\u307e\u3059\u3002
|
||||
EnterPrintDialog.BottomMargin.Label=\u4E0B\u4F59\u767D (\u30A4\u30F3\u30C1)\:
|
||||
EnterPrintDialog.Cols.Label=\u30AB\u30E9\u30E0\:
|
||||
EnterPrintDialog.LeftMargin.Label=\u5DE6\u4F59\u767D (\u30A4\u30F3\u30C1)\:
|
||||
EnterPrintDialog.PrintArea.Label=\u5370\u5237\u9818\u57DF\:
|
||||
EnterPrintDialog.RightMargin.Label=\u53F3\u4F59\u767D (\u30A4\u30F3\u30C1)\:
|
||||
EnterPrintDialog.Rows.Label=\u884C\:
|
||||
EnterPrintDialog.Scaling.Label=\u62E1\u5927\u7E2E\u5C0F(10-100%)\:
|
||||
EnterPrintDialog.Title=\u5370\u5237
|
||||
EnterPrintDialog.TopMargin.Label=\u4E0A\u4F59\u767D (\u30A4\u30F3\u30C1)\:
|
||||
EnterSearchDialog.DB.Label=\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u63A5\u7D9A\u691C\u7D22
|
||||
EnterSearchDialog.DB.Tooltip=\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u63A5\u7D9A\u691C\u7D22
|
||||
EnterSearchDialog.FilterSelection.Label=\u30D5\u30A3\u30EB\u30BF\u30FC
|
||||
EnterSearchDialog.Note.Label=\u30E1\u30E2\u691C\u7D22
|
||||
EnterSearchDialog.Note.Tooltip=\u30E1\u30E2\u691C\u7D22
|
||||
EnterSearchDialog.Shell.Title=\u30E1\u30BF\u30C7\u30FC\u30BF\u691C\u7D22
|
||||
EnterSearchDialog.Step.Label=\u30B9\u30C6\u30C3\u30D7\u691C\u7D22
|
||||
EnterSearchDialog.Step.Tooltip=\u30B9\u30C6\u30C3\u30D7\u691C\u7D22
|
||||
EnterStringsDialog.Message=\u4EE5\u4E0B\u306B\u6307\u5B9A\u3055\u308C\u305F\u6587\u5B57\u5217\u306B\u5024\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044\u3002\:
|
||||
EnterStringsDialog.StringName.Label=\u540D\u79F0
|
||||
EnterStringsDialog.StringValue.Label=\u5024
|
||||
EnterStringsDialog.Title=Enter string values
|
||||
EnterValueDialog.ConversionFormat.Label=\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u5909\u63DB\:
|
||||
EnterValueDialog.Length.Label=\u9AD8\u3055\:
|
||||
EnterValueDialog.Precision.Label=\u7CBE\u5EA6\:
|
||||
EnterValueDialog.TestResult.Message=\u7D50\u679C\u5024\:\n\n{0}
|
||||
EnterValueDialog.TestResult.Title=\u5024
|
||||
EnterValueDialog.Title=\u5165\u529B\u5024
|
||||
EnterValueDialog.Type.Label=\u30BF\u30A4\u30D7\:
|
||||
EnterValueDialog.Value.Label=\u5024\:
|
||||
ErrorDialog.ShowDetails.Message=\u30A8\u30E9\u30FC\u8A73\u7D30\u3068\u4F8B\u5916\u306E\u30B9\u30BF\u30C3\u30AF\u30C8\u30EC\u30FC\u30B9
|
||||
ErrorDialog.ShowDetails.Title=\u30A8\u30E9\u30FC\u8A73\u7D30
|
||||
GetDatabaseInfoProgressDialog.Error.GettingInfoTable=\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u304B\u3089\u60C5\u5831\u53D6\u5F97\u4E2D\u306B\u554F\u984C\u304C\u3042\u308A\u307E\u3057\u305F\: {0}
|
||||
GetDatabaseInfoProgressDialog.Error.Message=\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u304B\u3089\u60C5\u5831\u53D6\u5F97\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002
|
||||
GetDatabaseInfoProgressDialog.Error.Title=\u60C5\u5831\u53D6\u5F97\u4E2D\u306B\u30A8\u30E9\u30FC
|
||||
GetPreviewTableProgressDialog.Error.Message=\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u304B\u3089\u60C5\u5831\u53D6\u5F97\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002
|
||||
GetPreviewTableProgressDialog.Error.Title=\u60C5\u5831\u53D6\u5F97\u4E2D\u306B\u30A8\u30E9\u30FC
|
||||
GetQueryFieldsProgressDialog.Error.Message=\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u304B\u3089\u60C5\u5831\u53D6\u5F97\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002
|
||||
GetQueryFieldsProgressDialog.Error.Title=\u60C5\u5831\u53D6\u5F97\u30A8\u30E9\u30FC
|
||||
GetTableSizeProgressDialog.Error.Message=\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u304B\u3089\u60C5\u5831\u53D6\u5F97\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002
|
||||
GetTableSizeProgressDialog.Error.Title=\u60C5\u5831\u53D6\u5F97\u4E2D\u306B\u30A8\u30E9\u30FC
|
||||
SQLEditor.Button.ClearCache=\u30AD\u30E3\u30C3\u30B7\u30E5\u30AF\u30EA\u30A2\u30FC(&C)
|
||||
SQLEditor.Button.ClearCache.Tooltip=\u4E0A\u8A18\u7D50\u679C\u3068\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u306E\u5185\u5BB9\u3068\u7570\u306A\u308B\u5834\u5408\u3001\u3053\u306E\u30DC\u30BF\u30F3\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044\u3002\nKettle\u4EE5\u5916\u306E\u30C4\u30FC\u30EB\u3067\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u306B\u30C6\u30FC\u30D6\u30EB\u3092\u4F5C\u6210\u30FB\u5909\u66F4\u3059\u308B\u5834\u5408\u3001\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u30AD\u30E3\u30C3\u30B7\u30E5\u306F\u6B63\u3057\u304F\u306A\u304F\u306A\u308A\u307E\u3059\u3002
|
||||
SQLEditor.Button.Execute=\u5B9F\u884C(&E)
|
||||
SQLEditor.ClearWholeCache.Message=\u5B8C\u5168\u306B\u30AD\u30E3\u30C3\u30B7\u30E5\u3092\u30AF\u30EA\u30A2\u30FC\u3057\u307E\u3059\u304B\uFF1F\n''No'' \u3092\u9078\u629E\u3059\u308B\u306A\u3089\u3001\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u63A5\u7D9A ''{0}'' \u306E\u30AD\u30E3\u30C3\u30B7\u30E5\u306E\u307F\u30AF\u30EA\u30A2\u30FC\u3055\u308C\u307E\u3059\u3002
|
||||
SQLEditor.ClearWholeCache.Title=\u3059\u3079\u3066\u306E\u30AD\u30E3\u30C3\u30B7\u30E5\u3092\u30AF\u30EA\u30A2\u30FC\u3059\u308B
|
||||
SQLEditor.ConnectionCacheCleared.Message=\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u63A5\u7D9A ''{0}'' \u306E\u30AD\u30E3\u30C3\u30B7\u30E5\u306F\u30AF\u30EA\u30A2\u30FC\u3055\u308C\u307E\u3057\u305F\u3002
|
||||
SQLEditor.ConnectionCacheCleared.Title=\u30AD\u30E3\u30C3\u30B7\u30E5\u30AF\u30EA\u30A2
|
||||
SQLEditor.Editor.Label=SQL\u6587\u3001\u30BB\u30DF\u30B3\u30ED\u30F3 '';'' \u3067\u533A\u5207\u3089\u308C\u307E\u3059
|
||||
SQLEditor.Error.CouldNotConnect.Message=\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u306B\u63A5\u7D9A\u3067\u304D\u307E\u305B\u3093\u3002\n\u63A5\u7D9A [{0}] \u306E\u63A5\u7D9A\u8A2D\u5B9A\u3092\u30C1\u30A7\u30C3\u30AF\u3057\u3066\u304F\u3060\u3055\u3044\u3002\n{1}
|
||||
SQLEditor.Error.CouldNotConnect.Title=\u63A5\u7D9A\u3067\u304D\u307E\u305B\u3093
|
||||
SQLEditor.ErrorExecSQL.Message=\u4EE5\u4E0B\u306ESQL\u3092\u5B9F\u884C\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\:\n\n{0}
|
||||
SQLEditor.ErrorExecSQL.Title=SQL\u5B9F\u884C\u30A8\u30E9\u30FC
|
||||
SQLEditor.LineNr.Label=\u884C\u756A\u53F7\: {0}
|
||||
SQLEditor.Log.OnPartition=on partition ''{0}''
|
||||
SQLEditor.Log.SQLExecError=\u5B9F\u884C\u4E2D\u306B\u30A8\u30E9\u30FC\: {0}\n{1}
|
||||
SQLEditor.Log.SQLExecuted=\u5B9F\u884CSQL\: {0}\n
|
||||
SQLEditor.Log.StatsExecuted={0} SQL\u6587\u306F\u5B9F\u884C\u3055\u308C\u307E\u3057\u305F\u3002
|
||||
SQLEditor.NoRows.Message=SQL\u6587\u306E\u7D50\u679C\u306F\u3042\u308A\u307E\u305B\u3093\:\n\n{0}
|
||||
SQLEditor.NoRows.Title=\u7D50\u679C\u306A\u3057
|
||||
SQLEditor.Position.Label=\u30EC\u30B3\u30FC\u30C9 {0} \u30AB\u30E9\u30E0 {1}
|
||||
SQLEditor.Result.Message=SQL\u6587\u306F\u4EE5\u4E0B\u306E\u7D50\u679C\u304C\u3042\u308A\u307E\u3057\u305F\u3002
|
||||
SQLEditor.Result.Title=SQL\u6587\u306E\u7D50\u679C
|
||||
SQLEditor.ResultRows.Title=SQL\u6587 \#{0}
|
||||
SQLEditor.Title=\u30B7\u30F3\u30D7\u30EB SQL \u30A8\u30C7\u30A3\u30BF\u30FC
|
||||
SQLEditor.WholeCacheCleared.Message=\u3059\u3079\u3066\u306E\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u30AD\u30E3\u30C3\u30B7\u30E5\u306F\u6D88\u53BB\u3055\u308C\u307E\u3057\u305F\u3002
|
||||
SQLEditor.WholeCacheCleared.Title=\u30AD\u30E3\u30C3\u30B7\u30E5\u30AF\u30EA\u30A2
|
||||
SQLStatementDialog.Button.EditStep=\u95A2\u9023\u30B9\u30C6\u30C3\u30D7\u306E\u7DE8\u96C6(&E)
|
||||
SQLStatementDialog.Button.ExecSQL=SQL\u5B9F\u884C(&x)
|
||||
SQLStatementDialog.Button.ViewSQL=SQL\u8868\u793A(&V)
|
||||
SQLStatementDialog.Error.CouldNotConnect=\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u63A5\u7D9A [{0}] \u306B\u63A5\u7D9A\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002
|
||||
SQLStatementDialog.Error.CouldNotExec=\u4EE5\u4E0B\u306ESQL\u6587\u306F\u5B9F\u884C\u3067\u304D\u307E\u305B\u3093\:\n{0}
|
||||
SQLStatementDialog.Error.Message={0}\u306e\u30a8\u30e9\u30fc\u304c\u5b58\u5728\u3059\u308b\u70ba\u3001\u6307\u5b9a\u3055\u308c\u305f\u30b9\u30c6\u30fc\u30c8\u30e1\u30f3\u30c8\u3092\u5b9f\u884c\u3059\u308b\u4e8b\u304c\u3067\u304d\u307e\u305b\u3093\u3002
|
||||
SQLStatementDialog.Error.Title=\u30A8\u30E9\u30FC
|
||||
SQLStatementDialog.Log.Connection=-- \u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u63A5\u7D9A \: {0}\n
|
||||
SQLStatementDialog.Log.Error=-- \u30A8\u30E9\u30FC\u30E1\u30C3\u30BB\u30FC\u30B8 \: {0}\n
|
||||
SQLStatementDialog.Log.Step=-- \u30B9\u30C6\u30C3\u30D7 \: {0}\n
|
||||
SQLStatementDialog.Log.Undefined=<\u672A\u5B9A\u7FA9>
|
||||
SQLStatementDialog.Success.Message={0} SQL\u6587\u306E\u5B9F\u884C\u306B\u6210\u529F\u3057\u307E\u3057\u305F
|
||||
SQLStatementDialog.Success.Title=\u6210\u529F
|
||||
SQLStatementDialog.TableCol.Connection=\u63A5\u7D9A
|
||||
SQLStatementDialog.TableCol.Error=\u30A8\u30E9\u30FC
|
||||
SQLStatementDialog.TableCol.SQL=SQL
|
||||
SQLStatementDialog.TableCol.Stepname=\u30B9\u30C6\u30C3\u30D7\u540D
|
||||
SQLStatementDialog.Title=\u5b9f\u884c\u3059\u308bSQL\u30b9\u30c6\u30fc\u30c8\u30e1\u30f3\u30c8\u306e\u30ea\u30b9\u30c8
|
||||
SQLStatementDialog.ViewSQL.Message=SQL \u30B9\u30C6\u30FC\u30C8\u30E1\u30F3\u30C8\:
|
||||
SQLStatementDialog.ViewSQL.Title=SQL \u30B9\u30C6\u30FC\u30C8\u30E1\u30F3\u30C8
|
||||
SelectRowDialog.Title=\u30a8\u30f3\u30c8\u30ea\u30fc\u3092\uff11\u3064\u9078\u629e
|
||||
ShowImageDialog.Title=\u30A4\u30E1\u30FC\u30B8\u8868\u793A
|
||||
StepFieldsDialog.Buttons.EditOrigin=\u95A2\u9023\u30B9\u30C6\u30C3\u30D7\u7DE8\u96C6(&E)
|
||||
StepFieldsDialog.Fields.Label=\u30D5\u30A3\u30FC\u30EB\u30C9\:
|
||||
StepFieldsDialog.Name.Label=\u30B9\u30C6\u30C3\u30D7\u540D\:
|
||||
StepFieldsDialog.TableCol.Fieldname=\u30D5\u30A3\u30FC\u30EB\u30C9\u540D
|
||||
StepFieldsDialog.TableCol.Length=\u9577\u3055
|
||||
StepFieldsDialog.TableCol.Origin=\u95A2\u9023\u30B9\u30C6\u30C3\u30D7
|
||||
StepFieldsDialog.TableCol.Precision=\u7CBE\u5EA6
|
||||
StepFieldsDialog.TableCol.Type=\u30BF\u30A4\u30D7
|
||||
StepFieldsDialog.Title=\u30B9\u30C6\u30C3\u30D7\u30D5\u30A3\u30FC\u30EB\u30C9\u3068\u95A2\u4FC2
|
||||
XulDatabaseDialog.Error.Dialog=\u30C0\u30A4\u30A2\u30ED\u30B0\u3067\u30A8\u30E9\u30FC
|
||||
XulDatabaseDialog.Error.General=\u4E00\u822C\u7684\u306A\u30A8\u30E9\u30FC
|
||||
XulDatabaseDialog.Error.HandleXul=XUL\u5B9A\u7FA9\u52D5\u4F5C\u30A8\u30E9\u30FC
|
||||
XulDatabaseDialog.Error.LoadXul=XUL\u5B9A\u7FA9\u8AAD\u307F\u8FBC\u307F\u30A8\u30E9\u30FC
|
||||
XulDatabaseDialog.Error.ResourcesNotFound=\u30d7\u30e9\u30a4\u30de\u30ea\u30ed\u30b1\u30fc\u30eb{0}\u3068\u30d5\u30a7\u30a4\u30eb\u30aa\u30fc\u30d0\u30fc\u30ed\u30b1\u30fc\u30eb{1}\u306e\u30ea\u30bd\u30fc\u30b9\u30d0\u30f3\u30c9\u30eb\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3002
|
||||
XulDatabaseDialog.Error.ResourcesNotFound.Title=\u30c0\u30a4\u30a2\u30ed\u30b0\u306eString\u30ea\u30bd\u30fc\u30b9\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3002
|
||||
XulDatabaseDialog.Error.SAXReader=SAX\u30EA\u30FC\u30C0\u30FC\u306B\u3088\u308BXUL\u5B9A\u7FA9\u8AAD\u307F\u8FBC\u307F\u30A8\u30E9\u30FC
|
||||
XulDatabaseDialog.Error.Title=\u30a8\u30e9\u30fc
|
||||
tooltip_expand_collapse=\u30C4\u30EA\u30FC\u5C55\u958B/\u3057\u307E\u3046
|
||||
tooltip_refresh=\u30C4\u30EA\u30FC\u518D\u8868\u793A
|
||||
DatabaseExplorerDialog.TableLayout.ShellText=\u30c6\u30fc\u30d6\u30eb\u30ec\u30a4\u30a2\u30a6\u30c8
|
||||
DatabaseExplorerDialog.TableLayout.OriginText=\u30c6\u30fc\u30d6\u30eb
|
|
@ -0,0 +1,315 @@
|
|||
#File generated by Hitachi Vantara Translator for package 'org.pentaho.di.ui.core.database.dialog' in locale 'ko_KR'
|
||||
#
|
||||
#
|
||||
#Mon Dec 21 10:44:40 KST 2009
|
||||
CheckResultDialog.Button.EditOriginStep=\uC6D0\uBCF8 Step \uD3B8\uC9D1
|
||||
CheckResultDialog.Button.ViewMessage=\uBA54\uC138\uC9C0 \uBCF4\uAE30
|
||||
CheckResultDialog.HideSuccessful.Label=\uC131\uACF5\uD55C \uACB0\uACFC \uC228\uAE30\uAE30(&s)
|
||||
CheckResultDialog.Remark.Label=\uC124\uBA85
|
||||
CheckResultDialog.Remarks.Label=\uC124\uBA85:
|
||||
CheckResultDialog.Result.Label=\uACB0\uACFC
|
||||
CheckResultDialog.ShowSuccessful.Label=\uC131\uACF5\uD55C \uACB0\uACFC \uBCF4\uAE30(&s)
|
||||
CheckResultDialog.Stepname.Label=Step \uC774\uB984
|
||||
CheckResultDialog.TextDialog.Subtitle=\uBA54\uC138\uC9C0:
|
||||
CheckResultDialog.TextDialog.SubtitlePlural=\uBA54\uC138\uC9C0:
|
||||
CheckResultDialog.TextDialog.Title=\uBA54\uC138\uC9C0 \uBCF4\uAE30
|
||||
CheckResultDialog.Title=Transformation \uAC80\uC0AC \uACB0\uACFC
|
||||
CheckResultDialog.WarningsErrors.Label=\uACBD\uACE0\uC640 \uC624\uB958:
|
||||
DatabaseDialog.AdvancedTab.title=\uACE0\uAE09
|
||||
DatabaseDialog.ClusterTab.title=\uD074\uB7EC\uC2A4\uD130
|
||||
DatabaseDialog.ClusterTab.tooltip=\uCD94\uAC00 \uD074\uB7EC\uC2A4\uD130\uB9C1 \uC815\uBCF4
|
||||
DatabaseDialog.ConnectionReport.description=\uC5F0\uACB0 \uB9AC\uD3EC\uD2B8\uC785\uB2C8\uB2E4
|
||||
DatabaseDialog.ConnectionReport.title=\uC5F0\uACB0 \uB9AC\uD3EC\uD2B8
|
||||
DatabaseDialog.DatabaseConnectionTest.title=\uB370\uC774\uD130\uBCA0\uC774\uC2A4 \uC5F0\uACB0 \uD14C\uC2A4\uD2B8
|
||||
DatabaseDialog.DbTab.title=\uC77C\uBC18
|
||||
DatabaseDialog.ErrorConnectionInfo.description=\uC5F0\uACB0 \uC815\uBCF4\uB97C \uAC00\uC838\uC62C \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.
|
||||
DatabaseDialog.ErrorConnectionInfo.title=\uC624\uB958
|
||||
DatabaseDialog.ErrorHelpText.description=\uB3C4\uC6C0\uB9D0\uC744 \uAC00\uC838\uC62C \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. \uBAA8\uB4E0 \uD544\uC694\uD55C \uD30C\uB77C\uBBF8\uD130\uAC00 \uC815\uD655\uD788 \uC785\uB825\uB418\uC5C8\uB294\uC9C0 \uD655\uC778\uD558\uC2ED\uC2DC\uC624!
|
||||
DatabaseDialog.ErrorHelpText.title=\uC624\uB958!
|
||||
DatabaseDialog.ErrorParameters.description=\uBAA8\uB4E0 \uD544\uC694\uD55C \uD30C\uB77C\uBBF8\uD130\uAC00 \uC815\uD655\uD788 \uC785\uB825\uB418\uC5C8\uB294\uC9C0 \uD655\uC778\uD558\uC2ED\uC2DC\uC624!
|
||||
DatabaseDialog.ErrorParameters.title=\uC624\uB958!
|
||||
DatabaseDialog.ErrorParameters2.description=\uBAA8\uB4E0 \uD544\uC694\uD55C \uD30C\uB77C\uBBF8\uD130\uAC00 \uC815\uD655\uD788 \uC785\uB825\uB418\uC5C8\uB294\uC9C0 \uD655\uC778\uD558\uC2ED\uC2DC\uC624!: {0}
|
||||
DatabaseDialog.ErrorParameters2.title=\uC624\uB958!
|
||||
DatabaseDialog.Exception.IncorrectParameter=\uC815\uD655\uD788\uC9C0 \uC54A\uC740 \uB370\uC774\uD130\uBCA0\uC774\uC2A4 \uD30C\uB77C\uBBF8\uD130! \uC124\uC815\uC744 \uD655\uC778\uD558\uC2ED\uC2DC\uC624 :
|
||||
DatabaseDialog.ExplorerNotImplemented.Message=\uC8C4\uC1A1\uD569\uB2C8\uB2E4, \uC774 \uB370\uC774\uD130\uBCA0\uC774\uC2A4\uC5D0 \uB300\uD55C \uD0D0\uC0C9\uC740 \uAD6C\uD604\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4.
|
||||
DatabaseDialog.ExplorerNotImplemented.Title=\uC8C4\uC1A1\uD569\uB2C8\uB2E4.
|
||||
DatabaseDialog.FeatureList.title=\uAE30\uB2A5 \uB9AC\uC2A4\uD2B8
|
||||
DatabaseDialog.FeatureList.title2="\uAE30\uB2A5 \uB9AC\uC2A4\uD2B8:"
|
||||
DatabaseDialog.FeatureListError.description=\uAE30\uB2A5 \uB9AC\uC2A4\uD2B8\uB97C \uAC00\uC838\uC62C \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. \uBAA8\uB4E0 \uD544\uC694\uD55C \uD30C\uB77C\uBBF8\uD130\uAC00 \uC815\uD655\uD788 \uC785\uB825\uB418\uC5C8\uB294\uC9C0 \uD655\uC778\uD558\uC2ED\uC2DC\uC624!
|
||||
DatabaseDialog.FeatureListError.title=\uC624\uB958!
|
||||
DatabaseDialog.GenericTab.title=\uC77C\uBC18
|
||||
DatabaseDialog.GenericTab.tooltip=JDBC \uB4DC\uB77C\uC774\uBC84\uB97C \uC9C0\uC6D0\uD558\uC9C0 \uC54A\uB294 \uC77C\uBC18\uC801\uC778 \uB370\uC774\uD130\uBCA0\uC774\uC2A4\uB97C \uC0AC\uC6A9\uD558\uACE0\uC790 \uD558\uB294 \uACBD\uC6B0 \uC124\uC815
|
||||
DatabaseDialog.HelpText.description=[{0}] \uC744 \uC704\uD55C \uB3C4\uC6C0\uB9D0 :
|
||||
DatabaseDialog.HelpText.title=\uC635\uC158 \uB3C4\uC6C0\uB9D0
|
||||
DatabaseDialog.IfxTab.title=Informix
|
||||
DatabaseDialog.JDBCOptions.Tab={0}: JDBC \uC635\uC158 \uB3C4\uC6C0\uB9D0
|
||||
DatabaseDialog.MSSQLTab.title=SQL Server
|
||||
DatabaseDialog.MySQLTab.title=MySQL
|
||||
DatabaseDialog.OracleTab.title=Oracle
|
||||
DatabaseDialog.PoolTab.title=Pooling
|
||||
DatabaseDialog.SQLTab.title=SQL
|
||||
DatabaseDialog.SQLTab.tooltip=\uC5F0\uACB0 \uD6C4 \uC2E4\uD589\uD560 SQL\uC744 \uC9C0\uC815\uD558\uC2ED\uC2DC\uC624.
|
||||
DatabaseDialog.Shell.title=\uC5F0\uACB0 \uC815\uBCF4
|
||||
DatabaseDialog.button.Explore=\uD0D0\uC0C9
|
||||
DatabaseDialog.button.FeatureList=\uAE30\uB2A5 \uB9AC\uC2A4\uD2B8
|
||||
DatabaseDialog.button.ShowHelp=\uC635\uC158 \uC0AC\uC6A9\uC5D0 \uB300\uD55C \uB3C4\uC6C0\uB9D0 \uBCF4\uC774\uAE30
|
||||
DatabaseDialog.button.Test=\uD14C\uC2A4\uD2B8
|
||||
DatabaseDialog.column.DatabaseName=\uB370\uC774\uD130\uBCA0\uC774\uC2A4 \uC774\uB984
|
||||
DatabaseDialog.column.DbType=\uB370\uC774\uD130\uBCA0\uC774\uC2A4 \uD615\uC2DD
|
||||
DatabaseDialog.column.Hostname=\uD638\uC2A4\uD2B8
|
||||
DatabaseDialog.column.Parameter=\uD30C\uB77C\uBBF8\uD130
|
||||
DatabaseDialog.column.PartitionId=\uD30C\uD2F0\uC158 ID
|
||||
DatabaseDialog.column.Password=\uC554\uD638
|
||||
DatabaseDialog.column.PoolDefault=\uAE30\uBCF8\uAC12
|
||||
DatabaseDialog.column.PoolDescription=\uD30C\uB77C\uBBF8\uD130 \uC124\uBA85
|
||||
DatabaseDialog.column.PoolParameter=Pool \uD30C\uB77C\uBBF8\uD130
|
||||
DatabaseDialog.column.PoolValue=\uAC12
|
||||
DatabaseDialog.column.Port=\uD3EC\uD2B8
|
||||
DatabaseDialog.column.Username=\uC0AC\uC6A9\uC790\uC774\uB984
|
||||
DatabaseDialog.column.Value=\uAC12
|
||||
DatabaseDialog.label.AccessMethod=\uC811\uADFC \uBC29\uBC95
|
||||
DatabaseDialog.label.AdvancedForceIdentifiersLowerCase=\uBAA8\uB4E0 \uC2DD\uBCC4\uC790\uB97C \uC18C\uBB38\uC790\uB85C \uBCC0\uD658
|
||||
DatabaseDialog.label.AdvancedForceIdentifiersUpperCase=\uBAA8\uB4E0 \uC2DD\uBCC4\uC790\uB97C \uB300\uBB38\uC790\uB85C \uBCC0\uD658
|
||||
DatabaseDialog.label.AdvancedQuoteAllFields=\uB370\uC774\uD130\uBCA0\uC774\uC2A4\uC758 \uBAA8\uB4E0 \uC2DD\uBCC4\uC790\uC5D0 \uC778\uC6A9\uBD80\uD638
|
||||
DatabaseDialog.label.ConnectionName=\uC5F0\uACB0 \uC774\uB984
|
||||
DatabaseDialog.label.ConnectionType=\uC5F0\uACB0 \uD615\uC2DD
|
||||
DatabaseDialog.label.DatabaseName=\uB370\uC774\uD130\uBCA0\uC774\uC2A4 \uC774\uB984
|
||||
DatabaseDialog.label.DriverClass=\uB4DC\uB77C\uC774\uBC84 \uD074\uB798\uC2A4
|
||||
DatabaseDialog.label.InformixServername=Informix \uC11C\uBC84\uC774\uB984
|
||||
DatabaseDialog.label.InitialPoolSize=\uCD08\uAE30 Pool \uD06C\uAE30
|
||||
DatabaseDialog.label.Language=\uC5B8\uC5B4
|
||||
DatabaseDialog.label.MaximumPoolSize=\uCD5C\uB300 Pool \uD06C\uAE30
|
||||
DatabaseDialog.label.MySQLStreamResults=\uACB0\uACFC \uC2A4\uD2B8\uB9AC\uBC0D \uC0AC\uC6A9 (\uCEE4\uC11C \uC5D0\uBBAC\uB808\uC774\uC158)
|
||||
DatabaseDialog.label.Options=\uC635\uC158
|
||||
DatabaseDialog.label.Password=\uC554\uD638
|
||||
DatabaseDialog.label.PoolParameters=\uC5F0\uACB0 Pool \uD30C\uB77C\uBBF8\uD130
|
||||
DatabaseDialog.label.PortNumber=\uD3EC\uD2B8 \uBC88\uD638
|
||||
DatabaseDialog.label.PreferredSchemaName=\uC120\uD638\uD558\uB294 \uC2A4\uD0A4\uB9C8 \uC774\uB984. \uB2E4\uB978 \uC2A4\uD0A4\uB9C8\uB97C \uC9C0\uC815\uD558\uC9C0 \uC54A\uC73C\uBA74 \uC0AC\uC6A9\uB429\uB2C8\uB2E4.
|
||||
DatabaseDialog.label.SQLServerInstance=SQL Server \uC778\uC2A4\uD134\uC2A4 \uC774\uB984
|
||||
DatabaseDialog.label.Sap=SAP ERP
|
||||
DatabaseDialog.label.SapClient=SAP \uD074\uB77C\uC774\uC5B8\uD2B8
|
||||
DatabaseDialog.label.ServerHostname=\uC11C\uBC84 \uD638\uC2A4\uD2B8 \uC774\uB984
|
||||
DatabaseDialog.label.Statements=\uC5F0\uACB0 \uD6C4\uC5D0 \uBC14\uB85C \uC2E4\uD589\uD560 \uBB38\uC7A5 (; \uB85C \uAD6C\uBD84)
|
||||
DatabaseDialog.label.SystemNumber=\uC2DC\uC2A4\uD15C \uBC88\uD638
|
||||
DatabaseDialog.label.TablespaceForData=\uB370\uC774\uD130\uC758 \uD14C\uC774\uBE14\uC2A4\uD398\uC774\uC2A4
|
||||
DatabaseDialog.label.TablespaceForIndexes=\uC778\uB371\uC2A4\uC758 \uD14C\uC774\uBE14\uC2A4\uD398\uC774\uC2A4
|
||||
DatabaseDialog.label.Url=URL
|
||||
DatabaseDialog.label.UseClustering=\uD074\uB7EC\uC2A4\uD130\uB9C1 \uC0AC\uC6A9?
|
||||
DatabaseDialog.label.UseConnectionPool=\uC5F0\uACB0 Pool \uC0AC\uC6A9?
|
||||
DatabaseDialog.label.UseDoubleDecimalSeparator=\uC2A4\uD0A4\uB9C8\uC640 \uD14C\uC774\uBE14\uC744 \uAD6C\uBD84\uD558\uAE30 \uC704\uD574 .. \uC0AC\uC6A9
|
||||
DatabaseDialog.label.Username=\uC0AC\uC6A9\uC790 \uC774\uB984
|
||||
DatabaseDialog.tooltip.DbType=\uB370\uC774\uD130\uBCA0\uC774\uC2A4 \uC5F0\uACB0 URL\uC5D0 \uC124\uC815\uD560 \uCD94\uAC00\uC801\uC778 \uD30C\uB77C\uBBF8\uD130
|
||||
DatabaseDialog.tooltip.Hostname=\uD30C\uB77C\uBBF8\uD130\uB85C \uC124\uC815\uD560 \uAC12
|
||||
DatabaseDialog.tooltip.Options=URL\uC5D0 \uC124\uC815\uD560 \uCD94\uAC00 \uC635\uC158
|
||||
DatabaseDialog.tooltip.Parameter=\uD30C\uB77C\uBBF8\uD130\uC5D0 \uC124\uC815\uD560 \uAC12
|
||||
DatabaseDialog.tooltip.PartitionId=\uB370\uC774\uD130\uBCA0\uC774\uC2A4 \uC5F0\uACB0 URL\uC5D0 \uC124\uC815\uD560 \uCD94\uAC00 \uD30C\uB77C\uBBF8\uD130
|
||||
DatabaseDialog.tooltip.UseClustering=\uD074\uB7EC\uC2A4\uD130\uB9C1 \uC815\uBCF4\uB97C \uCD94\uAC00\uD558\uAE30\uC704\uD574 \uD074\uB7EC\uC2A4\uD130\uB9C1 \uD65C\uC131\uD654
|
||||
DatabaseExplorer.Actions=\uB3D9\uC791
|
||||
DatabaseExplorer.Button.Cancel=\uCDE8\uC18C(&C)
|
||||
DatabaseExplorer.Button.Ok=\uD655\uC778(&O)
|
||||
DatabaseExplorer.DataProfile=\uB370\uC774\uD130 \uD504\uB85C\uD30C\uC77C
|
||||
DatabaseExplorer.Preview100=\uCC98\uC74C 100 \uBBF8\uB9AC\uBCF4\uAE30
|
||||
DatabaseExplorer.PreviewX=x \uB85C\uC6B0 \uBBF8\uB9AC\uBCF4\uAE30
|
||||
DatabaseExplorer.RowCount=\uB85C\uC6B0 \uCE74\uC6B4\uD2B8
|
||||
DatabaseExplorer.SelectConnection=\uC5F0\uACB0 \uC120\uD0DD
|
||||
DatabaseExplorer.ShowLayout=\uB808\uC774\uC544\uC6C3 \uBCF4\uAE30
|
||||
DatabaseExplorer.Title=\uB370\uC774\uD130\uBCA0\uC774\uC2A4 \uD0D0\uC0C9\uAE30
|
||||
DatabaseExplorer.Truncate=Truncate \uD14C\uC774\uBE14
|
||||
DatabaseExplorer.UseCurrent=\uD604\uC7AC \uC5F0\uACB0 \uC0AC\uC6A9
|
||||
DatabaseExplorer.ViewSQL=SQL \uBCF4\uAE30
|
||||
DatabaseExplorerDialog.Catalogs.Label=\uCE74\uD0C8\uB85C\uADF8
|
||||
DatabaseExplorerDialog.Error.GenDDL=DDL\uC744 \uC0DD\uC131\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.
|
||||
DatabaseExplorerDialog.Error.RetrieveLayout=\uD14C\uC774\uBE14 \uB808\uC774\uC544\uC6C3\uC744 \uAC00\uC838\uC62C \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.
|
||||
DatabaseExplorerDialog.Menu.DisplayColumns=\uCEEC\uB7FC \uD45C\uC2DC
|
||||
DatabaseExplorerDialog.Menu.GenDDL=DDL \uC0DD\uC131
|
||||
DatabaseExplorerDialog.Menu.GenDDLOtherConn=\uB2E4\uB978 \uC5F0\uACB0\uC758 DDL \uC0DD\uC131
|
||||
DatabaseExplorerDialog.Menu.OpenSQL=[{0}] \uC758 SQL \uC5F4\uAE30
|
||||
DatabaseExplorerDialog.Menu.Preview100=[{0}]\uC758 \uCC98\uC74C 100 \uB85C\uC6B0 \uBBF8\uB9AC\uBCF4\uAE30
|
||||
DatabaseExplorerDialog.Menu.PreviewN=[{0}] \uC758 \uCC98\uC74C ... \uB85C\uC6B0 \uBBF8\uB9AC\uBCF4\uAE30(&P)
|
||||
DatabaseExplorerDialog.Menu.ProfileTable=\uB370\uC774\uD130 \uD504\uB85C\uD30C\uC77C ''{0}''
|
||||
DatabaseExplorerDialog.Menu.ShowLayout=[{0}]\uC758 \uB808\uC774\uC544\uC6C3 \uBCF4\uAE30
|
||||
DatabaseExplorerDialog.Menu.ShowSize=[{0}] \uC758 \uB85C\uC6B0 \uC218
|
||||
DatabaseExplorerDialog.Menu.Truncate=[{0}] \uD14C\uC774\uBE14 Truncate
|
||||
DatabaseExplorerDialog.NoConnectionsKnown.Message=\uD604\uC7AC DDL\uC744 \uC0DD\uC131\uD558\uAE30 \uC704\uD574 \uC0AC\uC6A9\uAC00\uB2A5\uD55C \uB2E4\uB978 \uC5F0\uACB0\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.
|
||||
DatabaseExplorerDialog.NoConnectionsKnown.Title=\uC5F0\uACB0\uC774 \uC5C6\uC2B5\uB2C8\uB2E4
|
||||
DatabaseExplorerDialog.NoRows.Message=\uD14C\uC774\uBE14\uC5D0 \uB85C\uC6B0\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4
|
||||
DatabaseExplorerDialog.NoRows.Title=\uB85C\uC6B0 \uC5C6\uC74C
|
||||
DatabaseExplorerDialog.PreviewTable.Message=\uBBF8\uB9AC\uBCF4\uAE30 \uAC1C\uC218 (0\uC6B4 \uBAA8\uB4E0 \uB85C\uC6B0)
|
||||
DatabaseExplorerDialog.PreviewTable.Title=\uBBF8\uB9AC\uBCF4\uAE30 \uC81C\uD55C
|
||||
DatabaseExplorerDialog.Procedures.Label=\uD504\uB85C\uC2DC\uC800
|
||||
DatabaseExplorerDialog.Schemas.Label=\uC2A4\uD0A4\uB9C8
|
||||
DatabaseExplorerDialog.Synonyms.Label=\uB3D9\uC758\uC5B4
|
||||
DatabaseExplorerDialog.TableSize.Message=\uD14C\uC774\uBE14 ''{0}'' \uB294 {1} \uAC1C\uC758 \uB85C\uC6B0\uB97C \uAC00\uC9C0\uACE0 \uC788\uC2B5\uB2C8\uB2E4.
|
||||
DatabaseExplorerDialog.TableSize.Title=\uB85C\uC6B0 \uC218
|
||||
DatabaseExplorerDialog.Tables.Label=\uD14C\uC774\uBE14
|
||||
DatabaseExplorerDialog.TargetDatabase.Message=\uB300\uC0C1 \uB370\uC774\uD130\uBCA0\uC774\uC2A4 \uC120\uD0DD:
|
||||
DatabaseExplorerDialog.TargetDatabase.Title=\uB300\uC0C1 \uB370\uC774\uD130\uBCA0\uC774\uC2A4
|
||||
DatabaseExplorerDialog.Title=[{0}] \uC5F0\uACB0\uC758 \uB370\uC774\uD130\uBCA0\uC774\uC2A4 \uD0D0\uC0C9
|
||||
DatabaseExplorerDialog.UnexpectedProfilingError.Message=\uC54C \uC218 \uC5C6\uB294 \uD504\uB85C\uD30C\uC77C\uB9C1 \uC624\uB958\uAC00 \uBC1C\uC0DD\uD558\uC600\uC2B5\uB2C8\uB2E4:
|
||||
DatabaseExplorerDialog.UnexpectedProfilingError.Title=\uD504\uB85C\uD30C\uC77C\uB9C1 \uC624\uB958
|
||||
DatabaseExplorerDialog.Views.Label=\uBDF0
|
||||
Dialog.Error.EnterInteger=Integer \uC22B\uC790\uB97C \uC785\uB825\uD558\uC2ED\uC2DC\uC624!
|
||||
Dialog.Error.Header=\uC624\uB958
|
||||
EnterConditionDialog.Title=\uC870\uAC74 \uC785\uB825
|
||||
EnterListDialog.AddAll.Tooltip=\uC67C\uCABD\uC758 \uBAA8\uB4E0 \uC544\uC774\uD15C \uCD94\uAC00
|
||||
EnterListDialog.AddOne.Tooltip=\uC67C\uCABD\uC758 \uC120\uD0DD\uD55C \uC544\uC774\uD15C\uB9CC \uCD94\uAC00
|
||||
EnterListDialog.AvailableItems.Label=\uC0AC\uC6A9\uAC00\uB2A5\uD55C \uC544\uC774\uD15C:
|
||||
EnterListDialog.RemoveAll.Tooltip=\uC624\uB978\uCABD\uC758 \uBAA8\uB4E0 \uC544\uC774\uD15C \uCD94\uAC00
|
||||
EnterListDialog.RemoveOne.Tooltip=\uC624\uB978\uCABD\uC758 \uC120\uD0DD\uD55C \uC544\uC774\uD15C\uB9CC \uC81C\uAC70
|
||||
EnterListDialog.Selection.Label=\uB2F9\uC2E0\uC758 \uC120\uD0DD:
|
||||
EnterListDialog.Title=\uB9AC\uC2A4\uD2B8 \uC785\uB825
|
||||
EnterMappingDialog.AutoSourceSelection.Label=\uC790\uB3D9 \uC18C\uC2A4 \uC120\uD0DD?
|
||||
EnterMappingDialog.AutoTargetSelection.Label=\uC790\uB3D9 \uB300\uC0C1 \uC120\uD0DD?
|
||||
EnterMappingDialog.Button.Add=\uCD94\uAC00(&A)
|
||||
EnterMappingDialog.Button.Delete=\uC0AD\uC81C(&D)
|
||||
EnterMappingDialog.Button.Guess=\uCD94\uCE21(&G)
|
||||
EnterMappingDialog.HideUsedSources=\uD560\uB2F9\uB41C \uC6D0\uBCF8 \uD544\uB4DC \uC228\uAE30\uAE30?
|
||||
EnterMappingDialog.HideUsedTargets=\uD560\uB2F9\uB41C \uB300\uC0C1 \uD544\uB4DC \uC228\uAE30\uAE30?
|
||||
EnterMappingDialog.ResultMappings.Label=\uB9E4\uD551:
|
||||
EnterMappingDialog.SourceFields.Label=\uC18C\uC2A4 \uD544\uB4DC:
|
||||
EnterMappingDialog.TargetFields.Label=\uB300\uC0C1 \uD544\uB4DC:
|
||||
EnterMappingDialog.Title=\uB9E4\uD551 \uC785\uB825
|
||||
EnterOptionsDialog.AskOnExit.Label=\uB098\uAC08 \uB54C \uBB3C\uC5B4\uBCF4\uAE30?
|
||||
EnterOptionsDialog.AutoSave.Label=\uBCC0\uACBD\uB41C \uD30C\uC77C\uC744 \uC790\uB3D9\uC73C\uB85C \uC800\uC7A5?
|
||||
EnterOptionsDialog.AutoSplitHops.Label=\uC790\uB3D9\uC73C\uB85C Hop \uBD84\uB9AC?
|
||||
EnterOptionsDialog.BackgroundColor.Label=\uBC30\uACBD\uC0C9:
|
||||
EnterOptionsDialog.BackgroundColorGraph.Label=\uC791\uC5C5\uACF5\uAC04 \uBC30\uACBD\uC0C9:
|
||||
EnterOptionsDialog.Branding.Label=\uBE0C\uB79C\uB529 \uADF8\uB798\uD53D \uBCF4\uC774\uAE30
|
||||
EnterOptionsDialog.Button.Edit=\uBCC0\uACBD
|
||||
EnterOptionsDialog.Button.Edit.Tooltip=\uC635\uC158 \uD3B8\uC9D1
|
||||
EnterOptionsDialog.Button.Reset=\uCD08\uAE30\uD654
|
||||
EnterOptionsDialog.Button.Reset.Tooltip=\uC635\uC158\uC744 \uAE30\uBCF8\uAC12\uC73C\uB85C \uCD08\uAE30\uD654
|
||||
EnterOptionsDialog.CanvasAntiAliasing.Label=\uCE94\uBC84\uC2A4 \uC548\uD2F0-\uC568\uB9AC\uC5B4\uC2F1?
|
||||
EnterOptionsDialog.ClearCustomParameters.Confirmation=\uCEE4\uC2A4\uD140 \uD50C\uB798\uADF8\uC640 \uD30C\uB77C\uBBF8\uD130\uB97C \uC0AD\uC81C\uD558\uC600\uC2B5\uB2C8\uB2E4.
|
||||
EnterOptionsDialog.ClearCustomParameters.Label=\uC0AC\uC6A9\uC790 \uC815\uC758 \uD30C\uB77C\uBBF8\uD130 \uC9C0\uC6B0\uAE30 (Step / \uD50C\uB7EC\uADF8\uC778):
|
||||
EnterOptionsDialog.ClearCustomParameters.Question=Step\uACFC \uD50C\uB7EC\uADF8\uC778 \uCC3D\uC758 \uBAA8\uB4E0 \uCEE4\uC2A4\uD140 \uD50C\uB798\uADF8\uB098 \uD30C\uB77C\uBBF8\uD130\uB97C \uC0AD\uC81C\uD558\uC2DC\uACA0\uC2B5\uB2C8\uAE4C?
|
||||
EnterOptionsDialog.ClearCustomParameters.Title=\uC9C8\uBB38
|
||||
EnterOptionsDialog.ClearCustomParameters.Tooltip=Step\uACFC \uD50C\uB7EC\uADF8\uC778\uC758 \uCC3D\uC5D0\uC11C \uBAA8\uB4E0 \uCEE4\uC2A4\uD140 \uD50C\uB798\uADF8\uC640 \uD30C\uB77C\uBBF8\uD130 \uC0AD\uC81C
|
||||
EnterOptionsDialog.CopyOrDistributeDialog.Label="\uBCF5\uC0AC \uB610\uB294 \uBD84\uBC30" \uCC3D \uBCF4\uC774\uAE30?
|
||||
EnterOptionsDialog.DefaultLocale.Label=\uC120\uD638\uD558\uB294 \uC5B8\uC5B4:
|
||||
EnterOptionsDialog.DefaultPreviewSize.Label=\uBBF8\uB9AC\uBCF4\uAE30 \uCC3D\uC5D0\uC11C \uAE30\uBCF8 \uB77C\uC778 \uC218:
|
||||
EnterOptionsDialog.DialogMiddlePercentage.Label=\uCC3D \uC911\uC559 \uBE44\uC728:
|
||||
EnterOptionsDialog.EnableAutoCollapseCoreObjectTree.Label=\uC790\uB3D9\uC73C\uB85C \uC811\uD788\uB294 \uD314\uB81B\uD2B8 \uD2B8\uB9AC?
|
||||
EnterOptionsDialog.FailoverLocale.Label=\uB300\uCCB4 \uC5B8\uC5B4:
|
||||
EnterOptionsDialog.FixedWidthFont.Label=\uACE0\uC815\uD3ED \uD3F0\uD2B8:
|
||||
EnterOptionsDialog.General.Label=\uC77C\uBC18
|
||||
EnterOptionsDialog.GraphFont.Label=\uC791\uC5C5\uACF5\uAC04 \uAE00\uAF34
|
||||
EnterOptionsDialog.GridSize.Label=\uADF8\uB9AC\uB4DC \uD06C\uAE30
|
||||
EnterOptionsDialog.HelpToolTipsEnabled.Label=\uB3C4\uC6C0\uB9D0 \uD234\uD301 \uBCF4\uAE30?
|
||||
EnterOptionsDialog.IconSize.Label=\uC791\uC5C5\uACF5\uAC04 \uC544\uC774\uCF58 \uD06C\uAE30:
|
||||
EnterOptionsDialog.LineWidth.Label=\uC791\uC5C5\uACF5\uAC04 \uC904 \uB113\uC774:
|
||||
EnterOptionsDialog.LookAndFeel.Label=\uB8E9\uC564\uD544
|
||||
EnterOptionsDialog.MaxLogLineTimeout.Label=\uC911\uC559\uC758 \uB85C\uADF8 \uB77C\uC778 \uC800\uC7A5 \uC2DC\uAC04\uC81C\uD55C (\uBD84)
|
||||
EnterOptionsDialog.MaxNrHistLinesSize.Label=\uB85C\uADF8 \uC774\uB825 \uBCF4\uAE30\uC5D0\uC11C \uCD5C\uB300 \uB77C\uC778\uC218
|
||||
EnterOptionsDialog.MaxNrLogLinesSize.Label=\uB85C\uADF8\uCC3D\uC758 \uCD5C\uB300 \uB77C\uC778\uC218
|
||||
EnterOptionsDialog.MaximumUndo.Label=\uCD5C\uB300 \uC2E4\uD589\uCDE8\uC18C \uB808\uBCA8:
|
||||
EnterOptionsDialog.NoteFont.Label=\uB178\uD2B8\uC758 \uD3F0\uD2B8:
|
||||
EnterOptionsDialog.OnlyActiveFile.Label=\uBA54\uC778 \uD2B8\uB9AC\uC5D0\uC11C \uD65C\uC131\uD654\uB41C \uD30C\uC77C\uB9CC \uBCF4\uAE30
|
||||
EnterOptionsDialog.OnlySaveUsedConnections.Label=\uC0AC\uC6A9\uB41C \uC5F0\uACB0\uB9CC XML\uB85C \uC800\uC7A5?
|
||||
EnterOptionsDialog.OpenLastFileStartup.Label=\uC2DC\uC791\uD560 \uB54C\uC5D0 \uB9C8\uC9C0\uB9C9 \uD30C\uC77C \uC5F4\uAE30?
|
||||
EnterOptionsDialog.ReplaceDB.Label=\uC5F4\uAE30/\uAC00\uC838\uC624\uAE30\uD558\uB294 \uB3D9\uC548 \uAE30\uC874 \uC5F0\uACB0 \uBC14\uAFD4\uCE58\uAE30?
|
||||
EnterOptionsDialog.ReplaceDBAsk.Label=\uC5F4\uAE30/\uAC00\uC838\uC624\uAE30 \uACFC\uC815\uC5D0\uC11C \uAE30\uC874 \uC5F0\uACB0 \uBC14\uAFD4\uCE58\uAE30 \uBB3C\uC5B4\uBCF4\uAE30?
|
||||
EnterOptionsDialog.ShadowSize.Label=\uC791\uC5C5\uACF5\uAC04\uC758 \uADF8\uB9BC\uC790 \uD06C\uAE30:
|
||||
EnterOptionsDialog.ShowRepoDialog.Label=\uC2DC\uC791 \uC2DC\uC5D0 \uC800\uC7A5\uC18C \uCC3D \uBCF4\uAE30?
|
||||
EnterOptionsDialog.ShowSaveConfirmation.Label="\uC800\uC7A5" \uCC3D \uBCF4\uAE30?
|
||||
EnterOptionsDialog.ShowTipsStartup.Label=\uC2DC\uC791\uD560 \uB54C \uD301 \uBCF4\uAE30?
|
||||
EnterOptionsDialog.ShowWelcomePage.Label=\uC2DC\uC791 \uC2DC \uD658\uC601 \uD398\uC774\uC9C0 \uBCF4\uAE30?
|
||||
EnterOptionsDialog.TabColor.Label=\uD0ED \uC0C9\uAE54:
|
||||
EnterOptionsDialog.Title=Kettle \uC635\uC158
|
||||
EnterOptionsDialog.ToolTipsEnabled.Label=\uD234\uD301 \uBCF4\uC774\uAE30?
|
||||
EnterOptionsDialog.UseDatabaseCache.Label=\uB370\uC774\uD130\uBCA0\uC774\uC2A4 \uCE90\uC2DC \uC0AC\uC6A9?
|
||||
EnterOptionsDialog.UseOSLook.Label=OS\uC758 \uBAA8\uC591\uC0C8 \uC0AC\uC6A9?
|
||||
EnterOptionsDialog.VersionCheck.Label=\uC5C5\uB370\uC774\uD2B8 \uD655\uC778 \uAC74\uB108\uB6F0\uAE30?
|
||||
EnterPrintDialog.BottomMargin.Label=\uC544\uB798 \uC5EC\uBC31 (\uC778\uCE58):
|
||||
EnterPrintDialog.Cols.Label=\uCEEC\uB7FC:
|
||||
EnterPrintDialog.LeftMargin.Label=\uC67C\uCABD \uC5EC\uBC31 (\uC778\uCE58):
|
||||
EnterPrintDialog.PrintArea.Label=\uC778\uC1C4 \uC601\uC5ED:
|
||||
EnterPrintDialog.Rows.Label=\uB85C\uC6B0:
|
||||
EnterPrintDialog.Title=\uD398\uC774\uC9C0 \uC778\uC1C4
|
||||
EnterPrintDialog.TopMargin.Label=\uC704 \uC5EC\uBC31 (\uC778\uCE58):
|
||||
EnterSearchDialog.DB.Label=\uB370\uC774\uD130\uBCA0\uC774\uC2A4 \uC5F0\uACB0 \uAC80\uC0C9
|
||||
EnterSearchDialog.DB.Tooltip=\uB370\uC774\uD130\uBCA0\uC774\uC2A4 \uC5F0\uACB0 \uAC80\uC0C9
|
||||
EnterSearchDialog.FilterSelection.Label=\uD544\uD130
|
||||
EnterSearchDialog.Note.Label=\uB178\uD2B8 \uCC3E\uAE30
|
||||
EnterSearchDialog.Note.Tooltip=\uB178\uD2B8 \uCC3E\uAE30
|
||||
EnterSearchDialog.Shell.Title=\uBA54\uD0C0\uB370\uC774\uD130 \uAC80\uC0C9
|
||||
EnterSearchDialog.Step.Label=Step \uAC80\uC0C9
|
||||
EnterSearchDialog.Step.Tooltip=Step \uAC80\uC0C9
|
||||
EnterStringsDialog.StringName.Label=\uC774\uB984
|
||||
EnterStringsDialog.StringValue.Label=\uAC12
|
||||
EnterStringsDialog.Title=\uBB38\uC790 \uAC12\uC744 \uC785\uB825\uD558\uC2ED\uC2DC\uC624
|
||||
EnterValueDialog.ConversionFormat.Label=\uBCC0\uD658 \uD615\uC2DD:
|
||||
EnterValueDialog.Length.Label=\uAE38\uC774:
|
||||
EnterValueDialog.Precision.Label=\uC815\uBC00\uB3C4:
|
||||
EnterValueDialog.TestResult.Message=\uACB0\uACFC\uAC12:\n\n{0}
|
||||
EnterValueDialog.TestResult.Title=\uAC12
|
||||
EnterValueDialog.Title=\uAC12\uC744 \uC785\uB825\uD558\uC2ED\uC2DC\uC624
|
||||
EnterValueDialog.Type.Label=\uD615\uC2DD:
|
||||
EnterValueDialog.Value.Label=\uAC12:
|
||||
ErrorDialog.ShowDetails.Title=\uC624\uB958 \uC0C1\uC138\uC815\uBCF4
|
||||
GetDatabaseInfoProgressDialog.Error.GettingInfoTable=\uB370\uC774\uD130\uBCA0\uC774\uC2A4\uC5D0\uC11C \uC815\uBCF4\uB97C \uAC00\uC838\uC624\uB294 \uC911 \uBB38\uC81C \uBC1C\uC0DD: {0}
|
||||
GetDatabaseInfoProgressDialog.Error.Message=\uB370\uC774\uD130\uBCA0\uC774\uC2A4\uC5D0\uC11C \uC815\uBCF4\uB97C \uAC00\uC838\uC624\uB294 \uC911 \uC624\uB958!
|
||||
GetDatabaseInfoProgressDialog.Error.Title=\uC815\uBCF4 \uAC00\uC838\uC624\uAE30 \uC624\uB958
|
||||
GetPreviewTableProgressDialog.Error.Message=\uB370\uC774\uD130\uBCA0\uC774\uC2A4\uC5D0\uC11C \uC815\uBCF4\uB97C \uAC00\uC838\uC624\uB294 \uC911 \uC624\uB958 \uBC1C\uC0DD!
|
||||
GetPreviewTableProgressDialog.Error.Title=\uC815\uBCF4 \uAC00\uC838\uC624\uAE30 \uC624\uB958
|
||||
GetQueryFieldsProgressDialog.Error.Message=\uB370\uC774\uD130\uBCA0\uC774\uC2A4\uC5D0\uC11C \uC815\uBCF4\uB97C \uAC00\uC838\uC624\uB294 \uC911 \uC624\uB958 \uBC1C\uC0DD!
|
||||
GetQueryFieldsProgressDialog.Error.Title=\uC815\uBCF4 \uAC00\uC838\uC624\uAE30 \uC624\uB958
|
||||
GetTableSizeProgressDialog.Error.Message=\uB370\uC774\uD130\uBCA0\uC774\uC2A4\uC5D0\uC11C \uC815\uBCF4\uB97C \uAC00\uC838\uC624\uB294 \uC911 \uC624\uB958\uBC1C\uC0DD!
|
||||
GetTableSizeProgressDialog.Error.Title=\uC815\uBCF4 \uAC00\uC838\uC624\uAE30 \uC624\uB958
|
||||
SQLEditor.Button.ClearCache=\uCE90\uC2DC \uBE44\uC6B0\uAE30(&C)
|
||||
SQLEditor.Button.ClearCache.Tooltip=\uACB0\uACFC\uAC00 \uB370\uC774\uD130\uBCA0\uC774\uC2A4\uC758 \uC2E4\uC81C \uC0C1\uD669\uACFC \uC77C\uCE58\uD558\uC9C0 \uC54A\uB294\uB2E4\uBA74 \uC774 \uBC84\uD2BC\uC744 \uC0AC\uC6A9\uD558\uC2ED\uC2DC\uC624.\nKettle \uC774\uC678\uC758 \uB2E4\uB978 \uB3C4\uAD6C\uB85C \uB370\uC774\uD130\uBCA0\uC774\uC2A4\uC5D0\uC11C \uD14C\uC774\uBE14\uC744 \uC0DD\uC131\uD558\uAC70\uB098 \uC218\uC815\uD558\uBA74 \uB370\uC774\uD130\uBCA0\uC774\uC2A4 \uCE90\uC2DC\uB294 \uC720\uD6A8\uD558\uC9C0 \uC54A\uC740 \uC0C1\uD0DC\uB85C \uBCC0\uACBD\uB429\uB2C8\uB2E4.
|
||||
SQLEditor.Button.Execute=\uC2E4\uD589(&E)
|
||||
SQLEditor.ClearWholeCache.Message=\uC804\uCCB4 \uCE90\uC2DC \uC0AD\uC81C?\n''\uC544\uB2C8\uC624''\uB97C \uB204\uB974\uBA74 \uB370\uC774\uD130\uBCA0\uC774\uC2A4 ''{0}''\uC758 \uCE90\uC2DC\uB9CC \uC0AD\uC81C
|
||||
SQLEditor.ClearWholeCache.Title=\uBAA8\uB4E0 \uCE90\uC2DC\uB97C \uBE44\uC6B0\uAE30?
|
||||
SQLEditor.ConnectionCacheCleared.Message=\uB370\uC774\uD130\uBCA0\uC774\uC2A4 \uC5F0\uACB0 ''{0}''\uC5D0 \uB300\uD55C \uCE90\uC2DC\uB97C \uC0AD\uC81C\uD558\uC600\uC2B5\uB2C8\uB2E4.
|
||||
SQLEditor.ConnectionCacheCleared.Title=\uCE90\uC2DC \uC0AD\uC81C
|
||||
SQLEditor.Editor.Label=\uC138\uBBF8\uCF5C\uB860 '';'' \uC73C\uB85C \uAD6C\uBD84\uB41C SQL \uBB38\uC7A5
|
||||
SQLEditor.Error.CouldNotConnect.Message=\uB370\uC774\uD130\uBCA0\uC774\uC2A4\uC5D0 \uC5F0\uACB0\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4!\n\uC5F0\uACB0 [{0}] \uC758 \uC124\uC815\uC744 \uD655\uC778\uD558\uC2ED\uC2DC\uC624\n{1}
|
||||
SQLEditor.Error.CouldNotConnect.Title=\uC5F0\uACB0\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.
|
||||
SQLEditor.ErrorExecSQL.Message=\uB2E4\uC74C SQL\uC744 \uC2E4\uD589\uD558\uB294\uB370 \uC624\uB958\uAC00 \uBC1C\uC0DD\uD558\uC600\uC2B5\uB2C8\uB2E4:\n\n{0}
|
||||
SQLEditor.ErrorExecSQL.Title=SQL \uC2E4\uD589 \uC624\uB958
|
||||
SQLEditor.LineNr.Label=\uC904 \uBC88\uD638: {0}
|
||||
SQLEditor.Log.OnPartition=\uD30C\uD2F0\uC158 ''{0}''
|
||||
SQLEditor.Log.SQLExecError=\uC2E4\uD589 \uC911 \uC624\uB958: {0}\n{1}
|
||||
SQLEditor.Log.SQLExecuted=SQL\uC744 \uC2E4\uD589\uD558\uC600\uC2B5\uB2C8\uB2E4: {0}
|
||||
SQLEditor.Log.StatsExecuted={0} SQL \uBB38\uC7A5\uC744 \uC2E4\uD589\uD558\uC600\uC2B5\uB2C8\uB2E4.
|
||||
SQLEditor.NoRows.Message=SQL \uBB38\uC7A5\uC5D0\uC11C \uACB0\uACFC\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4:\n\n{0}
|
||||
SQLEditor.NoRows.Title=\uACB0\uACFC \uC5C6\uC74C
|
||||
SQLEditor.Position.Label=\uC904 {0} \uD589 {1}
|
||||
SQLEditor.Result.Message=SQL \uBB38\uC7A5\uC758 \uACB0\uACFC\uB294 \uC544\uB798\uC640 \uAC19\uC2B5\uB2C8\uB2E4
|
||||
SQLEditor.Result.Title=SQL \uBB38\uC7A5\uC758 \uACB0\uACFC
|
||||
SQLEditor.ResultRows.Title=SQL \uBB38\uC7A5 #{0}
|
||||
SQLEditor.Title=\uAC04\uB2E8\uD55C SQL \uD3B8\uC9D1\uAE30
|
||||
SQLEditor.WholeCacheCleared.Message=\uBAA8\uB4E0 \uB370\uC774\uD130\uBCA0\uC774\uC2A4 \uCE90\uC2DC\uB97C \uC0AD\uC81C\uD558\uC600\uC2B5\uB2C8\uB2E4.
|
||||
SQLEditor.WholeCacheCleared.Title=\uCE90\uC2DC \uC0AD\uC81C
|
||||
SQLStatementDialog.Button.ExecSQL=SQL \uC2E4\uD589(&x)
|
||||
SQLStatementDialog.Button.ViewSQL=SQL \uBCF4\uAE30(&V)
|
||||
SQLStatementDialog.Error.CouldNotConnect=\uB370\uC774\uD130\uBCA0\uC774\uC2A4\uC5D0 \uC5F0\uACB0\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4 [{0}]
|
||||
SQLStatementDialog.Error.CouldNotExec=\uC544\uB798 \uBB38\uC7A5\uC744 \uC2E4\uD589\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4:\n{0}
|
||||
SQLStatementDialog.Error.Message=\uC120\uD0DD\uD55C \uBB38\uC7A5\uC744 \uC2E4\uD589\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. {0} \uC624\uB958\uAC00 \uC788\uC2B5\uB2C8\uB2E4.
|
||||
SQLStatementDialog.Error.Title=\uC624\uB958
|
||||
SQLStatementDialog.Log.Connection=-- \uB370\uC774\uD130\uBCA0\uC774\uC2A4 \uC5F0\uACB0 : {0}
|
||||
SQLStatementDialog.Log.Error=-- \uC624\uB958 \uBA54\uC138\uC9C0 : {0}
|
||||
SQLStatementDialog.Log.Step=-- Step : {0}
|
||||
SQLStatementDialog.Log.Undefined=<\uC815\uC758\uB418\uC9C0\uC54A\uC74C>
|
||||
SQLStatementDialog.Success.Message={0} SQL \uBB38\uC7A5\uC744 \uC2E4\uD589\uD558\uC600\uC2B5\uB2C8\uB2E4
|
||||
SQLStatementDialog.Success.Title=\uC131\uACF5
|
||||
SQLStatementDialog.TableCol.Connection=\uC5F0\uACB0
|
||||
SQLStatementDialog.TableCol.Error=\uC624\uB958
|
||||
SQLStatementDialog.TableCol.SQL=SQL
|
||||
SQLStatementDialog.TableCol.Stepname=Step \uC774\uB984
|
||||
SQLStatementDialog.Title=\uC2E4\uD589\uD560 SQL \uBB38\uC7A5 \uB9AC\uC2A4\uD2B8
|
||||
SQLStatementDialog.ViewSQL.Message=SQL \uBB38\uC7A5:
|
||||
SQLStatementDialog.ViewSQL.Title=SQL \uBB38\uC7A5
|
||||
StepFieldsDialog.Fields.Label=\uD544\uB4DC:
|
||||
StepFieldsDialog.Name.Label=Step \uC774\uB984:
|
||||
StepFieldsDialog.TableCol.Fieldname=\uD544\uB4DC \uC774\uB984
|
||||
StepFieldsDialog.TableCol.Length=\uAE38\uC774
|
||||
StepFieldsDialog.TableCol.Precision=\uC815\uBC00\uB3C4
|
||||
StepFieldsDialog.TableCol.Type=\uD615\uC2DD
|
||||
XulDatabaseDialog.Error.General=\uC77C\uBC18 \uC624\uB958
|
||||
XulDatabaseDialog.Error.HandleXul=XUL \uC815\uC758\uB97C \uC774\uC6A9\uD55C \uC791\uC5C5 \uC624\uB958
|
||||
XulDatabaseDialog.Error.ResourcesNotFound=\uAE30\uBCF8 \uB85C\uCF00\uC77C {0}\uC758 \uB9AC\uC18C\uC2A4 \uBC88\uB4E4\uC744 \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4, \uB300\uCCB4 \uB85C\uCF00\uC77C\uC740 {1}
|
||||
XulDatabaseDialog.Error.ResourcesNotFound.Title=\uCC3D\uC5D0\uC11C \uC4F0\uB294 \uBB38\uC790\uC5F4 \uB9AC\uC18C\uC2A4\uB97C \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4
|
||||
XulDatabaseDialog.Error.Title=\uC624\uB958
|
||||
tooltip_refresh=\uD2B8\uB9AC \uC0C8\uB85C\uACE0\uCE68
|
|
@ -0,0 +1,94 @@
|
|||
#
|
||||
# EnterSearchDialog
|
||||
#
|
||||
EnterSearchDialog.Shell.Title = Busca meta dados
|
||||
EnterSearchDialog.Step.Label = Busca steps
|
||||
EnterSearchDialog.Step.Tooltip = Busca steps
|
||||
EnterSearchDialog.DB.Label = Busca conexões de banco de dados
|
||||
EnterSearchDialog.DB.Tooltip = Busca conexões de banco de dados
|
||||
EnterSearchDialog.Note.Label = Busca notas
|
||||
EnterSearchDialog.Note.Tooltip = Busca notas
|
||||
|
||||
EnterSearchDialog.FilterSelection.Label = Filtro
|
||||
|
||||
EnterOptionsDialog.ToolTipsEnabled.Label=Mostrar tooltips?
|
||||
|
||||
#
|
||||
# DatabaseDialog
|
||||
#
|
||||
DatabaseDialog.Shell.title=Connection information
|
||||
DatabaseDialog.button.Test=\ Test
|
||||
DatabaseDialog.button.Explore=\ Explore
|
||||
DatabaseDialog.button.FeatureList=\ Feature List
|
||||
DatabaseDialog.DbTab.title=General
|
||||
DatabaseDialog.label.ConnectionName=Connection name
|
||||
DatabaseDialog.label.ConnectionType=Connection type
|
||||
DatabaseDialog.label.AccessMethod=Method of access
|
||||
DatabaseDialog.label.ServerHostname=Server host name
|
||||
DatabaseDialog.label.DatabaseName=Database name
|
||||
DatabaseDialog.label.PortNumber=Port number
|
||||
DatabaseDialog.label.Username=Username
|
||||
DatabaseDialog.label.Password=Password
|
||||
DatabaseDialog.PoolTab.title=Pooling
|
||||
DatabaseDialog.label.UseConnectionPool=Use a connection pool
|
||||
DatabaseDialog.label.InitialPoolSize=The initial pool size
|
||||
DatabaseDialog.label.MaximumPoolSize=The maximum pool size
|
||||
DatabaseDialog.OracleTab.title=Oracle
|
||||
DatabaseDialog.label.TablespaceForData=Tablespace for data
|
||||
DatabaseDialog.label.TablespaceForIndexes=Tablespace for indexes
|
||||
DatabaseDialog.IfxTab.title=Informix
|
||||
DatabaseDialog.label.InformixServername=Informix Servername
|
||||
DatabaseDialog.label.Sap=SAP ERP
|
||||
DatabaseDialog.label.Language=Language
|
||||
DatabaseDialog.label.SystemNumber=System Number
|
||||
DatabaseDialog.label.SapClient=SAP Client
|
||||
DatabaseDialog.GenericTab.title=Generic
|
||||
DatabaseDialog.GenericTab.tooltip=Settings in case you want to use a generic database with a non-supported JDBC driver
|
||||
DatabaseDialog.label.Url=URL
|
||||
DatabaseDialog.label.DriverClass=Driver class
|
||||
DatabaseDialog.label.Options=Options
|
||||
DatabaseDialog.tooltip.Options=Extra options to set in the URL
|
||||
DatabaseDialog.button.ShowHelp=Show help text on option usage
|
||||
DatabaseDialog.column.DbType=Database Type
|
||||
DatabaseDialog.column.Parameter=Parameter
|
||||
DatabaseDialog.column.Value=Value
|
||||
DatabaseDialog.tooltip.DbType=The extra parameters to set in the URL to connectect to the database
|
||||
DatabaseDialog.tooltip.Parameter=The values to set for the parameters
|
||||
DatabaseDialog.SQLTab.title=SQL
|
||||
DatabaseDialog.SQLTab.tooltip=Specify the SQL to execute after connecting
|
||||
DatabaseDialog.label.Statements=The statements to execute right after connecting (separated by ;)
|
||||
DatabaseDialog.ClusterTab.title=Cluster
|
||||
DatabaseDialog.ClusterTab.tooltip=Optional clustering information
|
||||
DatabaseDialog.label.UseClustering=Use clustering? EXPERIMENTAL\!\!
|
||||
DatabaseDialog.tooltip.UseClustering=Enable clustering to add all kinds of clustering information.
|
||||
DatabaseDialog.column.PartitionId=Partition ID
|
||||
DatabaseDialog.column.Hostname=Hostname
|
||||
DatabaseDialog.column.Port=Port
|
||||
DatabaseDialog.column.DatabaseName=Database name
|
||||
DatabaseDialog.column.Username=Username
|
||||
DatabaseDialog.column.Password=Password
|
||||
DatabaseDialog.tooltip.PartitionId=The extra parameters to set in the URL to connect to the database
|
||||
DatabaseDialog.tooltip.Hostname=The values to set for the parameters
|
||||
DatabaseDialog.HelpText.title=Options help text
|
||||
DatabaseDialog.HelpText.description=This is the help text for [{0}] :
|
||||
DatabaseDialog.ErrorHelpText.title=Error!
|
||||
DatabaseDialog.ErrorHelpText.description=Unable to get the help text. Please make sure all required parameters are entered correctly!
|
||||
DatabaseDialog.ErrorParameters.title=Error!
|
||||
DatabaseDialog.ErrorParameters.description=Please make sure all required parameters are entered correctly!
|
||||
DatabaseDialog.ErrorConnectionInfo.title=Error
|
||||
DatabaseDialog.ErrorConnectionInfo.description=Unable to get the connection information
|
||||
DatabaseDialog.report.ConnectionWithPartOk=Connection to database [{0}] with partition id [{1}] is OK.
|
||||
DatabaseDialog.report.ConnectionWithPartError=Error connecting to database [{0}] with partition id [{1}] : {2}
|
||||
DatabaseDialog.report.Hostname= Hostname \:
|
||||
DatabaseDialog.report.Port= Port \:
|
||||
DatabaseDialog.report.DatabaseName= Database name \:
|
||||
DatabaseDialog.report.ConnectionOk=Connection to database [{0}] is OK.
|
||||
DatabaseDialog.report.ConnectionError=Error connecting to database [{0}] \:
|
||||
DatabaseDialog.ConnectionReport.title=Connection report
|
||||
DatabaseDialog.ConnectionReport.description=Here is the connection report
|
||||
DatabaseDialog.ErrorParameters2.title=Error!
|
||||
DatabaseDialog.ErrorParameters2.description=Please make sure all required parameters are entered correctly\:\n{0}
|
||||
DatabaseDialog.FeatureList.title=Feature list
|
||||
DatabaseDialog.FeatureList.title2="The list of features:"
|
||||
DatabaseDialog.FeatureListError.title=Error!
|
||||
DatabaseDialog.FeatureListError.description=Unable to get feature list. Please make sure all required parameters are entered correctly!
|
|
@ -0,0 +1,94 @@
|
|||
#
|
||||
# EnterSearchDialog
|
||||
#
|
||||
EnterSearchDialog.Shell.Title = Busca meta dados
|
||||
EnterSearchDialog.Step.Label = Busca steps
|
||||
EnterSearchDialog.Step.Tooltip = Busca steps
|
||||
EnterSearchDialog.DB.Label = Busca conexões de banco de dados
|
||||
EnterSearchDialog.DB.Tooltip = Busca conexões de banco de dados
|
||||
EnterSearchDialog.Note.Label = Busca notas
|
||||
EnterSearchDialog.Note.Tooltip = Busca notas
|
||||
|
||||
EnterSearchDialog.FilterSelection.Label = Filtro
|
||||
|
||||
EnterOptionsDialog.ToolTipsEnabled.Label=Mostrar tooltips?
|
||||
|
||||
#
|
||||
# DatabaseDialog
|
||||
#
|
||||
DatabaseDialog.Shell.title=Connection information
|
||||
DatabaseDialog.button.Test=\ Test
|
||||
DatabaseDialog.button.Explore=\ Explore
|
||||
DatabaseDialog.button.FeatureList=\ Feature List
|
||||
DatabaseDialog.DbTab.title=General
|
||||
DatabaseDialog.label.ConnectionName=Connection name
|
||||
DatabaseDialog.label.ConnectionType=Connection type
|
||||
DatabaseDialog.label.AccessMethod=Method of access
|
||||
DatabaseDialog.label.ServerHostname=Server host name
|
||||
DatabaseDialog.label.DatabaseName=Database name
|
||||
DatabaseDialog.label.PortNumber=Port number
|
||||
DatabaseDialog.label.Username=Username
|
||||
DatabaseDialog.label.Password=Password
|
||||
DatabaseDialog.PoolTab.title=Pooling
|
||||
DatabaseDialog.label.UseConnectionPool=Use a connection pool
|
||||
DatabaseDialog.label.InitialPoolSize=The initial pool size
|
||||
DatabaseDialog.label.MaximumPoolSize=The maximum pool size
|
||||
DatabaseDialog.OracleTab.title=Oracle
|
||||
DatabaseDialog.label.TablespaceForData=Tablespace for data
|
||||
DatabaseDialog.label.TablespaceForIndexes=Tablespace for indexes
|
||||
DatabaseDialog.IfxTab.title=Informix
|
||||
DatabaseDialog.label.InformixServername=Informix Servername
|
||||
DatabaseDialog.label.Sap=SAP ERP
|
||||
DatabaseDialog.label.Language=Language
|
||||
DatabaseDialog.label.SystemNumber=System Number
|
||||
DatabaseDialog.label.SapClient=SAP Client
|
||||
DatabaseDialog.GenericTab.title=Generic
|
||||
DatabaseDialog.GenericTab.tooltip=Settings in case you want to use a generic database with a non-supported JDBC driver
|
||||
DatabaseDialog.label.Url=URL
|
||||
DatabaseDialog.label.DriverClass=Driver class
|
||||
DatabaseDialog.label.Options=Options
|
||||
DatabaseDialog.tooltip.Options=Extra options to set in the URL
|
||||
DatabaseDialog.button.ShowHelp=Show help text on option usage
|
||||
DatabaseDialog.column.DbType=Database Type
|
||||
DatabaseDialog.column.Parameter=Parameter
|
||||
DatabaseDialog.column.Value=Value
|
||||
DatabaseDialog.tooltip.DbType=The extra parameters to set in the URL to connectect to the database
|
||||
DatabaseDialog.tooltip.Parameter=The values to set for the parameters
|
||||
DatabaseDialog.SQLTab.title=SQL
|
||||
DatabaseDialog.SQLTab.tooltip=Specify the SQL to execute after connecting
|
||||
DatabaseDialog.label.Statements=The statements to execute right after connecting (separated by ;)
|
||||
DatabaseDialog.ClusterTab.title=Cluster
|
||||
DatabaseDialog.ClusterTab.tooltip=Optional clustering information
|
||||
DatabaseDialog.label.UseClustering=Use clustering? EXPERIMENTAL\!\!
|
||||
DatabaseDialog.tooltip.UseClustering=Enable clustering to add all kinds of clustering information.
|
||||
DatabaseDialog.column.PartitionId=Partition ID
|
||||
DatabaseDialog.column.Hostname=Hostname
|
||||
DatabaseDialog.column.Port=Port
|
||||
DatabaseDialog.column.DatabaseName=Database name
|
||||
DatabaseDialog.column.Username=Username
|
||||
DatabaseDialog.column.Password=Password
|
||||
DatabaseDialog.tooltip.PartitionId=The extra parameters to set in the URL to connect to the database
|
||||
DatabaseDialog.tooltip.Hostname=The values to set for the parameters
|
||||
DatabaseDialog.HelpText.title=Options help text
|
||||
DatabaseDialog.HelpText.description=This is the help text for [{0}] :
|
||||
DatabaseDialog.ErrorHelpText.title=Error!
|
||||
DatabaseDialog.ErrorHelpText.description=Unable to get the help text. Please make sure all required parameters are entered correctly!
|
||||
DatabaseDialog.ErrorParameters.title=Error!
|
||||
DatabaseDialog.ErrorParameters.description=Please make sure all required parameters are entered correctly!
|
||||
DatabaseDialog.ErrorConnectionInfo.title=Error
|
||||
DatabaseDialog.ErrorConnectionInfo.description=Unable to get the connection information
|
||||
DatabaseDialog.report.ConnectionWithPartOk=Connection to database [{0}] with partition id [{1}] is OK.
|
||||
DatabaseDialog.report.ConnectionWithPartError=Error connecting to database [{0}] with partition id [{1}] : {2}
|
||||
DatabaseDialog.report.Hostname= Hostname \:
|
||||
DatabaseDialog.report.Port= Port \:
|
||||
DatabaseDialog.report.DatabaseName= Database name \:
|
||||
DatabaseDialog.report.ConnectionOk=Connection to database [{0}] is OK.
|
||||
DatabaseDialog.report.ConnectionError=Error connecting to database [{0}] \:
|
||||
DatabaseDialog.ConnectionReport.title=Connection report
|
||||
DatabaseDialog.ConnectionReport.description=Here is the connection report
|
||||
DatabaseDialog.ErrorParameters2.title=Error!
|
||||
DatabaseDialog.ErrorParameters2.description=Please make sure all required parameters are entered correctly\:\n{0}
|
||||
DatabaseDialog.FeatureList.title=Feature list
|
||||
DatabaseDialog.FeatureList.title2="The list of features:"
|
||||
DatabaseDialog.FeatureListError.title=Error!
|
||||
DatabaseDialog.FeatureListError.description=Unable to get feature list. Please make sure all required parameters are entered correctly!
|
|
@ -0,0 +1,271 @@
|
|||
#File generated by Hitachi Vantara Translator for package 'org.pentaho.di.ui.core.database.dialog' in locale 'zh_CN'
|
||||
#
|
||||
#
|
||||
#Tue Feb 28 13:35:17 CST 2012
|
||||
EnterMappingDialog.HideUsedSources=\u9690\u85CF\u5DF2\u7ECF\u5339\u914D\u7684\u6E90\u5B57\u6BB5
|
||||
EnterOptionsDialog.ShowSaveConfirmation.Label=\u663E\u793A"\u4FDD\u5B58"\u5BF9\u8BDD\u6846?
|
||||
DatabaseExplorerDialog.Title=\u5728\u8FDE\u63A5 [{0}] \u4E0A\u7684\u6570\u636E\u5E93\u6D4F\u89C8\u5668
|
||||
DatabaseExplorerDialog.TableSize.Message=\u8868 ''{0}'' \u5305\u542B {1} \u884C
|
||||
EnterOptionsDialog.EnableAutoCollapseCoreObjectTree.Label=\u81EA\u52A8\u6298\u53E0\u6B65\u9AA4\u6811
|
||||
EnterOptionsDialog.ReplaceDB.Label=\u6253\u5F00/\u5BFC\u5165\u65F6\u662F\u5426\u66FF\u6362\u6570\u636E\u5E93\u8FDE\u63A5?
|
||||
EnterOptionsDialog.DialogMiddlePercentage.Label=D\u5BF9\u8BDD\u6846\u7684\u4E2D\u90E8\u4F4D\u7F6E\u767E\u5206\u6BD4\:
|
||||
CheckResultDialog.Button.EditOriginStep=\u7F16\u8F91\u6E90\u6B65\u9AA4
|
||||
EnterOptionsDialog.General.Label=\u4E00\u822C
|
||||
CheckResultDialog.Result.Label=\u7ED3\u679C
|
||||
EnterOptionsDialog.ShowRepoDialog.Label=\u542F\u52A8\u65F6\u663E\u793A\u8D44\u6E90\u5E93\u5BF9\u8BDD\u6846?
|
||||
EnterOptionsDialog.Button.Edit.Tooltip=\u7F16\u8F91\u9009\u9879
|
||||
EnterOptionsDialog.ClearCustomParameters.Question=\u786E\u5B9E\u8981\u5220\u9664\uFF1F?
|
||||
EnterOptionsDialog.OnlyActiveFile.Label=\u5728\u6811\u4E0A\u53EA\u663E\u793A\u6FC0\u6D3B\u7684\u6587\u4EF6?
|
||||
EnterOptionsDialog.UseOSLook.Label=\u4F7F\u7528\u64CD\u4F5C\u7CFB\u7EDF\u5916\u89C2?
|
||||
EnterOptionsDialog.CanvasAntiAliasing.Label=\u753B\u5E03\u53CD\u952F\u9F7F?
|
||||
EnterSearchDialog.DB.Label=\u641C\u7D22\u6570\u636E\u5E93\u8FDE\u63A5
|
||||
DatabaseDialog.ErrorConnectionInfo.title=Error
|
||||
SQLEditor.Log.SQLExecuted=\u6267\u884C\u7684 SQL\: {0}
|
||||
DatabaseDialog.SQLTab.tooltip=\u5EFA\u7ACB\u8FDE\u63A5\u540E\u8981\u6267\u884C\u7684 SQL
|
||||
DatabaseDialog.column.PoolParameter=\u8FDE\u63A5\u6C60\u53C2\u6570
|
||||
GetPreviewTableProgressDialog.Error.Message=\u4ECE\u6570\u636E\u5E93\u83B7\u53D6\u4FE1\u606F\u65F6\u53D1\u751F\u9519\u8BEF
|
||||
CheckResultDialog.TextDialog.SubtitlePlural=\u6D88\u606F\:
|
||||
SQLEditor.Button.ClearCache=\u6E05\u9664\u7F13\u5B58(&C)
|
||||
DatabaseExplorerDialog.UnexpectedProfilingError.Title=\u9884\u89C8\u9519\u8BEF
|
||||
DatabaseDialog.ErrorParameters.title=\u9519\u8BEF\!
|
||||
DatabaseDialog.ExplorerNotImplemented.Title=\u5BF9\u4E0D\u8D77
|
||||
DatabaseExplorerDialog.PreviewTable.Title=\u9884\u89C8\u9650\u5236
|
||||
EnterOptionsDialog.GridSize.Label=\u683C\u7F51\u5927\u5C0F
|
||||
EnterMappingDialog.Button.Add=&Add (&A)
|
||||
DatabaseExplorerDialog.Tables.Label=\u8868
|
||||
DatabaseDialog.tooltip.DbType=\u4E3A\u8FDE\u63A5\u5230\u6570\u636E\u5E93\u5728 URL \u91CC\u8981\u8BBE\u7F6E\u7684\u989D\u5916\u53C2\u6570
|
||||
DatabaseExplorerDialog.Menu.OpenSQL=\u6253\u5F00 {{0}} \u4E0A\u7684 SQL
|
||||
DatabaseDialog.button.Explore=\u6D4F\u89C8
|
||||
EnterOptionsDialog.OnlySaveUsedConnections.Label=\u53EA\u4FDD\u5B58\u4F7F\u7528\u7684\u6570\u636E\u5E93\u8FDE\u63A5\u5230 XML?
|
||||
DatabaseDialog.label.Sap=SAP R/3
|
||||
DatabaseDialog.column.Username=\u7528\u6237\u540D
|
||||
DatabaseDialog.label.Username=\u7528\u6237\u540D
|
||||
GetQueryFieldsProgressDialog.Error.Title=\u9519\u8BEF\u83B7\u53D6\u4FE1\u606F
|
||||
EnterOptionsDialog.DefaultLocale.Label=\u7F3A\u7701\u8BED\u8A00\:
|
||||
SQLEditor.Result.Title=SQL \u8BED\u53E5\u7684\u8FD0\u884C\u7ED3\u679C
|
||||
DatabaseDialog.ExplorerNotImplemented.Message=\u5BF9\u4E0D\u8D77\uFF0C\u8BE5\u6570\u636E\u5E93\u7684\u6D4F\u89C8\u5668\u8FD8\u6CA1\u6709\u5B9E\u73B0\u3002
|
||||
EnterMappingDialog.Button.Guess=\u731C\u4E00\u731C(&G)
|
||||
SQLEditor.ConnectionCacheCleared.Message=\u6570\u636E\u5E93\u8FDE\u63A5 ''{0}''\u7684\u7F13\u5B58\u5DF2\u88AB\u6E05\u7A7A
|
||||
DatabaseDialog.OracleTab.title=Oracle
|
||||
DatabaseDialog.JDBCOptions.Tab={0}\: JDBC \u9009\u9879\u5E2E\u52A9
|
||||
DatabaseDialog.button.ShowHelp=\u663E\u793A\u9009\u9879\u5E2E\u52A9
|
||||
DatabaseDialog.tooltip.Parameter=\u53C2\u6570\u8981\u8BBE\u7F6E\u7684\u503C
|
||||
CheckResultDialog.Button.ViewMessage=\u67E5\u770B\u6D88\u606F
|
||||
DatabaseDialog.label.SQLServerInstance=SQLServer \u5B9E\u4F8B\u540D
|
||||
EnterOptionsDialog.AutoSplitHops.Tooltip=\u5982\u679C\u5728\u4E00\u6761\u8282\u70B9\u8FDE\u63A5\u4E0A\u653E\u7F6E\u4E86\u4E00\u4E2A\u8282\u70B9,\u662F\u5426\u8981\u81EA\u52A8\u5206\u5272\u8FD9\u4E2A\u8282\u70B9\u8FDE\u63A5\u6210\u4E3A\u4E24\u6761\u8FDE\u63A5,\u5206\u522B\u8FDE\u63A5\u539F\u8282\u70B9\u548C\u65B0\u8282\u70B9.
|
||||
DatabaseDialog.label.UseClustering=\u4F7F\u7528\u96C6\u7FA4? \u5B9E\u9A8C\u9636\u6BB5\!\!
|
||||
EnterSearchDialog.FilterSelection.Label=\u8FC7\u6EE4\u5668
|
||||
DatabaseDialog.label.AdvancedForceIdentifiersUpperCase=\u5C06\u6240\u6709\u6807\u8BC6\u7B26\u5F3A\u5236\u8F6C\u6362\u4E3A\u5927\u5199
|
||||
XulDatabaseDialog.Error.ResourcesNotFound.Title=\u5BF9\u8BDD\u6846\u6CA1\u6709\u627E\u5230\u53EF\u7528\u7684\u8D44\u6E90\u6587\u4EF6
|
||||
SQLEditor.ConnectionCacheCleared.Title=\u7F13\u5B58\u6E05\u9664
|
||||
EnterOptionsDialog.HelpToolTipsEnabled.Label=\u663E\u793A\u5E2E\u52A9\u63D0\u793A?
|
||||
DatabaseDialog.ClusterTab.tooltip=\u53EF\u9009\u96C6\u7FA4\u4FE1\u606F
|
||||
DatabaseDialog.button.Test=\u6D4B\u8BD5
|
||||
CheckResultDialog.Stepname.Label=\u6B65\u9AA4\u540D\u79F0
|
||||
EnterOptionsDialog.MaxNrHistLinesSize.Label=\u65E5\u5FD7\u89C6\u56FE\u7684\u6700\u5927\u884C\u6570
|
||||
DatabaseDialog.label.Language=\u8BED\u8A00
|
||||
DatabaseDialog.label.Options=\u9009\u9879
|
||||
DatabaseDialog.label.DriverClass=\u9A71\u52A8\u7C7B
|
||||
EnterMappingDialog.TargetFields.Label=\u76EE\u6807\u5B57\u6BB5
|
||||
SQLEditor.WholeCacheCleared.Message=\u5168\u90E8\u6570\u636E\u5E93\u7F13\u5B58\u88AB\u6E05\u9664
|
||||
SQLEditor.Log.OnPartition=\u5206\u533A ''{0}''
|
||||
EnterSearchDialog.Shell.Title=\u641C\u7D22\u5143\u6570\u636E
|
||||
DatabaseDialog.ClusterTab.title=\u96C6\u7FA4
|
||||
SQLEditor.Button.ClearCache.Tooltip=\u7F13\u5B58\u53EA\u662F\u4E3A\u4E86\u63D0\u9AD8\u6027\u80FD\uFF0C\u5F53\u6570\u636E\u5E93\u7ED3\u6784\u6216\u6570\u636E\u53D1\u751F\u4E86\u53D8\u5316\uFF0C\u4E00\u822C\u90FD\u8981\u6E05\u9664\u7F13\u5B58\u3002
|
||||
EnterOptionsDialog.ClearCustomParameters.Label=\u6E05\u9664\u81EA\u5B9A\u4E49\u53C2\u6570 (\u6B65\u9AA4 / \u63D2\u4EF6)\:
|
||||
DatabaseDialog.ErrorConnectionInfo.description=\u4E0D\u80FD\u83B7\u53D6\u8FDE\u63A5\u4FE1\u606F
|
||||
SQLEditor.Error.CouldNotConnect.Message=\u4E0D\u80FD\u8FDE\u63A5\u5230\u6570\u636E\u5E93\uFF01\r\n\u8BF7\u68C0\u67E5\u8FDE\u63A5 [{0}] \u7684\u53C2\u6570\u8BBE\u7F6E\r\n{1}
|
||||
EnterMappingDialog.AutoTargetSelection.Label=\u81EA\u52A8\u9009\u62E9\u76EE\u6807
|
||||
DatabaseDialog.label.UseConnectionPool=\u4F7F\u7528\u8FDE\u63A5\u6C60
|
||||
DatabaseDialog.label.SystemNumber=\u7CFB\u7EDF\u53F7
|
||||
CheckResultDialog.Remarks.Label=\u5907\u6CE8\:
|
||||
DatabaseDialog.column.PoolDescription=\u53C2\u6570\u63CF\u8FF0
|
||||
DatabaseDialog.label.ServerHostname=\u670D\u52A1\u5668\u4E3B\u673A\u540D
|
||||
DatabaseDialog.HelpText.title=\u9009\u9879\u5E2E\u52A9
|
||||
DatabaseDialog.FeatureList.title=\u7279\u5F81\u5217\u8868
|
||||
DatabaseDialog.report.ConnectionWithPartError=Error connecting to database [{0}] with partition id [{1}] \: {2}
|
||||
DatabaseDialog.tooltip.PartitionId=\u4E3A\u8FDE\u63A5\u6570\u636E\u5E93\u8981\u8BBE\u7F6E\u7684\u989D\u5916\u53C2\u6570
|
||||
DatabaseDialog.GenericTab.title=\u4E00\u822C
|
||||
EnterMappingDialog.SourceFields.Label=\u6E90\u5B57\u6BB5
|
||||
DatabaseDialog.label.ConnectionType=\u8FDE\u63A5\u7C7B\u578B
|
||||
EnterOptionsDialog.ShowWelcomePage.Label=\u542F\u52A8\u65F6\u663E\u793A\u6B22\u8FCE\u9875\u9762?
|
||||
DatabaseDialog.label.TablespaceForIndexes=\u7D22\u5F15\u8868\u7A7A\u95F4
|
||||
SQLEditor.ErrorExecSQL.Message=\u6267\u884C\u4E0B\u9762 SQL \u8BED\u53E5\u65F6\u53D1\u751F\u9519\u8BEF\:\r\n\r\n\r\n{0}
|
||||
EnterOptionsDialog.ReplaceDB.Tooltip=\u6253\u5F00/\u5BFC\u5165\u65F6\u662F\u5426\u66FF\u6362\u5F53\u524D\u7684\u6570\u636E\u5E93\u8FDE\u63A5,\u662F\u5426\u5F39\u51FA\u7A97\u53E3\u89C1\u4E0A\u4E2A\u9009\u9879.
|
||||
DatabaseExplorerDialog.Views.Label=\u89C6\u56FE
|
||||
EnterOptionsDialog.DefaultPreviewSize.Label=\u9884\u89C8\u5BF9\u8BDD\u6846\u7684\u7F3A\u7701\u884C\u6570\:
|
||||
DatabaseExplorerDialog.NoRows.Title=\u6CA1\u6709\u6570\u636E\u884C
|
||||
GetDatabaseInfoProgressDialog.Error.Message=\u4ECE\u6570\u636E\u5E93\u83B7\u53D6\u4FE1\u606F\u65F6\u53D1\u751F\u9519\u8BEF
|
||||
DatabaseDialog.column.Hostname=\u4E3B\u673A\u540D\u79F0
|
||||
DatabaseExplorerDialog.TargetDatabase.Message=\u9009\u62E9\u76EE\u6807\u6570\u636E\u5E93
|
||||
DatabaseDialog.tooltip.UseClustering=\u9009\u4E2D\u53EF\u4EE5\u589E\u52A0\u96C6\u7FA4\u4FE1\u606F.
|
||||
DatabaseDialog.FeatureList.title2="The list of features\:"
|
||||
DatabaseExplorerDialog.Menu.PreviewN=\u9884\u89C8 [{0}] \u7684\u524D ... \u884C(&P)
|
||||
EnterMappingDialog.Title=\u6620\u5C04\u5339\u914D
|
||||
EnterOptionsDialog.VersionCheck.Label=\u8DF3\u8FC7\u66F4\u65B0\u68C0\u67E5?
|
||||
CheckResultDialog.ShowSuccessful.Label=\u663E\u793A\u6210\u529F\u7ED3\u679C(&s)
|
||||
DatabaseExplorerDialog.Menu.ShowLayout=\u67E5\u770B [{0}] \u7684\u8868\u7ED3\u6784
|
||||
EnterOptionsDialog.GridSize.ToolTip=\u5C06\u56FE\u6807\u8D34\u8FD1\u7F51\u683C,\u53EF\u4EE5\u66F4\u5BB9\u6613\u5BF9\u9F50\u56FE\u6807
|
||||
DatabaseExplorerDialog.Catalogs.Label=\u76EE\u5F55
|
||||
SQLEditor.NoRows.Message=SQL \u8BED\u53E5\u6CA1\u6709\u8FD0\u884C\u7ED3\u679C\:\r\n\r\n{0}
|
||||
DatabaseDialog.MySQLTab.title=MySQL
|
||||
EnterMappingDialog.Button.Delete=\u5220\u9664(&D)
|
||||
DatabaseDialog.HelpText.description=\u8FD9\u662F [{0}] \u7684\u5E2E\u52A9\u4FE1\u606F\:
|
||||
DatabaseDialog.label.MaximumPoolSize=\u6700\u5927\u6C60\u5927\u5C0F
|
||||
DatabaseExplorerDialog.UnexpectedProfilingError.Message=\u672A\u77E5\u9519\u8BEF
|
||||
EnterOptionsDialog.NoteFont.Label=\u6CE8\u91CA\u5B57\u4F53\:
|
||||
DatabaseDialog.label.MySQLStreamResults=\u4F7F\u7528\u7ED3\u679C\u6D41(cursor emulation)
|
||||
EnterOptionsDialog.LineWidth.Label=\u5DE5\u4F5C\u533A\u5185\u7684\u7EBF\u5BBD\u5EA6\:
|
||||
EnterOptionsDialog.GraphFont.Label=\u5DE5\u4F5C\u533A\u5185\u5B57\u4F53\:
|
||||
DatabaseExplorerDialog.Menu.GenDDL=\u751F\u6210 DDL
|
||||
EnterOptionsDialog.BackgroundColorGraph.Label=\u5DE5\u4F5C\u533A\u80CC\u666F\u989C\u8272\:
|
||||
DatabaseDialog.column.PoolValue=\u503C
|
||||
EnterSearchDialog.Note.Tooltip=\u641C\u7D22\u6CE8\u91CA
|
||||
SQLEditor.NoRows.Title=\u6CA1\u6709\u7ED3\u679C
|
||||
EnterOptionsDialog.OpenLastFileStartup.Label=\u542F\u52A8\u65F6\u6253\u5F00\u6700\u540E\u7F16\u8F91\u6587\u4EF6?
|
||||
EnterOptionsDialog.TabColor.Label=\u6807\u7B7E\u989C\u8272\:
|
||||
Dialog.Error.Header=\u9519\u8BEF
|
||||
XulDatabaseDialog.Error.ResourcesNotFound=\u6CA1\u6709\u627E\u5230\u8D44\u6E90\u6587\u4EF6\: \u4E3B\u8D44\u6E90\u6587\u4EF6 locale {0}, \u5907\u9009\u8D44\u6E90\u6587\u4EF6 {1}
|
||||
EnterOptionsDialog.BackgroundColor.Label=\u80CC\u666F\u989C\u8272\:
|
||||
DatabaseDialog.column.DatabaseName=\u6570\u636E\u5E93\u540D\u79F0
|
||||
SQLEditor.ClearWholeCache.Title=\u6E05\u9664\u6240\u6709\u7F13\u5B58
|
||||
DatabaseDialog.report.DatabaseName=Database name \:
|
||||
GetPreviewTableProgressDialog.Error.Title=\u9519\u8BEF\u83B7\u53D6\u4FE1\u606F
|
||||
DatabaseDialog.DbTab.title=\u4E00\u822C
|
||||
EnterOptionsDialog.ReplaceDBAsk.Label=\u5728\u6253\u5F00/\u5BFC\u5165\u65F6\u662F\u5426\u8BE2\u95EE\u66FF\u6362\u8FDE\u63A5
|
||||
DatabaseDialog.ConnectionReport.title=\u8FDE\u63A5\u62A5\u544A
|
||||
DatabaseDialog.label.ConnectionName=\u8FDE\u63A5\u540D\u79F0
|
||||
DatabaseDialog.DatabaseConnectionTest.title=\u6570\u636E\u5E93\u8FDE\u63A5\u6D4B\u8BD5
|
||||
DatabaseDialog.column.Port=\u7AEF\u53E3
|
||||
DatabaseDialog.ErrorHelpText.description=\u6CA1\u6709\u76F8\u5E94\u7684\u5E2E\u52A9\uFF0C\u8BF7\u786E\u8BA4\u6240\u6709\u53C2\u6570\u90FD\u6B63\u786E\u3002
|
||||
DatabaseExplorerDialog.NoRows.Message=\u8868\u91CC\u6CA1\u6709\u6570\u636E
|
||||
DatabaseExplorerDialog.Menu.GenDDLOtherConn=\u4E3A\u5176\u5B83\u8FDE\u63A5\u751F\u6210 DDL
|
||||
DatabaseDialog.report.ConnectionError=Error connecting to database [{0}] \:
|
||||
SQLEditor.Error.CouldNotConnect.Title=\u4E0D\u80FD\u8FDE\u63A5
|
||||
EnterSearchDialog.Note.Label=\u641C\u7D22\u6CE8\u91CA
|
||||
EnterOptionsDialog.AskOnExit.Label=\u9000\u51FA\u65F6\u8BE2\u95EE?
|
||||
DatabaseExplorerDialog.Synonyms.Label=\u540C\u4E49\u8BCD(Synonyms)
|
||||
EnterOptionsDialog.CopyOrDistributeDialog.Tooltip=\u5F53\u4E00\u4E2A\u6B65\u9AA4\u5411\u591A\u4E2A\u6B65\u9AA4\u53D1\u9001\u6570\u636E\u65F6,\u662F\u5426\u8981\u5F39\u51FA\u4E00\u4E2A\u5BF9\u8BDD\u6846\u6765\u8BE2\u95EE\u7528\u6237\u662F\u4F7F\u7528\u5206\u53D1\u65B9\u5F0F\u8FD8\u662F\u590D\u5236\u65B9\u5F0F
|
||||
DatabaseDialog.ErrorParameters2.title=\u9519\u8BEF\!
|
||||
DatabaseExplorerDialog.Menu.Preview100=\u9884\u89C8 [{0}] \u7684\u524D 100 \u884C(&P)
|
||||
DatabaseDialog.GenericTab.tooltip=\u901A\u7528\u6570\u636E\u5E93\u8FDE\u63A5
|
||||
EnterMappingDialog.AutoSourceSelection.Label=\u81EA\u52A8\u9009\u62E9\u6E90
|
||||
DatabaseDialog.ConnectionReport.description=\u8FDE\u63A5\u62A5\u544A
|
||||
DatabaseExplorerDialog.PreviewTable.Message=\u8981\u9884\u89C8\u7684\u884C\u6570(0 \u4E3A\u6240\u6709\u884C)
|
||||
DatabaseDialog.FeatureListError.title=\u9519\u8BEF\!
|
||||
EnterOptionsDialog.FixedWidthFont.Label=\u56FA\u5B9A\u5BBD\u5EA6\u5B57\u4F53\:
|
||||
EnterOptionsDialog.UseDatabaseCache.Label=\u4F7F\u7528\u6570\u636E\u5E93\u7F13\u5B58?
|
||||
DatabaseDialog.ErrorParameters2.description=\u8BF7\u786E\u8BA4\u6240\u6709\u8F93\u5165\u7684\u53C2\u6570\u90FD\u6B63\u786E\r\n{0}
|
||||
EnterOptionsDialog.Branding.Label=\u663E\u793A\u5546\u6807\u56FE\u7247
|
||||
GetTableSizeProgressDialog.Error.Title=\u9519\u8BEF\u83B7\u53D6\u4FE1\u606F
|
||||
EnterOptionsDialog.Title=Kettle \u9009\u9879
|
||||
DatabaseDialog.label.AdvancedQuoteAllFields=\u6570\u636E\u5E93\u6807\u8BC6\u7B26\u653E\u5165\u5206\u9694\u7B26\u5185
|
||||
DatabaseDialog.column.PartitionId=Partition ID
|
||||
DatabaseDialog.ErrorParameters.description=\u8BF7\u786E\u8BA4\u6240\u6709\u8F93\u5165\u7684\u53C2\u6570\u90FD\u6B63\u786E\!
|
||||
DatabaseDialog.report.Port=Port \:
|
||||
EnterOptionsDialog.IconSize.Label=\u5DE5\u4F5C\u533A\u5185\u7684\u56FE\u6807\u5927\u5C0F\:
|
||||
EnterMappingDialog.HideUsedTargets=\u9690\u85CF\u5DF2\u7ECF\u5339\u914D\u7684\u76EE\u6807\u5B57\u6BB5
|
||||
EnterOptionsDialog.ClearCustomParameters.Confirmation=\u5220\u9664\u5B8C\u6BD5.
|
||||
DatabaseExplorerDialog.Menu.ShowSize=\ [{0}] \u7684\u884C\u6570
|
||||
CheckResultDialog.TextDialog.Title=\u67E5\u770B\u6D88\u606F
|
||||
EnterOptionsDialog.LookAndFeel.Label=\u89C2\u611F
|
||||
SQLEditor.LineNr.Label=\u884C\u53F7\: {0}
|
||||
SQLEditor.ErrorExecSQL.Title=\u9519\u8BEF\u6267\u884C SQL
|
||||
CheckResultDialog.Title=\u8F6C\u6362\u68C0\u67E5\u7ED3\u679C
|
||||
EnterOptionsDialog.ToolTipsEnabled.Label=\u663E\u793A\u63D0\u793A?
|
||||
DatabaseExplorerDialog.TargetDatabase.Title=\u76EE\u6807\u6570\u636E\u5E93
|
||||
DatabaseDialog.column.SelectPoolParameter=Select the pool parameter to set
|
||||
SQLEditor.ResultRows.Title=SQL \u8BED\u53E5 \#{0}
|
||||
EnterOptionsDialog.MaxNrLogLinesSize.Label=\u65E5\u5FD7\u7A97\u53E3\u7684\u6700\u5927\u884C\u6570
|
||||
DatabaseDialog.column.Value=\u503C
|
||||
DatabaseDialog.PoolTab.title=\u6C60
|
||||
DatabaseDialog.SQLTab.title=SQL
|
||||
DatabaseDialog.FeatureListError.description=\u4E0D\u80FD\u83B7\u53D6\u7279\u5F81\u7ACB\u6807. \u786E\u8BA4\u53C2\u6570\u8F93\u5165\u6B63\u786E\!
|
||||
DatabaseDialog.ErrorHelpText.title=\u9519\u8BEF\!
|
||||
DatabaseDialog.IfxTab.title=Informix
|
||||
EnterMappingDialog.ResultMappings.Label=\u6620\u5C04
|
||||
SQLEditor.Position.Label=\u884C{0} \u5217{1}
|
||||
DatabaseDialog.column.DbType=\u6570\u636E\u5E93\u7C7B\u578B
|
||||
DatabaseExplorerDialog.NoConnectionsKnown.Message=\u5F53\u524D\u6CA1\u6709\u5176\u4ED6\u7684\u8FDE\u63A5\u53EF\u4EE5\u7528\u6765\u751F\u6210 DDL
|
||||
DatabaseDialog.label.SapClient=SAP \u5BA2\u6237\u7AEF
|
||||
CheckResultDialog.HideSuccessful.Label=\u9690\u85CF\u6210\u529F\u7ED3\u679C(&s)
|
||||
DatabaseDialog.report.ConnectionOk=Connection to database [{0}] is OK.
|
||||
DatabaseDialog.tooltip.Options=URL \u91CC\u7684\u989D\u5916\u53C2\u6570
|
||||
DatabaseDialog.label.Statements=\u5EFA\u7ACB\u8FDE\u63A5\u540E\u7ACB\u523B\u8981\u6267\u884C\u7684\u8BED\u53E5 (\u4EE5 ; \u5206\u5272)
|
||||
CheckResultDialog.WarningsErrors.Label=\u8B66\u544A\u548C\u9519\u8BEF\:
|
||||
DatabaseExplorerDialog.Menu.ProfileTable=\u6570\u636E\u7EDF\u8BA1 ''{0}''
|
||||
DatabaseDialog.label.Password=\u5BC6\u7801
|
||||
DatabaseDialog.column.Password=\u5BC6\u7801
|
||||
DatabaseDialog.label.Url=URL
|
||||
DatabaseDialog.label.AdvancedForceIdentifiersLowerCase=\u5C06\u6240\u6709\u6807\u8BC6\u7B26\u5F3A\u5236\u8F6C\u6362\u4E3A\u5C0F\u5199
|
||||
GetDatabaseInfoProgressDialog.Error.Title=\u9519\u8BEF\u83B7\u53D6\u4FE1\u606F
|
||||
DatabaseExplorerDialog.Error.GenDDL=\u4E0D\u80FD\u751F\u6210 DDL \u8BED\u53E5
|
||||
EnterOptionsDialog.ShadowSize.Label=\u5DE5\u4F5C\u533A\u5185\u7684\u9634\u5F71\u5927\u5C0F\:
|
||||
XulDatabaseDialog.Error.Title=\u9519\u8BEF
|
||||
DatabaseDialog.label.InformixServername=Informix \u670D\u52A1\u540D
|
||||
EnterOptionsDialog.AutoSplitHops.Label=\u81EA\u52A8\u5206\u5272\u8282\u70B9\u8FDE\u63A5?
|
||||
DatabaseExplorerDialog.TableSize.Title=\u884C\u6570
|
||||
EnterOptionsDialog.Button.Reset=\u91CD\u7F6E
|
||||
DatabaseDialog.tooltip.Hostname=\u4E3B\u673A\u540D
|
||||
SQLEditor.Button.Execute=\u6267\u884C(&E)
|
||||
EnterOptionsDialog.CanvasIndicateSlowSteps.Label=\u663E\u793A\u74F6\u9888\u8F6C\u6362\u6B65\u9AA4
|
||||
DatabaseDialog.label.PortNumber=\u7AEF\u53E3\u53F7
|
||||
EnterOptionsDialog.FailoverLocale.Label=\u7B2C\u4E8C\u8BED\u8A00\:
|
||||
DatabaseDialog.report.ConnectionWithPartOk=Connection to database [{0}] with partition id [{1}] is OK.
|
||||
DatabaseDialog.Shell.title=\u8FDE\u63A5\u4FE1\u606F
|
||||
DatabaseDialog.label.InitialPoolSize=\u521D\u59CB\u6C60\u5927\u5C0F
|
||||
DatabaseDialog.label.UseDoubleDecimalSeparator=\u4F7F\u7528\u4E24\u4E2A\u70B9(..) \u6765\u8FDE\u63A5\u6A21\u5F0F\u540D\u548C\u8868\u540D
|
||||
DatabaseExplorerDialog.Menu.Truncate=\u6E05\u7A7A\u8868 [{0}]
|
||||
SQLEditor.Editor.Label=\u4EE5 ";" \u5206\u5272\u7684 SQL \u8BED\u53E5
|
||||
DatabaseExplorerDialog.Schemas.Label=\u6A21\u5F0F
|
||||
SQLEditor.ClearWholeCache.Message=\u662F\u5426\u8981\u6E05\u9664\u6240\u6709\u8FDE\u63A5\u7684\u7F13\u5B58\uFF1F\r\n\u5982\u679C\u9009 "\u5426"\uFF0C \u53EA\u6E05\u9664\u8FDE\u63A5 ''{0}''\u7684\u7F13\u5B58
|
||||
DatabaseDialog.MSSQLTab.title=SQL Server
|
||||
GetTableSizeProgressDialog.Error.Message=\u4ECE\u6570\u636E\u5E93\u83B7\u53D6\u4FE1\u606F\u65F6\u53D1\u751F\u9519\u8BEF
|
||||
EnterOptionsDialog.AutoSave.Label=\u81EA\u52A8\u4FDD\u5B58\u53D8\u66F4\uFF1F?
|
||||
DatabaseExplorerDialog.Error.RetrieveLayout=\u4E0D\u80FD\u62BD\u53D6\u8868\u7ED3\u6784
|
||||
EnterSearchDialog.Step.Label=\u641C\u7D22\u6B65\u9AA4
|
||||
EnterOptionsDialog.Button.Reset.Tooltip=\u6062\u590D\u5230\u7F3A\u7701\u503C
|
||||
DatabaseDialog.label.TablespaceForData=\u6570\u636E\u8868\u7A7A\u95F4
|
||||
EnterOptionsDialog.Button.Edit=\u6539\u53D8
|
||||
DatabaseDialog.label.PoolParameters=\u8FDE\u63A5\u6C60\u53C2\u6570
|
||||
DatabaseExplorerDialog.NoConnectionsKnown.Title=\u6CA1\u6709\u6570\u636E\u5E93\u8FDE\u63A5
|
||||
SQLEditor.WholeCacheCleared.Title=\u7F13\u5B58\u6E05\u9664
|
||||
EnterOptionsDialog.CopyOrDistributeDialog.Label=\u663E\u793A"\u590D\u5236\u6216\u5206\u53D1"\u5BF9\u8BDD\u6846?
|
||||
CheckResultDialog.Remark.Label=\u5907\u6CE8
|
||||
SQLEditor.Result.Message=SQL \u8BED\u53E5\u8FD4\u56DE\u4E0B\u9762\u8FD0\u884C\u7ED3\u679C
|
||||
EnterSearchDialog.Step.Tooltip=\u641C\u7D22\u6B65\u9AA4
|
||||
EnterOptionsDialog.ClearCustomParameters.Tooltip=\u6E05\u9664\u6B65\u9AA4\u548C\u63D2\u4EF6\u5BF9\u8BDD\u6846\u91CC\u8BBE\u7F6E\u7684\u6240\u6709\u81EA\u5B9A\u4E49\u53C2\u6570
|
||||
EnterOptionsDialog.ShowTipsStartup.Label=\u542F\u52A8\u65F6\u663E\u793A\u63D0\u793A?
|
||||
GetDatabaseInfoProgressDialog.Error.GettingInfoTable=\u4ECE\u6570\u636E\u5E93\u4E2D\u83B7\u53D6\u4FE1\u606F\u65F6\u53D1\u751F\u9519\u8BEF\: {0}
|
||||
EnterSearchDialog.DB.Tooltip=\u641C\u7D22\u6570\u636E\u5E93\u8FDE\u63A5
|
||||
SQLEditor.Log.SQLExecError=\u6267\u884C\: {0} \u65F6\u53D1\u751F\u9519\u8BEF\r\n{1}
|
||||
DatabaseDialog.report.Hostname=Hostname \:
|
||||
DatabaseDialog.label.DatabaseName=\u6570\u636E\u5E93\u540D\u79F0
|
||||
DatabaseDialog.column.Parameter=\u53C2\u6570
|
||||
DatabaseDialog.AdvancedTab.title=\u9AD8\u7EA7
|
||||
CheckResultDialog.TextDialog.Subtitle=\u6D88\u606F\:
|
||||
SQLEditor.Title=\u7B80\u5355 SQL \u7F16\u8F91\u5668
|
||||
GetQueryFieldsProgressDialog.Error.Message=\u4ECE\u6570\u636E\u5E93\u83B7\u53D6\u4FE1\u606F\u65F6\u53D1\u751F\u9519\u8BEF
|
||||
DatabaseDialog.label.AccessMethod=\u8BBF\u95EE\u65B9\u6CD5
|
||||
DatabaseDialog.Exception.IncorrectParameter=\u6570\u636E\u5E93\u53C2\u6570\u4E0D\u6B63\u786E, \u68C0\u67E5\u8BBE\u7F6E\:
|
||||
EnterOptionsDialog.ReplaceDBAsk.Tooltip=\u5728\u6253\u5F00/\u5BFC\u5165\u4E00\u4E2A\u8F6C\u6362,\u5982\u679C\u8F6C\u6362\u91CC\u7684\u6570\u636E\u5E93\u8FDE\u63A5\u548C\u73B0\u6709\u7684\u6570\u636E\u5E93\u8FDE\u63A5\u91CD\u540D,\u662F\u5426\u5F39\u51FA\u7A97\u53E3\u63D0\u793A\u8986\u76D6.
|
||||
DatabaseDialog.column.PoolDefault=\u9ED8\u8BA4\u503C
|
||||
DatabaseDialog.button.FeatureList=\u7279\u5F81\u5217\u8868
|
||||
SQLEditor.Log.StatsExecuted=\u6267\u884C\u4E86{0} \u4E2A SQL \u8BED\u53E5
|
||||
EnterOptionsDialog.MaximumUndo.Label=\u6700\u591A\u6062\u590D\u6B21\u6570\:
|
||||
EnterOptionsDialog.ClearCustomParameters.Title=\u95EE\u9898
|
||||
|
||||
DatabaseExplorer.Title=\u6570\u636E\u5E93\u6D4F\u89C8\u5668
|
||||
DatabaseExplorer.Actions=\u52A8\u4F5C
|
||||
DatabaseExplorer.Button.Cancel=&\u53D6\u6D88
|
||||
DatabaseExplorer.Button.Ok=&\u786E\u5B9A
|
||||
DatabaseExplorer.DDL=DDL
|
||||
DatabaseExplorer.Preview100=\u9884\u89C8\u524D100\u884C
|
||||
DatabaseExplorer.PreviewX=\u9884\u89C8\u524D x \u884C
|
||||
DatabaseExplorer.RowCount=\u8BB0\u5F55\u6570
|
||||
DatabaseExplorer.ViewSQL=\u751F\u6210 SQL
|
||||
DatabaseExplorer.SelectConnection=\u9009\u62E9\u8FDE\u63A5
|
||||
DatabaseExplorer.UseCurrent=\u4F7F\u7528\u5F53\u524D\u8FDE\u63A5
|
||||
DatabaseExplorer.Truncate=\u88C1\u526A\u8868
|
||||
DatabaseExplorer.ShowLayout=\u663E\u793A\u8868\u7ED3\u6784
|
||||
DatabaseExplorer.DataProfile=\u6570\u636E\u6982\u8FF0
|
|
@ -0,0 +1,44 @@
|
|||
<?xml version="1.0"?>
|
||||
<window id="preview-rows" title="Preview Rows"
|
||||
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
|
||||
xmlns:HTML="http://www.w3.org/Profiles/XHTML-transitional" height="600" width="800" onload="previewRows.init()"
|
||||
xmlns:pen="http://www.pentaho.org/2008/xul" >
|
||||
|
||||
<dialog width="600" height="400" id="previewRowsDialog" title="Examine preview data" appicon="ui/images/CNC.svg"
|
||||
buttons="accept"
|
||||
ondialogaccept="previewRows.accept()">
|
||||
<vbox flex="1">
|
||||
<label id="rowCountLabel" value="" pen:binding="rowCount"/>
|
||||
<tree flex="1" editable="false" id="table_data">
|
||||
<treecols>
|
||||
<treecol label="#" flex="1" editable="false"/>
|
||||
<treecol label="col_a" flex="1" editable="false"/>
|
||||
<treecol label="col_b" flex="1" editable="false"/>
|
||||
</treecols>
|
||||
<treechildren>
|
||||
<treeitem>
|
||||
<treerow>
|
||||
<treecell label="1"/>
|
||||
<treecell label="a"/>
|
||||
<treecell label="b"/>
|
||||
</treerow>
|
||||
</treeitem>
|
||||
<treeitem>
|
||||
<treerow>
|
||||
<treecell label="2"/>
|
||||
<treecell label="c"/>
|
||||
<treecell label="d"/>
|
||||
</treerow>
|
||||
</treeitem>
|
||||
<treeitem>
|
||||
<treerow>
|
||||
<treecell label="3"/>
|
||||
<treecell label="e"/>
|
||||
<treecell label="f"/>
|
||||
</treerow>
|
||||
</treeitem>
|
||||
</treechildren>
|
||||
</tree>
|
||||
</vbox>
|
||||
</dialog>
|
||||
</window>
|
|
@ -0,0 +1,50 @@
|
|||
<?xml version="1.0"?>
|
||||
<window id="step_fields" title="Step Fields"
|
||||
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
|
||||
xmlns:HTML="http://www.w3.org/Profiles/XHTML-transitional" height="600" width="800" onload="stepFields.init()"
|
||||
xmlns:pen="http://www.pentaho.org/2008/xul" >
|
||||
|
||||
<dialog width="800" height="600" id="stepFieldsDialog" title="Step fields and their origin" appicon="ui/images/CNC.svg"
|
||||
buttons="accept,cancel"
|
||||
buttonlabelcancel="Cancel"
|
||||
buttonlabelaccept="Edit Origin Step"
|
||||
ondialogaccept="stepFields.editOriginStep()"
|
||||
ondialogcancel="stepFields.cancelDialog()">
|
||||
<vbox flex="1">
|
||||
<label id="stepNameLabel" value="Step name:" pen:binding="stepName"/>
|
||||
<label id="fieldsLabel" value="Fields:"/>
|
||||
<tree flex="1" editable="false" id="step_fields_data">
|
||||
<treecols>
|
||||
<treecol label="Fieldname" flex="1" editable="false" pen:binding="fieldName"/>
|
||||
<treecol label="Type" flex="1" editable="false" pen:binding="type"/>
|
||||
<treecol label="Length" flex="1" editable="false" pen:binding="length"/>
|
||||
<treecol label="Precision" flex="1" editable="false" pen:binding="precision"/>
|
||||
<treecol label="Step origin" flex="1" editable="false" pen:binding="origin"/>
|
||||
<treecol label="Storage" flex="1" editable="false" pen:binding="storageType"/>
|
||||
<treecol label="Mask" flex="1" editable="false" pen:binding="conversionMask"/>
|
||||
<treecol label="Decimal" flex="1" editable="false" pen:binding="decimalSymbol"/>
|
||||
<treecol label="Group" flex="1" editable="false" pen:binding="groupingSymbol"/>
|
||||
<treecol label="Trim" flex="1" editable="false" pen:binding="trimType"/>
|
||||
<treecol label="Comments" flex="1" editable="false" pen:binding="comments"/>
|
||||
</treecols>
|
||||
<treechildren>
|
||||
<treeitem>
|
||||
<treerow>
|
||||
<treecell label="a"/>
|
||||
<treecell label="b"/>
|
||||
<treecell label="c"/>
|
||||
<treecell label="d"/>
|
||||
<treecell label="e"/>
|
||||
<treecell label="f"/>
|
||||
<treecell label="g"/>
|
||||
<treecell label="h"/>
|
||||
<treecell label="i"/>
|
||||
<treecell label="j"/>
|
||||
<treecell label="k"/>
|
||||
</treerow>
|
||||
</treeitem>
|
||||
</treechildren>
|
||||
</tree>
|
||||
</vbox>
|
||||
</dialog>
|
||||
</window>
|
|
@ -0,0 +1,94 @@
|
|||
/*! ******************************************************************************
|
||||
*
|
||||
* Pentaho Data Integration
|
||||
*
|
||||
* Copyright (C) 2002-2017 by Hitachi Vantara : http://www.pentaho.com
|
||||
*
|
||||
*******************************************************************************
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
package org.pentaho.di.ui.core.database.dialog.tags;
|
||||
|
||||
import org.eclipse.swt.SWT;
|
||||
import org.eclipse.swt.events.ModifyEvent;
|
||||
import org.eclipse.swt.events.ModifyListener;
|
||||
import org.eclipse.swt.events.SelectionAdapter;
|
||||
import org.eclipse.swt.events.SelectionEvent;
|
||||
import org.eclipse.swt.widgets.Composite;
|
||||
import org.pentaho.di.core.database.DatabaseMeta;
|
||||
import org.pentaho.di.core.variables.VariableSpace;
|
||||
import org.pentaho.di.ui.core.widget.ComboVar;
|
||||
import org.pentaho.ui.xul.XulComponent;
|
||||
import org.pentaho.ui.xul.XulDomContainer;
|
||||
import org.pentaho.ui.xul.containers.XulTree;
|
||||
import org.pentaho.ui.xul.dom.Element;
|
||||
import org.pentaho.ui.xul.jface.tags.JfaceCMenuList;
|
||||
|
||||
/*
|
||||
* a Menu List with variable substitution capability
|
||||
*/
|
||||
public class ExtMenuList extends JfaceCMenuList {
|
||||
public ComboVar extCombo;
|
||||
private VariableSpace variableSpace;
|
||||
private XulComponent xulParent;
|
||||
|
||||
private int style = SWT.NONE;
|
||||
|
||||
public ExtMenuList( Element self, XulComponent parent, XulDomContainer container, String tagName ) {
|
||||
super( self, parent, container, tagName );
|
||||
xulParent = parent;
|
||||
createNewExtMenuList( parent );
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void setupCombobox() {
|
||||
|
||||
}
|
||||
|
||||
private void createNewExtMenuList( XulComponent parent ) {
|
||||
xulParent = parent;
|
||||
|
||||
if ( ( xulParent != null ) && ( xulParent instanceof XulTree ) ) {
|
||||
variableSpace = (DatabaseMeta) ( (XulTree) xulParent ).getData();
|
||||
|
||||
} else {
|
||||
variableSpace = new DatabaseMeta();
|
||||
style = SWT.BORDER;
|
||||
}
|
||||
|
||||
extCombo = new ComboVar( variableSpace, (Composite) parent.getManagedObject(), style );
|
||||
combobox = extCombo.getCComboWidget();
|
||||
setManagedObject( extCombo );
|
||||
|
||||
combobox.addSelectionListener( new SelectionAdapter() {
|
||||
public void widgetSelected( SelectionEvent e ) {
|
||||
fireSelectedEvents();
|
||||
}
|
||||
} );
|
||||
|
||||
combobox.addModifyListener( new ModifyListener() {
|
||||
public void modifyText( ModifyEvent modifyEvent ) {
|
||||
fireModifiedEvents();
|
||||
}
|
||||
} );
|
||||
}
|
||||
|
||||
public void setVariableSpace( VariableSpace space ) {
|
||||
variableSpace = space;
|
||||
extCombo.setVariables( variableSpace );
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,119 @@
|
|||
/*! ******************************************************************************
|
||||
*
|
||||
* Pentaho Data Integration
|
||||
*
|
||||
* Copyright (C) 2002-2017 by Hitachi Vantara : http://www.pentaho.com
|
||||
*
|
||||
*******************************************************************************
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
package org.pentaho.di.ui.core.database.dialog.tags;
|
||||
|
||||
import org.eclipse.swt.SWT;
|
||||
import org.eclipse.swt.widgets.Text;
|
||||
import org.pentaho.di.core.database.DatabaseMeta;
|
||||
import org.pentaho.di.core.variables.VariableSpace;
|
||||
import org.pentaho.di.ui.core.widget.PasswordTextVar;
|
||||
import org.pentaho.di.ui.core.widget.TextVar;
|
||||
import org.pentaho.ui.xul.XulComponent;
|
||||
import org.pentaho.ui.xul.XulDomContainer;
|
||||
import org.pentaho.ui.xul.containers.XulTree;
|
||||
import org.pentaho.ui.xul.dom.Element;
|
||||
import org.pentaho.ui.xul.impl.AbstractXulComponent;
|
||||
import org.pentaho.ui.xul.swt.tags.SwtTextbox;
|
||||
import org.pentaho.ui.xul.util.TextType;
|
||||
|
||||
public class ExtTextbox extends SwtTextbox {
|
||||
|
||||
public TextVar extText;
|
||||
private VariableSpace variableSpace;
|
||||
private XulComponent xulParent;
|
||||
|
||||
private int style = SWT.NONE;
|
||||
|
||||
public ExtTextbox( Element self, XulComponent parent, XulDomContainer container, String tagName ) {
|
||||
super( self, parent, container, tagName );
|
||||
String typeAttribute = self.getAttributeValue( "type" );
|
||||
if ( typeAttribute != null ) {
|
||||
this.type = TextType.valueOf( typeAttribute.toUpperCase() );
|
||||
}
|
||||
createNewExtText( parent );
|
||||
}
|
||||
|
||||
private void createNewExtText( XulComponent parent ) {
|
||||
xulParent = parent;
|
||||
|
||||
if ( ( xulParent != null ) && ( xulParent instanceof XulTree ) ) {
|
||||
variableSpace = (DatabaseMeta) ( (XulTree) xulParent ).getData();
|
||||
|
||||
} else {
|
||||
variableSpace = new DatabaseMeta();
|
||||
style = SWT.BORDER;
|
||||
}
|
||||
|
||||
if ( type == TextType.PASSWORD ) {
|
||||
extText = new PasswordTextVar( variableSpace, parentComposite, style );
|
||||
} else {
|
||||
extText = new TextVar( variableSpace, parentComposite, style );
|
||||
}
|
||||
textBox = extText.getTextWidget();
|
||||
addKeyListener( textBox );
|
||||
setManagedObject( extText );
|
||||
}
|
||||
|
||||
@Override
|
||||
public Text createNewText() {
|
||||
// Don't do anything here. We'll create our own with createNewExtText().
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object getTextControl() {
|
||||
getManagedObject();
|
||||
return extText.getTextWidget();
|
||||
}
|
||||
|
||||
public Object getManagedObject() {
|
||||
if ( textBox.isDisposed() ) {
|
||||
int thisStyle = isMultiline() ? SWT.MULTI | SWT.BORDER | SWT.WRAP | SWT.V_SCROLL : style;
|
||||
extText = new TextVar( variableSpace, parentComposite, thisStyle );
|
||||
setDisabled( isDisabled() );
|
||||
setMaxlength( getMaxlength() );
|
||||
setValue( getValue() );
|
||||
setReadonly( isReadonly() );
|
||||
setType( getType() );
|
||||
textBox = extText.getTextWidget();
|
||||
setManagedObject( extText );
|
||||
layout();
|
||||
}
|
||||
return super.getManagedObject();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void layout() {
|
||||
( (AbstractXulComponent) xulParent ).layout();
|
||||
}
|
||||
|
||||
public void setVariableSpace( VariableSpace space ) {
|
||||
variableSpace = space;
|
||||
extText.setVariables( variableSpace );
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setType( TextType type ) {
|
||||
return;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,139 @@
|
|||
/*! ******************************************************************************
|
||||
*
|
||||
* Pentaho Data Integration
|
||||
*
|
||||
* Copyright (C) 2002-2017 by Hitachi Vantara : http://www.pentaho.com
|
||||
*
|
||||
*******************************************************************************
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
package org.pentaho.di.ui.core.database.wizard;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import org.eclipse.jface.wizard.Wizard;
|
||||
import org.eclipse.jface.wizard.WizardDialog;
|
||||
import org.eclipse.jface.wizard.WizardPage;
|
||||
import org.eclipse.swt.widgets.Shell;
|
||||
import org.pentaho.di.core.database.DatabaseMeta;
|
||||
import org.pentaho.di.core.exception.KettlePluginException;
|
||||
import org.pentaho.di.core.plugins.DatabasePluginType;
|
||||
import org.pentaho.di.core.plugins.PluginInterface;
|
||||
import org.pentaho.di.core.plugins.PluginRegistry;
|
||||
import org.pentaho.di.ui.core.PropsUI;
|
||||
import org.pentaho.di.ui.core.gui.GUIResource;
|
||||
|
||||
/**
|
||||
* Shows a wizard that creates a new database connection... (Code 'normalized' from Spoon)
|
||||
*
|
||||
* @author Matt, Jens
|
||||
* @since 29-mar-2006
|
||||
*
|
||||
*/
|
||||
public class CreateDatabaseWizard {
|
||||
|
||||
private boolean wizardFinished = false; // true when wizard finished
|
||||
|
||||
private List<WizardPage> additionalPages = new ArrayList<>();
|
||||
|
||||
/**
|
||||
* Shows a wizard that creates a new database connection...
|
||||
*
|
||||
* @param shell
|
||||
* @param props
|
||||
* @param databases
|
||||
* @return DatabaseMeta when finished or null when canceled
|
||||
*/
|
||||
public DatabaseMeta createAndRunDatabaseWizard( Shell shell, PropsUI props, List<DatabaseMeta> databases ) {
|
||||
|
||||
DatabaseMeta newDBInfo = new DatabaseMeta();
|
||||
|
||||
final CreateDatabaseWizardPage1 page1 = new CreateDatabaseWizardPage1( "1", props, newDBInfo, databases );
|
||||
|
||||
final CreateDatabaseWizardPageInformix pageifx =
|
||||
new CreateDatabaseWizardPageInformix( "ifx", props, newDBInfo );
|
||||
|
||||
final CreateDatabaseWizardPageJDBC pagejdbc = new CreateDatabaseWizardPageJDBC( "jdbc", props, newDBInfo );
|
||||
|
||||
final CreateDatabaseWizardPageOCI pageoci = new CreateDatabaseWizardPageOCI( "oci", props, newDBInfo );
|
||||
|
||||
final CreateDatabaseWizardPageODBC pageodbc = new CreateDatabaseWizardPageODBC( "odbc", props, newDBInfo );
|
||||
|
||||
final CreateDatabaseWizardPageOracle pageoracle =
|
||||
new CreateDatabaseWizardPageOracle( "oracle", props, newDBInfo );
|
||||
|
||||
final CreateDatabaseWizardPageGeneric pageGeneric =
|
||||
new CreateDatabaseWizardPageGeneric( "generic", props, newDBInfo );
|
||||
|
||||
final CreateDatabaseWizardPage2 page2 = new CreateDatabaseWizardPage2( "2", props, newDBInfo );
|
||||
|
||||
for ( PluginInterface pluginInterface : PluginRegistry.getInstance().getPlugins( DatabasePluginType.class ) ) {
|
||||
try {
|
||||
Object plugin = PluginRegistry.getInstance().loadClass( pluginInterface );
|
||||
if ( plugin instanceof WizardPageFactory ) {
|
||||
WizardPageFactory factory = (WizardPageFactory) plugin;
|
||||
additionalPages.add( factory.createWizardPage( props, newDBInfo ) );
|
||||
}
|
||||
} catch ( KettlePluginException kpe ) {
|
||||
// Don't do anything
|
||||
}
|
||||
}
|
||||
|
||||
wizardFinished = false; // set to false for safety only
|
||||
|
||||
Wizard wizard = new Wizard() {
|
||||
/**
|
||||
* @see org.eclipse.jface.wizard.Wizard#performFinish()
|
||||
*/
|
||||
public boolean performFinish() {
|
||||
wizardFinished = true;
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.eclipse.jface.wizard.Wizard#canFinish()
|
||||
*/
|
||||
public boolean canFinish() {
|
||||
return page2.canFinish();
|
||||
}
|
||||
};
|
||||
|
||||
wizard.addPage( page1 );
|
||||
wizard.addPage( pageoci );
|
||||
wizard.addPage( pageodbc );
|
||||
wizard.addPage( pagejdbc );
|
||||
wizard.addPage( pageoracle );
|
||||
wizard.addPage( pageifx );
|
||||
wizard.addPage( pageGeneric );
|
||||
for ( WizardPage page : additionalPages ) {
|
||||
wizard.addPage( page );
|
||||
}
|
||||
wizard.addPage( page2 );
|
||||
|
||||
WizardDialog wd = new WizardDialog( shell, wizard );
|
||||
WizardDialog.setDefaultImage( GUIResource.getInstance().getImageWizard() );
|
||||
wd.setMinimumPageSize( 700, 400 );
|
||||
wd.updateSize();
|
||||
wd.open();
|
||||
|
||||
if ( !wizardFinished ) {
|
||||
newDBInfo = null;
|
||||
}
|
||||
return newDBInfo;
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,310 @@
|
|||
/*! ******************************************************************************
|
||||
*
|
||||
* Pentaho Data Integration
|
||||
*
|
||||
* Copyright (C) 2002-2017 by Hitachi Vantara : http://www.pentaho.com
|
||||
*
|
||||
*******************************************************************************
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
package org.pentaho.di.ui.core.database.wizard;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.Comparator;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import org.eclipse.jface.wizard.IWizard;
|
||||
import org.eclipse.jface.wizard.IWizardPage;
|
||||
import org.eclipse.jface.wizard.WizardPage;
|
||||
import org.eclipse.swt.SWT;
|
||||
import org.eclipse.swt.events.ModifyEvent;
|
||||
import org.eclipse.swt.events.ModifyListener;
|
||||
import org.eclipse.swt.events.SelectionAdapter;
|
||||
import org.eclipse.swt.events.SelectionEvent;
|
||||
import org.eclipse.swt.layout.FormAttachment;
|
||||
import org.eclipse.swt.layout.FormData;
|
||||
import org.eclipse.swt.layout.FormLayout;
|
||||
import org.eclipse.swt.widgets.Composite;
|
||||
import org.eclipse.swt.widgets.Label;
|
||||
import org.eclipse.swt.widgets.List;
|
||||
import org.eclipse.swt.widgets.Text;
|
||||
import org.pentaho.di.core.Const;
|
||||
import org.pentaho.di.core.database.DatabaseMeta;
|
||||
import org.pentaho.di.core.database.GenericDatabaseMeta;
|
||||
import org.pentaho.di.core.plugins.DatabasePluginType;
|
||||
import org.pentaho.di.core.plugins.PluginInterface;
|
||||
import org.pentaho.di.core.plugins.PluginRegistry;
|
||||
import org.pentaho.di.i18n.BaseMessages;
|
||||
import org.pentaho.di.ui.core.PropsUI;
|
||||
|
||||
/**
|
||||
*
|
||||
* On page one we select the database connection name, the database type and the access type.
|
||||
*
|
||||
* @author Matt
|
||||
* @since 04-apr-2005
|
||||
*/
|
||||
public class CreateDatabaseWizardPage1 extends WizardPage {
|
||||
private static Class<?> PKG = CreateDatabaseWizard.class; // for i18n purposes, needed by Translator2!!
|
||||
|
||||
private Label wlName;
|
||||
private Text wName;
|
||||
private FormData fdlName, fdName;
|
||||
|
||||
private Label wlDBType;
|
||||
private List wDBType;
|
||||
private FormData fdlDBType, fdDBType;
|
||||
|
||||
private Label wlAccType;
|
||||
private List wAccType;
|
||||
private FormData fdlAccType, fdAccType;
|
||||
|
||||
private PropsUI props;
|
||||
private DatabaseMeta databaseMeta;
|
||||
private java.util.List<DatabaseMeta> databases;
|
||||
private Map<String, String> wDBIDtoNameMap = new HashMap<String, String>();
|
||||
|
||||
public CreateDatabaseWizardPage1( String arg, PropsUI props, DatabaseMeta databaseMeta,
|
||||
java.util.List<DatabaseMeta> databases ) {
|
||||
super( arg );
|
||||
this.props = props;
|
||||
this.databaseMeta = databaseMeta;
|
||||
this.databases = databases;
|
||||
|
||||
setTitle( BaseMessages.getString( PKG, "CreateDatabaseWizardPage1.DialogTitle" ) );
|
||||
setDescription( BaseMessages.getString( PKG, "CreateDatabaseWizardPage1.DialogMessage" ) );
|
||||
|
||||
setPageComplete( false );
|
||||
}
|
||||
|
||||
public void createControl( Composite parent ) {
|
||||
int margin = Const.MARGIN;
|
||||
int middle = props.getMiddlePct();
|
||||
|
||||
// create the composite to hold the widgets
|
||||
Composite composite = new Composite( parent, SWT.NONE );
|
||||
props.setLook( composite );
|
||||
|
||||
FormLayout compLayout = new FormLayout();
|
||||
compLayout.marginHeight = Const.FORM_MARGIN;
|
||||
compLayout.marginWidth = Const.FORM_MARGIN;
|
||||
composite.setLayout( compLayout );
|
||||
|
||||
wlName = new Label( composite, SWT.RIGHT );
|
||||
wlName.setText( BaseMessages.getString( PKG, "CreateDatabaseWizardPage1.DBName.Label" ) );
|
||||
props.setLook( wlName );
|
||||
fdlName = new FormData();
|
||||
fdlName.left = new FormAttachment( 0, 0 );
|
||||
fdlName.top = new FormAttachment( 0, 0 );
|
||||
fdlName.right = new FormAttachment( middle, 0 );
|
||||
wlName.setLayoutData( fdlName );
|
||||
wName = new Text( composite, SWT.SINGLE | SWT.BORDER );
|
||||
props.setLook( wName );
|
||||
fdName = new FormData();
|
||||
fdName.left = new FormAttachment( middle, margin );
|
||||
fdName.right = new FormAttachment( 100, 0 );
|
||||
wName.setLayoutData( fdName );
|
||||
wName.addModifyListener( new ModifyListener() {
|
||||
public void modifyText( ModifyEvent e ) {
|
||||
setPageComplete( false );
|
||||
}
|
||||
} );
|
||||
|
||||
wlDBType = new Label( composite, SWT.RIGHT );
|
||||
wlDBType.setText( BaseMessages.getString( PKG, "CreateDatabaseWizardPage1.DBType.Label" ) );
|
||||
props.setLook( wlDBType );
|
||||
fdlDBType = new FormData();
|
||||
fdlDBType.left = new FormAttachment( 0, 0 );
|
||||
fdlDBType.top = new FormAttachment( wName, margin );
|
||||
fdlDBType.right = new FormAttachment( middle, 0 );
|
||||
wlDBType.setLayoutData( fdlDBType );
|
||||
wDBType = new List( composite, SWT.SINGLE | SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL );
|
||||
props.setLook( wDBType );
|
||||
|
||||
PluginRegistry registry = PluginRegistry.getInstance();
|
||||
|
||||
java.util.List<PluginInterface> plugins = registry.getPlugins( DatabasePluginType.class );
|
||||
Collections.sort( plugins, new Comparator<PluginInterface>() {
|
||||
@Override
|
||||
public int compare( PluginInterface o1, PluginInterface o2 ) {
|
||||
return o1.getName().toUpperCase().compareTo( o2.getName().toUpperCase() );
|
||||
}
|
||||
} );
|
||||
|
||||
for ( PluginInterface plugin : plugins ) {
|
||||
try {
|
||||
wDBType.add( plugin.getName() );
|
||||
wDBIDtoNameMap.put( plugin.getIds()[0], plugin.getName() );
|
||||
|
||||
} catch ( Exception e ) {
|
||||
throw new RuntimeException( "Error creating class for: " + plugin, e );
|
||||
}
|
||||
}
|
||||
|
||||
// Select a default: the first
|
||||
/*
|
||||
* if (databaseMeta.getDatabaseType() <= 0) { wDBType.select(0); } else {
|
||||
*/
|
||||
int idx = wDBType.indexOf( wDBIDtoNameMap.get( databaseMeta.getPluginId() ) );
|
||||
if ( idx >= 0 ) {
|
||||
wDBType.select( idx );
|
||||
} else {
|
||||
wDBType.select( 0 );
|
||||
}
|
||||
|
||||
// }
|
||||
|
||||
fdDBType = new FormData();
|
||||
fdDBType.top = new FormAttachment( wName, margin );
|
||||
fdDBType.left = new FormAttachment( middle, margin );
|
||||
fdDBType.bottom = new FormAttachment( 80, 0 );
|
||||
fdDBType.right = new FormAttachment( 100, 0 );
|
||||
wDBType.setLayoutData( fdDBType );
|
||||
wDBType.addSelectionListener( new SelectionAdapter() {
|
||||
public void widgetSelected( SelectionEvent e ) {
|
||||
setAccessTypes();
|
||||
setPageComplete( false );
|
||||
}
|
||||
} );
|
||||
|
||||
wlAccType = new Label( composite, SWT.RIGHT );
|
||||
wlAccType.setText( BaseMessages.getString( PKG, "CreateDatabaseWizardPage1.DBAccessType.Label" ) );
|
||||
props.setLook( wlAccType );
|
||||
fdlAccType = new FormData();
|
||||
fdlAccType.left = new FormAttachment( 0, 0 );
|
||||
fdlAccType.top = new FormAttachment( wDBType, margin );
|
||||
fdlAccType.right = new FormAttachment( middle, 0 );
|
||||
wlAccType.setLayoutData( fdlAccType );
|
||||
|
||||
wAccType = new List( composite, SWT.SINGLE | SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL );
|
||||
props.setLook( wAccType );
|
||||
fdAccType = new FormData();
|
||||
fdAccType.top = new FormAttachment( wDBType, margin );
|
||||
fdAccType.left = new FormAttachment( middle, margin );
|
||||
fdAccType.bottom = new FormAttachment( 100, 0 );
|
||||
fdAccType.right = new FormAttachment( 100, 0 );
|
||||
wAccType.setLayoutData( fdAccType );
|
||||
wAccType.addSelectionListener( new SelectionAdapter() {
|
||||
public void widgetSelected( SelectionEvent e ) {
|
||||
setPageComplete( false );
|
||||
}
|
||||
} );
|
||||
|
||||
setAccessTypes();
|
||||
|
||||
// set the composite as the control for this page
|
||||
setControl( composite );
|
||||
}
|
||||
|
||||
public void setAccessTypes() {
|
||||
if ( wDBType.getSelectionCount() < 1 ) {
|
||||
return;
|
||||
}
|
||||
|
||||
int[] acc = DatabaseMeta.getAccessTypeList( wDBType.getSelection()[0] );
|
||||
wAccType.removeAll();
|
||||
for ( int i = 0; i < acc.length; i++ ) {
|
||||
wAccType.add( DatabaseMeta.getAccessTypeDescLong( acc[i] ) );
|
||||
}
|
||||
// If nothing is selected: select the first item (mostly the native driver)
|
||||
if ( wAccType.getSelectionIndex() < 0 ) {
|
||||
wAccType.select( 0 );
|
||||
}
|
||||
}
|
||||
|
||||
public boolean canFlipToNextPage() {
|
||||
String name = wName.getText() != null ? wName.getText().length() > 0 ? wName.getText() : null : null;
|
||||
String dbType = wDBType.getSelection().length == 1 ? wDBType.getSelection()[0] : null;
|
||||
String acType = wAccType.getSelection().length == 1 ? wAccType.getSelection()[0] : null;
|
||||
|
||||
if ( name == null || dbType == null || acType == null ) {
|
||||
setErrorMessage( BaseMessages.getString( PKG, "CreateDatabaseWizardPage1.ErrorMessage.InvalidInput" ) );
|
||||
return false;
|
||||
}
|
||||
if ( name != null && DatabaseMeta.findDatabase( databases, name ) != null ) {
|
||||
setErrorMessage( BaseMessages.getString( PKG, "CreateDatabaseWizardPage1.ErrorMessage.DBNameExists",
|
||||
name.trim() ) );
|
||||
return false;
|
||||
} else {
|
||||
getDatabaseInfo();
|
||||
setErrorMessage( null );
|
||||
setMessage( BaseMessages.getString( PKG, "CreateDatabaseWizardPage1.Message.Next" ) );
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
public DatabaseMeta getDatabaseInfo() {
|
||||
if ( wName.getText() != null && wName.getText().length() > 0 ) {
|
||||
databaseMeta.setName( wName.getText() );
|
||||
databaseMeta.setDisplayName( wName.getText() );
|
||||
}
|
||||
|
||||
String[] dbTypeSel = wDBType.getSelection();
|
||||
if ( dbTypeSel != null && dbTypeSel.length == 1 ) {
|
||||
databaseMeta.setDatabaseType( dbTypeSel[0] );
|
||||
}
|
||||
|
||||
String[] accTypeSel = wAccType.getSelection();
|
||||
if ( accTypeSel != null && accTypeSel.length == 1 ) {
|
||||
databaseMeta.setAccessType( DatabaseMeta.getAccessType( accTypeSel[0] ) );
|
||||
}
|
||||
|
||||
// Also, set the default port in case of JDBC:
|
||||
databaseMeta.setDBPort( String.valueOf( databaseMeta.getDefaultDatabasePort() ) );
|
||||
|
||||
return databaseMeta;
|
||||
}
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
* @see org.eclipse.jface.wizard.WizardPage#getNextPage()
|
||||
*/
|
||||
public IWizardPage getNextPage() {
|
||||
IWizard wiz = getWizard();
|
||||
|
||||
IWizardPage nextPage;
|
||||
switch ( databaseMeta.getAccessType() ) {
|
||||
case DatabaseMeta.TYPE_ACCESS_OCI:
|
||||
nextPage = wiz.getPage( "oci" ); // OCI
|
||||
break;
|
||||
case DatabaseMeta.TYPE_ACCESS_ODBC:
|
||||
nextPage = wiz.getPage( "odbc" ); // ODBC
|
||||
break;
|
||||
case DatabaseMeta.TYPE_ACCESS_PLUGIN:
|
||||
nextPage = wiz.getPage( databaseMeta.getPluginId() ); // e.g. SAPR3
|
||||
break;
|
||||
default: // Generic or Native
|
||||
if ( databaseMeta.getDatabaseInterface() instanceof GenericDatabaseMeta ) { // Generic
|
||||
nextPage = wiz.getPage( "generic" ); // generic
|
||||
} else { // Native
|
||||
nextPage = wiz.getPage( "jdbc" );
|
||||
if ( nextPage != null ) {
|
||||
// Set the port number...
|
||||
( (CreateDatabaseWizardPageJDBC) nextPage ).setData();
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
return nextPage;
|
||||
}
|
||||
|
||||
public boolean canPerformFinish() {
|
||||
return false;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,196 @@
|
|||
/*! ******************************************************************************
|
||||
*
|
||||
* Pentaho Data Integration
|
||||
*
|
||||
* Copyright (C) 2002-2017 by Hitachi Vantara : http://www.pentaho.com
|
||||
*
|
||||
*******************************************************************************
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
package org.pentaho.di.ui.core.database.wizard;
|
||||
|
||||
import org.eclipse.jface.wizard.WizardPage;
|
||||
import org.eclipse.swt.SWT;
|
||||
import org.eclipse.swt.events.ModifyEvent;
|
||||
import org.eclipse.swt.events.ModifyListener;
|
||||
import org.eclipse.swt.events.SelectionAdapter;
|
||||
import org.eclipse.swt.events.SelectionEvent;
|
||||
import org.eclipse.swt.layout.FormAttachment;
|
||||
import org.eclipse.swt.layout.FormData;
|
||||
import org.eclipse.swt.layout.FormLayout;
|
||||
import org.eclipse.swt.widgets.Button;
|
||||
import org.eclipse.swt.widgets.Composite;
|
||||
import org.eclipse.swt.widgets.Label;
|
||||
import org.eclipse.swt.widgets.Shell;
|
||||
import org.eclipse.swt.widgets.Text;
|
||||
import org.pentaho.di.core.Const;
|
||||
import org.pentaho.di.core.database.BaseDatabaseMeta;
|
||||
import org.pentaho.di.core.database.DatabaseMeta;
|
||||
import org.pentaho.di.i18n.BaseMessages;
|
||||
import org.pentaho.di.ui.core.PropsUI;
|
||||
import org.pentaho.di.ui.core.database.dialog.DatabaseDialog;
|
||||
|
||||
/**
|
||||
*
|
||||
* On page one we select the username and password. We also provide a test button.
|
||||
*
|
||||
* @author Matt
|
||||
* @since 04-apr-2005
|
||||
*/
|
||||
public class CreateDatabaseWizardPage2 extends WizardPage {
|
||||
private static Class<?> PKG = CreateDatabaseWizard.class; // for i18n purposes, needed by Translator2!!
|
||||
|
||||
private Label wlUsername;
|
||||
private Text wUsername;
|
||||
private FormData fdlUsername, fdUsername;
|
||||
|
||||
private Label wlPassword;
|
||||
private Text wPassword;
|
||||
private FormData fdlPassword, fdPassword;
|
||||
|
||||
private Button wTest;
|
||||
private FormData fdTest;
|
||||
|
||||
private PropsUI props;
|
||||
private DatabaseMeta databaseMeta;
|
||||
|
||||
public CreateDatabaseWizardPage2( String arg, PropsUI props, DatabaseMeta info ) {
|
||||
super( arg );
|
||||
this.props = props;
|
||||
this.databaseMeta = info;
|
||||
|
||||
setTitle( BaseMessages.getString( PKG, "CreateDatabaseWizardPage2.DialogTitle" ) );
|
||||
setDescription( BaseMessages.getString( PKG, "CreateDatabaseWizardPage2.DialogMessage" ) );
|
||||
|
||||
setPageComplete( false );
|
||||
}
|
||||
|
||||
public void createControl( Composite parent ) {
|
||||
int margin = Const.MARGIN;
|
||||
int middle = props.getMiddlePct();
|
||||
|
||||
// create the composite to hold the widgets
|
||||
Composite composite = new Composite( parent, SWT.NONE );
|
||||
props.setLook( composite );
|
||||
|
||||
FormLayout compLayout = new FormLayout();
|
||||
compLayout.marginHeight = Const.FORM_MARGIN;
|
||||
compLayout.marginWidth = Const.FORM_MARGIN;
|
||||
composite.setLayout( compLayout );
|
||||
|
||||
// USERNAME
|
||||
wlUsername = new Label( composite, SWT.RIGHT );
|
||||
wlUsername.setText( BaseMessages.getString( PKG, "CreateDatabaseWizardPage2.Username.Label" ) );
|
||||
props.setLook( wlUsername );
|
||||
fdlUsername = new FormData();
|
||||
fdlUsername.top = new FormAttachment( 0, 0 );
|
||||
fdlUsername.left = new FormAttachment( 0, 0 );
|
||||
fdlUsername.right = new FormAttachment( middle, 0 );
|
||||
wlUsername.setLayoutData( fdlUsername );
|
||||
wUsername = new Text( composite, SWT.SINGLE | SWT.BORDER );
|
||||
props.setLook( wUsername );
|
||||
fdUsername = new FormData();
|
||||
fdUsername.top = new FormAttachment( 0, 0 );
|
||||
fdUsername.left = new FormAttachment( middle, margin );
|
||||
fdUsername.right = new FormAttachment( 100, 0 );
|
||||
wUsername.setLayoutData( fdUsername );
|
||||
wUsername.addModifyListener( new ModifyListener() {
|
||||
public void modifyText( ModifyEvent arg0 ) {
|
||||
setPageComplete( false );
|
||||
}
|
||||
} );
|
||||
|
||||
// PASSWORD
|
||||
wlPassword = new Label( composite, SWT.RIGHT );
|
||||
wlPassword.setText( BaseMessages.getString( PKG, "CreateDatabaseWizardPage2.Password.Label" ) );
|
||||
props.setLook( wlPassword );
|
||||
fdlPassword = new FormData();
|
||||
fdlPassword.top = new FormAttachment( wUsername, margin );
|
||||
fdlPassword.left = new FormAttachment( 0, 0 );
|
||||
fdlPassword.right = new FormAttachment( middle, 0 );
|
||||
wlPassword.setLayoutData( fdlPassword );
|
||||
wPassword = new Text( composite, SWT.SINGLE | SWT.BORDER );
|
||||
props.setLook( wPassword );
|
||||
wPassword.setEchoChar( '*' );
|
||||
fdPassword = new FormData();
|
||||
fdPassword.top = new FormAttachment( wUsername, margin );
|
||||
fdPassword.left = new FormAttachment( middle, margin );
|
||||
fdPassword.right = new FormAttachment( 100, 0 );
|
||||
wPassword.setLayoutData( fdPassword );
|
||||
wPassword.addModifyListener( new ModifyListener() {
|
||||
public void modifyText( ModifyEvent arg0 ) {
|
||||
setPageComplete( false );
|
||||
}
|
||||
} );
|
||||
|
||||
wTest = new Button( composite, SWT.PUSH );
|
||||
wTest.setText( BaseMessages.getString( PKG, "CreateDatabaseWizardPage2.TestConnection.Button" ) );
|
||||
fdTest = new FormData();
|
||||
fdTest.top = new FormAttachment( wPassword, margin * 4 );
|
||||
fdTest.left = new FormAttachment( 50, 0 );
|
||||
wTest.setLayoutData( fdTest );
|
||||
wTest.addSelectionListener( new SelectionAdapter() {
|
||||
public void widgetSelected( SelectionEvent arg0 ) {
|
||||
test();
|
||||
}
|
||||
} );
|
||||
|
||||
// set the composite as the control for this page
|
||||
setControl( composite );
|
||||
}
|
||||
|
||||
public void test() {
|
||||
Shell shell = getWizard().getContainer().getShell();
|
||||
DatabaseDialog.test( shell, databaseMeta );
|
||||
}
|
||||
|
||||
public boolean canFlipToNextPage() {
|
||||
return false;
|
||||
}
|
||||
|
||||
public DatabaseMeta getDatabaseInfo() {
|
||||
if ( wUsername.getText() != null && wUsername.getText().length() > 0 ) {
|
||||
databaseMeta.setUsername( wUsername.getText() );
|
||||
}
|
||||
|
||||
if ( wPassword.getText() != null && wPassword.getText().length() > 0 ) {
|
||||
databaseMeta.setPassword( wPassword.getText() );
|
||||
}
|
||||
|
||||
wTest.setEnabled( ( (BaseDatabaseMeta) databaseMeta.getDatabaseInterface() ).canTest() );
|
||||
|
||||
return databaseMeta;
|
||||
}
|
||||
|
||||
public boolean canFinish() {
|
||||
if ( !isCurrentPage() ) {
|
||||
return false;
|
||||
}
|
||||
|
||||
getDatabaseInfo();
|
||||
|
||||
String[] remarks = databaseMeta.checkParameters();
|
||||
if ( remarks.length == 0 ) {
|
||||
setErrorMessage( null );
|
||||
setMessage( BaseMessages.getString( PKG, "CreateDatabaseWizardPage2.Message.Finish" ) );
|
||||
return true;
|
||||
} else {
|
||||
setErrorMessage( BaseMessages.getString( PKG, "CreateDatabaseWizardPage2.ErrorMessage.InvalidInput" ) );
|
||||
// setMessage("Select 'Finish' to create the database connection");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,178 @@
|
|||
/*! ******************************************************************************
|
||||
*
|
||||
* Pentaho Data Integration
|
||||
*
|
||||
* Copyright (C) 2002-2017 by Hitachi Vantara : http://www.pentaho.com
|
||||
*
|
||||
*******************************************************************************
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
package org.pentaho.di.ui.core.database.wizard;
|
||||
|
||||
import org.eclipse.jface.wizard.IWizard;
|
||||
import org.eclipse.jface.wizard.IWizardPage;
|
||||
import org.eclipse.jface.wizard.WizardPage;
|
||||
import org.eclipse.swt.SWT;
|
||||
import org.eclipse.swt.events.ModifyEvent;
|
||||
import org.eclipse.swt.events.ModifyListener;
|
||||
import org.eclipse.swt.layout.FormAttachment;
|
||||
import org.eclipse.swt.layout.FormData;
|
||||
import org.eclipse.swt.layout.FormLayout;
|
||||
import org.eclipse.swt.widgets.Composite;
|
||||
import org.eclipse.swt.widgets.Label;
|
||||
import org.eclipse.swt.widgets.Text;
|
||||
import org.pentaho.di.core.Const;
|
||||
import org.pentaho.di.core.database.DatabaseMeta;
|
||||
import org.pentaho.di.core.database.GenericDatabaseMeta;
|
||||
import org.pentaho.di.i18n.BaseMessages;
|
||||
import org.pentaho.di.ui.core.PropsUI;
|
||||
|
||||
/**
|
||||
*
|
||||
* On page one we select the database connection SAP/R3 specific settings 1) The data tablespace 2) The index tablespace
|
||||
*
|
||||
* @author Jens Bleuel
|
||||
* @since 22-mar-2006
|
||||
*/
|
||||
public class CreateDatabaseWizardPageGeneric extends WizardPage {
|
||||
private static Class<?> PKG = CreateDatabaseWizard.class; // for i18n purposes, needed by Translator2!!
|
||||
|
||||
private Label wlURL;
|
||||
private Text wURL;
|
||||
private FormData fdlURL, fdURL;
|
||||
|
||||
private Label wlDriverClass;
|
||||
private Text wDriverClass;
|
||||
private FormData fdlDriverClass, fdDriverClass;
|
||||
|
||||
private PropsUI props;
|
||||
private DatabaseMeta info;
|
||||
|
||||
public CreateDatabaseWizardPageGeneric( String arg, PropsUI props, DatabaseMeta info ) {
|
||||
super( arg );
|
||||
this.props = props;
|
||||
this.info = info;
|
||||
|
||||
setTitle( BaseMessages.getString( PKG, "CreateDatabaseWizardPageGeneric.DialogTitle" ) );
|
||||
setDescription( BaseMessages.getString( PKG, "CreateDatabaseWizardPageGeneric.DialogMessage" ) );
|
||||
|
||||
setPageComplete( false );
|
||||
}
|
||||
|
||||
public void createControl( Composite parent ) {
|
||||
int margin = Const.MARGIN;
|
||||
int middle = props.getMiddlePct();
|
||||
|
||||
// create the composite to hold the widgets
|
||||
Composite composite = new Composite( parent, SWT.NONE );
|
||||
props.setLook( composite );
|
||||
|
||||
FormLayout compLayout = new FormLayout();
|
||||
compLayout.marginHeight = Const.FORM_MARGIN;
|
||||
compLayout.marginWidth = Const.FORM_MARGIN;
|
||||
composite.setLayout( compLayout );
|
||||
|
||||
// URL
|
||||
wlURL = new Label( composite, SWT.RIGHT );
|
||||
wlURL.setText( BaseMessages.getString( PKG, "CreateDatabaseWizardPageGeneric.URL.Label" ) );
|
||||
props.setLook( wlURL );
|
||||
fdlURL = new FormData();
|
||||
fdlURL.top = new FormAttachment( 0, 0 );
|
||||
fdlURL.left = new FormAttachment( 0, 0 );
|
||||
fdlURL.right = new FormAttachment( middle, 0 );
|
||||
wlURL.setLayoutData( fdlURL );
|
||||
wURL = new Text( composite, SWT.SINGLE | SWT.BORDER );
|
||||
props.setLook( wURL );
|
||||
fdURL = new FormData();
|
||||
fdURL.top = new FormAttachment( 0, 0 );
|
||||
fdURL.left = new FormAttachment( middle, margin );
|
||||
fdURL.right = new FormAttachment( 100, 0 );
|
||||
wURL.setLayoutData( fdURL );
|
||||
wURL.addModifyListener( new ModifyListener() {
|
||||
public void modifyText( ModifyEvent arg0 ) {
|
||||
setPageComplete( false );
|
||||
}
|
||||
} );
|
||||
|
||||
// DRIVER CLASS
|
||||
wlDriverClass = new Label( composite, SWT.RIGHT );
|
||||
wlDriverClass.setText( BaseMessages.getString( PKG, "CreateDatabaseWizardPageGeneric.DriverClass.Label" ) );
|
||||
props.setLook( wlDriverClass );
|
||||
fdlDriverClass = new FormData();
|
||||
fdlDriverClass.top = new FormAttachment( wURL, margin );
|
||||
fdlDriverClass.left = new FormAttachment( 0, 0 );
|
||||
fdlDriverClass.right = new FormAttachment( middle, 0 );
|
||||
wlDriverClass.setLayoutData( fdlDriverClass );
|
||||
wDriverClass = new Text( composite, SWT.SINGLE | SWT.BORDER );
|
||||
props.setLook( wDriverClass );
|
||||
fdDriverClass = new FormData();
|
||||
fdDriverClass.top = new FormAttachment( wURL, margin );
|
||||
fdDriverClass.left = new FormAttachment( middle, margin );
|
||||
fdDriverClass.right = new FormAttachment( 100, 0 );
|
||||
wDriverClass.setLayoutData( fdDriverClass );
|
||||
wDriverClass.addModifyListener( new ModifyListener() {
|
||||
public void modifyText( ModifyEvent arg0 ) {
|
||||
setPageComplete( false );
|
||||
}
|
||||
} );
|
||||
|
||||
// set the composite as the control for this page
|
||||
setControl( composite );
|
||||
}
|
||||
|
||||
public boolean canFlipToNextPage() {
|
||||
String url = wURL.getText() != null ? wURL.getText().length() > 0 ? wURL.getText() : null : null;
|
||||
String driverClass =
|
||||
wDriverClass.getText() != null
|
||||
? wDriverClass.getText().length() > 0 ? wDriverClass.getText() : null : null;
|
||||
|
||||
if ( url == null || driverClass == null ) {
|
||||
setErrorMessage( BaseMessages.getString(
|
||||
PKG, "CreateDatabaseWizardPageGeneric.ErrorMessage.URLAndDriverClassRequired" ) );
|
||||
return false;
|
||||
} else {
|
||||
getDatabaseInfo();
|
||||
setErrorMessage( null );
|
||||
setMessage( BaseMessages.getString( PKG, "CreateDatabaseWizardPageGeneric.Message.Next" ) );
|
||||
return true;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public DatabaseMeta getDatabaseInfo() {
|
||||
|
||||
if ( wURL.getText() != null && wURL.getText().length() > 0 ) {
|
||||
info.getAttributes().put( GenericDatabaseMeta.ATRRIBUTE_CUSTOM_URL, wURL.getText() );
|
||||
}
|
||||
|
||||
if ( wDriverClass.getText() != null && wDriverClass.getText().length() > 0 ) {
|
||||
info.getAttributes().put( GenericDatabaseMeta.ATRRIBUTE_CUSTOM_DRIVER_CLASS, wDriverClass.getText() );
|
||||
}
|
||||
|
||||
return info;
|
||||
}
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
* @see org.eclipse.jface.wizard.WizardPage#getNextPage()
|
||||
*/
|
||||
public IWizardPage getNextPage() {
|
||||
IWizard wiz = getWizard();
|
||||
return wiz.getPage( "2" );
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,142 @@
|
|||
/*! ******************************************************************************
|
||||
*
|
||||
* Pentaho Data Integration
|
||||
*
|
||||
* Copyright (C) 2002-2017 by Hitachi Vantara : http://www.pentaho.com
|
||||
*
|
||||
*******************************************************************************
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
package org.pentaho.di.ui.core.database.wizard;
|
||||
|
||||
import org.eclipse.jface.wizard.IWizard;
|
||||
import org.eclipse.jface.wizard.IWizardPage;
|
||||
import org.eclipse.jface.wizard.WizardPage;
|
||||
import org.eclipse.swt.SWT;
|
||||
import org.eclipse.swt.events.ModifyEvent;
|
||||
import org.eclipse.swt.events.ModifyListener;
|
||||
import org.eclipse.swt.layout.FormAttachment;
|
||||
import org.eclipse.swt.layout.FormData;
|
||||
import org.eclipse.swt.layout.FormLayout;
|
||||
import org.eclipse.swt.widgets.Composite;
|
||||
import org.eclipse.swt.widgets.Label;
|
||||
import org.eclipse.swt.widgets.Text;
|
||||
import org.pentaho.di.core.Const;
|
||||
import org.pentaho.di.core.database.DatabaseMeta;
|
||||
import org.pentaho.di.i18n.BaseMessages;
|
||||
import org.pentaho.di.ui.core.PropsUI;
|
||||
|
||||
/**
|
||||
*
|
||||
* On page one we set the Informix servername
|
||||
*
|
||||
* @author Matt
|
||||
* @since 04-apr-2005
|
||||
*/
|
||||
public class CreateDatabaseWizardPageInformix extends WizardPage {
|
||||
private static Class<?> PKG = CreateDatabaseWizard.class; // for i18n purposes, needed by Translator2!!
|
||||
|
||||
private Label wlServername;
|
||||
private Text wServername;
|
||||
private FormData fdlServername, fdServername;
|
||||
|
||||
private PropsUI props;
|
||||
private DatabaseMeta info;
|
||||
|
||||
public CreateDatabaseWizardPageInformix( String arg, PropsUI props, DatabaseMeta info ) {
|
||||
super( arg );
|
||||
this.props = props;
|
||||
this.info = info;
|
||||
|
||||
setTitle( BaseMessages.getString( PKG, "CreateDatabaseWizardPageInformix.DialogTitle" ) );
|
||||
setDescription( BaseMessages.getString( PKG, "CreateDatabaseWizardPageInformix.DialogMessage" ) );
|
||||
|
||||
setPageComplete( false );
|
||||
}
|
||||
|
||||
public void createControl( Composite parent ) {
|
||||
int margin = Const.MARGIN;
|
||||
int middle = props.getMiddlePct();
|
||||
|
||||
// create the composite to hold the widgets
|
||||
Composite composite = new Composite( parent, SWT.NONE );
|
||||
props.setLook( composite );
|
||||
|
||||
FormLayout compLayout = new FormLayout();
|
||||
compLayout.marginHeight = Const.FORM_MARGIN;
|
||||
compLayout.marginWidth = Const.FORM_MARGIN;
|
||||
composite.setLayout( compLayout );
|
||||
|
||||
wlServername = new Label( composite, SWT.RIGHT );
|
||||
wlServername.setText( BaseMessages.getString( PKG, "CreateDatabaseWizardPageInformix.Servername.Label" ) );
|
||||
props.setLook( wlServername );
|
||||
fdlServername = new FormData();
|
||||
fdlServername.top = new FormAttachment( 0, 0 );
|
||||
fdlServername.left = new FormAttachment( 0, 0 );
|
||||
fdlServername.right = new FormAttachment( middle, 0 );
|
||||
wlServername.setLayoutData( fdlServername );
|
||||
|
||||
wServername = new Text( composite, SWT.SINGLE | SWT.BORDER );
|
||||
props.setLook( wServername );
|
||||
fdServername = new FormData();
|
||||
fdServername.top = new FormAttachment( 0, 0 );
|
||||
fdServername.left = new FormAttachment( middle, margin );
|
||||
fdServername.right = new FormAttachment( 100, 0 );
|
||||
wServername.setLayoutData( fdServername );
|
||||
wServername.addModifyListener( new ModifyListener() {
|
||||
public void modifyText( ModifyEvent arg0 ) {
|
||||
setPageComplete( false );
|
||||
}
|
||||
} );
|
||||
|
||||
// set the composite as the control for this page
|
||||
setControl( composite );
|
||||
}
|
||||
|
||||
public boolean canFlipToNextPage() {
|
||||
String name =
|
||||
wServername.getText() != null ? wServername.getText().length() > 0 ? wServername.getText() : null : null;
|
||||
if ( name == null ) {
|
||||
setErrorMessage( BaseMessages.getString(
|
||||
PKG, "CreateDatabaseWizardPageInformix.ErrorMessage.ServernameRequired" ) );
|
||||
return false;
|
||||
} else {
|
||||
getDatabaseInfo();
|
||||
setErrorMessage( null );
|
||||
setMessage( BaseMessages.getString( PKG, "CreateDatabaseWizardPageInformix.Message.Next" ) );
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
public DatabaseMeta getDatabaseInfo() {
|
||||
if ( wServername.getText() != null && wServername.getText().length() > 0 ) {
|
||||
info.setServername( wServername.getText() );
|
||||
}
|
||||
|
||||
return info;
|
||||
}
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
* @see org.eclipse.jface.wizard.WizardPage#getNextPage()
|
||||
*/
|
||||
public IWizardPage getNextPage() {
|
||||
IWizard wiz = getWizard();
|
||||
return wiz.getPage( "2" );
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,241 @@
|
|||
/*! ******************************************************************************
|
||||
*
|
||||
* Pentaho Data Integration
|
||||
*
|
||||
* Copyright (C) 2002-2017 by Hitachi Vantara : http://www.pentaho.com
|
||||
*
|
||||
*******************************************************************************
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
package org.pentaho.di.ui.core.database.wizard;
|
||||
|
||||
import org.eclipse.jface.wizard.IWizard;
|
||||
import org.eclipse.jface.wizard.IWizardPage;
|
||||
import org.eclipse.jface.wizard.WizardPage;
|
||||
import org.eclipse.swt.SWT;
|
||||
import org.eclipse.swt.events.ModifyEvent;
|
||||
import org.eclipse.swt.events.ModifyListener;
|
||||
import org.eclipse.swt.layout.FormAttachment;
|
||||
import org.eclipse.swt.layout.FormData;
|
||||
import org.eclipse.swt.layout.FormLayout;
|
||||
import org.eclipse.swt.widgets.Composite;
|
||||
import org.eclipse.swt.widgets.Label;
|
||||
import org.eclipse.swt.widgets.Text;
|
||||
import org.pentaho.di.core.Const;
|
||||
import org.pentaho.di.core.database.DatabaseMeta;
|
||||
import org.pentaho.di.core.database.InformixDatabaseMeta;
|
||||
import org.pentaho.di.core.database.OracleDatabaseMeta;
|
||||
import org.pentaho.di.i18n.BaseMessages;
|
||||
import org.pentaho.di.ui.core.PropsUI;
|
||||
|
||||
/**
|
||||
*
|
||||
* On page one we select the database connection JDBC settings 1) The servername 2) The port 3) The database name
|
||||
*
|
||||
* @author Matt
|
||||
* @since 04-apr-2005
|
||||
*/
|
||||
public class CreateDatabaseWizardPageJDBC extends WizardPage {
|
||||
private static final String DATA_SERVICES_PLUGIN_ID = "KettleThin";
|
||||
private static final String DEFAULT_WEB_APPLICATION_NAME = "pentaho";
|
||||
|
||||
private static Class<?> PKG = CreateDatabaseWizard.class; // for i18n purposes, needed by Translator2!!
|
||||
|
||||
private Label wlHostname;
|
||||
private Text wHostname;
|
||||
private FormData fdlHostname, fdHostname;
|
||||
|
||||
private Label wlPort;
|
||||
private Text wPort;
|
||||
private FormData fdlPort, fdPort;
|
||||
|
||||
private Label wlDBName;
|
||||
private Text wDBName;
|
||||
private FormData fdlDBName, fdDBName;
|
||||
|
||||
private PropsUI props;
|
||||
private DatabaseMeta databaseMeta;
|
||||
|
||||
private boolean defaultWebAppNameSet = false;
|
||||
|
||||
public CreateDatabaseWizardPageJDBC( String arg, PropsUI props, DatabaseMeta info ) {
|
||||
super( arg );
|
||||
this.props = props;
|
||||
this.databaseMeta = info;
|
||||
|
||||
setTitle( BaseMessages.getString( PKG, "CreateDatabaseWizardPageJDBC.DialogTitle" ) );
|
||||
setDescription( BaseMessages.getString( PKG, "CreateDatabaseWizardPageJDBC.DialogMessage" ) );
|
||||
|
||||
setPageComplete( false );
|
||||
}
|
||||
|
||||
public void createControl( Composite parent ) {
|
||||
int margin = Const.MARGIN;
|
||||
int middle = props.getMiddlePct();
|
||||
|
||||
// create the composite to hold the widgets
|
||||
Composite composite = new Composite( parent, SWT.NONE );
|
||||
props.setLook( composite );
|
||||
|
||||
FormLayout compLayout = new FormLayout();
|
||||
compLayout.marginHeight = Const.FORM_MARGIN;
|
||||
compLayout.marginWidth = Const.FORM_MARGIN;
|
||||
composite.setLayout( compLayout );
|
||||
|
||||
// HOSTNAME
|
||||
wlHostname = new Label( composite, SWT.RIGHT );
|
||||
wlHostname.setText( BaseMessages.getString( PKG, "CreateDatabaseWizardPageJDBC.Hostname.Label" ) );
|
||||
props.setLook( wlHostname );
|
||||
fdlHostname = new FormData();
|
||||
fdlHostname.top = new FormAttachment( 0, 0 );
|
||||
fdlHostname.left = new FormAttachment( 0, 0 );
|
||||
fdlHostname.right = new FormAttachment( middle, 0 );
|
||||
wlHostname.setLayoutData( fdlHostname );
|
||||
wHostname = new Text( composite, SWT.SINGLE | SWT.BORDER );
|
||||
props.setLook( wHostname );
|
||||
fdHostname = new FormData();
|
||||
fdHostname.top = new FormAttachment( 0, 0 );
|
||||
fdHostname.left = new FormAttachment( middle, margin );
|
||||
fdHostname.right = new FormAttachment( 100, 0 );
|
||||
wHostname.setLayoutData( fdHostname );
|
||||
wHostname.addModifyListener( new ModifyListener() {
|
||||
public void modifyText( ModifyEvent arg0 ) {
|
||||
setPageComplete( false );
|
||||
}
|
||||
} );
|
||||
|
||||
// PORT
|
||||
wlPort = new Label( composite, SWT.RIGHT );
|
||||
wlPort.setText( BaseMessages.getString( PKG, "CreateDatabaseWizardPageJDBC.Port.Label" ) );
|
||||
props.setLook( wlPort );
|
||||
fdlPort = new FormData();
|
||||
fdlPort.top = new FormAttachment( wHostname, margin );
|
||||
fdlPort.left = new FormAttachment( 0, 0 );
|
||||
fdlPort.right = new FormAttachment( middle, 0 );
|
||||
wlPort.setLayoutData( fdlPort );
|
||||
wPort = new Text( composite, SWT.SINGLE | SWT.BORDER );
|
||||
props.setLook( wPort );
|
||||
wPort.setText( databaseMeta.getDatabasePortNumberString() );
|
||||
fdPort = new FormData();
|
||||
fdPort.top = new FormAttachment( wHostname, margin );
|
||||
fdPort.left = new FormAttachment( middle, margin );
|
||||
fdPort.right = new FormAttachment( 100, 0 );
|
||||
wPort.setLayoutData( fdPort );
|
||||
wPort.addModifyListener( new ModifyListener() {
|
||||
public void modifyText( ModifyEvent arg0 ) {
|
||||
setPageComplete( false );
|
||||
}
|
||||
} );
|
||||
|
||||
// DATABASE NAME
|
||||
wlDBName = new Label( composite, SWT.RIGHT );
|
||||
props.setLook( wlDBName );
|
||||
fdlDBName = new FormData();
|
||||
fdlDBName.top = new FormAttachment( wPort, margin );
|
||||
fdlDBName.left = new FormAttachment( 0, 0 );
|
||||
fdlDBName.right = new FormAttachment( middle, 0 );
|
||||
wlDBName.setLayoutData( fdlDBName );
|
||||
wDBName = new Text( composite, SWT.SINGLE | SWT.BORDER );
|
||||
props.setLook( wDBName );
|
||||
fdDBName = new FormData();
|
||||
fdDBName.top = new FormAttachment( wPort, margin );
|
||||
fdDBName.left = new FormAttachment( middle, margin );
|
||||
fdDBName.right = new FormAttachment( 100, 0 );
|
||||
wDBName.setLayoutData( fdDBName );
|
||||
wDBName.addModifyListener( new ModifyListener() {
|
||||
public void modifyText( ModifyEvent arg0 ) {
|
||||
setPageComplete( false );
|
||||
}
|
||||
} );
|
||||
|
||||
// set the composite as the control for this page
|
||||
setControl( composite );
|
||||
}
|
||||
|
||||
public void setData() {
|
||||
wHostname.setText( Const.NVL( databaseMeta.getHostname(), "" ) );
|
||||
wPort.setText( Const.NVL( databaseMeta.getDatabasePortNumberString(), "" ) );
|
||||
|
||||
if ( !defaultWebAppNameSet && isDataServiceConnection() ) {
|
||||
wDBName.setText( DEFAULT_WEB_APPLICATION_NAME );
|
||||
defaultWebAppNameSet = true;
|
||||
} else {
|
||||
wDBName.setText( Const.NVL( databaseMeta.getDatabaseName(), "" ) );
|
||||
}
|
||||
|
||||
if ( isDataServiceConnection() ) {
|
||||
wlDBName.setText( BaseMessages.getString( PKG, "CreateDatabaseWizardPageJDBC.WebAppName.Label" ) );
|
||||
} else {
|
||||
wlDBName.setText( BaseMessages.getString( PKG, "CreateDatabaseWizardPageJDBC.DBName.Label" ) );
|
||||
}
|
||||
}
|
||||
|
||||
public boolean canFlipToNextPage() {
|
||||
String server = wHostname.getText().length() > 0 ? wHostname.getText() : null;
|
||||
String port = wPort.getText().length() > 0 ? wPort.getText() : null;
|
||||
String dbname = wDBName.getText().length() > 0 ? wDBName.getText() : null;
|
||||
|
||||
if ( ( server == null || port == null || dbname == null ) && !isDataServiceConnection() ) {
|
||||
setErrorMessage( BaseMessages.getString( PKG, "CreateDatabaseWizardPageJDBC.ErrorMessage.InvalidInput" ) );
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
if ( ( server == null || port == null ) && isDataServiceConnection() ) {
|
||||
setErrorMessage( BaseMessages.getString( PKG, "CreateDatabaseWizardPageJDBC.PDSHostPort.ErrorMessage" ) );
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
getDatabaseInfo();
|
||||
setErrorMessage( null );
|
||||
setMessage( BaseMessages.getString( PKG, "CreateDatabaseWizardPageJDBC.Message.Input" ) );
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public DatabaseMeta getDatabaseInfo() {
|
||||
databaseMeta.setHostname( wHostname.getText() );
|
||||
databaseMeta.setDBPort( wPort.getText() );
|
||||
databaseMeta.setDBName( wDBName.getText() );
|
||||
|
||||
return databaseMeta;
|
||||
}
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
* @see org.eclipse.jface.wizard.WizardPage#getNextPage()
|
||||
*/
|
||||
public IWizardPage getNextPage() {
|
||||
IWizard wiz = getWizard();
|
||||
|
||||
IWizardPage nextPage;
|
||||
if ( databaseMeta.getDatabaseInterface() instanceof OracleDatabaseMeta ) {
|
||||
nextPage = wiz.getPage( "oracle" ); // Oracle
|
||||
} else if ( databaseMeta.getDatabaseInterface() instanceof InformixDatabaseMeta ) {
|
||||
nextPage = wiz.getPage( "ifx" ); // Informix
|
||||
} else {
|
||||
nextPage = wiz.getPage( "2" ); // page 2
|
||||
}
|
||||
|
||||
return nextPage;
|
||||
}
|
||||
|
||||
private boolean isDataServiceConnection() {
|
||||
return DATA_SERVICES_PLUGIN_ID.equals( databaseMeta.getPluginId() );
|
||||
}
|
||||
}
|
|
@ -0,0 +1,139 @@
|
|||
/*! ******************************************************************************
|
||||
*
|
||||
* Pentaho Data Integration
|
||||
*
|
||||
* Copyright (C) 2002-2017 by Hitachi Vantara : http://www.pentaho.com
|
||||
*
|
||||
*******************************************************************************
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
package org.pentaho.di.ui.core.database.wizard;
|
||||
|
||||
import org.eclipse.jface.wizard.IWizard;
|
||||
import org.eclipse.jface.wizard.IWizardPage;
|
||||
import org.eclipse.jface.wizard.WizardPage;
|
||||
import org.eclipse.swt.SWT;
|
||||
import org.eclipse.swt.events.ModifyEvent;
|
||||
import org.eclipse.swt.events.ModifyListener;
|
||||
import org.eclipse.swt.layout.FormAttachment;
|
||||
import org.eclipse.swt.layout.FormData;
|
||||
import org.eclipse.swt.layout.FormLayout;
|
||||
import org.eclipse.swt.widgets.Composite;
|
||||
import org.eclipse.swt.widgets.Label;
|
||||
import org.eclipse.swt.widgets.Text;
|
||||
import org.pentaho.di.core.Const;
|
||||
import org.pentaho.di.core.database.DatabaseMeta;
|
||||
import org.pentaho.di.i18n.BaseMessages;
|
||||
import org.pentaho.di.ui.core.PropsUI;
|
||||
|
||||
/**
|
||||
*
|
||||
* On page one we specify the OCI TNS connection...
|
||||
*
|
||||
* @author Matt
|
||||
* @since 04-apr-2005
|
||||
*/
|
||||
public class CreateDatabaseWizardPageOCI extends WizardPage {
|
||||
private static Class<?> PKG = CreateDatabaseWizard.class; // for i18n purposes, needed by Translator2!!
|
||||
|
||||
private Label wlTNS;
|
||||
private Text wTNS;
|
||||
private FormData fdlTNS, fdTNS;
|
||||
|
||||
private PropsUI props;
|
||||
private DatabaseMeta info;
|
||||
|
||||
public CreateDatabaseWizardPageOCI( String arg, PropsUI props, DatabaseMeta info ) {
|
||||
super( arg );
|
||||
this.props = props;
|
||||
this.info = info;
|
||||
|
||||
setTitle( BaseMessages.getString( PKG, "CreateDatabaseWizardPageOCI.DialogTitle" ) );
|
||||
setDescription( BaseMessages.getString( PKG, "CreateDatabaseWizardPageOCI.DialogMessage" ) );
|
||||
|
||||
setPageComplete( false );
|
||||
}
|
||||
|
||||
public void createControl( Composite parent ) {
|
||||
int margin = Const.MARGIN;
|
||||
int middle = props.getMiddlePct();
|
||||
|
||||
// create the composite to hold the widgets
|
||||
Composite composite = new Composite( parent, SWT.NONE );
|
||||
props.setLook( composite );
|
||||
|
||||
FormLayout compLayout = new FormLayout();
|
||||
compLayout.marginHeight = Const.FORM_MARGIN;
|
||||
compLayout.marginWidth = Const.FORM_MARGIN;
|
||||
composite.setLayout( compLayout );
|
||||
|
||||
wlTNS = new Label( composite, SWT.RIGHT );
|
||||
wlTNS.setText( BaseMessages.getString( PKG, "CreateDatabaseWizardPageOCI.TNS.Label" ) );
|
||||
props.setLook( wlTNS );
|
||||
fdlTNS = new FormData();
|
||||
fdlTNS.left = new FormAttachment( 0, 0 );
|
||||
fdlTNS.right = new FormAttachment( middle, 0 );
|
||||
wlTNS.setLayoutData( fdlTNS );
|
||||
wTNS = new Text( composite, SWT.SINGLE | SWT.BORDER );
|
||||
props.setLook( wTNS );
|
||||
fdTNS = new FormData();
|
||||
fdTNS.left = new FormAttachment( middle, margin );
|
||||
fdTNS.right = new FormAttachment( 100, 0 );
|
||||
wTNS.setLayoutData( fdTNS );
|
||||
wTNS.addModifyListener( new ModifyListener() {
|
||||
public void modifyText( ModifyEvent arg0 ) {
|
||||
setPageComplete( false );
|
||||
}
|
||||
} );
|
||||
|
||||
// set the composite as the control for this page
|
||||
setControl( composite );
|
||||
}
|
||||
|
||||
public boolean canFlipToNextPage() {
|
||||
String name = wTNS.getText() != null ? wTNS.getText().length() > 0 ? wTNS.getText() : null : null;
|
||||
if ( name == null ) {
|
||||
setErrorMessage( BaseMessages.getString( PKG, "CreateDatabaseWizardPageOCI.ErrorMessage.NoTNSName" ) );
|
||||
return false;
|
||||
} else {
|
||||
getDatabaseInfo();
|
||||
setErrorMessage( null );
|
||||
setMessage( BaseMessages.getString( PKG, "CreateDatabaseWizardPageOCI.Message.Next" ) );
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
public DatabaseMeta getDatabaseInfo() {
|
||||
if ( wTNS.getText() != null && wTNS.getText().length() > 0 ) {
|
||||
info.setDBName( wTNS.getText() );
|
||||
}
|
||||
|
||||
info.setDBPort( "" );
|
||||
info.setServername( null );
|
||||
|
||||
return info;
|
||||
}
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
* @see org.eclipse.jface.wizard.WizardPage#getNextPage()
|
||||
*/
|
||||
public IWizardPage getNextPage() {
|
||||
IWizard wiz = getWizard();
|
||||
return wiz.getPage( "2" );
|
||||
}
|
||||
}
|
|
@ -0,0 +1,140 @@
|
|||
/*! ******************************************************************************
|
||||
*
|
||||
* Pentaho Data Integration
|
||||
*
|
||||
* Copyright (C) 2002-2017 by Hitachi Vantara : http://www.pentaho.com
|
||||
*
|
||||
*******************************************************************************
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
package org.pentaho.di.ui.core.database.wizard;
|
||||
|
||||
import org.eclipse.jface.wizard.IWizard;
|
||||
import org.eclipse.jface.wizard.IWizardPage;
|
||||
import org.eclipse.jface.wizard.WizardPage;
|
||||
import org.eclipse.swt.SWT;
|
||||
import org.eclipse.swt.events.ModifyEvent;
|
||||
import org.eclipse.swt.events.ModifyListener;
|
||||
import org.eclipse.swt.layout.FormAttachment;
|
||||
import org.eclipse.swt.layout.FormData;
|
||||
import org.eclipse.swt.layout.FormLayout;
|
||||
import org.eclipse.swt.widgets.Composite;
|
||||
import org.eclipse.swt.widgets.Label;
|
||||
import org.eclipse.swt.widgets.Text;
|
||||
import org.pentaho.di.core.Const;
|
||||
import org.pentaho.di.core.database.DatabaseMeta;
|
||||
import org.pentaho.di.i18n.BaseMessages;
|
||||
import org.pentaho.di.ui.core.PropsUI;
|
||||
|
||||
/**
|
||||
*
|
||||
* On page one we select the ODBC DSN Name...
|
||||
*
|
||||
* @author Matt
|
||||
* @since 04-apr-2005
|
||||
*/
|
||||
public class CreateDatabaseWizardPageODBC extends WizardPage {
|
||||
private static Class<?> PKG = CreateDatabaseWizard.class; // for i18n purposes, needed by Translator2!!
|
||||
|
||||
private Label wlDSN;
|
||||
private Text wDSN;
|
||||
private FormData fdlDSN, fdDSN;
|
||||
|
||||
private PropsUI props;
|
||||
private DatabaseMeta info;
|
||||
|
||||
public CreateDatabaseWizardPageODBC( String arg, PropsUI props, DatabaseMeta info ) {
|
||||
super( arg );
|
||||
this.props = props;
|
||||
this.info = info;
|
||||
|
||||
setTitle( BaseMessages.getString( PKG, "CreateDatabaseWizardPageODBC.DialogTitle" ) );
|
||||
setDescription( BaseMessages.getString( PKG, "CreateDatabaseWizardPageODBC.DialogMessage" ) );
|
||||
|
||||
setPageComplete( false );
|
||||
}
|
||||
|
||||
public void createControl( Composite parent ) {
|
||||
int margin = Const.MARGIN;
|
||||
int middle = props.getMiddlePct();
|
||||
|
||||
// create the composite to hold the widgets
|
||||
Composite composite = new Composite( parent, SWT.NONE );
|
||||
props.setLook( composite );
|
||||
|
||||
FormLayout compLayout = new FormLayout();
|
||||
compLayout.marginHeight = Const.FORM_MARGIN;
|
||||
compLayout.marginWidth = Const.FORM_MARGIN;
|
||||
composite.setLayout( compLayout );
|
||||
|
||||
wlDSN = new Label( composite, SWT.RIGHT );
|
||||
wlDSN.setText( BaseMessages.getString( PKG, "CreateDatabaseWizardPageODBC.DSN.Label" ) );
|
||||
props.setLook( wlDSN );
|
||||
fdlDSN = new FormData();
|
||||
fdlDSN.left = new FormAttachment( 0, 0 );
|
||||
fdlDSN.right = new FormAttachment( middle, 0 );
|
||||
wlDSN.setLayoutData( fdlDSN );
|
||||
wDSN = new Text( composite, SWT.SINGLE | SWT.BORDER );
|
||||
props.setLook( wDSN );
|
||||
fdDSN = new FormData();
|
||||
fdDSN.left = new FormAttachment( middle, margin );
|
||||
fdDSN.right = new FormAttachment( 100, 0 );
|
||||
wDSN.setLayoutData( fdDSN );
|
||||
wDSN.addModifyListener( new ModifyListener() {
|
||||
public void modifyText( ModifyEvent arg0 ) {
|
||||
setPageComplete( false );
|
||||
}
|
||||
} );
|
||||
|
||||
// set the composite as the control for this page
|
||||
setControl( composite );
|
||||
}
|
||||
|
||||
public boolean canFlipToNextPage() {
|
||||
String name = wDSN.getText() != null ? wDSN.getText().length() > 0 ? wDSN.getText() : null : null;
|
||||
if ( name == null ) {
|
||||
setErrorMessage( BaseMessages.getString( PKG, "CreateDatabaseWizardPageODBC.ErrorMessage.DSNRequired" ) );
|
||||
return false;
|
||||
} else {
|
||||
getDatabaseInfo();
|
||||
setErrorMessage( null );
|
||||
setMessage( BaseMessages.getString( PKG, "CreateDatabaseWizardPageODBC.Message.Finish" ) );
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
public DatabaseMeta getDatabaseInfo() {
|
||||
if ( wDSN.getText() != null && wDSN.getText().length() > 0 ) {
|
||||
info.setDBName( wDSN.getText() );
|
||||
}
|
||||
|
||||
info.setDBPort( "" );
|
||||
info.setServername( null );
|
||||
|
||||
return info;
|
||||
}
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
* @see org.eclipse.jface.wizard.WizardPage#getNextPage()
|
||||
*/
|
||||
public IWizardPage getNextPage() {
|
||||
IWizard wiz = getWizard();
|
||||
return wiz.getPage( "2" );
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,161 @@
|
|||
/*! ******************************************************************************
|
||||
*
|
||||
* Pentaho Data Integration
|
||||
*
|
||||
* Copyright (C) 2002-2017 by Hitachi Vantara : http://www.pentaho.com
|
||||
*
|
||||
*******************************************************************************
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
package org.pentaho.di.ui.core.database.wizard;
|
||||
|
||||
import org.eclipse.jface.wizard.IWizard;
|
||||
import org.eclipse.jface.wizard.IWizardPage;
|
||||
import org.eclipse.jface.wizard.WizardPage;
|
||||
import org.eclipse.swt.SWT;
|
||||
import org.eclipse.swt.events.ModifyEvent;
|
||||
import org.eclipse.swt.events.ModifyListener;
|
||||
import org.eclipse.swt.layout.FormAttachment;
|
||||
import org.eclipse.swt.layout.FormData;
|
||||
import org.eclipse.swt.layout.FormLayout;
|
||||
import org.eclipse.swt.widgets.Composite;
|
||||
import org.eclipse.swt.widgets.Label;
|
||||
import org.eclipse.swt.widgets.Text;
|
||||
import org.pentaho.di.core.Const;
|
||||
import org.pentaho.di.core.database.DatabaseMeta;
|
||||
import org.pentaho.di.i18n.BaseMessages;
|
||||
import org.pentaho.di.ui.core.PropsUI;
|
||||
|
||||
/**
|
||||
*
|
||||
* On page one we select the database connection Oracle specific settings 1) The data tablespace 2) The index tablespace
|
||||
*
|
||||
* @author Matt
|
||||
* @since 04-apr-2005
|
||||
*/
|
||||
public class CreateDatabaseWizardPageOracle extends WizardPage {
|
||||
private static Class<?> PKG = CreateDatabaseWizard.class; // for i18n purposes, needed by Translator2!!
|
||||
|
||||
private Label wlDataTS;
|
||||
private Text wDataTS;
|
||||
private FormData fdlDataTS, fdDataTS;
|
||||
|
||||
private Label wlIndexTS;
|
||||
private Text wIndexTS;
|
||||
private FormData fdlIndexTS, fdIndexTS;
|
||||
|
||||
private PropsUI props;
|
||||
private DatabaseMeta info;
|
||||
|
||||
public CreateDatabaseWizardPageOracle( String arg, PropsUI props, DatabaseMeta info ) {
|
||||
super( arg );
|
||||
this.props = props;
|
||||
this.info = info;
|
||||
|
||||
setTitle( BaseMessages.getString( PKG, "CreateDatabaseWizardPageOracle.DialogTitle" ) );
|
||||
setDescription( BaseMessages.getString( PKG, "CreateDatabaseWizardPageOracle.DialogMessage" ) );
|
||||
|
||||
setPageComplete( false );
|
||||
}
|
||||
|
||||
public void createControl( Composite parent ) {
|
||||
int margin = Const.MARGIN;
|
||||
int middle = props.getMiddlePct();
|
||||
|
||||
// create the composite to hold the widgets
|
||||
Composite composite = new Composite( parent, SWT.NONE );
|
||||
props.setLook( composite );
|
||||
|
||||
FormLayout compLayout = new FormLayout();
|
||||
compLayout.marginHeight = Const.FORM_MARGIN;
|
||||
compLayout.marginWidth = Const.FORM_MARGIN;
|
||||
composite.setLayout( compLayout );
|
||||
|
||||
wlDataTS = new Label( composite, SWT.RIGHT );
|
||||
wlDataTS.setText( BaseMessages.getString( PKG, "CreateDatabaseWizardPageOracle.DataTablespace.Label" ) );
|
||||
props.setLook( wlDataTS );
|
||||
fdlDataTS = new FormData();
|
||||
fdlDataTS.top = new FormAttachment( 0, 0 );
|
||||
fdlDataTS.left = new FormAttachment( 0, 0 );
|
||||
fdlDataTS.right = new FormAttachment( middle, 0 );
|
||||
wlDataTS.setLayoutData( fdlDataTS );
|
||||
wDataTS = new Text( composite, SWT.SINGLE | SWT.BORDER );
|
||||
props.setLook( wDataTS );
|
||||
fdDataTS = new FormData();
|
||||
fdDataTS.top = new FormAttachment( 0, 0 );
|
||||
fdDataTS.left = new FormAttachment( middle, margin );
|
||||
fdDataTS.right = new FormAttachment( 100, 0 );
|
||||
wDataTS.setLayoutData( fdDataTS );
|
||||
wDataTS.addModifyListener( new ModifyListener() {
|
||||
public void modifyText( ModifyEvent arg0 ) {
|
||||
setPageComplete( false );
|
||||
}
|
||||
} );
|
||||
|
||||
wlIndexTS = new Label( composite, SWT.RIGHT );
|
||||
wlIndexTS.setText( BaseMessages.getString( PKG, "CreateDatabaseWizardPageOracle.IndexTableSpace.Label" ) );
|
||||
props.setLook( wlIndexTS );
|
||||
fdlIndexTS = new FormData();
|
||||
fdlIndexTS.top = new FormAttachment( wDataTS, margin );
|
||||
fdlIndexTS.left = new FormAttachment( 0, 0 );
|
||||
fdlIndexTS.right = new FormAttachment( middle, 0 );
|
||||
wlIndexTS.setLayoutData( fdlIndexTS );
|
||||
wIndexTS = new Text( composite, SWT.SINGLE | SWT.BORDER );
|
||||
props.setLook( wIndexTS );
|
||||
fdIndexTS = new FormData();
|
||||
fdIndexTS.top = new FormAttachment( wDataTS, margin );
|
||||
fdIndexTS.left = new FormAttachment( middle, margin );
|
||||
fdIndexTS.right = new FormAttachment( 100, 0 );
|
||||
wIndexTS.setLayoutData( fdIndexTS );
|
||||
wIndexTS.addModifyListener( new ModifyListener() {
|
||||
public void modifyText( ModifyEvent arg0 ) {
|
||||
setPageComplete( false );
|
||||
}
|
||||
} );
|
||||
|
||||
// set the composite as the control for this page
|
||||
setControl( composite );
|
||||
}
|
||||
|
||||
public boolean canFlipToNextPage() {
|
||||
getDatabaseInfo();
|
||||
setErrorMessage( null );
|
||||
setMessage( BaseMessages.getString( PKG, "CreateDatabaseWizardPageOracle.Message.Next" ) );
|
||||
return true;
|
||||
}
|
||||
|
||||
public DatabaseMeta getDatabaseInfo() {
|
||||
if ( wDataTS.getText() != null && wDataTS.getText().length() > 0 ) {
|
||||
info.setDataTablespace( wDataTS.getText() );
|
||||
}
|
||||
|
||||
if ( wIndexTS.getText() != null && wIndexTS.getText().length() > 0 ) {
|
||||
info.setIndexTablespace( wIndexTS.getText() );
|
||||
}
|
||||
|
||||
return info;
|
||||
}
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
* @see org.eclipse.jface.wizard.WizardPage#getNextPage()
|
||||
*/
|
||||
public IWizardPage getNextPage() {
|
||||
IWizard wiz = getWizard();
|
||||
return wiz.getPage( "2" );
|
||||
}
|
||||
}
|
|
@ -0,0 +1,34 @@
|
|||
/*! ******************************************************************************
|
||||
*
|
||||
* Pentaho Data Integration
|
||||
*
|
||||
* Copyright (C) 2002-2017 by Hitachi Vantara : http://www.pentaho.com
|
||||
*
|
||||
*******************************************************************************
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
package org.pentaho.di.ui.core.database.wizard;
|
||||
|
||||
import org.eclipse.jface.wizard.WizardPage;
|
||||
import org.pentaho.di.core.database.DatabaseMeta;
|
||||
import org.pentaho.di.ui.core.PropsUI;
|
||||
|
||||
/**
|
||||
* Created by bmorrise on 3/9/16.
|
||||
*/
|
||||
public interface WizardPageFactory {
|
||||
WizardPage createWizardPage( PropsUI props, DatabaseMeta info );
|
||||
}
|
|
@ -0,0 +1,112 @@
|
|||
###############################################################################################################
|
||||
#
|
||||
# CreateDatabaseWizardPageOCI
|
||||
#
|
||||
###############################################################################################################
|
||||
CreateDatabaseWizardPageOCI.DialogTitle=Legen Sie die Oracle TNS Datenbank fest
|
||||
CreateDatabaseWizardPageOCI.DialogMessage=Legen Sie die TNS Datenbank fest, welche in Ihrem Oracle Client definiert ist.
|
||||
CreateDatabaseWizardPageOCI.TNS.Label=Name der Oracle TNS Datenbank
|
||||
CreateDatabaseWizardPageOCI.ErrorMessage.NoTNSName=Geben Sie den Namen der Oracle TNSNAMES Datenbank ein
|
||||
CreateDatabaseWizardPageOCI.Message.Next=Wählen Sie ''Weiter'' um fortzufahren
|
||||
|
||||
###############################################################################################################
|
||||
#
|
||||
# CreateDatabaseWizardPageGeneric
|
||||
#
|
||||
###############################################################################################################
|
||||
CreateDatabaseWizardPageGeneric.DialogTitle=Legen Sie die Einstellungen für den generischen Treiber fest
|
||||
CreateDatabaseWizardPageGeneric.DialogMessage=Legen Sie die URL und Treiberklasse fest.
|
||||
CreateDatabaseWizardPageGeneric.URL.Label=URL
|
||||
CreateDatabaseWizardPageGeneric.DriverClass.Label=Treiberklasse
|
||||
CreateDatabaseWizardPageGeneric.ErrorMessage.URLAndDriverClassRequired=Legen Sie die URL und Treiberklasse fest.
|
||||
CreateDatabaseWizardPageGeneric.Message.Next=Wählen Sie ''Weiter'' um fortzufahren
|
||||
|
||||
###############################################################################################################
|
||||
#
|
||||
# CreateDatabaseWizardPageInformix
|
||||
#
|
||||
###############################################################################################################
|
||||
CreateDatabaseWizardPageInformix.DialogTitle=Legen Sie den Informix Servername fest.
|
||||
CreateDatabaseWizardPageInformix.DialogMessage=Legen Sie den Informix Servername fest.
|
||||
CreateDatabaseWizardPageInformix.Servername.Label=Name des Informix Servers
|
||||
CreateDatabaseWizardPageInformix.ErrorMessage.ServernameRequired=Geben Sie den Namen des Informix Servers ein
|
||||
CreateDatabaseWizardPageInformix.Message.Next=Wählen Sie ''Weiter'' um fortzufahren
|
||||
|
||||
|
||||
|
||||
###############################################################################################################
|
||||
#
|
||||
# CreateDatabaseWizardPage1
|
||||
#
|
||||
###############################################################################################################
|
||||
CreateDatabaseWizardPage1.DialogTitle=Wählen Sie den Datenbanknamen und -typ.
|
||||
CreateDatabaseWizardPage1.DialogMessage=Wählen Sie den Datenbankverbindungsnamen, Datenbanktyp und Zugangstyp aus.
|
||||
CreateDatabaseWizardPage1.DBName.Label=Name der Datenbankverbindung
|
||||
CreateDatabaseWizardPage1.DBType.Label=Typ der zu verbindenden Datenbank
|
||||
CreateDatabaseWizardPage1.DBAccessType.Label=Typ des zu benutzenden Datenbankzugangs
|
||||
CreateDatabaseWizardPage1.ErrorMessage.InvalidInput=Geben Sie den Verbindungsnamen ein, den Datenbanktyp und die Zugangsmethode.
|
||||
CreateDatabaseWizardPage1.ErrorMessage.DBNameExists=Die Datenbank ''{0}'' existiert bereits, bitte wählen Sie einen anderen Namen.
|
||||
CreateDatabaseWizardPage1.Message.Next=Wählen Sie ''Weiter'' um fortzufahren
|
||||
|
||||
|
||||
###############################################################################################################
|
||||
#
|
||||
# CreateDatabaseWizardPageODBC
|
||||
#
|
||||
###############################################################################################################
|
||||
CreateDatabaseWizardPageODBC.DialogTitle=Legen Sie die ODBC DSN Datenquelle fest
|
||||
CreateDatabaseWizardPageODBC.DialogMessage=Geben Sie den Namen der ODBC DSN Datenquelle, wie in der Benutzer- oder System-DSN Datenquelle definiert, an.
|
||||
CreateDatabaseWizardPageODBC.DSN.Label=Name der ODBC DSN Datenquelle
|
||||
CreateDatabaseWizardPageODBC.ErrorMessage.DSNRequired=Geben Sie den Namen der ODBC DSN Datenquelle ein
|
||||
CreateDatabaseWizardPageODBC.Message.Finish=Wählen ''Ende'' um die Datenbankverbindung zu erstellen
|
||||
|
||||
###############################################################################################################
|
||||
#
|
||||
# CreateDatabaseWizardPageOracle
|
||||
#
|
||||
###############################################################################################################
|
||||
CreateDatabaseWizardPageOracle.DialogTitle=Legen Sie Die die Oracle spezifischen Einstellungen fest
|
||||
CreateDatabaseWizardPageOracle.DialogMessage=Legen Sie die Tablespaces für Daten und Indizes fest.
|
||||
CreateDatabaseWizardPageOracle.DataTablespace.Label=Der Tablespaces für Daten
|
||||
CreateDatabaseWizardPageOracle.IndexTableSpace.Label=Der Tablespaces für Indizes
|
||||
CreateDatabaseWizardPageOracle.Message.Next=Wählen Sie ''Weiter'' um fort zu fahren
|
||||
|
||||
###############################################################################################################
|
||||
#
|
||||
# CreateDatabaseWizardPageJDBC
|
||||
#
|
||||
###############################################################################################################
|
||||
CreateDatabaseWizardPageJDBC.DialogTitle=Bestimmen Sie die JDBC Einstellungen
|
||||
CreateDatabaseWizardPageJDBC.DialogMessage=Legen Sie den Server Hostnamen, den Port und den Datenbanknamen fest.
|
||||
CreateDatabaseWizardPageJDBC.Hostname.Label=Hostname des Datenbankservers
|
||||
CreateDatabaseWizardPageJDBC.Port.Label=Der TCP/IP Port
|
||||
CreateDatabaseWizardPageJDBC.DBName.Label=Der Name der Datenbank
|
||||
CreateDatabaseWizardPageJDBC.ErrorMessage.InvalidInput=Geben Sie den Server Hostnamen, den Port und den Datenbanknamen ein.
|
||||
CreateDatabaseWizardPageJDBC.Message.Input=Wählen Sie ''Weiter'' um fort zu fahren
|
||||
|
||||
###############################################################################################################
|
||||
#
|
||||
# CreateDatabaseWizardPage2
|
||||
#
|
||||
###############################################################################################################
|
||||
CreateDatabaseWizardPage2.DialogTitle=Bestimmen Sie den Benutzernamen und das Kennwort
|
||||
CreateDatabaseWizardPage2.DialogMessage=Legen Sie den Benutzernamen und das Kennwort fest, um zur Datenbank zu verbinden
|
||||
CreateDatabaseWizardPage2.Username.Label=Der Benutzername
|
||||
CreateDatabaseWizardPage2.Password.Label=Das Passwort
|
||||
CreateDatabaseWizardPage2.TestConnection.Button=Teste Datenbankverbindung
|
||||
CreateDatabaseWizardPage2.Message.Finish=Wählen Sie ''Ende', um die Datenbankverbindung zu erstellen
|
||||
CreateDatabaseWizardPage2.ErrorMessage.InvalidInput=Bitte stellen Sie sicher das zu mindestens der Name der Verbindung, Name der Datenbank und der Datenbanktyp festgelegt wurden\!
|
||||
|
||||
###############################################################################################################
|
||||
#
|
||||
# CreateDatabaseWizardPageSAPR3
|
||||
#
|
||||
###############################################################################################################
|
||||
CreateDatabaseWizardPageSAPR3.DialogTitle=Legen Sie die SAP/R3 spezifischen Einstellungen fest
|
||||
CreateDatabaseWizardPageSAPR3.DialogMessage=Legen Sie den Server Hostnamen, die Sprache, Systemnummer und den Mandanten fest.
|
||||
CreateDatabaseWizardPageSAPR3.Hostname.Label=Hostname des SAP/3 Systems
|
||||
CreateDatabaseWizardPageSAPR3.Language.Label=Sprache
|
||||
CreateDatabaseWizardPageSAPR3.SystemNumber.Label=Systemnummer
|
||||
CreateDatabaseWizardPageSAPR3.SAPClient.Label=SAP Mandant
|
||||
CreateDatabaseWizardPageSAPR3.ErrorMessage.InvalidInput=Legen Sie den Server Hostnamen, die Sprache, Systemnummer und den Mandanten fest.
|
||||
CreateDatabaseWizardPageSAPR3.Message.Next=Wählen Sie ''Weiter'' um fort zu fahren
|
|
@ -0,0 +1,112 @@
|
|||
###############################################################################################################
|
||||
#
|
||||
# CreateDatabaseWizardPageOCI
|
||||
#
|
||||
###############################################################################################################
|
||||
CreateDatabaseWizardPageOCI.DialogTitle=Specify the Oracle TNS database
|
||||
CreateDatabaseWizardPageOCI.DialogMessage=Specify the TNS database as defined in your Oracle client.
|
||||
CreateDatabaseWizardPageOCI.TNS.Label=Name of the Oracle TNS database
|
||||
CreateDatabaseWizardPageOCI.ErrorMessage.NoTNSName=Enter the name of the Oracle TNSNAMES database
|
||||
CreateDatabaseWizardPageOCI.Message.Next=Select ''next'' to proceed
|
||||
|
||||
###############################################################################################################
|
||||
#
|
||||
# CreateDatabaseWizardPageGeneric
|
||||
#
|
||||
###############################################################################################################
|
||||
CreateDatabaseWizardPageGeneric.DialogTitle=Specify the generic driver settings
|
||||
CreateDatabaseWizardPageGeneric.DialogMessage=Specify the URL and driver class.
|
||||
CreateDatabaseWizardPageGeneric.URL.Label=URL
|
||||
CreateDatabaseWizardPageGeneric.DriverClass.Label=Driver class
|
||||
CreateDatabaseWizardPageGeneric.ErrorMessage.URLAndDriverClassRequired=Specify the URL and driver class.
|
||||
CreateDatabaseWizardPageGeneric.Message.Next=Select ''next'' to proceed
|
||||
|
||||
###############################################################################################################
|
||||
#
|
||||
# CreateDatabaseWizardPageInformix
|
||||
#
|
||||
###############################################################################################################
|
||||
CreateDatabaseWizardPageInformix.DialogTitle=Specify the Informix servername
|
||||
CreateDatabaseWizardPageInformix.DialogMessage=Specify the Informix servername.
|
||||
CreateDatabaseWizardPageInformix.Servername.Label=Name of the Informix server
|
||||
CreateDatabaseWizardPageInformix.ErrorMessage.ServernameRequired=Enter the name of the Informix server
|
||||
CreateDatabaseWizardPageInformix.Message.Next=Select ''next'' to proceed
|
||||
|
||||
|
||||
###############################################################################################################
|
||||
#
|
||||
# CreateDatabaseWizardPage1
|
||||
#
|
||||
###############################################################################################################
|
||||
CreateDatabaseWizardPage1.DialogTitle=Select the database name and type
|
||||
CreateDatabaseWizardPage1.DialogMessage=Select the database connection name, database type and access type.
|
||||
CreateDatabaseWizardPage1.DBName.Label=Name of the database connection
|
||||
CreateDatabaseWizardPage1.DBType.Label=Type of database to connect to
|
||||
CreateDatabaseWizardPage1.DBAccessType.Label=Type of database access to use
|
||||
CreateDatabaseWizardPage1.ErrorMessage.InvalidInput=Enter the name of the connection, the database type and the access method.
|
||||
CreateDatabaseWizardPage1.ErrorMessage.DBNameExists=Database ''{0}'' already exists, please choose another name.
|
||||
CreateDatabaseWizardPage1.Message.Next=Select ''next'' to proceed
|
||||
|
||||
###############################################################################################################
|
||||
#
|
||||
# CreateDatabaseWizardPageODBC
|
||||
#
|
||||
###############################################################################################################
|
||||
CreateDatabaseWizardPageODBC.DialogTitle=Specify the ODBC DSN data source
|
||||
CreateDatabaseWizardPageODBC.DialogMessage=Specify the ODBC DSN name as defined in the user- or system-DSN data sources.
|
||||
CreateDatabaseWizardPageODBC.DSN.Label=Name of the ODBC DSN data source
|
||||
CreateDatabaseWizardPageODBC.ErrorMessage.DSNRequired=Enter the name of the ODBC DSN data source
|
||||
CreateDatabaseWizardPageODBC.Message.Finish=Select ''Finish'' to create the database connection
|
||||
|
||||
###############################################################################################################
|
||||
#
|
||||
# CreateDatabaseWizardPageOracle
|
||||
#
|
||||
###############################################################################################################
|
||||
CreateDatabaseWizardPageOracle.DialogTitle=Specify the Oracle specific settings
|
||||
CreateDatabaseWizardPageOracle.DialogMessage=Specify the default data and index tablespaces.
|
||||
CreateDatabaseWizardPageOracle.DataTablespace.Label=The data tablespace
|
||||
CreateDatabaseWizardPageOracle.IndexTableSpace.Label=The index tablespace
|
||||
CreateDatabaseWizardPageOracle.Message.Next=Select ''next'' to proceed
|
||||
|
||||
###############################################################################################################
|
||||
#
|
||||
# CreateDatabaseWizardPageJDBC
|
||||
#
|
||||
###############################################################################################################
|
||||
CreateDatabaseWizardPageJDBC.DialogTitle=Set the JDBC Settings
|
||||
CreateDatabaseWizardPageJDBC.DialogMessage=Specify the server hostname, the port and the database name.
|
||||
CreateDatabaseWizardPageJDBC.Hostname.Label=Host name of the database server
|
||||
CreateDatabaseWizardPageJDBC.Port.Label=The TCP/IP port
|
||||
CreateDatabaseWizardPageJDBC.DBName.Label=The name of the database
|
||||
CreateDatabaseWizardPageJDBC.WebAppName.Label=Web App Name
|
||||
CreateDatabaseWizardPageJDBC.ErrorMessage.InvalidInput=Enter the hostname of the database server, the port and the database name
|
||||
CreateDatabaseWizardPageJDBC.PDSHostPort.ErrorMessage=Enter the hostname of the database server and the port
|
||||
CreateDatabaseWizardPageJDBC.Message.Input=Select ''next'' to proceed
|
||||
|
||||
###############################################################################################################
|
||||
#
|
||||
# CreateDatabaseWizardPage2
|
||||
#
|
||||
###############################################################################################################
|
||||
CreateDatabaseWizardPage2.DialogTitle=Set the username and password
|
||||
CreateDatabaseWizardPage2.DialogMessage=Specify the username and password to connect to the database.
|
||||
CreateDatabaseWizardPage2.Username.Label=The username
|
||||
CreateDatabaseWizardPage2.Password.Label=The password
|
||||
CreateDatabaseWizardPage2.TestConnection.Button=Test database connection
|
||||
CreateDatabaseWizardPage2.Message.Finish=Select ''Finish'' to create the database connection
|
||||
CreateDatabaseWizardPage2.ErrorMessage.InvalidInput=Please make sure that at least the name of the connection, the database name and the database type are specified\!
|
||||
|
||||
###############################################################################################################
|
||||
#
|
||||
# CreateDatabaseWizardPageSAPR3
|
||||
#
|
||||
###############################################################################################################
|
||||
CreateDatabaseWizardPageSAPR3.DialogTitle=Specify the SAP/R3 specific settings
|
||||
CreateDatabaseWizardPageSAPR3.DialogMessage=Specify the server hostname, language, system number and client.
|
||||
CreateDatabaseWizardPageSAPR3.Hostname.Label=Host name of the SAP/3 system
|
||||
CreateDatabaseWizardPageSAPR3.Language.Label=Language
|
||||
CreateDatabaseWizardPageSAPR3.SystemNumber.Label=System Number
|
||||
CreateDatabaseWizardPageSAPR3.SAPClient.Label=SAP Client
|
||||
CreateDatabaseWizardPageSAPR3.ErrorMessage.InvalidInput=Specify the server hostname, language, system number and client.
|
||||
CreateDatabaseWizardPageSAPR3.Message.Next=Select ''next'' to proceed
|
|
@ -0,0 +1,110 @@
|
|||
###############################################################################################################
|
||||
#
|
||||
# CreateDatabaseWizardPageOCI
|
||||
#
|
||||
###############################################################################################################
|
||||
CreateDatabaseWizardPageOCI.DialogTitle=Especifica la base de datos TNS de Oracle
|
||||
CreateDatabaseWizardPageOCI.DialogMessage=Especifica la base de datos TNS tal como se define en tu cliente Oracle.
|
||||
CreateDatabaseWizardPageOCI.TNS.Label=Nombre de la base de datos TNS de Oracle
|
||||
CreateDatabaseWizardPageOCI.ErrorMessage.NoTNSName=Introduce el nombre de la base de datos TNSNAMES de Oracle
|
||||
CreateDatabaseWizardPageOCI.Message.Next=Pulsa ''siguiente'' para seguir
|
||||
|
||||
###############################################################################################################
|
||||
#
|
||||
# CreateDatabaseWizardPageGeneric
|
||||
#
|
||||
###############################################################################################################
|
||||
CreateDatabaseWizardPageGeneric.DialogTitle=Configuración del controlador genérico
|
||||
CreateDatabaseWizardPageGeneric.DialogMessage=Especifica la URL y el tipo de controlador.
|
||||
CreateDatabaseWizardPageGeneric.URL.Label=URL
|
||||
CreateDatabaseWizardPageGeneric.DriverClass.Label=Controlador
|
||||
CreateDatabaseWizardPageGeneric.ErrorMessage.URLAndDriverClassRequired=Especifica la URL y el tipo de controlador.
|
||||
CreateDatabaseWizardPageGeneric.Message.Next=Pulsa ''siguiente'' para seguir
|
||||
|
||||
###############################################################################################################
|
||||
#
|
||||
# CreateDatabaseWizardPageInformix
|
||||
#
|
||||
###############################################################################################################
|
||||
CreateDatabaseWizardPageInformix.DialogTitle=Especifica el nombre del servidor Informix
|
||||
CreateDatabaseWizardPageInformix.DialogMessage=Especifica el nombre del servidor Informix.
|
||||
CreateDatabaseWizardPageInformix.Servername.Label=Nombre del servidor Informix
|
||||
CreateDatabaseWizardPageInformix.ErrorMessage.ServernameRequired=Introduce el el nombre del servidor Informix
|
||||
CreateDatabaseWizardPageInformix.Message.Next=Pulsa ''siguiente'' para seguir
|
||||
|
||||
|
||||
###############################################################################################################
|
||||
#
|
||||
# CreateDatabaseWizardPage1
|
||||
#
|
||||
###############################################################################################################
|
||||
CreateDatabaseWizardPage1.DialogTitle=Selecciona el nombre y tipo de la base de datos
|
||||
CreateDatabaseWizardPage1.DialogMessage=Selecciona el nombre de la conexión a la base de datos, el tipo de base de datos y el tipo de acceso.
|
||||
CreateDatabaseWizardPage1.DBName.Label=Nombre de la conexión a la base de datos
|
||||
CreateDatabaseWizardPage1.DBType.Label=Tipo de base de datos
|
||||
CreateDatabaseWizardPage1.DBAccessType.Label=Tipo de acceso a la base de datos
|
||||
CreateDatabaseWizardPage1.ErrorMessage.InvalidInput=Introduce el nombre de la conexión, el tipo de base de datos y el método de acceso.
|
||||
CreateDatabaseWizardPage1.ErrorMessage.DBNameExists=Ya existe la base de datos ''{0}'', elige otro nombre.
|
||||
CreateDatabaseWizardPage1.Message.Next=Pulsa ''siguiente'' para seguir
|
||||
|
||||
###############################################################################################################
|
||||
#
|
||||
# CreateDatabaseWizardPageODBC
|
||||
#
|
||||
###############################################################################################################
|
||||
CreateDatabaseWizardPageODBC.DialogTitle=Especifica el DSN de la fuente de datos ODBC
|
||||
CreateDatabaseWizardPageODBC.DialogMessage=Especifica el nombre DSN tal como se define en la fuente de datos ODBC del usuario o sistema.
|
||||
CreateDatabaseWizardPageODBC.DSN.Label=Nombre DSN de la fuente de datos ODBC
|
||||
CreateDatabaseWizardPageODBC.ErrorMessage.DSNRequired=Introduce el nombre DSN de la fuente de datos ODBC
|
||||
CreateDatabaseWizardPageODBC.Message.Finish=Pulsa ''Finalizar'' para crear la conexión a la base de datos
|
||||
|
||||
###############################################################################################################
|
||||
#
|
||||
# CreateDatabaseWizardPageOracle
|
||||
#
|
||||
###############################################################################################################
|
||||
CreateDatabaseWizardPageOracle.DialogTitle=Detalla los parámetros específicos de Oracle
|
||||
CreateDatabaseWizardPageOracle.DialogMessage=Especifica el data e index tablespaces por defecto.
|
||||
CreateDatabaseWizardPageOracle.DataTablespace.Label=El data tablespace
|
||||
CreateDatabaseWizardPageOracle.IndexTableSpace.Label=El index tablespace
|
||||
CreateDatabaseWizardPageOracle.Message.Next=Pulsa ''siguiente'' para seguir
|
||||
|
||||
###############################################################################################################
|
||||
#
|
||||
# CreateDatabaseWizardPageJDBC
|
||||
#
|
||||
###############################################################################################################
|
||||
CreateDatabaseWizardPageJDBC.DialogTitle=Configuración JDBC
|
||||
CreateDatabaseWizardPageJDBC.DialogMessage=Especifica el nombre del servidor, el puerto y el nombre de la base de datos.
|
||||
CreateDatabaseWizardPageJDBC.Hostname.Label=Nombre del servidor de base de datos
|
||||
CreateDatabaseWizardPageJDBC.Port.Label=Puerto TCP/IP
|
||||
CreateDatabaseWizardPageJDBC.DBName.Label=Nombre de la base de datos
|
||||
CreateDatabaseWizardPageJDBC.ErrorMessage.InvalidInput=Introduce el nombre del servidor, el puerto y el nombre de la base de datos.
|
||||
CreateDatabaseWizardPageJDBC.Message.Input=Pulsa ''siguiente'' para seguir
|
||||
|
||||
###############################################################################################################
|
||||
#
|
||||
# CreateDatabaseWizardPage2
|
||||
#
|
||||
###############################################################################################################
|
||||
CreateDatabaseWizardPage2.DialogTitle=Usuario y contraseña
|
||||
CreateDatabaseWizardPage2.DialogMessage=Especifica el usuario y contraseña para conectar a la base de datos
|
||||
CreateDatabaseWizardPage2.Username.Label=Usuario
|
||||
CreateDatabaseWizardPage2.Password.Label=Contraseña
|
||||
CreateDatabaseWizardPage2.TestConnection.Button=Probar conexión a la base de datos
|
||||
CreateDatabaseWizardPage2.Message.Finish=Pulsa ''Finalizar'' para crear la conexión a la base de datos
|
||||
CreateDatabaseWizardPage2.ErrorMessage.InvalidInput=Please make sure that at least the name of the connection, the database name and the database type are specified\!
|
||||
|
||||
###############################################################################################################
|
||||
#
|
||||
# CreateDatabaseWizardPageSAPR3
|
||||
#
|
||||
###############################################################################################################
|
||||
CreateDatabaseWizardPageSAPR3.DialogTitle=Configuración específica de SAP/R3
|
||||
CreateDatabaseWizardPageSAPR3.DialogMessage=Especifica el nombre del servidor, idioma, número de sistema y cliente.
|
||||
CreateDatabaseWizardPageSAPR3.Hostname.Label=Nombre servidor del sistema SAP/R3
|
||||
CreateDatabaseWizardPageSAPR3.Language.Label=Idioma
|
||||
CreateDatabaseWizardPageSAPR3.SystemNumber.Label=Número Sistema
|
||||
CreateDatabaseWizardPageSAPR3.SAPClient.Label=Cliente SAP
|
||||
CreateDatabaseWizardPageSAPR3.ErrorMessage.InvalidInput=Especifica el nombre del servidor, idioma, número de sistema y cliente.
|
||||
CreateDatabaseWizardPageSAPR3.Message.Next=Pulsa ''siguiente'' para seguir
|
|
@ -0,0 +1,110 @@
|
|||
###############################################################################################################
|
||||
#
|
||||
# CreateDatabaseWizardPageOCI
|
||||
#
|
||||
###############################################################################################################
|
||||
CreateDatabaseWizardPageOCI.DialogTitle=Especifica la base de datos TNS de Oracle
|
||||
CreateDatabaseWizardPageOCI.DialogMessage=Especifica la base de datos TNS tal como se define en tu cliente Oracle.
|
||||
CreateDatabaseWizardPageOCI.TNS.Label=Nombre de la base de datos TNS de Oracle
|
||||
CreateDatabaseWizardPageOCI.ErrorMessage.NoTNSName=Introduce el nombre de la base de datos TNSNAMES de Oracle
|
||||
CreateDatabaseWizardPageOCI.Message.Next=Pulsa ''siguiente'' para seguir
|
||||
|
||||
###############################################################################################################
|
||||
#
|
||||
# CreateDatabaseWizardPageGeneric
|
||||
#
|
||||
###############################################################################################################
|
||||
CreateDatabaseWizardPageGeneric.DialogTitle=Configuración del controlador genérico
|
||||
CreateDatabaseWizardPageGeneric.DialogMessage=Especifica la URL y el tipo de controlador.
|
||||
CreateDatabaseWizardPageGeneric.URL.Label=URL
|
||||
CreateDatabaseWizardPageGeneric.DriverClass.Label=Controlador
|
||||
CreateDatabaseWizardPageGeneric.ErrorMessage.URLAndDriverClassRequired=Especifica la URL y el tipo de controlador.
|
||||
CreateDatabaseWizardPageGeneric.Message.Next=Pulsa ''siguiente'' para seguir
|
||||
|
||||
###############################################################################################################
|
||||
#
|
||||
# CreateDatabaseWizardPageInformix
|
||||
#
|
||||
###############################################################################################################
|
||||
CreateDatabaseWizardPageInformix.DialogTitle=Especifica el nombre del servidor Informix
|
||||
CreateDatabaseWizardPageInformix.DialogMessage=Especifica el nombre del servidor Informix.
|
||||
CreateDatabaseWizardPageInformix.Servername.Label=Nombre del servidor Informix
|
||||
CreateDatabaseWizardPageInformix.ErrorMessage.ServernameRequired=Introduce el el nombre del servidor Informix
|
||||
CreateDatabaseWizardPageInformix.Message.Next=Pulsa ''siguiente'' para seguir
|
||||
|
||||
|
||||
###############################################################################################################
|
||||
#
|
||||
# CreateDatabaseWizardPage1
|
||||
#
|
||||
###############################################################################################################
|
||||
CreateDatabaseWizardPage1.DialogTitle=Selecciona el nombre y tipo de la base de datos
|
||||
CreateDatabaseWizardPage1.DialogMessage=Selecciona el nombre de la conexión a la base de datos, el tipo de base de datos y el tipo de acceso.
|
||||
CreateDatabaseWizardPage1.DBName.Label=Nombre de la conexión a la base de datos
|
||||
CreateDatabaseWizardPage1.DBType.Label=Tipo de base de datos
|
||||
CreateDatabaseWizardPage1.DBAccessType.Label=Tipo de acceso a la base de datos
|
||||
CreateDatabaseWizardPage1.ErrorMessage.InvalidInput=Introduce el nombre de la conexión, el tipo de base de datos y el método de acceso.
|
||||
CreateDatabaseWizardPage1.ErrorMessage.DBNameExists=Ya existe la base de datos ''{0}'', elige otro nombre.
|
||||
CreateDatabaseWizardPage1.Message.Next=Pulsa ''siguiente'' para seguir
|
||||
|
||||
###############################################################################################################
|
||||
#
|
||||
# CreateDatabaseWizardPageODBC
|
||||
#
|
||||
###############################################################################################################
|
||||
CreateDatabaseWizardPageODBC.DialogTitle=Especifica el DSN de la fuente de datos ODBC
|
||||
CreateDatabaseWizardPageODBC.DialogMessage=Especifica el nombre DSN tal como se define en la fuente de datos ODBC del usuario o sistema.
|
||||
CreateDatabaseWizardPageODBC.DSN.Label=Nombre DSN de la fuente de datos ODBC
|
||||
CreateDatabaseWizardPageODBC.ErrorMessage.DSNRequired=Introduce el nombre DSN de la fuente de datos ODBC
|
||||
CreateDatabaseWizardPageODBC.Message.Finish=Pulsa ''Finalizar'' para crear la conexión a la base de datos
|
||||
|
||||
###############################################################################################################
|
||||
#
|
||||
# CreateDatabaseWizardPageOracle
|
||||
#
|
||||
###############################################################################################################
|
||||
CreateDatabaseWizardPageOracle.DialogTitle=Detalla los parámetros específicos de Oracle
|
||||
CreateDatabaseWizardPageOracle.DialogMessage=Especifica el data e index tablespaces por defecto.
|
||||
CreateDatabaseWizardPageOracle.DataTablespace.Label=El data tablespace
|
||||
CreateDatabaseWizardPageOracle.IndexTableSpace.Label=El index tablespace
|
||||
CreateDatabaseWizardPageOracle.Message.Next=Pulsa ''siguiente'' para seguir
|
||||
|
||||
###############################################################################################################
|
||||
#
|
||||
# CreateDatabaseWizardPageJDBC
|
||||
#
|
||||
###############################################################################################################
|
||||
CreateDatabaseWizardPageJDBC.DialogTitle=Configuración JDBC
|
||||
CreateDatabaseWizardPageJDBC.DialogMessage=Especifica el nombre del servidor, el puerto y el nombre de la base de datos.
|
||||
CreateDatabaseWizardPageJDBC.Hostname.Label=Nombre del servidor de base de datos
|
||||
CreateDatabaseWizardPageJDBC.Port.Label=Puerto TCP/IP
|
||||
CreateDatabaseWizardPageJDBC.DBName.Label=Nombre de la base de datos
|
||||
CreateDatabaseWizardPageJDBC.ErrorMessage.InvalidInput=Introduce el nombre del servidor, el puerto y el nombre de la base de datos.
|
||||
CreateDatabaseWizardPageJDBC.Message.Input=Pulsa ''siguiente'' para seguir
|
||||
|
||||
###############################################################################################################
|
||||
#
|
||||
# CreateDatabaseWizardPage2
|
||||
#
|
||||
###############################################################################################################
|
||||
CreateDatabaseWizardPage2.DialogTitle=Usuario y contraseña
|
||||
CreateDatabaseWizardPage2.DialogMessage=Especifica el usuario y contraseña para conectar a la base de datos
|
||||
CreateDatabaseWizardPage2.Username.Label=Usuario
|
||||
CreateDatabaseWizardPage2.Password.Label=Contraseña
|
||||
CreateDatabaseWizardPage2.TestConnection.Button=Probar conexión a la base de datos
|
||||
CreateDatabaseWizardPage2.Message.Finish=Pulsa ''Finalizar'' para crear la conexión a la base de datos
|
||||
CreateDatabaseWizardPage2.ErrorMessage.InvalidInput=Please make sure that at least the name of the connection, the database name and the database type are specified\!
|
||||
|
||||
###############################################################################################################
|
||||
#
|
||||
# CreateDatabaseWizardPageSAPR3
|
||||
#
|
||||
###############################################################################################################
|
||||
CreateDatabaseWizardPageSAPR3.DialogTitle=Configuración específica de SAP/R3
|
||||
CreateDatabaseWizardPageSAPR3.DialogMessage=Especifica el nombre del servidor, idioma, número de sistema y cliente.
|
||||
CreateDatabaseWizardPageSAPR3.Hostname.Label=Nombre servidor del sistema SAP/R3
|
||||
CreateDatabaseWizardPageSAPR3.Language.Label=Idioma
|
||||
CreateDatabaseWizardPageSAPR3.SystemNumber.Label=Número Sistema
|
||||
CreateDatabaseWizardPageSAPR3.SAPClient.Label=Cliente SAP
|
||||
CreateDatabaseWizardPageSAPR3.ErrorMessage.InvalidInput=Especifica el nombre del servidor, idioma, número de sistema y cliente.
|
||||
CreateDatabaseWizardPageSAPR3.Message.Next=Pulsa ''siguiente'' para seguir
|
|
@ -0,0 +1,111 @@
|
|||
###############################################################################################################
|
||||
#
|
||||
# CreateDatabaseWizardPageOCI
|
||||
#
|
||||
###############################################################################################################
|
||||
CreateDatabaseWizardPageOCI.DialogTitle=Indiquer base de données Oracle (TNS)
|
||||
CreateDatabaseWizardPageOCI.DialogMessage=Indiquer la base de données (TNS) comme spécifié au niveau de votre client Oracle.
|
||||
CreateDatabaseWizardPageOCI.TNS.Label=Nom de la basse de données Oracle
|
||||
CreateDatabaseWizardPageOCI.ErrorMessage.NoTNSName=Indiquer le nom de la base de données Oracle TNSNAMES
|
||||
CreateDatabaseWizardPageOCI.Message.Next=Cliquer sur ''suivant'' pour continuer
|
||||
|
||||
###############################################################################################################
|
||||
#
|
||||
# CreateDatabaseWizardPageGeneric
|
||||
#
|
||||
###############################################################################################################
|
||||
CreateDatabaseWizardPageGeneric.DialogTitle=Indiquer les paramètres du pilote générique
|
||||
CreateDatabaseWizardPageGeneric.DialogMessage=Indiquer l''URL et la classe de pilote.
|
||||
CreateDatabaseWizardPageGeneric.URL.Label=URL
|
||||
CreateDatabaseWizardPageGeneric.DriverClass.Label=Classe pilote
|
||||
CreateDatabaseWizardPageGeneric.ErrorMessage.URLAndDriverClassRequired=Indiquer l''URL et la classe de pilote.
|
||||
CreateDatabaseWizardPageGeneric.Message.Next=Cliquer sur ''suivant'' pour continuer
|
||||
|
||||
###############################################################################################################
|
||||
#
|
||||
# CreateDatabaseWizardPageInformix
|
||||
#
|
||||
###############################################################################################################
|
||||
CreateDatabaseWizardPageInformix.DialogTitle=Indiquer le nom du serveur Informix
|
||||
CreateDatabaseWizardPageInformix.DialogMessage=Indiquer le nom du serveur Informix.
|
||||
CreateDatabaseWizardPageInformix.Servername.Label=Nom du serveur Informix
|
||||
CreateDatabaseWizardPageInformix.ErrorMessage.ServernameRequired=Entrez le nom du serveur Informix
|
||||
CreateDatabaseWizardPageInformix.Message.Next=Cliquer sur ''suivant'' pour continuer
|
||||
|
||||
|
||||
###############################################################################################################
|
||||
#
|
||||
# CreateDatabaseWizardPage1
|
||||
#
|
||||
###############################################################################################################
|
||||
CreateDatabaseWizardPage1.DialogTitle=Sélectionner le nom et type de la base de données
|
||||
CreateDatabaseWizardPage1.DialogMessage=Sélectionner le nom et le type d''accès de la connexion base de données.
|
||||
CreateDatabaseWizardPage1.DBName.Label=Nom de la connexion base de données
|
||||
CreateDatabaseWizardPage1.DBType.Label=Type de base de données
|
||||
CreateDatabaseWizardPage1.DBAccessType.Label=Type d''accès base de données
|
||||
CreateDatabaseWizardPage1.ErrorMessage.InvalidInput=Entrez le nom de la connexion, le type de base de données et la méthode d''accès.
|
||||
CreateDatabaseWizardPage1.ErrorMessage.DBNameExists=La Base de données '{0}' existe déjà, veuillez svp choisir un autre nom.
|
||||
CreateDatabaseWizardPage1.Message.Next=Cliquer sur ''suivant'' pour continuer
|
||||
|
||||
###############################################################################################################
|
||||
#
|
||||
# CreateDatabaseWizardPageODBC
|
||||
#
|
||||
###############################################################################################################
|
||||
CreateDatabaseWizardPageODBC.DialogTitle=Indiquer la source de données (DSN) ODBC
|
||||
CreateDatabaseWizardPageODBC.DialogMessage=Indiquer le nom DSN ODBC comme défini dans les sources de données système ou utilisateur.
|
||||
CreateDatabaseWizardPageODBC.DSN.Label=Nom de la source de données DSN ODBC
|
||||
CreateDatabaseWizardPageODBC.ErrorMessage.DSNRequired=Entrez le nom de la source de données DSN ODBC
|
||||
CreateDatabaseWizardPageODBC.Message.Finish=Cliquer sur ''suivant'' pour continuer
|
||||
|
||||
###############################################################################################################
|
||||
#
|
||||
# CreateDatabaseWizardPageOracle
|
||||
#
|
||||
###############################################################################################################
|
||||
CreateDatabaseWizardPageOracle.DialogTitle=Indiquer les paramètres spécifiques Oracle
|
||||
CreateDatabaseWizardPageOracle.DialogMessage=Indiquer les tablespaces par défaut
|
||||
CreateDatabaseWizardPageOracle.DataTablespace.Label=Le tablespace des données
|
||||
CreateDatabaseWizardPageOracle.IndexTableSpace.Label=L''index tablespace
|
||||
CreateDatabaseWizardPageOracle.Message.Next=Cliquer sur ''suivant'' pour continuer
|
||||
|
||||
###############################################################################################################
|
||||
#
|
||||
# CreateDatabaseWizardPageJDBC
|
||||
#
|
||||
###############################################################################################################
|
||||
CreateDatabaseWizardPageJDBC.DialogTitle=Définition des paramètres JDBC
|
||||
CreateDatabaseWizardPageJDBC.DialogMessage=Indiquer le nom du serveur hôte, le port et le nom de la BDD.
|
||||
CreateDatabaseWizardPageJDBC.Hostname.Label=Nom du serveur hôte de la base de données
|
||||
CreateDatabaseWizardPageJDBC.Port.Label=Le port TCP/IP
|
||||
CreateDatabaseWizardPageJDBC.DBName.Label=Le nom de la base de données
|
||||
CreateDatabaseWizardPageJDBC.ErrorMessage.InvalidInput=Indiquer le nom du serveur hôte de la base de données, le port et le nom de la base
|
||||
CreateDatabaseWizardPageJDBC.Message.Input=Cliquer sur ''suivant'' pour continuer
|
||||
|
||||
###############################################################################################################
|
||||
#
|
||||
# CreateDatabaseWizardPage2
|
||||
#
|
||||
###############################################################################################################
|
||||
CreateDatabaseWizardPage2.DialogTitle=Identifier l''utilisateur et le mot de passe
|
||||
CreateDatabaseWizardPage2.DialogMessage=Indiquer l''utilisateur et le mot de passe pour établir une cnnexion à la base de données.
|
||||
CreateDatabaseWizardPage2.Username.Label=Utilisateur
|
||||
CreateDatabaseWizardPage2.Password.Label=Mot de passe
|
||||
CreateDatabaseWizardPage2.TestConnection.Button=Test connexion Base de données
|
||||
CreateDatabaseWizardPage2.Message.Finish=Cliquer sur ''Terminer'' pour créer la connexion à la base de données
|
||||
CreateDatabaseWizardPage2.ErrorMessage.InvalidInput=Veuillez vous assurer qu''au moins le nom de la connexion, le nom et le type de la base de données ont été indiqués!
|
||||
|
||||
###############################################################################################################
|
||||
#
|
||||
# CreateDatabaseWizardPageSAPR3
|
||||
#
|
||||
###############################################################################################################
|
||||
CreateDatabaseWizardPageSAPR3.DialogTitle=Indiquer les paramètres spécifiques de SAP/R3
|
||||
CreateDatabaseWizardPageSAPR3.DialogMessage=Indiquer le nom du serveur, la langue, le nombre système et le client.
|
||||
CreateDatabaseWizardPageSAPR3.Hostname.Label=Nom hôte du système SAP/R3
|
||||
CreateDatabaseWizardPageSAPR3.Language.Label=Langue
|
||||
CreateDatabaseWizardPageSAPR3.SystemNumber.Label=Nombre Système
|
||||
CreateDatabaseWizardPageSAPR3.SAPClient.Label=Client SAP
|
||||
CreateDatabaseWizardPageSAPR3.ErrorMessage.InvalidInput=Indiquer le nom du serveur, la langue, le nombre système et le client.
|
||||
CreateDatabaseWizardPageSAPR3.Message.Next=Cliquer sur ''suivant'' pour continuer
|
||||
|
|
@ -0,0 +1,60 @@
|
|||
#File generated by Hitachi Vantara Transator for package 'org.pentaho.di.ui.core.database.wizard' in locale 'it_IT'
|
||||
#
|
||||
#
|
||||
#Mon Nov 26 14:40:05 CET 2007
|
||||
CreateDatabaseWizardPageOracle.DialogMessage=Specificare i tablespace per i dati di default e per gli indici.
|
||||
CreateDatabaseWizardPage1.DialogTitle=Seleziona il nome del database ed il tipo
|
||||
CreateDatabaseWizardPage2.ErrorMessage.InvalidInput=Assicurarsi di specificare almeno il nome della connessione, il nome del database ed il tipo di database\!
|
||||
CreateDatabaseWizardPageSAPR3.DialogMessage=Specificare il nome del server, la lingua, il numero del sistema ed il client.
|
||||
CreateDatabaseWizardPageJDBC.ErrorMessage.InvalidInput=Inserire il nome host del server database, la porta ed il nome del database
|
||||
CreateDatabaseWizardPageJDBC.DialogTitle=Impostare i parametri JDBC
|
||||
CreateDatabaseWizardPageGeneric.Message.Next=Seleziona "prossimo" per procedere
|
||||
CreateDatabaseWizardPageOCI.DialogTitle=Specificare il database TNS Oracle
|
||||
CreateDatabaseWizardPageGeneric.DialogTitle=Specifica i parametri del driver generico
|
||||
CreateDatabaseWizardPageJDBC.DialogMessage=Specificare il nome del server, la porta ed il nome del database.
|
||||
CreateDatabaseWizardPageOCI.TNS.Label=Nome del database TNS Oracle
|
||||
CreateDatabaseWizardPageSAPR3.SAPClient.Label=Client SAP
|
||||
CreateDatabaseWizardPageJDBC.DBName.Label=Il nome del database
|
||||
CreateDatabaseWizardPageSAPR3.DialogTitle=Specifica i parametri per SAP/R3
|
||||
CreateDatabaseWizardPageSAPR3.Hostname.Label=Nome host del sistema SAP/3
|
||||
CreateDatabaseWizardPageInformix.DialogTitle=Specificare il nome del server Informix
|
||||
CreateDatabaseWizardPageODBC.DSN.Label=Nome della sorgente dati ODBC DSN
|
||||
CreateDatabaseWizardPageInformix.ErrorMessage.ServernameRequired=Inserire il nome del server Informix
|
||||
CreateDatabaseWizardPageJDBC.Message.Input=Seleziona "prossimo" per procedere
|
||||
CreateDatabaseWizardPageGeneric.URL.Label=URL
|
||||
CreateDatabaseWizardPageOracle.DialogTitle=Specificare i parametri Oracle
|
||||
CreateDatabaseWizardPageOCI.DialogMessage=Specificare il database TNS come definito nel client Oracle.
|
||||
CreateDatabaseWizardPage1.DBAccessType.Label=Tipo di accesso al database da usare
|
||||
CreateDatabaseWizardPageODBC.DialogMessage=Specificare il nome ODBC DSN come definito nelle sorgenti dati DSN utente o sistema.
|
||||
CreateDatabaseWizardPage1.DBType.Label=Tipo di database a cui connettersi
|
||||
CreateDatabaseWizardPage1.Message.Next=Seleziona "prossimo" per procedere
|
||||
CreateDatabaseWizardPageInformix.Message.Next=Seleziona "prossimo" per procedere
|
||||
CreateDatabaseWizardPageODBC.Message.Finish=Seleziona "Finisci" per creare una connessione del database
|
||||
CreateDatabaseWizardPageOracle.Message.Next=Seleziona "prossimo" per procedere
|
||||
CreateDatabaseWizardPageOracle.IndexTableSpace.Label=Tablespace indice
|
||||
CreateDatabaseWizardPageGeneric.ErrorMessage.URLAndDriverClassRequired=Specificare l''URL e la classe di driver.
|
||||
CreateDatabaseWizardPageSAPR3.SystemNumber.Label=Numero di sistema
|
||||
CreateDatabaseWizardPage2.TestConnection.Button=Prova la connessione al database
|
||||
CreateDatabaseWizardPageOracle.DataTablespace.Label=Tablespace dei dati
|
||||
CreateDatabaseWizardPageODBC.ErrorMessage.DSNRequired=Inserire il nome della sorgente dati ODBC DSN
|
||||
CreateDatabaseWizardPageSAPR3.Message.Next=Seleziona "prossimo" per procedere
|
||||
CreateDatabaseWizardPage2.DialogMessage=Specificare il nome utente e la password per connettersi al database.
|
||||
CreateDatabaseWizardPage2.Message.Finish=Seleziona "Finisci" per creare una connessione del database
|
||||
CreateDatabaseWizardPageGeneric.DialogMessage=Specificare l''URL e la classe di driver.
|
||||
CreateDatabaseWizardPageOCI.Message.Next=Seleziona "prossimo" per procedere
|
||||
CreateDatabaseWizardPage2.Password.Label=Password
|
||||
CreateDatabaseWizardPageInformix.DialogMessage=Specificare il nome del server Informix.
|
||||
CreateDatabaseWizardPageJDBC.Port.Label=La porta TCP/IP
|
||||
CreateDatabaseWizardPage2.Username.Label=Utente
|
||||
CreateDatabaseWizardPage1.DBName.Label=Nome della connessione database
|
||||
CreateDatabaseWizardPage2.DialogTitle=Imposta utente e password
|
||||
CreateDatabaseWizardPage1.ErrorMessage.DBNameExists=Database ''{0}'' gi\u00E0 esistente, prego scegliere un altro nome.
|
||||
CreateDatabaseWizardPageSAPR3.ErrorMessage.InvalidInput=Specificare il nome del server, la lingua, il numero del sistema ed il client.
|
||||
CreateDatabaseWizardPageInformix.Servername.Label=Nome del server Informix
|
||||
CreateDatabaseWizardPageJDBC.Hostname.Label=Nome host del server database
|
||||
CreateDatabaseWizardPageOCI.ErrorMessage.NoTNSName=Inserire il nome del database Oracle TNSNAMES
|
||||
CreateDatabaseWizardPage1.ErrorMessage.InvalidInput=Inserire il nome della connessione, il tipo di database ed il metodo di accesso.
|
||||
CreateDatabaseWizardPageGeneric.DriverClass.Label=Classe Driver
|
||||
CreateDatabaseWizardPageSAPR3.Language.Label=Linguaggio
|
||||
CreateDatabaseWizardPageODBC.DialogTitle=Specificare la sorgente dati ODBC DSN
|
||||
CreateDatabaseWizardPage1.DialogMessage=Seleziona il nome della connessione database, il tipo di database ed il tipo di access.
|
|
@ -0,0 +1,110 @@
|
|||
###############################################################################################################
|
||||
#
|
||||
# CreateDatabaseWizardPageOCI
|
||||
#
|
||||
###############################################################################################################
|
||||
CreateDatabaseWizardPageOCI.DialogTitle=OCI(Oracle Call Interface) \u8a2d\u5b9a
|
||||
CreateDatabaseWizardPageOCI.DialogMessage=TNS\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3092\u6307\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044\u3002
|
||||
CreateDatabaseWizardPageOCI.TNS.Label=TNS\u540d
|
||||
CreateDatabaseWizardPageOCI.ErrorMessage.NoTNSName=TNS\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3092\u6307\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044\u3002
|
||||
CreateDatabaseWizardPageOCI.Message.Next=\u300cNext\u300d\u30dc\u30bf\u30f3\u3092\u30af\u30ea\u30c3\u30af\u3057\u3066\u304f\u3060\u3055\u3044\u3002
|
||||
|
||||
###############################################################################################################
|
||||
#
|
||||
# CreateDatabaseWizardPageGeneric
|
||||
#
|
||||
###############################################################################################################
|
||||
CreateDatabaseWizardPageGeneric.DialogTitle=\u6c4e\u7528\u30c9\u30e9\u30a4\u30d0\u30fc \u8a2d\u5b9a
|
||||
CreateDatabaseWizardPageGeneric.DialogMessage=URL\u3068\u30c9\u30e9\u30a4\u30d0\u30fb\u30bf\u30a4\u30d7\u3092\u6307\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044\u3002
|
||||
CreateDatabaseWizardPageGeneric.URL.Label=URL
|
||||
CreateDatabaseWizardPageGeneric.DriverClass.Label=\u30c9\u30e9\u30a4\u30d0\u30fb\u30bf\u30a4\u30d7
|
||||
CreateDatabaseWizardPageGeneric.ErrorMessage.URLAndDriverClassRequired=URL\u3068\u30c9\u30e9\u30a4\u30d0\u30fb\u30bf\u30a4\u30d7\u3092\u6307\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044\u3002
|
||||
CreateDatabaseWizardPageGeneric.Message.Next=\u300cNext\u300d\u30dc\u30bf\u30f3\u3092\u30af\u30ea\u30c3\u30af\u3057\u3066\u304f\u3060\u3055\u3044\u3002
|
||||
|
||||
###############################################################################################################
|
||||
#
|
||||
# CreateDatabaseWizardPageInformix
|
||||
#
|
||||
###############################################################################################################
|
||||
CreateDatabaseWizardPageInformix.DialogTitle=Informix\u30b5\u30fc\u30d0 \u8a2d\u5b9a
|
||||
CreateDatabaseWizardPageInformix.DialogMessage=Informix\u306e\u30b5\u30fc\u30d0\u540d\u3092\u6307\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044\u3002
|
||||
CreateDatabaseWizardPageInformix.Servername.Label=Informix\u30b5\u30fc\u30d0\u540d
|
||||
CreateDatabaseWizardPageInformix.ErrorMessage.ServernameRequired=Informix\u306e\u30b5\u30fc\u30d0\u540d\u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044\u3002
|
||||
CreateDatabaseWizardPageInformix.Message.Next=\u300cNext\u300d\u30dc\u30bf\u30f3\u3092\u30af\u30ea\u30c3\u30af\u3057\u3066\u304f\u3060\u3055\u3044\u3002
|
||||
|
||||
|
||||
###############################################################################################################
|
||||
#
|
||||
# CreateDatabaseWizardPage1
|
||||
#
|
||||
###############################################################################################################
|
||||
CreateDatabaseWizardPage1.DialogTitle=\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u63a5\u7d9a\u30a6\u30a3\u30b6\u30fc\u30c9 (1/2)
|
||||
CreateDatabaseWizardPage1.DialogMessage=\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9\u540d\u3001\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3001\u30c9\u30e9\u30a4\u30d0\u30fb\u30bf\u30a4\u30d7\u3092\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044\u3002
|
||||
CreateDatabaseWizardPage1.DBName.Label=\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9\u540d
|
||||
CreateDatabaseWizardPage1.DBType.Label=\u63a5\u7d9a\u53ef\u80fd\u306a\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9
|
||||
CreateDatabaseWizardPage1.DBAccessType.Label=\u30c9\u30e9\u30a4\u30d0\u30fb\u30bf\u30a4\u30d7
|
||||
CreateDatabaseWizardPage1.ErrorMessage.DBNameExists=\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9\u540d "{0}" \u306f\u3059\u3067\u306b\u5b58\u5728\u3057\u307e\u3059\u3002\u5225\u306e\u540d\u524d\u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044\u3002
|
||||
CreateDatabaseWizardPage1.ErrorMessage.InvalidInput=\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9\u540d\u3001\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3001\u30c9\u30e9\u30a4\u30d0\u30fb\u30bf\u30a4\u30d7\u3092\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044\u3002
|
||||
CreateDatabaseWizardPage1.Message.Next=\u300cNext\u300d\u30dc\u30bf\u30f3\u3092\u30af\u30ea\u30c3\u30af\u3057\u3066\u304f\u3060\u3055\u3044\u3002
|
||||
|
||||
###############################################################################################################
|
||||
#
|
||||
# CreateDatabaseWizardPageODBC
|
||||
#
|
||||
###############################################################################################################
|
||||
CreateDatabaseWizardPageODBC.DialogTitle=DSN\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9 \u8a2d\u5b9a
|
||||
CreateDatabaseWizardPageODBC.DialogMessage=\u30e6\u30fc\u30b6\u307e\u305f\u306f\u30b7\u30b9\u30c6\u30e0DSN\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9\u540d\u3092\u6307\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044\u3002
|
||||
CreateDatabaseWizardPageODBC.DSN.Label=DSN\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9\u540d
|
||||
CreateDatabaseWizardPageODBC.ErrorMessage.DSNRequired=\u30e6\u30fc\u30b6\u307e\u305f\u306f\u30b7\u30b9\u30c6\u30e0DSN\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9\u540d\u3092\u6307\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044\u3002
|
||||
CreateDatabaseWizardPageODBC.Message.Finish=\u300cFinish\u300d\u30dc\u30bf\u30f3\u3092\u30af\u30ea\u30c3\u30af\u3057\u3066\u3001\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u63a5\u7d9a\u3092\u4f5c\u6210\u3057\u3066\u304f\u3060\u3055\u3044\u3002
|
||||
|
||||
###############################################################################################################
|
||||
#
|
||||
# CreateDatabaseWizardPageOracle
|
||||
#
|
||||
###############################################################################################################
|
||||
CreateDatabaseWizardPageOracle.DialogTitle=ORACLE\u8a2d\u5b9a
|
||||
CreateDatabaseWizardPageOracle.DialogMessage=\u30c7\u30d5\u30a9\u30eb\u30c8\u306e\u30c7\u30fc\u30bf\u304a\u3088\u3073\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u30fb\u30c6\u30fc\u30d6\u30eb\u30b9\u30da\u30fc\u30b9\u540d\u3092\u6307\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044\u3002
|
||||
CreateDatabaseWizardPageOracle.DataTablespace.Label=\u30c6\u30fc\u30d6\u30eb\u30b9\u30da\u30fc\u30b9\u540d
|
||||
CreateDatabaseWizardPageOracle.IndexTableSpace.Label=\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u30fb\u30c6\u30fc\u30d6\u30eb\u30b9\u30da\u30fc\u30b9\u540d
|
||||
CreateDatabaseWizardPageOracle.Message.Next=\u300cNext\u300d\u30dc\u30bf\u30f3\u3092\u30af\u30ea\u30c3\u30af\u3057\u3066\u304f\u3060\u3055\u3044\u3002
|
||||
|
||||
###############################################################################################################
|
||||
#
|
||||
# CreateDatabaseWizardPageJDBC
|
||||
#
|
||||
###############################################################################################################
|
||||
CreateDatabaseWizardPageJDBC.DialogTitle=JDBC \u8a2d\u5b9a
|
||||
CreateDatabaseWizardPageJDBC.DialogMessage=\u30b5\u30fc\u30d0\u540d\u3001\u30dd\u30fc\u30c8\u756a\u53f7\u304a\u3088\u3073\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3092\u6307\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044\u3002
|
||||
CreateDatabaseWizardPageJDBC.Hostname.Label=\u30b5\u30fc\u30d0\u540d
|
||||
CreateDatabaseWizardPageJDBC.Port.Label=\u30dd\u30fc\u30c8\u756a\u53f7
|
||||
CreateDatabaseWizardPageJDBC.DBName.Label=\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u540d
|
||||
CreateDatabaseWizardPageJDBC.ErrorMessage.InvalidInput=\u30b5\u30fc\u30d0\u540d\u3001\u30dd\u30fc\u30c8\u756a\u53f7\u304a\u3088\u3073\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3092\u6307\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044\u3002
|
||||
CreateDatabaseWizardPageJDBC.Message.Input=\u300cNext\u300d\u30dc\u30bf\u30f3\u3092\u30af\u30ea\u30c3\u30af\u3057\u3066\u304f\u3060\u3055\u3044\u3002
|
||||
|
||||
###############################################################################################################
|
||||
#
|
||||
# CreateDatabaseWizardPage2
|
||||
#
|
||||
###############################################################################################################
|
||||
CreateDatabaseWizardPage2.DialogTitle=\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u63a5\u7d9a\u30a6\u30a3\u30b6\u30fc\u30c9 (2/2)
|
||||
CreateDatabaseWizardPage2.DialogMessage=\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306b\u63a5\u7d9a\u3059\u308b\u305f\u3081\u306b\u30e6\u30fc\u30b6\u540d\u3068\u30d1\u30b9\u30ef\u30fc\u30c9\u3092\u6307\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044\u3002
|
||||
CreateDatabaseWizardPage2.Username.Label=\u30e6\u30fc\u30b6\u540d
|
||||
CreateDatabaseWizardPage2.Password.Label=\u30d1\u30b9\u30ef\u30fc\u30c9
|
||||
CreateDatabaseWizardPage2.TestConnection.Button=\u30c6\u30b9\u30c8\u63a5\u7d9a
|
||||
CreateDatabaseWizardPage2.Message.Finish=\u300cFinish\u300d\u30dc\u30bf\u30f3\u3092\u30af\u30ea\u30c3\u30af\u3057\u3066\u3001\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u63a5\u7d9a\u3092\u4f5c\u6210\u3057\u3066\u304f\u3060\u3055\u3044\u3002
|
||||
CreateDatabaseWizardPage2.ErrorMessage.InvalidInput=\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9\u540d\u3001\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3001\u30c9\u30e9\u30a4\u30d0\u30fb\u30bf\u30a4\u30d7\u304c\u9078\u629e\u3055\u308c\u3066\u3044\u308b\u3053\u3068\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002
|
||||
|
||||
###############################################################################################################
|
||||
#
|
||||
# CreateDatabaseWizardPageSAPR3
|
||||
#
|
||||
###############################################################################################################
|
||||
CreateDatabaseWizardPageSAPR3.DialogTitle=SAP/R3 \u8a2d\u5b9a
|
||||
CreateDatabaseWizardPageSAPR3.DialogMessage=\u30b5\u30fc\u30d0\u540d\u3001\u8a00\u8a9e\u3001\u30b7\u30b9\u30c6\u30e0\u756a\u53f7\u304a\u3088\u3073\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u3092\u6307\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044\u3002
|
||||
CreateDatabaseWizardPageSAPR3.Hostname.Label=\u30b5\u30fc\u30d0\u540d
|
||||
CreateDatabaseWizardPageSAPR3.Language.Label=\u8a00\u8a9e
|
||||
CreateDatabaseWizardPageSAPR3.SystemNumber.Label=\u30b7\u30b9\u30c6\u30e0\u756a\u53f7
|
||||
CreateDatabaseWizardPageSAPR3.SAPClient.Label=\u30af\u30e9\u30a4\u30a2\u30f3\u30c8
|
||||
CreateDatabaseWizardPageSAPR3.ErrorMessage.InvalidInput=\u30b5\u30fc\u30d0\u540d\u3001\u8a00\u8a9e\u3001\u30b7\u30b9\u30c6\u30e0\u756a\u53f7\u304a\u3088\u3073\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u3092\u6307\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044\u3002
|
||||
CreateDatabaseWizardPageSAPR3.Message.Next=\u300cNext\u300d\u30dc\u30bf\u30f3\u3092\u30af\u30ea\u30c3\u30af\u3057\u3066\u304f\u3060\u3055\u3044\u3002
|
|
@ -0,0 +1,60 @@
|
|||
#File generated by Hitachi Vantara Translator for package 'org.pentaho.di.ui.core.database.wizard' in locale 'ko_KR'
|
||||
#
|
||||
#
|
||||
#Wed May 20 13:27:15 KST 2009
|
||||
CreateDatabaseWizardPageOracle.DialogMessage=\uAE30\uBCF8 \uB370\uC774\uD130 \uBC0F \uC778\uB371\uC2A4 \uD14C\uC774\uBE14\uC2A4\uD398\uC774\uC2A4\uB97C \uC9C0\uC815\uD558\uC2ED\uC2DC\uC624.
|
||||
CreateDatabaseWizardPage1.DialogTitle=\uB370\uC774\uD130\uBCA0\uC774\uC2A4 \uC774\uB984\uACFC \uD615\uC2DD\uC744 \uC120\uD0DD\uD558\uC2ED\uC2DC\uC624
|
||||
CreateDatabaseWizardPage2.ErrorMessage.InvalidInput=\uC5F0\uACB0 \uC774\uB984, \uB370\uC774\uD130\uBCA0\uC774\uC2A4 \uC774\uB984, \uB370\uC774\uD130\uBCA0\uC774\uC2A4 \uD0C0\uC785\uC774 \uC9C0\uC815\uB418\uC5C8\uB294\uC9C0 \uD655\uC778\uD558\uC2ED\uC2DC\uC624\!
|
||||
CreateDatabaseWizardPageSAPR3.DialogMessage=\uC11C\uBC84 \uD638\uC2A4\uD2B8 \uC774\uB984, \uC5B8\uC5B4, \uC2DC\uC2A4\uD15C \uBC88\uD638\uC640 \uD074\uB77C\uC774\uC5B8\uD2B8\uB97C \uC9C0\uC815\uD558\uC2ED\uC2DC\uC624.
|
||||
CreateDatabaseWizardPageJDBC.ErrorMessage.InvalidInput=\uB370\uC774\uD130\uBCA0\uC774\uC2A4 \uC11C\uBC84, \uD3EC\uD2B8 \uADF8\uB9AC\uACE0 \uB370\uC774\uD130\uBCA0\uC774\uC2A4 \uC774\uB984\uC744 \uC785\uB825\uD558\uC2ED\uC2DC\uC624
|
||||
CreateDatabaseWizardPageJDBC.DialogTitle=JDBC \uC124\uC815
|
||||
CreateDatabaseWizardPageGeneric.Message.Next=\uC9C4\uD589\uC744 \uC704\uD574 ''\uB2E4\uC74C''\uC744 \uB204\uB974\uC2ED\uC2DC\uC624
|
||||
CreateDatabaseWizardPageOCI.DialogTitle=Oracle TNS \uB370\uC774\uD130\uBCA0\uC774\uC2A4\uB97C \uC9C0\uC815\uD558\uC2ED\uC2DC\uC624
|
||||
CreateDatabaseWizardPageGeneric.DialogTitle=\uC77C\uBC18 \uB4DC\uB77C\uC774\uBC84 \uC124\uC815 \uC9C0\uC815
|
||||
CreateDatabaseWizardPageJDBC.DialogMessage=\uC11C\uBC84 \uD638\uC2A4\uD2B8 \uC774\uB984, \uD3EC\uD2B8, \uB370\uC774\uD130\uBCA0\uC774\uC2A4 \uC774\uB984\uC744 \uC800\uC815\uD558\uC2ED\uC2DC\uC624
|
||||
CreateDatabaseWizardPageOCI.TNS.Label=Oracle TNS \uB370\uC774\uD130\uBCA0\uC774\uC2A4 \uC774\uB984
|
||||
CreateDatabaseWizardPageSAPR3.SAPClient.Label=SAP \uD074\uB77C\uC774\uC5B8\uD2B8
|
||||
CreateDatabaseWizardPageJDBC.DBName.Label=\uB370\uC774\uD130\uBCA0\uC774\uC2A4 \uC774\uB984
|
||||
CreateDatabaseWizardPageSAPR3.DialogTitle=SAP/R3 \uC124\uC815\uC744 \uC9C0\uC815\uD558\uC2ED\uC2DC\uC624
|
||||
CreateDatabaseWizardPageSAPR3.Hostname.Label=SAP/2 \uC2DC\uC2A4\uD15C \uD638\uC2A4\uD2B8 \uC774\uB984
|
||||
CreateDatabaseWizardPageInformix.DialogTitle=Informix \uC11C\uBC84\uC774\uB984 \uC9C0\uC815
|
||||
CreateDatabaseWizardPageODBC.DSN.Label=ODBC DSN \uB370\uC774\uD130 \uC18C\uC2A4 \uC774\uB984
|
||||
CreateDatabaseWizardPageInformix.ErrorMessage.ServernameRequired=Informix \uC11C\uBC84\uC758 \uC774\uB984\uC744 \uC785\uB825\uD558\uC2ED\uC2DC\uC624
|
||||
CreateDatabaseWizardPageJDBC.Message.Input=\uC9C4\uD589\uC744 \uC704\uD574 ''\uB2E4\uC74C''\uC744 \uB204\uB974\uC2ED\uC2DC\uC624
|
||||
CreateDatabaseWizardPageGeneric.URL.Label=URL
|
||||
CreateDatabaseWizardPageOracle.DialogTitle=Oracle \uC124\uC815 \uC9C0\uC815
|
||||
CreateDatabaseWizardPageOCI.DialogMessage=Oracle \uD074\uB77C\uC774\uC5B8\uD2B8\uC5D0 \uC815\uC758\uB41C TNS \uB370\uC774\uD130\uBCA0\uC774\uC2A4\uB97C \uC9C0\uC815\uD558\uC2ED\uC2DC\uC624.
|
||||
CreateDatabaseWizardPage1.DBAccessType.Label=\uC0AC\uC6A9\uD560 \uB370\uC774\uD130\uBCA0\uC774\uC2A4 \uC5F0\uACB0 \uD615\uC2DD
|
||||
CreateDatabaseWizardPageODBC.DialogMessage=\uC0AC\uC6A9\uC790 \uB610\uB294 \uC2DC\uC2A4\uD15C DSN \uB370\uC774\uD130\uC18C\uC2A4\uB85C \uC815\uC758\uB41C ODBC DSN\uC774\uB984\uC744 \uC9C0\uC815\uD558\uC2ED\uC2DC\uC624.
|
||||
CreateDatabaseWizardPage1.DBType.Label=\uC5F0\uACB0\uD560 \uB370\uC774\uD130\uBCA0\uC774\uC2A4 \uD615\uC2DD
|
||||
CreateDatabaseWizardPage1.Message.Next=\uC9C4\uD589\uC744 \uC704\uD574 ''\uB2E4\uC74C''\uC744 \uB204\uB974\uC2ED\uC2DC\uC624
|
||||
CreateDatabaseWizardPageInformix.Message.Next=\uC9C4\uD589\uC744 \uC704\uD574 "\uB2E4\uC74C"\uC744 \uC120\uD0DD\uD558\uC2ED\uC2DC\uC624.
|
||||
CreateDatabaseWizardPageODBC.Message.Finish=\uB370\uC774\uD130\uBCA0\uC774\uC2A4 \uC5F0\uACB0\uC744 \uC0DD\uC131\uD558\uB824\uBA74 '\uC644\uB8CC'\uB97C \uC120\uD0DD\uD558\uC2ED\uC2DC\uC624.
|
||||
CreateDatabaseWizardPageOracle.Message.Next=\uC9C4\uD589\uC744 \uC704\uD574 ''\uB2E4\uC74C''\uC744 \uB204\uB974\uC2ED\uC2DC\uC624
|
||||
CreateDatabaseWizardPageOracle.IndexTableSpace.Label=\uC778\uB371\uC2A4 \uD14C\uC774\uBE14\uC2A4\uD398\uC774\uC2A4
|
||||
CreateDatabaseWizardPageGeneric.ErrorMessage.URLAndDriverClassRequired=URL\uACFC \uB4DC\uB77C\uC774\uBC84 \uD074\uB798\uC2A4\uB97C \uC9C0\uC815\uD558\uC2ED\uC2DC\uC624
|
||||
CreateDatabaseWizardPageSAPR3.SystemNumber.Label=System Number
|
||||
CreateDatabaseWizardPage2.TestConnection.Button=\uB370\uC774\uD130\uBCA0\uC774\uC2A4 \uC5F0\uACB0 \uD14C\uC2A4\uD2B8
|
||||
CreateDatabaseWizardPageOracle.DataTablespace.Label=\uB370\uC774\uD130 \uD14C\uC774\uBE14\uC2A4\uD398\uC774\uC2A4
|
||||
CreateDatabaseWizardPageODBC.ErrorMessage.DSNRequired=ODBC DSN \uB370\uC774\uD130 \uC18C\uC2A4\uC758 \uC774\uB984\uC744 \uC785\uB825\uD558\uC2ED\uC2DC\uC624
|
||||
CreateDatabaseWizardPageSAPR3.Message.Next=\uC9C4\uD589\uC744 \uC704\uD574 ''\uB2E4\uC74C''\uC744 \uB204\uB974\uC2ED\uC2DC\uC624
|
||||
CreateDatabaseWizardPage2.DialogMessage=\uB370\uC774\uD130\uBCA0\uC774\uC2A4 \uC0AC\uC6A9\uC790 \uC774\uB984\uACFC \uD328\uC2A4\uC6CC\uB4DC\uB97C \uC9C0\uC815\uD558\uC2ED\uC2DC\uC624
|
||||
CreateDatabaseWizardPage2.Message.Finish=''\uC644\uB8CC''\uB97C \uB20C\uB7EC \uB370\uC774\uD130\uBCA0\uC774\uC2A4 \uC5F0\uACB0\uC744 \uC0DD\uC131\uD558\uC2ED\uC2DC\uC624
|
||||
CreateDatabaseWizardPageGeneric.DialogMessage=URL\uACFC \uB4DC\uB77C\uC774\uBC84 \uD074\uB798\uC2A4\uB97C \uC9C0\uC815\uD558\uC2ED\uC2DC\uC624.
|
||||
CreateDatabaseWizardPageOCI.Message.Next=\uC9C4\uD589\uC744 \uC704\uD574 ''\uB2E4\uC74C''\uC744 \uB204\uB974\uC2ED\uC2DC\uC624
|
||||
CreateDatabaseWizardPage2.Password.Label=\uC554\uD638
|
||||
CreateDatabaseWizardPageInformix.DialogMessage=Informix \uC11C\uBC84\uC774\uB984\uC744 \uC9C0\uC815\uD558\uC2DC\uC624
|
||||
CreateDatabaseWizardPageJDBC.Port.Label=TCP/IP \uD3EC\uD2B8
|
||||
CreateDatabaseWizardPage2.Username.Label=\uC0AC\uC6A9\uC790 \uC774\uB984
|
||||
CreateDatabaseWizardPage1.DBName.Label=\uB370\uC774\uD130\uBCA0\uC774\uC2A4 \uC5F0\uACB0 \uC774\uB984
|
||||
CreateDatabaseWizardPage2.DialogTitle=\uC0AC\uC6A9\uC790 \uC774\uB984\uACFC \uC554\uD638 \uC124\uC815
|
||||
CreateDatabaseWizardPageSAPR3.ErrorMessage.InvalidInput=\uC11C\uBC84 \uD638\uC2A4\uD2B8\uC774\uB984, \uC5B8\uC5B4, system number \uADF8\uB9AC\uACE0 \uD074\uB77C\uC774\uC5B8\uD2B8\uB97C \uC9C0\uC815\uD558\uC2ED\uC2DC\uC624
|
||||
CreateDatabaseWizardPage1.ErrorMessage.DBNameExists=\uB370\uC774\uD130\uBCA0\uC774\uC2A4 ''{0}''\uB294 \uC774\uBBF8 \uC874\uC7AC\uD569\uB2C8\uB2E4, \uB2E4\uB978 \uC774\uB984\uC744 \uC9C0\uC815\uD558\uC2ED\uC2DC\uC624.
|
||||
CreateDatabaseWizardPageJDBC.Hostname.Label=\uB370\uC774\uD130\uBCA0\uC774\uC2A4 \uC11C\uBC84 \uD638\uC2A4\uD2B8 \uC774\uB984
|
||||
CreateDatabaseWizardPageInformix.Servername.Label=informix \uC11C\uBC84 \uC774\uB984
|
||||
CreateDatabaseWizardPageOCI.ErrorMessage.NoTNSName=\uC624\uB77C\uD074 TNSNAMES \uB370\uC774\uD130\uBCA0\uC774\uC2A4\uC758 \uC774\uB984 \uC785\uB825
|
||||
CreateDatabaseWizardPageGeneric.DriverClass.Label=\uB4DC\uB77C\uC774\uBC84 \uD074\uB798\uC2A4
|
||||
CreateDatabaseWizardPage1.ErrorMessage.InvalidInput=\uC5F0\uACB0\uC758 \uC774\uB984\uC744 \uC785\uB825\uD558\uC2ED\uC2DC\uC624, \uB370\uC774\uD130\uBCA0\uC774\uC2A4 \uD0C0\uC785\uACE0 \uC561\uC138\uC2A4 \uBC29\uBC95
|
||||
CreateDatabaseWizardPageSAPR3.Language.Label=\uC5B8\uC5B4
|
||||
CreateDatabaseWizardPageODBC.DialogTitle=ODBC DSN \uB370\uC774\uD130 \uC18C\uC2A4 \uC774\uB984\uC744 \uC9C0\uC815
|
||||
CreateDatabaseWizardPage1.DialogMessage=\uB370\uC774\uD130\uBCA0\uC774\uC2A4 \uC5F0\uACB0 \uC774\uB984, \uB370\uC774\uD130\uBCA0\uC774\uC2A4 \uD615\uC2DD, \uC5F0\uACB0 \uD615\uC2DD \uC120\uD0DD
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue