-
Notifications
You must be signed in to change notification settings - Fork 2.3k
/
Invoke-Neo4jImport.ps1
73 lines (62 loc) · 1.92 KB
/
Invoke-Neo4jImport.ps1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
# Copyright (c) 2002-2018 "Neo Technology,"
# Network Engine for Objects in Lund AB [http://neotechnology.com]
#
# This file is part of Neo4j.
#
# Neo4j is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program 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 General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
<#
.SYNOPSIS
Invokes Neo4j Import utility
.DESCRIPTION
Invokes Neo4j Import utility
.PARAMETER CommandArgs
Command line arguments to pass to import
.OUTPUTS
System.Int32
0 = Success
non-zero = an error occured
.NOTES
Only supported on version 3.x Neo4j Community and Enterprise Edition databases
#>
Function Invoke-Neo4jImport
{
[cmdletBinding(SupportsShouldProcess=$false,ConfirmImpact='Low')]
param (
[parameter(Mandatory=$false,ValueFromRemainingArguments=$true)]
[object[]]$CommandArgs = @()
)
Begin
{
}
Process
{
# The powershell command line interpeter converts comma delimited strings into a System.Object[] array
# Search the CommandArgs array and convert anything that's System.Object[] back to a string type
for($index = 0; $index -lt $CommandArgs.Length; $index++) {
if ($CommandArgs[$index].GetType().ToString() -eq 'System.Object[]') {
[string]$CommandArgs[$index] = $CommandArgs[$index] -join ','
}
}
try {
Return [int](Invoke-Neo4jUtility -Command 'Import' -CommandArgs $CommandArgs -ErrorAction 'Stop')
}
catch {
Write-Error $_
Return 1
}
}
End
{
}
}