You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by vo...@apache.org on 2016/06/05 14:53:19 UTC
[1/2] ignite git commit: Added delete, mkdris, exists.
Repository: ignite
Updated Branches:
refs/heads/ignite-3247 [created] e7ce5ddb2
Added delete, mkdris, exists.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/11682670
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/11682670
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/11682670
Branch: refs/heads/ignite-3247
Commit: 116826701fa7bf8f94f8a2283dcc01c7aee2bc6a
Parents: a2086bf
Author: vozerov-gridgain <vo...@gridgain.com>
Authored: Sun Jun 5 17:51:48 2016 +0300
Committer: vozerov-gridgain <vo...@gridgain.com>
Committed: Sun Jun 5 17:51:48 2016 +0300
----------------------------------------------------------------------
.../internal/processors/igfs/IgfsImpl.java | 15 +++
.../processors/igfs/IgfsMetaManager.java | 1 -
.../igfs/client/IgfsClientDeleteCallable.java | 83 +++++++++++++++
.../igfs/client/IgfsClientExistsCallable.java | 76 +++++++++++++
.../igfs/client/IgfsClientMkdirsCallable.java | 106 +++++++++++++++++++
5 files changed, 280 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/11682670/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsImpl.java
index 2796839..19dc9fa 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsImpl.java
@@ -55,6 +55,9 @@ import org.apache.ignite.internal.managers.communication.GridMessageListener;
import org.apache.ignite.internal.managers.eventstorage.GridEventStorageManager;
import org.apache.ignite.internal.managers.eventstorage.GridLocalEventListener;
import org.apache.ignite.internal.processors.hadoop.HadoopPayloadAware;
+import org.apache.ignite.internal.processors.igfs.client.IgfsClientDeleteCallable;
+import org.apache.ignite.internal.processors.igfs.client.IgfsClientExistsCallable;
+import org.apache.ignite.internal.processors.igfs.client.IgfsClientMkdirsCallable;
import org.apache.ignite.internal.processors.task.GridInternal;
import org.apache.ignite.internal.util.GridSpinBusyLock;
import org.apache.ignite.internal.util.future.GridCompoundFuture;
@@ -530,6 +533,9 @@ public final class IgfsImpl implements IgfsEx {
@Override public boolean exists(final IgfsPath path) {
A.notNull(path, "path");
+ if (meta.isClient())
+ return meta.runClientTask(new IgfsClientExistsCallable(cfg.getName(), path));
+
return safeOp(new Callable<Boolean>() {
@Override public Boolean call() throws Exception {
if (log.isDebugEnabled())
@@ -708,6 +714,9 @@ public final class IgfsImpl implements IgfsEx {
@Override public boolean delete(final IgfsPath path, final boolean recursive) {
A.notNull(path, "path");
+ if (meta.isClient())
+ return meta.runClientTask(new IgfsClientDeleteCallable(cfg.getName(), path, recursive));
+
return safeOp(new Callable<Boolean>() {
@Override public Boolean call() throws Exception {
if (log.isDebugEnabled())
@@ -761,6 +770,12 @@ public final class IgfsImpl implements IgfsEx {
@Override public void mkdirs(final IgfsPath path, @Nullable final Map<String, String> props) {
A.notNull(path, "path");
+ if (meta.isClient()) {
+ meta.runClientTask(new IgfsClientMkdirsCallable(cfg.getName(), path, props));
+
+ return ;
+ }
+
safeOp(new Callable<Void>() {
@Override public Void call() throws Exception {
if (log.isDebugEnabled())
http://git-wip-us.apache.org/repos/asf/ignite/blob/11682670/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsMetaManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsMetaManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsMetaManager.java
index 8203b65..35e77c4 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsMetaManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/IgfsMetaManager.java
@@ -49,7 +49,6 @@ import org.apache.ignite.internal.processors.cache.GridCacheInternal;
import org.apache.ignite.internal.processors.cache.IgniteInternalCache;
import org.apache.ignite.internal.processors.cache.transactions.IgniteInternalTx;
import org.apache.ignite.internal.processors.igfs.client.IgfsClientAbstractCallable;
-import org.apache.ignite.internal.processors.igfs.client.IgfsClientFileIdsCallable;
import org.apache.ignite.internal.processors.igfs.meta.IgfsMetaDirectoryCreateProcessor;
import org.apache.ignite.internal.processors.igfs.meta.IgfsMetaFileCreateProcessor;
import org.apache.ignite.internal.processors.igfs.meta.IgfsMetaFileLockProcessor;
http://git-wip-us.apache.org/repos/asf/ignite/blob/11682670/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/client/IgfsClientDeleteCallable.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/client/IgfsClientDeleteCallable.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/client/IgfsClientDeleteCallable.java
new file mode 100644
index 0000000..9b0095a
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/client/IgfsClientDeleteCallable.java
@@ -0,0 +1,83 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.apache.ignite.internal.processors.igfs.client;
+
+import org.apache.ignite.binary.BinaryObjectException;
+import org.apache.ignite.binary.BinaryRawReader;
+import org.apache.ignite.binary.BinaryRawWriter;
+import org.apache.ignite.igfs.IgfsPath;
+import org.apache.ignite.internal.processors.igfs.IgfsContext;
+import org.apache.ignite.internal.util.typedef.internal.S;
+import org.jetbrains.annotations.Nullable;
+
+/**
+ * IGFS client file IDs callable.
+ */
+public class IgfsClientDeleteCallable extends IgfsClientAbstractCallable<Boolean> {
+ /** */
+ private static final long serialVersionUID = 0L;
+
+ /** Path. */
+ private IgfsPath path;
+
+ /** Recursion flag. */
+ private boolean recursive;
+
+ /**
+ * Default constructor.
+ */
+ public IgfsClientDeleteCallable() {
+ // NO-op.
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param igfsName IGFS name.
+ * @param path Path.
+ * @param recursive Recursive flag.
+ */
+ public IgfsClientDeleteCallable(@Nullable String igfsName, IgfsPath path, boolean recursive) {
+ super(igfsName);
+
+ this.path = path;
+ this.recursive = recursive;
+ }
+
+ /** {@inheritDoc} */
+ @Override protected Boolean call0(IgfsContext ctx) throws Exception {
+ return ctx.igfs().delete(path, recursive);
+ }
+
+ /** {@inheritDoc} */
+ @Override public void writeBinary0(BinaryRawWriter writer) throws BinaryObjectException {
+ writer.writeObject(path);
+ writer.writeBoolean(recursive);
+ }
+
+ /** {@inheritDoc} */
+ @Override public void readBinary0(BinaryRawReader reader) throws BinaryObjectException {
+ path = reader.readObject();
+ recursive = reader.readBoolean();
+ }
+
+ /** {@inheritDoc} */
+ @Override public String toString() {
+ return S.toString(IgfsClientDeleteCallable.class, this);
+ }
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/11682670/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/client/IgfsClientExistsCallable.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/client/IgfsClientExistsCallable.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/client/IgfsClientExistsCallable.java
new file mode 100644
index 0000000..adef2db
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/client/IgfsClientExistsCallable.java
@@ -0,0 +1,76 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.apache.ignite.internal.processors.igfs.client;
+
+import org.apache.ignite.binary.BinaryObjectException;
+import org.apache.ignite.binary.BinaryRawReader;
+import org.apache.ignite.binary.BinaryRawWriter;
+import org.apache.ignite.igfs.IgfsPath;
+import org.apache.ignite.internal.processors.igfs.IgfsContext;
+import org.apache.ignite.internal.util.typedef.internal.S;
+import org.jetbrains.annotations.Nullable;
+
+/**
+ * IGFS client file IDs callable.
+ */
+public class IgfsClientExistsCallable extends IgfsClientAbstractCallable<Boolean> {
+ /** */
+ private static final long serialVersionUID = 0L;
+
+ /** Path. */
+ private IgfsPath path;
+
+ /**
+ * Default constructor.
+ */
+ public IgfsClientExistsCallable() {
+ // NO-op.
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param igfsName IGFS name.
+ * @param path Path.
+ */
+ public IgfsClientExistsCallable(@Nullable String igfsName, IgfsPath path) {
+ super(igfsName);
+
+ this.path = path;
+ }
+
+ /** {@inheritDoc} */
+ @Override protected Boolean call0(IgfsContext ctx) throws Exception {
+ return ctx.igfs().exists(path);
+ }
+
+ /** {@inheritDoc} */
+ @Override public void writeBinary0(BinaryRawWriter writer) throws BinaryObjectException {
+ writer.writeObject(path);
+ }
+
+ /** {@inheritDoc} */
+ @Override public void readBinary0(BinaryRawReader reader) throws BinaryObjectException {
+ path = reader.readObject();
+ }
+
+ /** {@inheritDoc} */
+ @Override public String toString() {
+ return S.toString(IgfsClientExistsCallable.class, this);
+ }
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/11682670/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/client/IgfsClientMkdirsCallable.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/client/IgfsClientMkdirsCallable.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/client/IgfsClientMkdirsCallable.java
new file mode 100644
index 0000000..f799026
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/igfs/client/IgfsClientMkdirsCallable.java
@@ -0,0 +1,106 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.apache.ignite.internal.processors.igfs.client;
+
+import org.apache.ignite.binary.BinaryObjectException;
+import org.apache.ignite.binary.BinaryRawReader;
+import org.apache.ignite.binary.BinaryRawWriter;
+import org.apache.ignite.igfs.IgfsPath;
+import org.apache.ignite.internal.processors.igfs.IgfsContext;
+import org.apache.ignite.internal.util.typedef.internal.S;
+import org.jetbrains.annotations.Nullable;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * IGFS client mkdirs callable.
+ */
+public class IgfsClientMkdirsCallable extends IgfsClientAbstractCallable<Void> {
+ /** */
+ private static final long serialVersionUID = 0L;
+
+ /** Path. */
+ private IgfsPath path;
+
+ /** Properties. */
+ private Map<String, String> props;
+
+ /**
+ * Default constructor.
+ */
+ public IgfsClientMkdirsCallable() {
+ // NO-op.
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param igfsName IGFS name.
+ * @param path Path.
+ * @param props Properties.
+ */
+ public IgfsClientMkdirsCallable(@Nullable String igfsName, IgfsPath path, @Nullable Map<String, String> props) {
+ super(igfsName);
+
+ this.path = path;
+ this.props = props;
+ }
+
+ /** {@inheritDoc} */
+ @Override protected Void call0(IgfsContext ctx) throws Exception {
+ ctx.igfs().mkdirs(path, props);
+
+ return null;
+ }
+
+ /** {@inheritDoc} */
+ @Override public void writeBinary0(BinaryRawWriter writer) throws BinaryObjectException {
+ writer.writeObject(path);
+
+ if (props != null) {
+ writer.writeInt(props.size());
+
+ for (Map.Entry<String, String> prop : props.entrySet()) {
+ writer.writeString(prop.getKey());
+ writer.writeString(prop.getValue());
+ }
+ }
+ else
+ writer.writeInt(0);
+ }
+
+ /** {@inheritDoc} */
+ @Override public void readBinary0(BinaryRawReader reader) throws BinaryObjectException {
+ path = reader.readObject();
+
+ int propsSize = reader.readInt();
+
+ if (propsSize > 0) {
+ props = new HashMap<>(propsSize, 1.0f);
+
+ for (int i = 0; i < propsSize; i++)
+ props.put(reader.readString(), reader.readString());
+ }
+ }
+
+ /** {@inheritDoc} */
+ @Override public String toString() {
+ return S.toString(IgfsClientMkdirsCallable.class, this);
+ }
+}
[2/2] ignite git commit: Merge branch 'ignite-3246' into ignite-3247
Posted by vo...@apache.org.
Merge branch 'ignite-3246' into ignite-3247
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/e7ce5ddb
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/e7ce5ddb
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/e7ce5ddb
Branch: refs/heads/ignite-3247
Commit: e7ce5ddb232d454b47b1fbd10cb25ec3bbcb4a9f
Parents: 1168267 b1fef23
Author: vozerov-gridgain <vo...@gridgain.com>
Authored: Sun Jun 5 17:53:11 2016 +0300
Committer: vozerov-gridgain <vo...@gridgain.com>
Committed: Sun Jun 5 17:53:11 2016 +0300
----------------------------------------------------------------------
----------------------------------------------------------------------