pivotal-jbarrett commented on a change in pull request #823:
URL: https://github.com/apache/geode-native/pull/823#discussion_r659921472
##########
File path: netcore/LICENSE
##########
@@ -0,0 +1,201 @@
+ Apache License
Review comment:
This directory does not need to carry a separate license file. The root
of the repository has the appropriate license.
##########
File path: netcore/NetCore/CacheFactory.cs
##########
@@ -0,0 +1,129 @@
+/*
+* 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.
+*/
+using System;
+using System.Runtime.InteropServices;
+
+namespace Apache
+{
+ namespace Geode
+ {
+ namespace NetCore
+ {
+ public class CacheFactory : GeodeNativeObject, ICacheFactory
+ {
+ private string _version = String.Empty;
Review comment:
From this convention of `_` before a name it looks like you have derived
from
https://docs.microsoft.com/en-us/dotnet/csharp/fundamentals/coding-style/coding-conventions.
Let's get this documented an enforced.
##########
File path: netcore/NetCore.Test/CacheFactoryUnitTest.cs
##########
@@ -0,0 +1,97 @@
+/*
+* 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.
+*/
+using System;
+using Apache.Geode.NetCore;
+using Xunit;
+
+namespace GemfireDotNetTest
+{
+ [Collection("Geode .net Core Collection")]
+ public class CacheFactoryUnitTests
+ {
Review comment:
In our contributing guide we should have a mention of the style guide
use for .NET Core sources. We never derived one for the old .NET Framework
C++/CLI sources because they were C++ based and loosely followed the C++ style
where it was even possible to apply it. No tooling completely supported C++/CLI
formatting so it is largely a mess. There is plenty of C# formatting tooling
out there including `clang-format`. Since `clang-format` is already a
requirement for C++ source formatting it make sense to extend it to C# sources
with the agreed apon style applied.
##########
File path: netcore/NOTICE
##########
@@ -0,0 +1,6 @@
+Apache Geode
Review comment:
Same as license, no need for notice here.
##########
File path: netcore/NetCore.Test/CacheFactoryUnitTest.cs
##########
@@ -0,0 +1,97 @@
+/*
+* 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.
+*/
+using System;
+using Apache.Geode.NetCore;
+using Xunit;
+
+namespace GemfireDotNetTest
+{
+ [Collection("Geode .net Core Collection")]
+ public class CacheFactoryUnitTests
+ {
+ [Fact]
+ public void TestCreateFactory()
+ {
+ using (var cacheFactory = CacheFactory.Create())
+ {
+ Assert.NotNull(cacheFactory);
+ }
+ }
+
+ [Fact]
+ public void TestCacheFactoryGetVersion()
+ {
+ using (var cacheFactory = CacheFactory.Create())
+ {
+ var version = cacheFactory.Version;
+ Assert.NotEqual(version, String.Empty);
+ }
+ }
+
+ [Fact]
+ public void TestCacheFactoryGetProductDescription()
+ {
+ using (var cacheFactory = CacheFactory.Create())
+ {
+ var description = cacheFactory.ProductDescription;
+ Assert.NotEqual(description, String.Empty);
+ }
+ }
+
+ [Fact]
+ public void TestCacheFactorySetPdxIgnoreUnreadFields()
+ {
+ using (var cacheFactory = CacheFactory.Create())
+ {
+ cacheFactory.PdxIgnoreUnreadFields = true;
+ cacheFactory.PdxIgnoreUnreadFields = false;
+ }
+ }
+
+ [Fact]
+ public void TestCacheFactorySetPdxReadSerialized()
+ {
+ using (var cacheFactory = CacheFactory.Create())
+ {
+ cacheFactory.PdxReadSerialized = true;
+ cacheFactory.PdxReadSerialized = false;
+ }
+ }
+
+ [Fact]
+ public void TestCacheFactoryCreateCache()
+ {
+ using (var cacheFactory = CacheFactory.Create())
+ {
+ using (var cache = cacheFactory.CreateCache()) // lgtm[cs /
useless - assignment - to - local]
+ {
+ ;
+ }
+ }
+ }
+
+ [Fact]
+ public void TestCacheFactorySetProperty()
+ {
+ using (var cacheFactory = CacheFactory.Create())
+ {
+ cacheFactory.SetProperty("log-level", "none")
+ .SetProperty("log-file", "geode_native.log");
+ }
+ }
+ }
+}
Review comment:
Always end with a new line.
##########
File path: netcore/geode-dotnet-core.sln
##########
@@ -0,0 +1,31 @@
+
Review comment:
CMake can generate VS project files if that is your preferred generator
so why are we checking them in?
##########
File path: netcore/NetCore/CacheFactory.cs
##########
@@ -0,0 +1,129 @@
+/*
+* 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.
+*/
+using System;
+using System.Runtime.InteropServices;
+
+namespace Apache
+{
+ namespace Geode
+ {
+ namespace NetCore
+ {
Review comment:
Can we derive a formatting that doesn't indent for namespaces or can C#
support single line fully qualified namespaces?
##########
File path: netcore/NetCore/IRegionService.cs
##########
@@ -0,0 +1,35 @@
+/*
+* 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.
+*/
+using System;
+
+namespace Apache
+{
+ namespace Geode
+ {
+ namespace NetCore
+ {
+ public interface IRegionService
+ {
+// IPdxInstanceFactory CreatePdxInstanceFactory(String
className);
Review comment:
Remove commented out source.
##########
File path: netcore/NetCore.Test/CacheFactoryUnitTest.cs
##########
@@ -0,0 +1,97 @@
+/*
+* 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.
+*/
+using System;
+using Apache.Geode.NetCore;
Review comment:
Why does the .NET Core library have the "framework" name in the
namespace. We didn't do this with any of the other languages/frameworks. In the
others the namespace for most client cases is [org.]apache.geode.client. I
think this should be changed to `Apache.Geode.Client`. Yes it collides with the
.NET Framework version but these can't be used together in the same processes
space so there isn't any confusion or issues with that.
##########
File path: netcore/build-geode-native-netcore.sh
##########
@@ -0,0 +1,54 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
Review comment:
What is the purpose of this helper script to build? Shouldn't this be
tied into the main CMake build process?
##########
File path: netcore/utility/SimpleSecurityManager.java
##########
@@ -0,0 +1,79 @@
+/*
+ * 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 javaobject;
+
+import org.apache.geode.security.AuthenticationFailedException;
+import org.apache.geode.security.SecurityManager;
+
+import java.util.Properties;
+
+import javaobject.UserPasswordAuthInit;
+import javaobject.UsernamePrincipal;
+
+/**
+ * This Security manager only Authenticates - and allows any operations.
+ */
+public class SimpleSecurityManager implements SecurityManager {
Review comment:
Don't we have a version of this already in the existing repo? We
shouldn't need more than one fake `SecurityManager` for testing.
##########
File path: netcore/startserver.ps1
##########
@@ -0,0 +1,65 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
Review comment:
This looks like part of a test framework maybe, why is it in the root of
the subproject?
##########
File path: netcore/utility/UserPasswordAuthInit.java
##########
@@ -0,0 +1,81 @@
+/*
Review comment:
Same as with `SecurityManager` implementation. Also, the use of
`AuthInit` on the server side is deprecated in favor of `SecurityManager` so it
really strikes me as unnecessary for a new client to validate with a deprecated
feature of the server.
##########
File path: netcore/utility/CMakeLists.txt
##########
@@ -0,0 +1,35 @@
+# 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.
+cmake_minimum_required (VERSION 3.4)
Review comment:
3.4 seems very old and is probably lacking some of the .NET features we
need to properly build this. This shouldn't be set here since the root CMake
will be setting it.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]