• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java KettleURLClassLoader类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中org.pentaho.di.core.plugins.KettleURLClassLoader的典型用法代码示例。如果您正苦于以下问题:Java KettleURLClassLoader类的具体用法?Java KettleURLClassLoader怎么用?Java KettleURLClassLoader使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



KettleURLClassLoader类属于org.pentaho.di.core.plugins包,在下文中一共展示了KettleURLClassLoader类的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: install

import org.pentaho.di.core.plugins.KettleURLClassLoader; //导入依赖的package包/类
/**
 * Installs the passed MarketEntry into the folder built by
 * buildPluginsFolderPath(marketEntry).
 * 
 * A warning dialog box is displayed if the plugin folder already exists. If
 * the user chooses to install then the plugin folder is deleted and then
 * recreated.
 * 
 * @param marketEntry
 * @throws KettleException
 */
public static void install(final MarketEntry marketEntry) throws KettleException {
  String parentFolderName = buildPluginsFolderPath(marketEntry);
  File pluginFolder = new File(parentFolderName + File.separator + marketEntry.getId());
  if (pluginFolder.exists()) {
    MessageBox mb = new MessageBox(Spoon.getInstance().getShell(), SWT.NO | SWT.YES | SWT.ICON_WARNING);
    mb.setMessage(BaseMessages.getString(PKG, "Marketplace.Dialog.PromptOverwritePlugin.Message", pluginFolder.getAbsolutePath()));
    mb.setText(BaseMessages.getString(PKG, "Marketplace.Dialog.PromptOverwritePlugin.Title"));
    int answer = SWT.NO;
    answer = mb.open();
    if (answer == SWT.YES) {
      ClassLoader cl = PluginRegistry.getInstance().getClassLoader(getPluginObject(marketEntry.getId()));
      if (cl instanceof KettleURLClassLoader) {
        ((KettleURLClassLoader)cl).closeClassLoader();
      }
      deleteDirectory(pluginFolder);
      unzipMarketEntry(parentFolderName, marketEntry.getPackageUrl());
      refreshSpoon();
    }
  } else {
    unzipMarketEntry(parentFolderName, marketEntry.getPackageUrl());
    refreshSpoon();
  }
}
 
开发者ID:bsspirit,项目名称:kettle-4.4.0-stable,代码行数:35,代码来源:Market.java


示例2: uninstallMarketInSeparateClassLoader

import org.pentaho.di.core.plugins.KettleURLClassLoader; //导入依赖的package包/类
public static void uninstallMarketInSeparateClassLoader(final File path) throws Exception {
  try {
    uninstall("market");
    Spoon.getInstance().getDisplay().asyncExec(new Runnable() {
      public void run() {
       try {
         MessageBox box = new MessageBox(Spoon.getInstance().getShell(), SWT.ICON_WARNING | SWT.OK);
         box.setText(BaseMessages.getString(PKG, "MarketplacesDialog.RestartUninstall.Title"));
         box.setMessage(BaseMessages.getString(PKG, "MarketplacesDialog.RestartUninstall.Message"));
         box.open();
       } finally {
         if (Market.class.getClassLoader() instanceof KettleURLClassLoader) {
           ((KettleURLClassLoader)Market.class.getClassLoader()).closeClassLoader();
         }
         path.delete();
       }
      }
    });
  } catch (Exception e) {
    e.printStackTrace();
  }
}
 
开发者ID:bsspirit,项目名称:kettle-4.4.0-stable,代码行数:23,代码来源:Market.java


示例3: LoadAdditionalClass

import org.pentaho.di.core.plugins.KettleURLClassLoader; //导入依赖的package包/类
private static Class<?> LoadAdditionalClass(String strJar, String strClassName) throws KettleException{
	try{
		Thread t = Thread.currentThread();
		ClassLoader cl = t.getContextClassLoader();
		URL u = new URL("jar:file:"+strJar+"!/");
		KettleURLClassLoader kl = new KettleURLClassLoader(new URL[]{u}, cl);
		Class<?> toRun = kl.loadClass(strClassName);
		return toRun;
	}catch(Exception e){
		throw new KettleException(BaseMessages.getString(PKG, "ScriptMeta.Exception.UnableToLoadAdditionalClass"), e); //$NON-NLS-1$
	}
}
 
开发者ID:yintaoxue,项目名称:read-open-source-code,代码行数:13,代码来源:ScriptMeta.java


示例4: LoadAdditionalClass

import org.pentaho.di.core.plugins.KettleURLClassLoader; //导入依赖的package包/类
private static Class<?> LoadAdditionalClass(String strJar, String strClassName) throws KettleException{
	try{
		Thread t = Thread.currentThread();
		ClassLoader cl = t.getContextClassLoader();
		URL u = new URL("jar:file:"+strJar+"!/");
		KettleURLClassLoader kl = new KettleURLClassLoader(new URL[]{u}, cl);
		Class<?> toRun = kl.loadClass(strClassName);
		return toRun;
	}catch(Exception e){
		throw new KettleException(BaseMessages.getString(PKG, "ScriptValuesMetaMod.Exception.UnableToLoadAdditionalClass"), e); //$NON-NLS-1$
	}
}
 
开发者ID:yintaoxue,项目名称:read-open-source-code,代码行数:13,代码来源:ScriptValuesMetaMod.java


示例5: uninstall

import org.pentaho.di.core.plugins.KettleURLClassLoader; //导入依赖的package包/类
/**
 * Uninstalls the passed MarketEntry.
 * 
 * @param marketEntry
 * @throws KettleException
 */
public static void uninstall(final String pluginId) throws KettleException {
  PluginInterface plugin = getPluginObject(pluginId);
  if (plugin == null) {
    throw new KettleException("No Plugin!");
  }
  String pluginFolderName = plugin.getPluginDirectory().getFile();
  File folder = new File(pluginFolderName);
  try {
    ClassLoader cl = PluginRegistry.getInstance().getClassLoader(getPluginObject(pluginId));
    if (cl instanceof KettleURLClassLoader) {
      ((KettleURLClassLoader)cl).closeClassLoader();
    }
  } catch (Throwable t) {
    t.printStackTrace();
  }
  deleteDirectory(folder);

  if (!Display.getDefault().getThread().equals(Thread.currentThread()) ) {
    Spoon.getInstance().getDisplay().asyncExec(new Runnable() {
      public void run() {
        try {
          refreshSpoon();
        } catch (KettleException e) {
          e.printStackTrace();
        }
      }
    });
  } else {
    refreshSpoon();
  }
}
 
开发者ID:bsspirit,项目名称:kettle-4.4.0-stable,代码行数:38,代码来源:Market.java


示例6: LoadAdditionalClass

import org.pentaho.di.core.plugins.KettleURLClassLoader; //导入依赖的package包/类
private static Class<?> LoadAdditionalClass( String strJar, String strClassName ) throws KettleException {
  try {
    Thread t = Thread.currentThread();
    ClassLoader cl = t.getContextClassLoader();
    URL u = new URL( "jar:file:" + strJar + "!/" );
    KettleURLClassLoader kl = new KettleURLClassLoader( new URL[] { u }, cl );
    Class<?> toRun = kl.loadClass( strClassName );
    return toRun;
  } catch ( Exception e ) {
    throw new KettleException( BaseMessages
        .getString( PKG, "GremlinScriptMeta.Exception.UnableToLoadAdditionalClass" ), e );
  }
}
 
开发者ID:mattyb149,项目名称:pdi-graph-computing,代码行数:14,代码来源:GremlinScriptMeta.java


示例7: LoadAdditionalClass

import org.pentaho.di.core.plugins.KettleURLClassLoader; //导入依赖的package包/类
private static Class<?> LoadAdditionalClass( String strJar, String strClassName ) throws KettleException {
  try {
    Thread t = Thread.currentThread();
    ClassLoader cl = t.getContextClassLoader();
    URL u = new URL( "jar:file:" + strJar + "!/" );
    // We never know what else the script wants to load with the class loader, so lets not close it just like that.
    @SuppressWarnings( "resource" )
    KettleURLClassLoader kl = new KettleURLClassLoader( new URL[] { u }, cl );
    Class<?> toRun = kl.loadClass( strClassName );
    return toRun;
  } catch ( Exception e ) {
    throw new KettleException(
      BaseMessages.getString( PKG, "ScriptMeta.Exception.UnableToLoadAdditionalClass" ), e );
  }
}
 
开发者ID:pentaho,项目名称:pentaho-kettle,代码行数:16,代码来源:ScriptMeta.java


示例8: LoadAdditionalClass

import org.pentaho.di.core.plugins.KettleURLClassLoader; //导入依赖的package包/类
private static Class<?> LoadAdditionalClass( String strJar, String strClassName ) throws KettleException {
  try {
    Thread t = Thread.currentThread();
    ClassLoader cl = t.getContextClassLoader();
    URL u = new URL( "jar:file:" + strJar + "!/" );
    // We never know what else the script wants to load with the class loader, so lets not close it just like that.
    @SuppressWarnings( "resource" )
    KettleURLClassLoader kl = new KettleURLClassLoader( new URL[] { u }, cl );
    Class<?> toRun = kl.loadClass( strClassName );
    return toRun;
  } catch ( Exception e ) {
    throw new KettleException( BaseMessages.getString(
      PKG, "ScriptValuesMetaMod.Exception.UnableToLoadAdditionalClass" ), e );
  }
}
 
开发者ID:pentaho,项目名称:pentaho-kettle,代码行数:16,代码来源:ScriptValuesMetaMod.java



注:本文中的org.pentaho.di.core.plugins.KettleURLClassLoader类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java ExecutionStrategy类代码示例发布时间:2022-05-22
下一篇:
Java ProviderWithExtensionVisitor类代码示例发布时间:2022-05-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap