{
	"connector": {
		"class": "org.apache.camel.kafkaconnector.oaipmh.CamelOaipmhSourceConnector",
		"artifactId": "camel-oaipmh-kafka-connector",
		"groupId": "org.apache.camel.kafkaconnector",
		"id": "camel-oaipmh-source",
		"type": "source",
		"version": "0.7.2-SNAPSHOT",
		"description": "Harvest metadata using OAI-PMH protocol"
	},
	"properties": {
		"camel.source.path.baseUrl": {
			"name": "camel.source.path.baseUrl",
			"description": "Base URL of the repository to which the request is made through the OAI-PMH protocol",
			"priority": "HIGH",
			"required": "true"
		},
		"camel.source.endpoint.from": {
			"name": "camel.source.endpoint.from",
			"description": "Specifies a lower bound for datestamp-based selective harvesting. UTC DateTime value",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.identifier": {
			"name": "camel.source.endpoint.identifier",
			"description": "Identifier of the requested resources. Applicable only with certain verbs",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.metadataPrefix": {
			"name": "camel.source.endpoint.metadataPrefix",
			"description": "Specifies the metadataPrefix of the format that should be included in the metadata part of the returned records.",
			"defaultValue": "\"oai_dc\"",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.set": {
			"name": "camel.source.endpoint.set",
			"description": "Specifies membership as a criteria for set-based selective harvesting",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.until": {
			"name": "camel.source.endpoint.until",
			"description": "Specifies an upper bound for datestamp-based selective harvesting. UTC DateTime value.",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.verb": {
			"name": "camel.source.endpoint.verb",
			"description": "Request name supported by OAI-PMh protocol",
			"defaultValue": "\"ListRecords\"",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.bridgeErrorHandler": {
			"name": "camel.source.endpoint.bridgeErrorHandler",
			"description": "Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",
			"defaultValue": "false",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.sendEmptyMessageWhenIdle": {
			"name": "camel.source.endpoint.sendEmptyMessageWhenIdle",
			"description": "If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",
			"defaultValue": "false",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.exceptionHandler": {
			"name": "camel.source.endpoint.exceptionHandler",
			"description": "To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.exchangePattern": {
			"name": "camel.source.endpoint.exchangePattern",
			"description": "Sets the exchange pattern when the consumer creates an exchange. One of: [InOnly] [InOut] [InOptionalOut]",
			"priority": "MEDIUM",
			"required": "false",
			"enum": [
				"InOnly",
				"InOut",
				"InOptionalOut"
			]
		},
		"camel.source.endpoint.pollStrategy": {
			"name": "camel.source.endpoint.pollStrategy",
			"description": "A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.synchronous": {
			"name": "camel.source.endpoint.synchronous",
			"description": "Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported).",
			"defaultValue": "false",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.backoffErrorThreshold": {
			"name": "camel.source.endpoint.backoffErrorThreshold",
			"description": "The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.backoffIdleThreshold": {
			"name": "camel.source.endpoint.backoffIdleThreshold",
			"description": "The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.backoffMultiplier": {
			"name": "camel.source.endpoint.backoffMultiplier",
			"description": "To let the scheduled polling consumer backoff if there has been a number of subsequent idles\/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and\/or backoffErrorThreshold must also be configured.",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.delay": {
			"name": "camel.source.endpoint.delay",
			"description": "Milliseconds before the next poll.",
			"defaultValue": "500L",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.greedy": {
			"name": "camel.source.endpoint.greedy",
			"description": "If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",
			"defaultValue": "false",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.initialDelay": {
			"name": "camel.source.endpoint.initialDelay",
			"description": "Milliseconds before the first poll starts.",
			"defaultValue": "1000L",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.repeatCount": {
			"name": "camel.source.endpoint.repeatCount",
			"description": "Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",
			"defaultValue": "0L",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.runLoggingLevel": {
			"name": "camel.source.endpoint.runLoggingLevel",
			"description": "The consumer logs a start\/complete log line when it polls. This option allows you to configure the logging level for that. One of: [TRACE] [DEBUG] [INFO] [WARN] [ERROR] [OFF]",
			"defaultValue": "\"TRACE\"",
			"priority": "MEDIUM",
			"required": "false",
			"enum": [
				"TRACE",
				"DEBUG",
				"INFO",
				"WARN",
				"ERROR",
				"OFF"
			]
		},
		"camel.source.endpoint.scheduledExecutorService": {
			"name": "camel.source.endpoint.scheduledExecutorService",
			"description": "Allows for configuring a custom\/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.scheduler": {
			"name": "camel.source.endpoint.scheduler",
			"description": "To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",
			"defaultValue": "\"none\"",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.schedulerProperties": {
			"name": "camel.source.endpoint.schedulerProperties",
			"description": "To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.startScheduler": {
			"name": "camel.source.endpoint.startScheduler",
			"description": "Whether the scheduler should be auto started.",
			"defaultValue": "true",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.timeUnit": {
			"name": "camel.source.endpoint.timeUnit",
			"description": "Time unit for initialDelay and delay options. One of: [NANOSECONDS] [MICROSECONDS] [MILLISECONDS] [SECONDS] [MINUTES] [HOURS] [DAYS]",
			"defaultValue": "\"MILLISECONDS\"",
			"priority": "MEDIUM",
			"required": "false",
			"enum": [
				"NANOSECONDS",
				"MICROSECONDS",
				"MILLISECONDS",
				"SECONDS",
				"MINUTES",
				"HOURS",
				"DAYS"
			]
		},
		"camel.source.endpoint.useFixedDelay": {
			"name": "camel.source.endpoint.useFixedDelay",
			"description": "Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",
			"defaultValue": "true",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.ignoreSSLWarnings": {
			"name": "camel.source.endpoint.ignoreSSLWarnings",
			"description": "Ignore SSL certificate warnings",
			"defaultValue": "false",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.ssl": {
			"name": "camel.source.endpoint.ssl",
			"description": "Causes the defined url to make an https request",
			"defaultValue": "false",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.component.oaipmh.bridgeErrorHandler": {
			"name": "camel.component.oaipmh.bridgeErrorHandler",
			"description": "Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",
			"defaultValue": "false",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.component.oaipmh.autowiredEnabled": {
			"name": "camel.component.oaipmh.autowiredEnabled",
			"description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc.",
			"defaultValue": "true",
			"priority": "MEDIUM",
			"required": "false"
		}
	}
}