You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@polygene.apache.org by ni...@apache.org on 2016/12/17 10:28:56 UTC
[80/81] [abbrv] zest-java git commit: ZEST-195, ZEST-201 ;
Rename of everything else from zest to polygene.
http://git-wip-us.apache.org/repos/asf/zest-java/blob/e0e1d7d4/libraries/appbrowser/src/main/java/org/apache/polygene/library/appbrowser/json/ServiceModelFormatter.java
----------------------------------------------------------------------
diff --git a/libraries/appbrowser/src/main/java/org/apache/polygene/library/appbrowser/json/ServiceModelFormatter.java b/libraries/appbrowser/src/main/java/org/apache/polygene/library/appbrowser/json/ServiceModelFormatter.java
new file mode 100644
index 0000000..97a14e9
--- /dev/null
+++ b/libraries/appbrowser/src/main/java/org/apache/polygene/library/appbrowser/json/ServiceModelFormatter.java
@@ -0,0 +1,61 @@
+/*
+ * 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.polygene.library.appbrowser.json;
+
+import org.json.JSONException;
+import org.json.JSONWriter;
+import org.apache.polygene.api.service.ServiceDescriptor;
+
+public class ServiceModelFormatter extends AbstractJsonFormatter<ServiceDescriptor, Void>
+{
+ public ServiceModelFormatter( JSONWriter writer )
+ {
+ super( writer );
+ }
+
+ @Override
+ public void enter( ServiceDescriptor visited )
+ throws JSONException
+ {
+ object();
+ field( "identity", visited.identity() );
+ field( "type", visited.primaryType().getName() );
+ field( "visibility", visited.visibility().toString() );
+ Class<Object> config = visited.configurationType();
+ if( config != null )
+ {
+ field( "configuration", config.getName() );
+ }
+ field( "instantiateOnStartup", visited.isInstantiateOnStartup() );
+ }
+
+ @Override
+ public void leave( ServiceDescriptor visited )
+ throws JSONException
+ {
+ endObject();
+ }
+
+ @Override
+ public void visit( Void visited )
+ throws JSONException
+ {
+
+ }
+}
http://git-wip-us.apache.org/repos/asf/zest-java/blob/e0e1d7d4/libraries/appbrowser/src/main/java/org/apache/polygene/library/appbrowser/json/ValueModelFormatter.java
----------------------------------------------------------------------
diff --git a/libraries/appbrowser/src/main/java/org/apache/polygene/library/appbrowser/json/ValueModelFormatter.java b/libraries/appbrowser/src/main/java/org/apache/polygene/library/appbrowser/json/ValueModelFormatter.java
new file mode 100644
index 0000000..4d19f4f
--- /dev/null
+++ b/libraries/appbrowser/src/main/java/org/apache/polygene/library/appbrowser/json/ValueModelFormatter.java
@@ -0,0 +1,55 @@
+/*
+ * 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.polygene.library.appbrowser.json;
+
+import org.json.JSONException;
+import org.json.JSONWriter;
+import org.apache.polygene.api.value.ValueDescriptor;
+import org.apache.polygene.library.appbrowser.Formatter;
+
+public class ValueModelFormatter extends AbstractJsonFormatter<ValueDescriptor,Void>
+{
+ public ValueModelFormatter( JSONWriter writer )
+ {
+ super(writer);
+ }
+
+ @Override
+ public void enter( ValueDescriptor visited )
+ throws JSONException
+ {
+ object();
+ field( "type", visited.valueType().mainType().getName() );
+ field( "visibility", visited.visibility().toString() );
+ }
+
+ @Override
+ public void leave( ValueDescriptor visited )
+ throws JSONException
+ {
+ endObject();
+ }
+
+ @Override
+ public void visit( Void visited )
+ throws JSONException
+ {
+
+ }
+}
http://git-wip-us.apache.org/repos/asf/zest-java/blob/e0e1d7d4/libraries/appbrowser/src/main/java/org/apache/zest/library/appbrowser/Browser.java
----------------------------------------------------------------------
diff --git a/libraries/appbrowser/src/main/java/org/apache/zest/library/appbrowser/Browser.java b/libraries/appbrowser/src/main/java/org/apache/zest/library/appbrowser/Browser.java
deleted file mode 100644
index 29c3d0f..0000000
--- a/libraries/appbrowser/src/main/java/org/apache/zest/library/appbrowser/Browser.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
- * 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.polygene.library.appbrowser;
-
-import java.util.Stack;
-import org.json.JSONException;
-import org.apache.polygene.api.structure.ApplicationDescriptor;
-import org.apache.polygene.api.util.HierarchicalVisitor;
-
-public class Browser
-{
- private final ApplicationDescriptor application;
- private final FormatterFactory factory;
- private final Stack<Formatter> stack = new Stack<>();
-
- public Browser( ApplicationDescriptor application, FormatterFactory factory )
- {
- this.application = application;
- this.factory = factory;
- }
-
- public void toJson()
- throws BrowserException
- {
- application.accept( new HierarchicalVisitor<Object, Object, BrowserException>()
- {
- @Override
- public boolean visitEnter( Object visited )
- throws BrowserException
- {
- String simpleName = visited.getClass().getSimpleName();
- Formatter formatter = factory.create( simpleName );
- stack.push(formatter);
- if( formatter == null )
- {
- System.err.println( "Unknown application component: " + visited.getClass() );
- return false;
- }
- try
- {
- formatter.enter( visited );
- }
- catch( JSONException e )
- {
- throw new BrowserException( "Formatting failed.", e );
- }
- return true;
- }
-
- @Override
- public boolean visitLeave( Object visited )
- throws BrowserException
- {
- Formatter formatter = stack.pop();
- if( formatter == null )
- {
- System.err.println( "Unknown application component: " + visited.getClass() );
- return false;
- }
- try
- {
- formatter.leave( visited );
- }
- catch( JSONException e )
- {
- throw new BrowserException( "Formatting failed.", e );
- }
- return true;
- }
-
- @Override
- public boolean visit( Object visited )
- throws BrowserException
- {
- Formatter formatter = stack.peek();
- if( formatter == null )
- {
- System.err.println( "Unknown application component: " + visited.getClass() );
- return false;
- }
- try
- {
- formatter.visit( visited );
- }
- catch( JSONException e )
- {
- throw new BrowserException( "Formatting failed.", e );
- }
- return true;
- }
- } );
- }
-}
http://git-wip-us.apache.org/repos/asf/zest-java/blob/e0e1d7d4/libraries/appbrowser/src/main/java/org/apache/zest/library/appbrowser/BrowserException.java
----------------------------------------------------------------------
diff --git a/libraries/appbrowser/src/main/java/org/apache/zest/library/appbrowser/BrowserException.java b/libraries/appbrowser/src/main/java/org/apache/zest/library/appbrowser/BrowserException.java
deleted file mode 100644
index 126c198..0000000
--- a/libraries/appbrowser/src/main/java/org/apache/zest/library/appbrowser/BrowserException.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * 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.polygene.library.appbrowser;
-
-import org.json.JSONException;
-
-public class BrowserException extends RuntimeException
-{
- public BrowserException( String message, JSONException exception )
- {
- super( message, exception);
- }
-}
http://git-wip-us.apache.org/repos/asf/zest-java/blob/e0e1d7d4/libraries/appbrowser/src/main/java/org/apache/zest/library/appbrowser/Formatter.java
----------------------------------------------------------------------
diff --git a/libraries/appbrowser/src/main/java/org/apache/zest/library/appbrowser/Formatter.java b/libraries/appbrowser/src/main/java/org/apache/zest/library/appbrowser/Formatter.java
deleted file mode 100644
index 19355a7..0000000
--- a/libraries/appbrowser/src/main/java/org/apache/zest/library/appbrowser/Formatter.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * 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.polygene.library.appbrowser;
-
-import org.json.JSONException;
-
-public interface Formatter<NODE, LEAF>
-{
-
- void enter( NODE visited )
- throws JSONException;
-
- void leave( NODE visited )
- throws JSONException;
-
- void visit( LEAF visited )
- throws JSONException;
-}
http://git-wip-us.apache.org/repos/asf/zest-java/blob/e0e1d7d4/libraries/appbrowser/src/main/java/org/apache/zest/library/appbrowser/FormatterFactory.java
----------------------------------------------------------------------
diff --git a/libraries/appbrowser/src/main/java/org/apache/zest/library/appbrowser/FormatterFactory.java b/libraries/appbrowser/src/main/java/org/apache/zest/library/appbrowser/FormatterFactory.java
deleted file mode 100644
index d996e2a..0000000
--- a/libraries/appbrowser/src/main/java/org/apache/zest/library/appbrowser/FormatterFactory.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * 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.polygene.library.appbrowser;
-
-public interface FormatterFactory
-{
-
- Formatter create( String componentType );
-}
http://git-wip-us.apache.org/repos/asf/zest-java/blob/e0e1d7d4/libraries/appbrowser/src/main/java/org/apache/zest/library/appbrowser/json/AbstractJsonFormatter.java
----------------------------------------------------------------------
diff --git a/libraries/appbrowser/src/main/java/org/apache/zest/library/appbrowser/json/AbstractJsonFormatter.java b/libraries/appbrowser/src/main/java/org/apache/zest/library/appbrowser/json/AbstractJsonFormatter.java
deleted file mode 100644
index 7682097..0000000
--- a/libraries/appbrowser/src/main/java/org/apache/zest/library/appbrowser/json/AbstractJsonFormatter.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * 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.polygene.library.appbrowser.json;
-
-import org.json.JSONException;
-import org.json.JSONWriter;
-import org.apache.polygene.library.appbrowser.Formatter;
-
-public abstract class AbstractJsonFormatter<NODE,LEAF>
- implements Formatter<NODE, LEAF>
-{
- private final JSONWriter writer;
-
- public AbstractJsonFormatter( JSONWriter writer )
- {
- this.writer = writer;
- }
-
- protected void field( String name, String value )
- throws JSONException
- {
- writer.key( name ).value(value);
- }
-
- protected void field( String name, boolean value )
- throws JSONException
- {
- writer.key( name ).value(value);
- }
-
- protected void array( String name )
- throws JSONException
- {
- writer.key(name);
- writer.array();
- }
-
- protected void endArray()
- throws JSONException
- {
- writer.endArray();
- }
-
- protected void object()
- throws JSONException
- {
- writer.object();
- }
-
- protected void object(String name)
- throws JSONException
- {
- writer.key(name);
- writer.object();
- }
-
- protected void endObject()
- throws JSONException
- {
- writer.endObject();
- }
-
- protected void value( Object value )
- throws JSONException
- {
- writer.value( value );
- }
-
-}
http://git-wip-us.apache.org/repos/asf/zest-java/blob/e0e1d7d4/libraries/appbrowser/src/main/java/org/apache/zest/library/appbrowser/json/ApplicationModelFormatter.java
----------------------------------------------------------------------
diff --git a/libraries/appbrowser/src/main/java/org/apache/zest/library/appbrowser/json/ApplicationModelFormatter.java b/libraries/appbrowser/src/main/java/org/apache/zest/library/appbrowser/json/ApplicationModelFormatter.java
deleted file mode 100644
index c862021..0000000
--- a/libraries/appbrowser/src/main/java/org/apache/zest/library/appbrowser/json/ApplicationModelFormatter.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * 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.polygene.library.appbrowser.json;
-
-import org.json.JSONException;
-import org.json.JSONWriter;
-import org.apache.polygene.api.structure.ApplicationDescriptor;
-import org.apache.polygene.library.appbrowser.Formatter;
-
-public class ApplicationModelFormatter extends AbstractJsonFormatter<ApplicationDescriptor, Void>
-{
-
- public ApplicationModelFormatter( JSONWriter writer )
- {
- super( writer );
- }
-
- @Override
- public void enter( ApplicationDescriptor visited )
- throws JSONException
- {
- object();
- field( "name", visited.name() );
- array("layers");
- }
-
- @Override
- public void leave( ApplicationDescriptor visited )
- throws JSONException
- {
- endArray();
- endObject();
- }
-
- @Override
- public void visit( Void visited )
- throws JSONException
- {
- }
-}
http://git-wip-us.apache.org/repos/asf/zest-java/blob/e0e1d7d4/libraries/appbrowser/src/main/java/org/apache/zest/library/appbrowser/json/ArrayFormatter.java
----------------------------------------------------------------------
diff --git a/libraries/appbrowser/src/main/java/org/apache/zest/library/appbrowser/json/ArrayFormatter.java b/libraries/appbrowser/src/main/java/org/apache/zest/library/appbrowser/json/ArrayFormatter.java
deleted file mode 100644
index 6c315d0..0000000
--- a/libraries/appbrowser/src/main/java/org/apache/zest/library/appbrowser/json/ArrayFormatter.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * 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.polygene.library.appbrowser.json;
-
-import org.json.JSONException;
-import org.json.JSONWriter;
-import org.apache.polygene.library.appbrowser.Formatter;
-
-public class ArrayFormatter extends AbstractJsonFormatter
- implements Formatter
-{
- private final String name;
-
- public ArrayFormatter( JSONWriter writer, String name )
- {
- super(writer);
- this.name = name;
- }
-
- @Override
- public void enter( Object visited )
- throws JSONException
- {
- array(name);
- }
-
- @Override
- public void leave( Object visited )
- throws JSONException
- {
- endArray();
- }
-
- @Override
- public void visit( Object visited )
- throws JSONException
- {
-
- }
-}
http://git-wip-us.apache.org/repos/asf/zest-java/blob/e0e1d7d4/libraries/appbrowser/src/main/java/org/apache/zest/library/appbrowser/json/CompositeMethodModelFormatter.java
----------------------------------------------------------------------
diff --git a/libraries/appbrowser/src/main/java/org/apache/zest/library/appbrowser/json/CompositeMethodModelFormatter.java b/libraries/appbrowser/src/main/java/org/apache/zest/library/appbrowser/json/CompositeMethodModelFormatter.java
deleted file mode 100644
index e4328ea..0000000
--- a/libraries/appbrowser/src/main/java/org/apache/zest/library/appbrowser/json/CompositeMethodModelFormatter.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * 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.polygene.library.appbrowser.json;
-
-import org.json.JSONException;
-import org.json.JSONWriter;
-import org.apache.polygene.api.composite.MethodDescriptor;
-import org.apache.polygene.library.appbrowser.Formatter;
-
-public class CompositeMethodModelFormatter extends AbstractJsonFormatter<MethodDescriptor, Void>
-{
- public CompositeMethodModelFormatter( JSONWriter writer )
- {
- super(writer);
- }
-
- @Override
- public void enter( MethodDescriptor visited )
- throws JSONException
- {
- object();
- field("method", visited.method().getName() );
- }
-
- @Override
- public void leave( MethodDescriptor visited )
- throws JSONException
- {
- endObject();
- }
-
- @Override
- public void visit( Void visited )
- throws JSONException
- {
-
- }
-}
http://git-wip-us.apache.org/repos/asf/zest-java/blob/e0e1d7d4/libraries/appbrowser/src/main/java/org/apache/zest/library/appbrowser/json/ConstructorModelFormatter.java
----------------------------------------------------------------------
diff --git a/libraries/appbrowser/src/main/java/org/apache/zest/library/appbrowser/json/ConstructorModelFormatter.java b/libraries/appbrowser/src/main/java/org/apache/zest/library/appbrowser/json/ConstructorModelFormatter.java
deleted file mode 100644
index 8f864dd..0000000
--- a/libraries/appbrowser/src/main/java/org/apache/zest/library/appbrowser/json/ConstructorModelFormatter.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * 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.polygene.library.appbrowser.json;
-
-import org.json.JSONException;
-import org.json.JSONWriter;
-import org.apache.polygene.api.composite.ConstructorDescriptor;
-
-public class ConstructorModelFormatter extends AbstractJsonFormatter<ConstructorDescriptor,Void>
-{
- public ConstructorModelFormatter( JSONWriter writer )
- {
- super( writer );
- }
-
- @Override
- public void enter( ConstructorDescriptor visited )
- throws JSONException
- {
- object();
- field( "name", visited.constructor().getName() );
- }
-
- @Override
- public void leave( ConstructorDescriptor visited )
- throws JSONException
- {
- endObject();
- }
-
- @Override
- public void visit( Void visited )
- throws JSONException
- {
-
- }
-}
http://git-wip-us.apache.org/repos/asf/zest-java/blob/e0e1d7d4/libraries/appbrowser/src/main/java/org/apache/zest/library/appbrowser/json/EntityModelFormatter.java
----------------------------------------------------------------------
diff --git a/libraries/appbrowser/src/main/java/org/apache/zest/library/appbrowser/json/EntityModelFormatter.java b/libraries/appbrowser/src/main/java/org/apache/zest/library/appbrowser/json/EntityModelFormatter.java
deleted file mode 100644
index 70d0d9e..0000000
--- a/libraries/appbrowser/src/main/java/org/apache/zest/library/appbrowser/json/EntityModelFormatter.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * 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.polygene.library.appbrowser.json;
-
-import org.json.JSONException;
-import org.json.JSONWriter;
-import org.apache.polygene.api.entity.EntityDescriptor;
-
-public class EntityModelFormatter extends AbstractJsonFormatter<EntityDescriptor, Void>
-{
-
- public EntityModelFormatter( JSONWriter writer )
- {
- super( writer );
- }
-
- @Override
- public void enter( EntityDescriptor visited )
- throws JSONException
- {
- object();
- field( "type", visited.primaryType().getName() );
- field( "visibility", visited.visibility().toString() );
- field( "queryable", visited.queryable() );
- }
-
- @Override
- public void leave( EntityDescriptor visited )
- throws JSONException
- {
- endObject();
- }
-
- @Override
- public void visit( Void visited )
- throws JSONException
- {
-
- }
-}
http://git-wip-us.apache.org/repos/asf/zest-java/blob/e0e1d7d4/libraries/appbrowser/src/main/java/org/apache/zest/library/appbrowser/json/InjectedFieldModelFormatter.java
----------------------------------------------------------------------
diff --git a/libraries/appbrowser/src/main/java/org/apache/zest/library/appbrowser/json/InjectedFieldModelFormatter.java b/libraries/appbrowser/src/main/java/org/apache/zest/library/appbrowser/json/InjectedFieldModelFormatter.java
deleted file mode 100644
index 75a216e..0000000
--- a/libraries/appbrowser/src/main/java/org/apache/zest/library/appbrowser/json/InjectedFieldModelFormatter.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * 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.polygene.library.appbrowser.json;
-
-import org.json.JSONException;
-import org.json.JSONWriter;
-import org.apache.polygene.api.composite.DependencyDescriptor;
-import org.apache.polygene.api.composite.InjectedFieldDescriptor;
-import org.apache.polygene.library.appbrowser.Formatter;
-
-public class InjectedFieldModelFormatter extends AbstractJsonFormatter<InjectedFieldDescriptor, DependencyDescriptor>
-{
- public InjectedFieldModelFormatter( JSONWriter writer )
- {
- super(writer);
- }
-
- @Override
- public void enter( InjectedFieldDescriptor visited )
- throws JSONException
- {
- object();
- field("name", visited.field().getName() );
-// field( "optional", visited.optional() );
-// field( "injectedclass", visited.injectedClass().getName() );
-// field( "injectedannotation", visited.injectionAnnotation().toString() );
-// field( "injectedtype", visited.injectionType().toString() );
-// field( "rawinjectectiontype", visited.rawInjectionType().getName() );
- }
-
- @Override
- public void leave( InjectedFieldDescriptor visited )
- throws JSONException
- {
- endObject();
- }
-
- @Override
- public void visit( DependencyDescriptor visited )
- throws JSONException
- {
-
- }
-}
http://git-wip-us.apache.org/repos/asf/zest-java/blob/e0e1d7d4/libraries/appbrowser/src/main/java/org/apache/zest/library/appbrowser/json/JsonFormatterFactory.java
----------------------------------------------------------------------
diff --git a/libraries/appbrowser/src/main/java/org/apache/zest/library/appbrowser/json/JsonFormatterFactory.java b/libraries/appbrowser/src/main/java/org/apache/zest/library/appbrowser/json/JsonFormatterFactory.java
deleted file mode 100644
index 5c7748a..0000000
--- a/libraries/appbrowser/src/main/java/org/apache/zest/library/appbrowser/json/JsonFormatterFactory.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * 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.polygene.library.appbrowser.json;
-
-import java.io.Writer;
-import org.json.JSONWriter;
-import org.apache.polygene.library.appbrowser.Formatter;
-import org.apache.polygene.library.appbrowser.FormatterFactory;
-
-public class JsonFormatterFactory
- implements FormatterFactory
-{
- private static final NullFormatter NULL_FORMATTER = new NullFormatter();
- private final JSONWriter writer;
-
- public JsonFormatterFactory(Writer destination)
- {
- writer = new JSONWriter( destination );
- }
-
- @Override
- public Formatter create( String componentType )
- {
- if( componentType.equalsIgnoreCase( "ApplicationModel" ))
- return new ApplicationModelFormatter( writer );
- if( componentType.equalsIgnoreCase( "LayerModel" ))
- return new LayerModelFormatter( writer );
- if( componentType.equalsIgnoreCase( "ModuleModel" ))
- return new ModuleModelFormatter( writer );
- if( componentType.equalsIgnoreCase( "TransientsModel" ))
- return new ArrayFormatter(writer, "transients");
- if( componentType.equalsIgnoreCase( "EntitiesModel" ))
- return new ArrayFormatter(writer, "entities");
- if( componentType.equalsIgnoreCase( "ServicesModel" ))
- return new ArrayFormatter(writer, "services");
- if( componentType.equalsIgnoreCase( "ServiceModel" ))
- return new ServiceModelFormatter
- (writer);
- if( componentType.equalsIgnoreCase( "ValuesModel" ))
- return new ArrayFormatter(writer, "values");
- if( componentType.equalsIgnoreCase( "ValueModel" ))
- return new ValueModelFormatter(writer);
- if( componentType.equalsIgnoreCase( "ValueStateModel" ))
- return NULL_FORMATTER;
- if( componentType.equalsIgnoreCase( "EntityModel" ))
- return new EntityModelFormatter( writer );
- if( componentType.equalsIgnoreCase( "CompositeMethodsModel" ))
- return new ArrayFormatter( writer, "methods" );
- if( componentType.equalsIgnoreCase( "CompositeMethodModel" ))
- return new CompositeMethodModelFormatter(writer);
- if( componentType.equalsIgnoreCase( "ObjectsModel" ))
- return new ArrayFormatter( writer, "objects" );
- if( componentType.equalsIgnoreCase( "ConstraintsModel" ))
- return new ArrayFormatter( writer, "constraints" );
- if( componentType.equalsIgnoreCase( "SideEffectsModel" ))
- return new ArrayFormatter( writer, "sideeffects" );
- if( componentType.equalsIgnoreCase( "ConcernsModel" ))
- return new ArrayFormatter( writer, "concerns" );
- if( componentType.equalsIgnoreCase( "PropertiesModel" ))
- return new ArrayFormatter( writer, "properties" );
- if( componentType.equalsIgnoreCase( "ConstructorsModel" ))
- return new ArrayFormatter( writer, "constructors" );
- if( componentType.equalsIgnoreCase( "ConstructorModel" ))
- return new ConstructorModelFormatter( writer );
- if( componentType.equalsIgnoreCase( "EntityMixinsModel" ))
- return new ArrayFormatter( writer, "mixins" );
- if( componentType.equalsIgnoreCase( "MixinsModel" ))
- return new ArrayFormatter( writer, "mixins" );
- if( componentType.equalsIgnoreCase( "MixinModel" ))
- return new MixinModelFormatter( writer );
- if( componentType.equalsIgnoreCase( "AssociationsModel" ))
- return new ArrayFormatter( writer, "associations" );
- if( componentType.equalsIgnoreCase( "ManyAssociationsModel" ))
- return new ArrayFormatter( writer, "manyassociations" );
- if( componentType.equalsIgnoreCase( "InjectedFieldsModel" ))
- return new ArrayFormatter( writer, "injectedfields" );
- if( componentType.equalsIgnoreCase( "InjectedFieldModel" ))
- return new InjectedFieldModelFormatter(writer);
- if( componentType.equalsIgnoreCase( "InjectedMethodsModel" ))
- return new ArrayFormatter( writer, "injectedmethods" );
- if( componentType.equalsIgnoreCase( "InjectedParametersModel" ))
- return new ArrayFormatter( writer, "injectedparameters" );
- if( componentType.equalsIgnoreCase( "EntityStateModel" ))
- return NULL_FORMATTER;
- if( componentType.equalsIgnoreCase( "ObjectModel" ))
- return new ObjectModelFormatter(writer);
- if( componentType.equalsIgnoreCase( "ImportedServicesModel" ))
- return NULL_FORMATTER;
- return null;
- }
-}
http://git-wip-us.apache.org/repos/asf/zest-java/blob/e0e1d7d4/libraries/appbrowser/src/main/java/org/apache/zest/library/appbrowser/json/LayerModelFormatter.java
----------------------------------------------------------------------
diff --git a/libraries/appbrowser/src/main/java/org/apache/zest/library/appbrowser/json/LayerModelFormatter.java b/libraries/appbrowser/src/main/java/org/apache/zest/library/appbrowser/json/LayerModelFormatter.java
deleted file mode 100644
index f55c475..0000000
--- a/libraries/appbrowser/src/main/java/org/apache/zest/library/appbrowser/json/LayerModelFormatter.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * 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.polygene.library.appbrowser.json;
-
-import org.json.JSONException;
-import org.json.JSONWriter;
-import org.apache.polygene.api.structure.LayerDescriptor;
-import org.apache.polygene.api.structure.UsedLayersDescriptor;
-
-public class LayerModelFormatter extends AbstractJsonFormatter<LayerDescriptor, Void>
-{
- public LayerModelFormatter( JSONWriter writer )
- {
- super( writer );
- }
-
- @Override
- public void enter( LayerDescriptor visited )
- throws JSONException
- {
- object();
- field( "name", visited.name() );
- array( "uses" );
- UsedLayersDescriptor usedLayersDescriptor = visited.usedLayers();
- for( LayerDescriptor used : usedLayersDescriptor.layers() )
- {
- value( used.name() );
- }
- endArray();
- array( "modules" );
- }
-
- @Override
- public void leave( LayerDescriptor visited )
- throws JSONException
- {
- endArray();
- endObject();
- }
-
- @Override
- public void visit( Void visited )
- throws JSONException
- {
- }
-}
http://git-wip-us.apache.org/repos/asf/zest-java/blob/e0e1d7d4/libraries/appbrowser/src/main/java/org/apache/zest/library/appbrowser/json/MixinModelFormatter.java
----------------------------------------------------------------------
diff --git a/libraries/appbrowser/src/main/java/org/apache/zest/library/appbrowser/json/MixinModelFormatter.java b/libraries/appbrowser/src/main/java/org/apache/zest/library/appbrowser/json/MixinModelFormatter.java
deleted file mode 100644
index 3254e58..0000000
--- a/libraries/appbrowser/src/main/java/org/apache/zest/library/appbrowser/json/MixinModelFormatter.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * 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.polygene.library.appbrowser.json;
-
-import org.json.JSONException;
-import org.json.JSONWriter;
-import org.apache.polygene.api.mixin.MixinDescriptor;
-
-public class MixinModelFormatter extends AbstractJsonFormatter<MixinDescriptor, Void>
-{
- public MixinModelFormatter( JSONWriter writer )
- {
- super( writer );
- }
-
- @Override
- public void enter( MixinDescriptor visited )
- throws JSONException
- {
- object();
- field( "mixin", visited.mixinClass().getName() );
- }
-
- @Override
- public void leave( MixinDescriptor visited )
- throws JSONException
- {
- endObject();
- }
-
- @Override
- public void visit( Void visited )
- throws JSONException
- {
-
- }
-}
http://git-wip-us.apache.org/repos/asf/zest-java/blob/e0e1d7d4/libraries/appbrowser/src/main/java/org/apache/zest/library/appbrowser/json/ModuleModelFormatter.java
----------------------------------------------------------------------
diff --git a/libraries/appbrowser/src/main/java/org/apache/zest/library/appbrowser/json/ModuleModelFormatter.java b/libraries/appbrowser/src/main/java/org/apache/zest/library/appbrowser/json/ModuleModelFormatter.java
deleted file mode 100644
index 1ea5c34..0000000
--- a/libraries/appbrowser/src/main/java/org/apache/zest/library/appbrowser/json/ModuleModelFormatter.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * 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.polygene.library.appbrowser.json;
-
-import org.json.JSONException;
-import org.json.JSONWriter;
-import org.apache.polygene.api.structure.ModuleDescriptor;
-import org.apache.polygene.library.appbrowser.Formatter;
-
-public class ModuleModelFormatter extends AbstractJsonFormatter<ModuleDescriptor, Void>
-{
-
- public ModuleModelFormatter( JSONWriter writer )
- {
- super( writer );
- }
-
- @Override
- public void enter( ModuleDescriptor visited )
- throws JSONException
- {
- object();
- field( "name", visited.name() );
- }
-
- @Override
- public void leave( ModuleDescriptor visited )
- throws JSONException
- {
- endObject();
- }
-
- @Override
- public void visit( Void visited )
- throws JSONException
- {
- }
-}
http://git-wip-us.apache.org/repos/asf/zest-java/blob/e0e1d7d4/libraries/appbrowser/src/main/java/org/apache/zest/library/appbrowser/json/NullFormatter.java
----------------------------------------------------------------------
diff --git a/libraries/appbrowser/src/main/java/org/apache/zest/library/appbrowser/json/NullFormatter.java b/libraries/appbrowser/src/main/java/org/apache/zest/library/appbrowser/json/NullFormatter.java
deleted file mode 100644
index 6cb3e59..0000000
--- a/libraries/appbrowser/src/main/java/org/apache/zest/library/appbrowser/json/NullFormatter.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * 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.polygene.library.appbrowser.json;
-
-import org.json.JSONException;
-import org.json.JSONWriter;
-import org.apache.polygene.library.appbrowser.Formatter;
-
-public class NullFormatter
- implements Formatter<Object, Object>
-{
- @Override
- public void enter( Object visited )
- throws JSONException
- {
-
- }
-
- @Override
- public void leave( Object visited )
- throws JSONException
- {
-
- }
-
- @Override
- public void visit( Object visited )
- throws JSONException
- {
-
- }
-}
http://git-wip-us.apache.org/repos/asf/zest-java/blob/e0e1d7d4/libraries/appbrowser/src/main/java/org/apache/zest/library/appbrowser/json/ObjectModelFormatter.java
----------------------------------------------------------------------
diff --git a/libraries/appbrowser/src/main/java/org/apache/zest/library/appbrowser/json/ObjectModelFormatter.java b/libraries/appbrowser/src/main/java/org/apache/zest/library/appbrowser/json/ObjectModelFormatter.java
deleted file mode 100644
index 959edad..0000000
--- a/libraries/appbrowser/src/main/java/org/apache/zest/library/appbrowser/json/ObjectModelFormatter.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * 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.polygene.library.appbrowser.json;
-
-import org.json.JSONException;
-import org.json.JSONWriter;
-import org.apache.polygene.api.object.ObjectDescriptor;
-
-public class ObjectModelFormatter extends AbstractJsonFormatter<ObjectDescriptor, Void>
-{
- public ObjectModelFormatter( JSONWriter writer )
- {
- super(writer);
- }
-
- @Override
- public void enter( ObjectDescriptor visited )
- throws JSONException
- {
- object();
- field( "visibility", visited.visibility().toString());
- }
-
- @Override
- public void leave( ObjectDescriptor visited )
- throws JSONException
- {
- endObject();
- }
-
- @Override
- public void visit( Void visited )
- throws JSONException
- {
-
- }
-}
http://git-wip-us.apache.org/repos/asf/zest-java/blob/e0e1d7d4/libraries/appbrowser/src/main/java/org/apache/zest/library/appbrowser/json/ServiceModelFormatter.java
----------------------------------------------------------------------
diff --git a/libraries/appbrowser/src/main/java/org/apache/zest/library/appbrowser/json/ServiceModelFormatter.java b/libraries/appbrowser/src/main/java/org/apache/zest/library/appbrowser/json/ServiceModelFormatter.java
deleted file mode 100644
index 97a14e9..0000000
--- a/libraries/appbrowser/src/main/java/org/apache/zest/library/appbrowser/json/ServiceModelFormatter.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * 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.polygene.library.appbrowser.json;
-
-import org.json.JSONException;
-import org.json.JSONWriter;
-import org.apache.polygene.api.service.ServiceDescriptor;
-
-public class ServiceModelFormatter extends AbstractJsonFormatter<ServiceDescriptor, Void>
-{
- public ServiceModelFormatter( JSONWriter writer )
- {
- super( writer );
- }
-
- @Override
- public void enter( ServiceDescriptor visited )
- throws JSONException
- {
- object();
- field( "identity", visited.identity() );
- field( "type", visited.primaryType().getName() );
- field( "visibility", visited.visibility().toString() );
- Class<Object> config = visited.configurationType();
- if( config != null )
- {
- field( "configuration", config.getName() );
- }
- field( "instantiateOnStartup", visited.isInstantiateOnStartup() );
- }
-
- @Override
- public void leave( ServiceDescriptor visited )
- throws JSONException
- {
- endObject();
- }
-
- @Override
- public void visit( Void visited )
- throws JSONException
- {
-
- }
-}
http://git-wip-us.apache.org/repos/asf/zest-java/blob/e0e1d7d4/libraries/appbrowser/src/main/java/org/apache/zest/library/appbrowser/json/ValueModelFormatter.java
----------------------------------------------------------------------
diff --git a/libraries/appbrowser/src/main/java/org/apache/zest/library/appbrowser/json/ValueModelFormatter.java b/libraries/appbrowser/src/main/java/org/apache/zest/library/appbrowser/json/ValueModelFormatter.java
deleted file mode 100644
index 4d19f4f..0000000
--- a/libraries/appbrowser/src/main/java/org/apache/zest/library/appbrowser/json/ValueModelFormatter.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * 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.polygene.library.appbrowser.json;
-
-import org.json.JSONException;
-import org.json.JSONWriter;
-import org.apache.polygene.api.value.ValueDescriptor;
-import org.apache.polygene.library.appbrowser.Formatter;
-
-public class ValueModelFormatter extends AbstractJsonFormatter<ValueDescriptor,Void>
-{
- public ValueModelFormatter( JSONWriter writer )
- {
- super(writer);
- }
-
- @Override
- public void enter( ValueDescriptor visited )
- throws JSONException
- {
- object();
- field( "type", visited.valueType().mainType().getName() );
- field( "visibility", visited.visibility().toString() );
- }
-
- @Override
- public void leave( ValueDescriptor visited )
- throws JSONException
- {
- endObject();
- }
-
- @Override
- public void visit( Void visited )
- throws JSONException
- {
-
- }
-}
http://git-wip-us.apache.org/repos/asf/zest-java/blob/e0e1d7d4/libraries/appbrowser/src/test/java/org/apache/polygene/library/appbrowser/AppBrowserTest.java
----------------------------------------------------------------------
diff --git a/libraries/appbrowser/src/test/java/org/apache/polygene/library/appbrowser/AppBrowserTest.java b/libraries/appbrowser/src/test/java/org/apache/polygene/library/appbrowser/AppBrowserTest.java
new file mode 100644
index 0000000..4a4ffc2
--- /dev/null
+++ b/libraries/appbrowser/src/test/java/org/apache/polygene/library/appbrowser/AppBrowserTest.java
@@ -0,0 +1,167 @@
+/*
+ * 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.polygene.library.appbrowser;
+
+import java.io.StringWriter;
+import java.io.Writer;
+import org.junit.Test;
+import org.apache.polygene.api.association.Association;
+import org.apache.polygene.api.association.ManyAssociation;
+import org.apache.polygene.api.common.Optional;
+import org.apache.polygene.api.concern.ConcernOf;
+import org.apache.polygene.api.concern.Concerns;
+import org.apache.polygene.api.identity.HasIdentity;
+import org.apache.polygene.api.injection.scope.Service;
+import org.apache.polygene.api.injection.scope.This;
+import org.apache.polygene.api.mixin.Mixins;
+import org.apache.polygene.api.property.Property;
+import org.apache.polygene.api.value.ValueSerialization;
+import org.apache.polygene.bootstrap.AssemblyException;
+import org.apache.polygene.bootstrap.ModuleAssembly;
+import org.apache.polygene.entitystore.memory.MemoryEntityStoreService;
+import org.apache.polygene.library.appbrowser.json.JsonFormatterFactory;
+import org.apache.polygene.test.AbstractPolygeneTest;
+
+public class AppBrowserTest extends AbstractPolygeneTest
+{
+ @Override
+ public void assemble( ModuleAssembly module )
+ throws AssemblyException
+ {
+ module.entities( Person.class );
+ module.values( Age.class );
+ module.services( MemoryEntityStoreService.class );
+ module.importedServices( ValueSerialization.class );
+ }
+
+ @Test
+ public void testBrowser()
+ throws Exception
+ {
+ Writer output = new StringWriter();
+ FormatterFactory jsonFactory = new JsonFormatterFactory( output );
+ Browser browser = new Browser( applicationModel, jsonFactory );
+ browser.toJson();
+ }
+
+ @Mixins( Person.Mixin.class )
+ @Concerns( Person.AgeLimitConcern.class )
+ public interface Person extends HasIdentity
+ {
+ String name();
+
+ int yearsOld();
+
+ interface State
+ {
+ Property<String> name();
+
+ Property<Age> age();
+
+ @Optional
+ Association<Person> spouse();
+
+ ManyAssociation<Person> children();
+ }
+
+ abstract class Mixin
+ implements Person
+ {
+
+ @This
+ private State state;
+
+ @Override
+ public String name()
+ {
+ return state.name().get();
+ }
+
+ @Override
+ public int yearsOld()
+ {
+ return state.age().get().numberOfYearsOld();
+ }
+ }
+
+ abstract class AgeLimitConcern extends ConcernOf<Person>
+ implements Person
+ {
+ @This
+ private Person me;
+ @Service
+ private AgeCheckService ageCheck;
+
+ @Override
+ public int yearsOld()
+ {
+ int years = next.yearsOld();
+ if( ageCheck.checkAge( identity(), years ))
+ throw new DeathException( "Person is dead.");
+ return 0;
+ }
+ }
+ }
+
+ @Mixins( Age.AgeMixin.class )
+ public interface Age
+ {
+ Property<Integer> birthYear();
+
+ int numberOfYearsOld();
+
+ abstract class AgeMixin
+ implements Age
+ {
+
+ @Override
+ public int numberOfYearsOld()
+ {
+ return DateTime.now().getYearOfEra() - birthYear().get();
+ }
+ }
+ }
+
+ public static class DeathException extends RuntimeException
+ {
+ public DeathException( String message )
+ {
+ super( message );
+ }
+ }
+
+ @Mixins(AgeCheckService.AgeCheckerMixin.class)
+ public interface AgeCheckService
+ {
+
+ boolean checkAge( Property<Identity> identity, int years );
+
+ class AgeCheckerMixin
+ implements AgeCheckService
+ {
+
+ @Override
+ public boolean checkAge( Property<Identity> identity, int years )
+ {
+ double probabiility = years/(Math.random()*120+1);
+ return probabiility < 0.9;
+ }
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/zest-java/blob/e0e1d7d4/libraries/appbrowser/src/test/java/org/apache/zest/library/appbrowser/AppBrowserTest.java
----------------------------------------------------------------------
diff --git a/libraries/appbrowser/src/test/java/org/apache/zest/library/appbrowser/AppBrowserTest.java b/libraries/appbrowser/src/test/java/org/apache/zest/library/appbrowser/AppBrowserTest.java
deleted file mode 100644
index 4a4ffc2..0000000
--- a/libraries/appbrowser/src/test/java/org/apache/zest/library/appbrowser/AppBrowserTest.java
+++ /dev/null
@@ -1,167 +0,0 @@
-/*
- * 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.polygene.library.appbrowser;
-
-import java.io.StringWriter;
-import java.io.Writer;
-import org.junit.Test;
-import org.apache.polygene.api.association.Association;
-import org.apache.polygene.api.association.ManyAssociation;
-import org.apache.polygene.api.common.Optional;
-import org.apache.polygene.api.concern.ConcernOf;
-import org.apache.polygene.api.concern.Concerns;
-import org.apache.polygene.api.identity.HasIdentity;
-import org.apache.polygene.api.injection.scope.Service;
-import org.apache.polygene.api.injection.scope.This;
-import org.apache.polygene.api.mixin.Mixins;
-import org.apache.polygene.api.property.Property;
-import org.apache.polygene.api.value.ValueSerialization;
-import org.apache.polygene.bootstrap.AssemblyException;
-import org.apache.polygene.bootstrap.ModuleAssembly;
-import org.apache.polygene.entitystore.memory.MemoryEntityStoreService;
-import org.apache.polygene.library.appbrowser.json.JsonFormatterFactory;
-import org.apache.polygene.test.AbstractPolygeneTest;
-
-public class AppBrowserTest extends AbstractPolygeneTest
-{
- @Override
- public void assemble( ModuleAssembly module )
- throws AssemblyException
- {
- module.entities( Person.class );
- module.values( Age.class );
- module.services( MemoryEntityStoreService.class );
- module.importedServices( ValueSerialization.class );
- }
-
- @Test
- public void testBrowser()
- throws Exception
- {
- Writer output = new StringWriter();
- FormatterFactory jsonFactory = new JsonFormatterFactory( output );
- Browser browser = new Browser( applicationModel, jsonFactory );
- browser.toJson();
- }
-
- @Mixins( Person.Mixin.class )
- @Concerns( Person.AgeLimitConcern.class )
- public interface Person extends HasIdentity
- {
- String name();
-
- int yearsOld();
-
- interface State
- {
- Property<String> name();
-
- Property<Age> age();
-
- @Optional
- Association<Person> spouse();
-
- ManyAssociation<Person> children();
- }
-
- abstract class Mixin
- implements Person
- {
-
- @This
- private State state;
-
- @Override
- public String name()
- {
- return state.name().get();
- }
-
- @Override
- public int yearsOld()
- {
- return state.age().get().numberOfYearsOld();
- }
- }
-
- abstract class AgeLimitConcern extends ConcernOf<Person>
- implements Person
- {
- @This
- private Person me;
- @Service
- private AgeCheckService ageCheck;
-
- @Override
- public int yearsOld()
- {
- int years = next.yearsOld();
- if( ageCheck.checkAge( identity(), years ))
- throw new DeathException( "Person is dead.");
- return 0;
- }
- }
- }
-
- @Mixins( Age.AgeMixin.class )
- public interface Age
- {
- Property<Integer> birthYear();
-
- int numberOfYearsOld();
-
- abstract class AgeMixin
- implements Age
- {
-
- @Override
- public int numberOfYearsOld()
- {
- return DateTime.now().getYearOfEra() - birthYear().get();
- }
- }
- }
-
- public static class DeathException extends RuntimeException
- {
- public DeathException( String message )
- {
- super( message );
- }
- }
-
- @Mixins(AgeCheckService.AgeCheckerMixin.class)
- public interface AgeCheckService
- {
-
- boolean checkAge( Property<Identity> identity, int years );
-
- class AgeCheckerMixin
- implements AgeCheckService
- {
-
- @Override
- public boolean checkAge( Property<Identity> identity, int years )
- {
- double probabiility = years/(Math.random()*120+1);
- return probabiility < 0.9;
- }
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/zest-java/blob/e0e1d7d4/libraries/http/src/vhost-test/java/org/apache/polygene/library/http/VirtualHostJettyServiceTest.java
----------------------------------------------------------------------
diff --git a/libraries/http/src/vhost-test/java/org/apache/polygene/library/http/VirtualHostJettyServiceTest.java b/libraries/http/src/vhost-test/java/org/apache/polygene/library/http/VirtualHostJettyServiceTest.java
new file mode 100644
index 0000000..88afe0e
--- /dev/null
+++ b/libraries/http/src/vhost-test/java/org/apache/polygene/library/http/VirtualHostJettyServiceTest.java
@@ -0,0 +1,91 @@
+/*
+ * 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.polygene.library.http;
+
+import java.io.IOException;
+import org.apache.http.client.methods.HttpGet;
+import org.apache.polygene.api.common.Visibility;
+import org.apache.polygene.bootstrap.AssemblyException;
+import org.apache.polygene.bootstrap.ModuleAssembly;
+import org.apache.polygene.library.http.dns.LocalManagedDns;
+import org.apache.polygene.test.EntityTestAssembler;
+import org.apache.polygene.test.util.FreePortFinder;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+import static org.apache.polygene.library.http.Servlets.addServlets;
+import static org.apache.polygene.library.http.Servlets.serve;
+import static org.apache.polygene.test.util.Assume.assumeNoIbmJdk;
+import static org.junit.Assert.assertEquals;
+
+public class VirtualHostJettyServiceTest
+ extends AbstractJettyTest
+{
+ private static final String HOST1 = "host1.http.library.polygene";
+ private static final String HOST2 = "host2.http.library.polygene";
+
+ private final int httpPort = FreePortFinder.findFreePortOnLoopback();
+
+ @BeforeClass
+ public static void beforeVirtualHostsClass()
+ {
+ assumeNoIbmJdk();
+ LocalManagedDns.putName( HOST1, "127.0.0.1" );
+ LocalManagedDns.putName( HOST2, "127.0.0.1" );
+ }
+
+ @AfterClass
+ public static void afterVirtualHostsClass()
+ {
+ LocalManagedDns.removeName( HOST1 );
+ LocalManagedDns.removeName( HOST2 );
+ }
+
+ @Override
+ public void assemble( ModuleAssembly module )
+ throws AssemblyException
+ {
+ ModuleAssembly configModule = module;
+ new EntityTestAssembler().assemble( configModule );
+ new JettyServiceAssembler().withConfig( configModule, Visibility.layer ).assemble( module );
+
+ SecureJettyConfiguration config = configModule.forMixin( SecureJettyConfiguration.class ).declareDefaults();
+ config.hostName().set( "127.0.0.1" );
+ config.port().set( httpPort );
+ config.virtualHosts().set( HOST1 + "," + HOST2 );
+
+ addServlets( serve( "/hello" ).with( HelloWorldServletService.class ) ).to( module );
+ }
+
+ @Test
+ public void test()
+ throws IOException
+ {
+ // Available on HOST1 and HOST2
+ String output = defaultHttpClient.execute( new HttpGet( "http://" + HOST1 + ":" + httpPort + "/hello" ),
+ stringResponseHandler );
+ assertEquals( "Hello World", output );
+
+ output = defaultHttpClient.execute( new HttpGet( "http://" + HOST2 + ":" + httpPort + "/hello" ),
+ stringResponseHandler );
+ assertEquals( "Hello World", output );
+ }
+}
http://git-wip-us.apache.org/repos/asf/zest-java/blob/e0e1d7d4/libraries/http/src/vhost-test/java/org/apache/polygene/library/http/dns/LocalManagedDns.java
----------------------------------------------------------------------
diff --git a/libraries/http/src/vhost-test/java/org/apache/polygene/library/http/dns/LocalManagedDns.java b/libraries/http/src/vhost-test/java/org/apache/polygene/library/http/dns/LocalManagedDns.java
new file mode 100644
index 0000000..065c35a
--- /dev/null
+++ b/libraries/http/src/vhost-test/java/org/apache/polygene/library/http/dns/LocalManagedDns.java
@@ -0,0 +1,125 @@
+/*
+ * 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.polygene.library.http.dns;
+
+import java.net.Inet4Address;
+import java.net.InetAddress;
+import java.net.UnknownHostException;
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+import org.xbill.DNS.spi.DNSJavaNameServiceDescriptor;
+import sun.net.spi.nameservice.NameService;
+
+public class LocalManagedDns
+ implements NameService
+{
+
+ private static final NameService DEFAULT_DNS = new DNSJavaNameServiceDescriptor().createNameService();
+ private static final Map<String, String> NAMES = new ConcurrentHashMap<String, String>();
+
+ public static void clearNames()
+ {
+ NAMES.clear();
+ }
+
+ public static String putName( String name, String ip )
+ {
+ return NAMES.put( name, ip );
+ }
+
+ public static String removeName( String name )
+ {
+ return NAMES.remove( name );
+ }
+
+ public String getHostByAddr( byte[] bytes )
+ throws UnknownHostException
+ {
+ return DEFAULT_DNS.getHostByAddr( bytes );
+ }
+
+ public InetAddress[] lookupAllHostAddr( String name )
+ throws UnknownHostException
+ {
+ String log = "[CDNS] Lookup request";
+ String ip = NAMES.get( name );
+ InetAddress[] result = new InetAddress[ 0 ];
+ if ( ip != null && ip.length() > 0 ) {
+ log += " on managed name (" + name + ")";
+ byte[] ipBytes = ipStringToBytes( ip );
+ result = new InetAddress[]{ Inet4Address.getByAddress( ipBytes ) };
+ } else {
+ log += " on non-managed name (" + name + ")";
+ result = DEFAULT_DNS.lookupAllHostAddr( name );
+ }
+ return result;
+ }
+
+ private static byte[] ipStringToBytes( String ipString )
+ {
+ if ( ipString == null || ipString.length() == 0 ) {
+ return null;
+ }
+
+ int inetAddrSize = 4;
+ int octets;
+ char ch;
+ byte[] dst = new byte[ inetAddrSize ];
+ char[] srcb = ipString.toCharArray();
+ boolean saw_digit = false;
+
+ octets = 0;
+ int i = 0;
+ int cur = 0;
+ while ( i < srcb.length ) {
+ ch = srcb[i++];
+ if ( Character.isDigit( ch ) ) {
+ int sum = dst[cur] * 10 + ( Character.digit( ch, 10 ) & 0xff );
+
+ if ( sum > 255 ) {
+ return null;
+ }
+
+ dst[cur] = ( byte ) ( sum & 0xff );
+ if ( !saw_digit ) {
+ if ( ++octets > inetAddrSize ) {
+ return null;
+ }
+ saw_digit = true;
+ }
+ } else if ( ch == '.' && saw_digit ) {
+ if ( octets == inetAddrSize ) {
+ return null;
+ }
+ cur++;
+ dst[cur] = 0;
+ saw_digit = false;
+ } else {
+ return null;
+ }
+ }
+
+ if ( octets < inetAddrSize ) {
+ return null;
+ }
+ return dst;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/zest-java/blob/e0e1d7d4/libraries/http/src/vhost-test/java/org/apache/polygene/library/http/dns/LocalManagedDnsDescriptor.java
----------------------------------------------------------------------
diff --git a/libraries/http/src/vhost-test/java/org/apache/polygene/library/http/dns/LocalManagedDnsDescriptor.java b/libraries/http/src/vhost-test/java/org/apache/polygene/library/http/dns/LocalManagedDnsDescriptor.java
new file mode 100644
index 0000000..91af739
--- /dev/null
+++ b/libraries/http/src/vhost-test/java/org/apache/polygene/library/http/dns/LocalManagedDnsDescriptor.java
@@ -0,0 +1,48 @@
+/*
+ * 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.polygene.library.http.dns;
+
+import sun.net.spi.nameservice.NameService;
+import sun.net.spi.nameservice.NameServiceDescriptor;
+
+public class LocalManagedDnsDescriptor
+ implements NameServiceDescriptor
+{
+
+ public static final String PROVIDER_NAME = "LocalManagedDns";
+ private static final NameService nameService = new LocalManagedDns();
+
+ public NameService createNameService()
+ throws Exception
+ {
+ return nameService;
+ }
+
+ public String getProviderName()
+ {
+ return PROVIDER_NAME;
+ }
+
+ public String getType()
+ {
+ return "dns";
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/zest-java/blob/e0e1d7d4/libraries/http/src/vhost-test/java/org/apache/zest/library/http/VirtualHostJettyServiceTest.java
----------------------------------------------------------------------
diff --git a/libraries/http/src/vhost-test/java/org/apache/zest/library/http/VirtualHostJettyServiceTest.java b/libraries/http/src/vhost-test/java/org/apache/zest/library/http/VirtualHostJettyServiceTest.java
deleted file mode 100644
index 88afe0e..0000000
--- a/libraries/http/src/vhost-test/java/org/apache/zest/library/http/VirtualHostJettyServiceTest.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * 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.polygene.library.http;
-
-import java.io.IOException;
-import org.apache.http.client.methods.HttpGet;
-import org.apache.polygene.api.common.Visibility;
-import org.apache.polygene.bootstrap.AssemblyException;
-import org.apache.polygene.bootstrap.ModuleAssembly;
-import org.apache.polygene.library.http.dns.LocalManagedDns;
-import org.apache.polygene.test.EntityTestAssembler;
-import org.apache.polygene.test.util.FreePortFinder;
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.junit.Test;
-
-import static org.apache.polygene.library.http.Servlets.addServlets;
-import static org.apache.polygene.library.http.Servlets.serve;
-import static org.apache.polygene.test.util.Assume.assumeNoIbmJdk;
-import static org.junit.Assert.assertEquals;
-
-public class VirtualHostJettyServiceTest
- extends AbstractJettyTest
-{
- private static final String HOST1 = "host1.http.library.polygene";
- private static final String HOST2 = "host2.http.library.polygene";
-
- private final int httpPort = FreePortFinder.findFreePortOnLoopback();
-
- @BeforeClass
- public static void beforeVirtualHostsClass()
- {
- assumeNoIbmJdk();
- LocalManagedDns.putName( HOST1, "127.0.0.1" );
- LocalManagedDns.putName( HOST2, "127.0.0.1" );
- }
-
- @AfterClass
- public static void afterVirtualHostsClass()
- {
- LocalManagedDns.removeName( HOST1 );
- LocalManagedDns.removeName( HOST2 );
- }
-
- @Override
- public void assemble( ModuleAssembly module )
- throws AssemblyException
- {
- ModuleAssembly configModule = module;
- new EntityTestAssembler().assemble( configModule );
- new JettyServiceAssembler().withConfig( configModule, Visibility.layer ).assemble( module );
-
- SecureJettyConfiguration config = configModule.forMixin( SecureJettyConfiguration.class ).declareDefaults();
- config.hostName().set( "127.0.0.1" );
- config.port().set( httpPort );
- config.virtualHosts().set( HOST1 + "," + HOST2 );
-
- addServlets( serve( "/hello" ).with( HelloWorldServletService.class ) ).to( module );
- }
-
- @Test
- public void test()
- throws IOException
- {
- // Available on HOST1 and HOST2
- String output = defaultHttpClient.execute( new HttpGet( "http://" + HOST1 + ":" + httpPort + "/hello" ),
- stringResponseHandler );
- assertEquals( "Hello World", output );
-
- output = defaultHttpClient.execute( new HttpGet( "http://" + HOST2 + ":" + httpPort + "/hello" ),
- stringResponseHandler );
- assertEquals( "Hello World", output );
- }
-}
http://git-wip-us.apache.org/repos/asf/zest-java/blob/e0e1d7d4/libraries/http/src/vhost-test/java/org/apache/zest/library/http/dns/LocalManagedDns.java
----------------------------------------------------------------------
diff --git a/libraries/http/src/vhost-test/java/org/apache/zest/library/http/dns/LocalManagedDns.java b/libraries/http/src/vhost-test/java/org/apache/zest/library/http/dns/LocalManagedDns.java
deleted file mode 100644
index 065c35a..0000000
--- a/libraries/http/src/vhost-test/java/org/apache/zest/library/http/dns/LocalManagedDns.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/*
- * 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.polygene.library.http.dns;
-
-import java.net.Inet4Address;
-import java.net.InetAddress;
-import java.net.UnknownHostException;
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
-import org.xbill.DNS.spi.DNSJavaNameServiceDescriptor;
-import sun.net.spi.nameservice.NameService;
-
-public class LocalManagedDns
- implements NameService
-{
-
- private static final NameService DEFAULT_DNS = new DNSJavaNameServiceDescriptor().createNameService();
- private static final Map<String, String> NAMES = new ConcurrentHashMap<String, String>();
-
- public static void clearNames()
- {
- NAMES.clear();
- }
-
- public static String putName( String name, String ip )
- {
- return NAMES.put( name, ip );
- }
-
- public static String removeName( String name )
- {
- return NAMES.remove( name );
- }
-
- public String getHostByAddr( byte[] bytes )
- throws UnknownHostException
- {
- return DEFAULT_DNS.getHostByAddr( bytes );
- }
-
- public InetAddress[] lookupAllHostAddr( String name )
- throws UnknownHostException
- {
- String log = "[CDNS] Lookup request";
- String ip = NAMES.get( name );
- InetAddress[] result = new InetAddress[ 0 ];
- if ( ip != null && ip.length() > 0 ) {
- log += " on managed name (" + name + ")";
- byte[] ipBytes = ipStringToBytes( ip );
- result = new InetAddress[]{ Inet4Address.getByAddress( ipBytes ) };
- } else {
- log += " on non-managed name (" + name + ")";
- result = DEFAULT_DNS.lookupAllHostAddr( name );
- }
- return result;
- }
-
- private static byte[] ipStringToBytes( String ipString )
- {
- if ( ipString == null || ipString.length() == 0 ) {
- return null;
- }
-
- int inetAddrSize = 4;
- int octets;
- char ch;
- byte[] dst = new byte[ inetAddrSize ];
- char[] srcb = ipString.toCharArray();
- boolean saw_digit = false;
-
- octets = 0;
- int i = 0;
- int cur = 0;
- while ( i < srcb.length ) {
- ch = srcb[i++];
- if ( Character.isDigit( ch ) ) {
- int sum = dst[cur] * 10 + ( Character.digit( ch, 10 ) & 0xff );
-
- if ( sum > 255 ) {
- return null;
- }
-
- dst[cur] = ( byte ) ( sum & 0xff );
- if ( !saw_digit ) {
- if ( ++octets > inetAddrSize ) {
- return null;
- }
- saw_digit = true;
- }
- } else if ( ch == '.' && saw_digit ) {
- if ( octets == inetAddrSize ) {
- return null;
- }
- cur++;
- dst[cur] = 0;
- saw_digit = false;
- } else {
- return null;
- }
- }
-
- if ( octets < inetAddrSize ) {
- return null;
- }
- return dst;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/zest-java/blob/e0e1d7d4/libraries/http/src/vhost-test/java/org/apache/zest/library/http/dns/LocalManagedDnsDescriptor.java
----------------------------------------------------------------------
diff --git a/libraries/http/src/vhost-test/java/org/apache/zest/library/http/dns/LocalManagedDnsDescriptor.java b/libraries/http/src/vhost-test/java/org/apache/zest/library/http/dns/LocalManagedDnsDescriptor.java
deleted file mode 100644
index 91af739..0000000
--- a/libraries/http/src/vhost-test/java/org/apache/zest/library/http/dns/LocalManagedDnsDescriptor.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * 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.polygene.library.http.dns;
-
-import sun.net.spi.nameservice.NameService;
-import sun.net.spi.nameservice.NameServiceDescriptor;
-
-public class LocalManagedDnsDescriptor
- implements NameServiceDescriptor
-{
-
- public static final String PROVIDER_NAME = "LocalManagedDns";
- private static final NameService nameService = new LocalManagedDns();
-
- public NameService createNameService()
- throws Exception
- {
- return nameService;
- }
-
- public String getProviderName()
- {
- return PROVIDER_NAME;
- }
-
- public String getType()
- {
- return "dns";
- }
-
-}
http://git-wip-us.apache.org/repos/asf/zest-java/blob/e0e1d7d4/libraries/http/src/vhost-test/resources/META-INF/services/sun.net.spi.nameservice.NameServiceDescriptor
----------------------------------------------------------------------
diff --git a/libraries/http/src/vhost-test/resources/META-INF/services/sun.net.spi.nameservice.NameServiceDescriptor b/libraries/http/src/vhost-test/resources/META-INF/services/sun.net.spi.nameservice.NameServiceDescriptor
index 97d19d9..093db66 100644
--- a/libraries/http/src/vhost-test/resources/META-INF/services/sun.net.spi.nameservice.NameServiceDescriptor
+++ b/libraries/http/src/vhost-test/resources/META-INF/services/sun.net.spi.nameservice.NameServiceDescriptor
@@ -14,4 +14,4 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-polygene.library.http.dns.LocalManagedDnsDescriptor
+org.apache.polygene.library.http.dns.LocalManagedDnsDescriptor