Return-Path: Delivered-To: apmail-incubator-connectors-commits-archive@minotaur.apache.org Received: (qmail 89675 invoked from network); 23 Aug 2010 12:19:53 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 23 Aug 2010 12:19:53 -0000 Received: (qmail 82686 invoked by uid 500); 23 Aug 2010 12:19:52 -0000 Delivered-To: apmail-incubator-connectors-commits-archive@incubator.apache.org Received: (qmail 82639 invoked by uid 500); 23 Aug 2010 12:19:51 -0000 Mailing-List: contact connectors-commits-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: connectors-dev@incubator.apache.org Delivered-To: mailing list connectors-commits@incubator.apache.org Received: (qmail 82632 invoked by uid 99); 23 Aug 2010 12:19:51 -0000 Received: from Unknown (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 23 Aug 2010 12:19:51 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 23 Aug 2010 12:19:33 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id BA1FE23889ED; Mon, 23 Aug 2010 12:18:14 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r988101 [2/2] - in /incubator/lcf/trunk/modules/framework: agents/org/apache/lcf/agents/ core/org/apache/lcf/core/ pull-agent/org/apache/lcf/authorities/ pull-agent/org/apache/lcf/crawler/ Date: Mon, 23 Aug 2010 12:18:14 -0000 To: connectors-commits@incubator.apache.org From: kwright@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20100823121814.BA1FE23889ED@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Modified: incubator/lcf/trunk/modules/framework/pull-agent/org/apache/lcf/crawler/UnRegister.java URL: http://svn.apache.org/viewvc/incubator/lcf/trunk/modules/framework/pull-agent/org/apache/lcf/crawler/UnRegister.java?rev=988101&r1=988100&r2=988101&view=diff ============================================================================== --- incubator/lcf/trunk/modules/framework/pull-agent/org/apache/lcf/crawler/UnRegister.java (original) +++ incubator/lcf/trunk/modules/framework/pull-agent/org/apache/lcf/crawler/UnRegister.java Mon Aug 23 12:18:13 2010 @@ -18,19 +18,37 @@ */ package org.apache.lcf.crawler; -import java.io.*; import org.apache.lcf.core.interfaces.*; import org.apache.lcf.crawler.interfaces.*; import org.apache.lcf.crawler.system.*; -public class UnRegister +/** + * Un-register a repository connector class + */ +public class UnRegister extends TransactionalCrawlerInitializationCommand { public static final String _rcsid = "@(#)$Id$"; - private UnRegister() + private final String className; + + public UnRegister(String className) { + this.className = className; } + protected void doExecute(IThreadContext tc) throws LCFException + { + IConnectorManager mgr = ConnectorManagerFactory.make(tc); + IJobManager jobManager = JobManagerFactory.make(tc); + IRepositoryConnectionManager connManager = RepositoryConnectionManagerFactory.make(tc); + // Find the connection names that come with this class + String[] connectionNames = connManager.findConnectionsForConnector(className); + // For each connection name, modify the jobs to note that the connector is no longer installed + jobManager.noteConnectorDeregistration(connectionNames); + // Now that all jobs have been placed into an appropriate state, actually do the deregistration itself. + mgr.unregisterConnector(className); + Logging.root.info("Successfully unregistered connector '"+className+"'"); + } public static void main(String[] args) { @@ -41,43 +59,10 @@ public class UnRegister } String className = args[0]; - try { - LCF.initializeEnvironment(); - IThreadContext tc = ThreadContextFactory.make(); - IDBInterface database = DBInterfaceFactory.make(tc, - LCF.getMasterDatabaseName(), - LCF.getMasterDatabaseUsername(), - LCF.getMasterDatabasePassword()); - IConnectorManager mgr = ConnectorManagerFactory.make(tc); - IJobManager jobManager = JobManagerFactory.make(tc); - IRepositoryConnectionManager connManager = RepositoryConnectionManagerFactory.make(tc); - // Deregistration should be done in a transaction - database.beginTransaction(); - try - { - // Find the connection names that come with this class - String[] connectionNames = connManager.findConnectionsForConnector(className); - // For each connection name, modify the jobs to note that the connector is no longer installed - jobManager.noteConnectorDeregistration(connectionNames); - // Now that all jobs have been placed into an appropriate state, actually do the deregistration itself. - mgr.unregisterConnector(className); - } - catch (LCFException e) - { - database.signalRollback(); - throw e; - } - catch (Error e) - { - database.signalRollback(); - throw e; - } - finally - { - database.endTransaction(); - } + UnRegister unRegister = new UnRegister(className); + unRegister.execute(); System.err.println("Successfully unregistered connector '"+className+"'"); } catch (LCFException e) @@ -86,8 +71,4 @@ public class UnRegister System.exit(1); } } - - - - } Modified: incubator/lcf/trunk/modules/framework/pull-agent/org/apache/lcf/crawler/UnRegisterAll.java URL: http://svn.apache.org/viewvc/incubator/lcf/trunk/modules/framework/pull-agent/org/apache/lcf/crawler/UnRegisterAll.java?rev=988101&r1=988100&r2=988101&view=diff ============================================================================== --- incubator/lcf/trunk/modules/framework/pull-agent/org/apache/lcf/crawler/UnRegisterAll.java (original) +++ incubator/lcf/trunk/modules/framework/pull-agent/org/apache/lcf/crawler/UnRegisterAll.java Mon Aug 23 12:18:13 2010 @@ -18,19 +18,65 @@ */ package org.apache.lcf.crawler; -import java.io.*; import org.apache.lcf.core.interfaces.*; import org.apache.lcf.crawler.interfaces.*; import org.apache.lcf.crawler.system.*; -public class UnRegisterAll +/** + * Un-register all repository connector classes + */ +public class UnRegisterAll extends BaseCrawlerInitializationCommand { public static final String _rcsid = "@(#)$Id$"; - private UnRegisterAll() + public UnRegisterAll() { } + protected void doExecute(IThreadContext tc) throws LCFException + { + IDBInterface database = DBInterfaceFactory.make(tc, + LCF.getMasterDatabaseName(), + LCF.getMasterDatabaseUsername(), + LCF.getMasterDatabasePassword()); + IConnectorManager mgr = ConnectorManagerFactory.make(tc); + IJobManager jobManager = JobManagerFactory.make(tc); + IRepositoryConnectionManager connManager = RepositoryConnectionManagerFactory.make(tc); + IResultSet classNames = mgr.getConnectors(); + int i = 0; + while (i < classNames.getRowCount()) + { + IResultRow row = classNames.getRow(i++); + String className = (String)row.getValue("classname"); + // Deregistration should be done in a transaction + database.beginTransaction(); + try + { + // Find the connection names that come with this class + String[] connectionNames = connManager.findConnectionsForConnector(className); + // For each connection name, modify the jobs to note that the connector is no longer installed + jobManager.noteConnectorDeregistration(connectionNames); + // Now that all jobs have been placed into an appropriate state, actually do the deregistration itself. + mgr.unregisterConnector(className); + } + catch (LCFException e) + { + database.signalRollback(); + throw e; + } + catch (Error e) + { + database.signalRollback(); + throw e; + } + finally + { + database.endTransaction(); + } + } + Logging.root.info("Successfully unregistered all connectors"); + } + public static void main(String[] args) { @@ -42,47 +88,8 @@ public class UnRegisterAll try { - LCF.initializeEnvironment(); - IThreadContext tc = ThreadContextFactory.make(); - IDBInterface database = DBInterfaceFactory.make(tc, - LCF.getMasterDatabaseName(), - LCF.getMasterDatabaseUsername(), - LCF.getMasterDatabasePassword()); - IConnectorManager mgr = ConnectorManagerFactory.make(tc); - IJobManager jobManager = JobManagerFactory.make(tc); - IRepositoryConnectionManager connManager = RepositoryConnectionManagerFactory.make(tc); - IResultSet classNames = mgr.getConnectors(); - int i = 0; - while (i < classNames.getRowCount()) - { - IResultRow row = classNames.getRow(i++); - String className = (String)row.getValue("classname"); - // Deregistration should be done in a transaction - database.beginTransaction(); - try - { - // Find the connection names that come with this class - String[] connectionNames = connManager.findConnectionsForConnector(className); - // For each connection name, modify the jobs to note that the connector is no longer installed - jobManager.noteConnectorDeregistration(connectionNames); - // Now that all jobs have been placed into an appropriate state, actually do the deregistration itself. - mgr.unregisterConnector(className); - } - catch (LCFException e) - { - database.signalRollback(); - throw e; - } - catch (Error e) - { - database.signalRollback(); - throw e; - } - finally - { - database.endTransaction(); - } - } + UnRegisterAll unRegisterAll = new UnRegisterAll(); + unRegisterAll.execute(); System.err.println("Successfully unregistered all connectors"); } catch (LCFException e) @@ -91,8 +98,4 @@ public class UnRegisterAll System.exit(1); } } - - - - }