incubator-imperius-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From jnee...@apache.org
Subject svn commit: r608733 - in /incubator/imperius/trunk/modules/javaspl-samples/src/main/java/org/apache/imperius/javaspl/samples: simplepolicies/ userdefinedmethods/ windowscomputersystem/
Date Fri, 04 Jan 2008 03:48:46 GMT
Author: jneeraj
Date: Thu Jan  3 19:48:43 2008
New Revision: 608733

URL: http://svn.apache.org/viewvc?rev=608733&view=rev
Log:
moved  filesto javaspl-samples

Added:
    incubator/imperius/trunk/modules/javaspl-samples/src/main/java/org/apache/imperius/javaspl/samples/simplepolicies/
    incubator/imperius/trunk/modules/javaspl-samples/src/main/java/org/apache/imperius/javaspl/samples/simplepolicies/AnotherClass.java
    incubator/imperius/trunk/modules/javaspl-samples/src/main/java/org/apache/imperius/javaspl/samples/simplepolicies/EmbeddedClass1.java
    incubator/imperius/trunk/modules/javaspl-samples/src/main/java/org/apache/imperius/javaspl/samples/simplepolicies/RunSamples.java
  (with props)
    incubator/imperius/trunk/modules/javaspl-samples/src/main/java/org/apache/imperius/javaspl/samples/simplepolicies/SampleClass.java
    incubator/imperius/trunk/modules/javaspl-samples/src/main/java/org/apache/imperius/javaspl/samples/simplepolicies/TestElement.java
    incubator/imperius/trunk/modules/javaspl-samples/src/main/java/org/apache/imperius/javaspl/samples/userdefinedmethods/
    incubator/imperius/trunk/modules/javaspl-samples/src/main/java/org/apache/imperius/javaspl/samples/userdefinedmethods/CommandLineExecution.java
    incubator/imperius/trunk/modules/javaspl-samples/src/main/java/org/apache/imperius/javaspl/samples/userdefinedmethods/SendMail.java
    incubator/imperius/trunk/modules/javaspl-samples/src/main/java/org/apache/imperius/javaspl/samples/windowscomputersystem/
    incubator/imperius/trunk/modules/javaspl-samples/src/main/java/org/apache/imperius/javaspl/samples/windowscomputersystem/WindowsComputerSystem.java
  (with props)
    incubator/imperius/trunk/modules/javaspl-samples/src/main/java/org/apache/imperius/javaspl/samples/windowscomputersystem/WindowsSystemManager.java
  (with props)

Added: incubator/imperius/trunk/modules/javaspl-samples/src/main/java/org/apache/imperius/javaspl/samples/simplepolicies/AnotherClass.java
URL: http://svn.apache.org/viewvc/incubator/imperius/trunk/modules/javaspl-samples/src/main/java/org/apache/imperius/javaspl/samples/simplepolicies/AnotherClass.java?rev=608733&view=auto
==============================================================================
--- incubator/imperius/trunk/modules/javaspl-samples/src/main/java/org/apache/imperius/javaspl/samples/simplepolicies/AnotherClass.java
(added)
+++ incubator/imperius/trunk/modules/javaspl-samples/src/main/java/org/apache/imperius/javaspl/samples/simplepolicies/AnotherClass.java
Thu Jan  3 19:48:43 2008
@@ -0,0 +1,44 @@
+/*
+ * Licensed 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.
+ */
+//
+
+/**
+ * @author Prashant Baliga <prabalig@in.ibm.com>
+ *
+ */
+
+package org.apache.imperius.javaspl.samples.simplepolicies;
+
+public class AnotherClass {
+	public int anotherClassProperty1;
+	public int anotherClassProperty2;
+	public AnotherClass(int a1, int b1)
+	{
+		this.setAnotherClassProperty1(a1);
+		this.setAnotherClassProperty2(b1);
+	}
+	public int getAnotherClassProperty1() {
+		return anotherClassProperty1;
+	}
+	public void setAnotherClassProperty1(int a) {
+		this.anotherClassProperty1 = a;
+	}
+	public int getAnotherClassProperty2() {
+		return anotherClassProperty2;
+	}
+	public void setAnotherClassProperty2(int b) {
+		this.anotherClassProperty2 = b;
+	}
+
+}

Added: incubator/imperius/trunk/modules/javaspl-samples/src/main/java/org/apache/imperius/javaspl/samples/simplepolicies/EmbeddedClass1.java
URL: http://svn.apache.org/viewvc/incubator/imperius/trunk/modules/javaspl-samples/src/main/java/org/apache/imperius/javaspl/samples/simplepolicies/EmbeddedClass1.java?rev=608733&view=auto
==============================================================================
--- incubator/imperius/trunk/modules/javaspl-samples/src/main/java/org/apache/imperius/javaspl/samples/simplepolicies/EmbeddedClass1.java
(added)
+++ incubator/imperius/trunk/modules/javaspl-samples/src/main/java/org/apache/imperius/javaspl/samples/simplepolicies/EmbeddedClass1.java
Thu Jan  3 19:48:43 2008
@@ -0,0 +1,46 @@
+/*
+ * Licensed 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.
+ */
+//
+
+/**
+ * @author Prashant Baliga <prabalig@in.ibm.com>
+ *
+ */
+
+package org.apache.imperius.javaspl.samples.simplepolicies;
+
+public class EmbeddedClass1 {
+	
+	public String embeddedClassProperty1;
+	public String embeddedClassProperty2;
+	
+	public EmbeddedClass1(String a1, String b1)
+	{
+		embeddedClassProperty1 = a1;
+		embeddedClassProperty2 = b1;
+	}
+	public String getEmbeddedClassProperty1() {
+		return embeddedClassProperty1;
+	}
+	public void setEmbeddedClassProperty1(String a1) {
+		this.embeddedClassProperty1 = a1;
+	}
+	public String getEmbeddedClassProperty2() {
+		return embeddedClassProperty2;
+	}
+	public void setEmbeddedClassProperty2(String b1) {
+		this.embeddedClassProperty2 = b1;
+	}
+
+}

Added: incubator/imperius/trunk/modules/javaspl-samples/src/main/java/org/apache/imperius/javaspl/samples/simplepolicies/RunSamples.java
URL: http://svn.apache.org/viewvc/incubator/imperius/trunk/modules/javaspl-samples/src/main/java/org/apache/imperius/javaspl/samples/simplepolicies/RunSamples.java?rev=608733&view=auto
==============================================================================
--- incubator/imperius/trunk/modules/javaspl-samples/src/main/java/org/apache/imperius/javaspl/samples/simplepolicies/RunSamples.java
(added)
+++ incubator/imperius/trunk/modules/javaspl-samples/src/main/java/org/apache/imperius/javaspl/samples/simplepolicies/RunSamples.java
Thu Jan  3 19:48:43 2008
@@ -0,0 +1,140 @@
+package org.apache.imperius.javaspl.samples.simplepolicies;
+
+import java.io.BufferedReader;
+import java.io.FileNotFoundException;
+import java.io.FileReader;
+import java.io.IOException;
+import java.util.Hashtable;
+import java.util.Map;
+
+import org.apache.imperius.javaspl.Java_SPLPolicyRuleProvider;
+import org.apache.imperius.spl.parser.exceptions.SPLException;
+
+public class RunSamples {
+	
+	public static String policyFolder = "policies/";
+
+	/**
+	 * @param args
+	 */
+	public static void main(String[] args) 
+	{
+		if(args.length == 0)
+		{	
+			RunSamples.test();
+		}
+		else
+		{
+			RunSamples.testPolicy(args[0]);
+		}
+
+	}
+	
+	public static void _test(String policyName, Map objMap)
+	{
+		try 
+		{
+			
+			Java_SPLPolicyRuleProvider jspl = new Java_SPLPolicyRuleProvider();
+			String aFile = policyFolder + policyName + ".spl";
+			//System.out.println("starting test");
+			StringBuffer contents = new StringBuffer();
+			BufferedReader input = null;
+			try
+			{
+				input = new BufferedReader( new FileReader(aFile) );
+				String line = null; 
+		     
+				while (( line = input.readLine()) != null)
+				{
+					contents.append(line);
+					contents.append(System.getProperty("line.separator"));
+				}
+				input.close();
+		    }
+		    catch (FileNotFoundException ex) 
+		    {
+		      ex.printStackTrace();
+		    }
+		    catch (IOException ex){
+		      ex.printStackTrace();
+		    }
+		    try
+		    {
+		    	jspl.deletePolicy(policyName);
+		    }
+		    catch(Exception e)
+		    {
+		    	
+		    }
+		    
+		    boolean createReturn=jspl.createPolicy(policyName, contents.toString());
+		    System.out.println("Policy Created : " + policyName +createReturn);
+		    System.out.println("");
+		    Object result = jspl.executePolicy(policyName, objMap);
+			System.out.println("Result is " + result);
+		}   
+		catch (SPLException e) 
+		{				// TODO Auto-generated catch block
+			e.printStackTrace();
+		}  
+		
+	}
+	public static void testPolicy(String policyToExecute)
+	{
+		TestElement te=new TestElement();
+		
+	    Map objMap = new Hashtable();
+	    objMap.put("te", te);
+	    	    
+		_test(policyToExecute,objMap);      
+			
+				
+		
+	}
+	
+	public static void testBasicPolicy() 
+	{
+	
+		String policyToExecute = "BasicPolicy";	
+			
+			
+	    Map objMap = new Hashtable();
+	    
+	    SampleClass sc1 = new SampleClass(1,2);
+	    objMap.put("sc1", sc1);
+	    
+	    SampleClass sc2 = new SampleClass(3,4);
+	    objMap.put("sc2", sc2);
+	    
+	    AnotherClass ac1 = new AnotherClass(5,6);
+	    objMap.put("ac1", ac1);
+	
+		_test(policyToExecute,objMap);
+		
+		
+	}	
+	public static void test()
+	{
+		String [] policiesToTest = {"SimplePolicy","ComplexPolicy",
+				"MultiplePolicySample","InvokeMethodSample","DateTime","MacroSample"};
+			
+		for (int i=0 ; i < policiesToTest.length; i++)
+		{
+			String policy = policiesToTest[i];
+			testPolicy(policy);
+		}
+		testBasicPolicy();
+
+		
+	}
+
+	public static void test(String pFolder) {
+		
+		policyFolder = pFolder;
+		test();
+	
+		
+	}
+
+}

Propchange: incubator/imperius/trunk/modules/javaspl-samples/src/main/java/org/apache/imperius/javaspl/samples/simplepolicies/RunSamples.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/imperius/trunk/modules/javaspl-samples/src/main/java/org/apache/imperius/javaspl/samples/simplepolicies/SampleClass.java
URL: http://svn.apache.org/viewvc/incubator/imperius/trunk/modules/javaspl-samples/src/main/java/org/apache/imperius/javaspl/samples/simplepolicies/SampleClass.java?rev=608733&view=auto
==============================================================================
--- incubator/imperius/trunk/modules/javaspl-samples/src/main/java/org/apache/imperius/javaspl/samples/simplepolicies/SampleClass.java
(added)
+++ incubator/imperius/trunk/modules/javaspl-samples/src/main/java/org/apache/imperius/javaspl/samples/simplepolicies/SampleClass.java
Thu Jan  3 19:48:43 2008
@@ -0,0 +1,45 @@
+/*
+ * Licensed 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.
+ */
+//
+
+/**
+ * @author Prashant Baliga <prabalig@in.ibm.com>
+ *
+ */
+
+package org.apache.imperius.javaspl.samples.simplepolicies;
+
+public class SampleClass {
+	public int sampleClassProperty1;
+	public int sampleClassProperty2;
+	public EmbeddedClass1 ec = new EmbeddedClass1("ec1","ec2");
+	public SampleClass(int a1, int b1)
+	{
+		sampleClassProperty1 = a1;
+		sampleClassProperty2 = b1;
+	}
+	public int getSampleClassProperty1() {
+		return sampleClassProperty1;
+	}
+	public void setSampleClassProperty1(int a) {
+		this.sampleClassProperty1 = a;
+	}
+	public int getSampleClassProperty2() {
+		return sampleClassProperty2;
+	}
+	public void setSampleClassProperty2(int b) {
+		this.sampleClassProperty2 = b;
+	}
+
+}

Added: incubator/imperius/trunk/modules/javaspl-samples/src/main/java/org/apache/imperius/javaspl/samples/simplepolicies/TestElement.java
URL: http://svn.apache.org/viewvc/incubator/imperius/trunk/modules/javaspl-samples/src/main/java/org/apache/imperius/javaspl/samples/simplepolicies/TestElement.java?rev=608733&view=auto
==============================================================================
--- incubator/imperius/trunk/modules/javaspl-samples/src/main/java/org/apache/imperius/javaspl/samples/simplepolicies/TestElement.java
(added)
+++ incubator/imperius/trunk/modules/javaspl-samples/src/main/java/org/apache/imperius/javaspl/samples/simplepolicies/TestElement.java
Thu Jan  3 19:48:43 2008
@@ -0,0 +1,61 @@
+/*
+ * Licensed 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.imperius.javaspl.samples.simplepolicies;
+
+import java.util.Calendar;
+import java.util.GregorianCalendar;
+
+public class TestElement 
+{
+	public String ElementName;
+
+	public String s; 
+	public char c;
+	public double r64;
+	public float r32;
+	public Calendar d;
+	public long s64;
+	public int s32;
+	public short s16;
+	public byte s8;
+	public boolean b;
+
+	public String childProperty;
+    
+    public int testMethod(int a, int b)
+    {
+    	return a + b;
+    }
+    
+    public TestElement()
+    {
+    	ElementName = "Element1";
+
+    	s="string5"; 
+    	c='d';
+       	r64=54.0;
+    	r32=54.0f;
+    	d= new GregorianCalendar();
+    	s64=-530;
+    	s32=-530;
+    	s16=-50;
+    	s8=-10;
+    	b=false;
+    	childProperty="child property5";
+
+    	
+    }
+
+
+}

Added: incubator/imperius/trunk/modules/javaspl-samples/src/main/java/org/apache/imperius/javaspl/samples/userdefinedmethods/CommandLineExecution.java
URL: http://svn.apache.org/viewvc/incubator/imperius/trunk/modules/javaspl-samples/src/main/java/org/apache/imperius/javaspl/samples/userdefinedmethods/CommandLineExecution.java?rev=608733&view=auto
==============================================================================
--- incubator/imperius/trunk/modules/javaspl-samples/src/main/java/org/apache/imperius/javaspl/samples/userdefinedmethods/CommandLineExecution.java
(added)
+++ incubator/imperius/trunk/modules/javaspl-samples/src/main/java/org/apache/imperius/javaspl/samples/userdefinedmethods/CommandLineExecution.java
Thu Jan  3 19:48:43 2008
@@ -0,0 +1,95 @@
+/*
+ * Licensed 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.
+ */
+/**/
+
+/**
+ * @author Prashant Baliga <prabalig@in.ibm.com>
+ *
+ */
+
+package org.apache.imperius.javaspl.samples.userdefinedmethods;
+
+import java.io.IOException;
+import java.util.List;
+import java.util.logging.Logger;
+
+import org.apache.imperius.spl.external.Expression;
+import org.apache.imperius.spl.external.TypeConstants;
+import org.apache.imperius.spl.parser.exceptions.SPLException;
+import org.apache.imperius.spl.parser.util.TypeInfo;
+import org.apache.imperius.util.SPLLogger;
+
+
+
+public class CommandLineExecution implements Expression 
+{
+
+	private List inputParams =null;
+	private static Logger logger = SPLLogger.getSPLLogger().getLogger();
+
+
+	public CommandLineExecution(List input, boolean boo)
+	{
+		System.out.println(" creating sendMail action");
+		this.inputParams=input;
+	}
+	public Object evaluate() throws SPLException 
+	{
+		
+		Expression commandExpression=(Expression)this.inputParams.get(0);
+		Object command=commandExpression.evaluate();
+		System.out.println("command :"+command);
+
+		Runtime runtime=Runtime.getRuntime();
+		try{
+			runtime.exec((String)command);
+			System.out.println("command execution completed :"+command);
+			System.out.println("");
+
+			
+		}
+		catch(IOException e){
+			logger.severe(Thread.currentThread().getName()+" "+e.getMessage());
+            e.printStackTrace();
+		}
+		
+		return new Boolean(true);
+	}
+
+
+
+
+	public String getReferenceTypeName() throws SPLException {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	public TypeInfo getType() throws SPLException {
+		// TODO Auto-generated method stub
+		return new TypeInfo(TypeConstants.booleanType,null,false);
+	}
+
+	public boolean isArray() {
+		// TODO Auto-generated method stub
+		return false;
+	}
+
+	public boolean validate() throws SPLException {
+		// TODO Auto-generated method stub
+		return true;
+	}
+
+	
+
+}

Added: incubator/imperius/trunk/modules/javaspl-samples/src/main/java/org/apache/imperius/javaspl/samples/userdefinedmethods/SendMail.java
URL: http://svn.apache.org/viewvc/incubator/imperius/trunk/modules/javaspl-samples/src/main/java/org/apache/imperius/javaspl/samples/userdefinedmethods/SendMail.java?rev=608733&view=auto
==============================================================================
--- incubator/imperius/trunk/modules/javaspl-samples/src/main/java/org/apache/imperius/javaspl/samples/userdefinedmethods/SendMail.java
(added)
+++ incubator/imperius/trunk/modules/javaspl-samples/src/main/java/org/apache/imperius/javaspl/samples/userdefinedmethods/SendMail.java
Thu Jan  3 19:48:43 2008
@@ -0,0 +1,190 @@
+/*
+ * Licensed 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.
+ */
+/**/
+
+/**
+ * @author Prashant Baliga <prabalig@in.ibm.com>
+ *
+ */
+
+package org.apache.imperius.javaspl.samples.userdefinedmethods;
+
+import java.util.List;
+import java.util.Properties;
+import java.util.logging.Logger;
+import javax.mail.Authenticator;
+import javax.mail.Message;
+import javax.mail.MessagingException;
+import javax.mail.PasswordAuthentication;
+import javax.mail.Session;
+import javax.mail.Transport;
+import javax.mail.internet.InternetAddress;
+import javax.mail.internet.MimeMessage;
+
+import org.apache.imperius.spl.external.Expression;
+import org.apache.imperius.spl.external.TypeConstants;
+import org.apache.imperius.spl.parser.exceptions.SPLException;
+import org.apache.imperius.spl.parser.util.TypeInfo;
+import org.apache.imperius.util.SPLLogger;
+
+
+
+public class SendMail implements Expression 
+{
+
+	private List inputParams =null;
+	private static Logger logger = SPLLogger.getSPLLogger().getLogger();
+
+
+	public SendMail(List input, boolean boo)
+	{
+		//System.out.println(" creating sendMail action");
+		this.inputParams=input;
+	}
+	public Object evaluate() throws SPLException 
+	{
+		
+		Expression fromExpression=(Expression)this.inputParams.get(0);
+		Object from=fromExpression.evaluate();
+		System.out.println("from :"+from);
+
+
+		Expression toExpression=(Expression)this.inputParams.get(1);
+		Object to=toExpression.evaluate();
+		System.out.println("to :"+to);
+
+
+		Expression subjectExpression=(Expression)this.inputParams.get(2);
+		Object subject=subjectExpression.evaluate();
+		System.out.println("subject :"+subject);
+
+
+		Expression messageExpression=(Expression)this.inputParams.get(3);
+		Object message=messageExpression.evaluate();
+		System.out.println("message :"+message);
+
+		try {
+			//System.out.println("trying to send mail");
+
+			//System.out.println("trying to create service object ");
+	        
+			boolean ret=postMail((String)from,(String)to,(String)subject,(String)message);
+	        System.out.println("Sent mail, return value='" + ret + "'");
+	        System.out.println("");
+	      } catch (Exception e) {
+	    	  System.out.println("send mail exception block");
+	    	  logger.severe(Thread.currentThread().getName()+" "+e.getMessage());
+	            
+	    	  e.printStackTrace();
+	        System.out.println(e.toString());
+	      }
+		 
+		// TODO Auto-generated method stub
+		return new Boolean(true);
+	}
+
+
+	public boolean postMail( String from,String recipients, String subject,
+			String message) throws MessagingException
+			{
+		//System.out.println("post mail");
+		 String JAVAX_MAIL_PROTOCOL = "smtp";
+		   String SMTP_HOST_NAME = "relay.de.ibm.com";
+//		   String SMTP_AUTH_USER = "anonymous";
+//		   String SMTP_AUTH_PWD  = "anonymous";
+		   String SMTP_AUTH_ENABLED  = "false";
+//		   int SEVERITY = 50;
+//		   int NO_ACTION_SEVERITY = 50;
+		  
+		boolean debug = false;
+//		Set the host smtp address
+		Properties props = new Properties();
+		props.put( "mail.transport.protocol", JAVAX_MAIL_PROTOCOL);
+		props.put("mail.smtp.host", SMTP_HOST_NAME);
+		Session session = null;
+		//System.out.println("post mail1");
+		if(SMTP_AUTH_ENABLED.equals("true"))
+		{
+			props.put("mail.smtp.auth", "true");
+			Authenticator auth = new SMTPAuthenticator();
+			session = Session.getDefaultInstance(props, auth);
+			//System.out.println("post mail2");
+		}
+		else 
+			session = Session.getDefaultInstance(props);
+		//System.out.println("post mail3");
+		session.setDebug(debug);
+
+//		create a message
+		Message msg = new MimeMessage(session);
+		//System.out.println("post mail4");
+		msg.setFrom(new InternetAddress(from));
+		//System.out.println("post mail5");
+		msg.setRecipients(Message.RecipientType.TO, InternetAddress.parse( recipients ));
+		//System.out.println("post mail6");
+
+//		Setting the Subject and Content Type
+		msg.setSubject(subject);
+		msg.setContent(message, "text/plain");
+		//System.out.println("post mail7");
+		try{
+			//System.out.println("post mail8");
+			Transport.send(msg);
+			//System.out.println("post mail9");
+		}catch(Exception e)
+		{
+			e.printStackTrace();
+			
+		}
+		
+		//System.out.println("messsage sent");
+		return true;
+		}
+
+
+	public String getReferenceTypeName() throws SPLException {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	public TypeInfo getType() throws SPLException {
+		// TODO Auto-generated method stub
+		return new TypeInfo(TypeConstants.booleanType,null,false);
+	}
+
+	public boolean isArray() {
+		// TODO Auto-generated method stub
+		return false;
+	}
+
+	public boolean validate() throws SPLException {
+		// TODO Auto-generated method stub
+		return true;
+	}
+
+	
+	
+	private class SMTPAuthenticator extends javax.mail.Authenticator
+	{
+	    public PasswordAuthentication getPasswordAuthentication()
+	    {
+	    	 String SMTP_AUTH_USER = "anonymous";
+	    	  String SMTP_AUTH_PWD  = "anonymous";
+	    	  
+	        String username = SMTP_AUTH_USER;
+	        String password = SMTP_AUTH_PWD;
+	        return new PasswordAuthentication(username, password);
+	    }
+	}
+}

Added: incubator/imperius/trunk/modules/javaspl-samples/src/main/java/org/apache/imperius/javaspl/samples/windowscomputersystem/WindowsComputerSystem.java
URL: http://svn.apache.org/viewvc/incubator/imperius/trunk/modules/javaspl-samples/src/main/java/org/apache/imperius/javaspl/samples/windowscomputersystem/WindowsComputerSystem.java?rev=608733&view=auto
==============================================================================
--- incubator/imperius/trunk/modules/javaspl-samples/src/main/java/org/apache/imperius/javaspl/samples/windowscomputersystem/WindowsComputerSystem.java
(added)
+++ incubator/imperius/trunk/modules/javaspl-samples/src/main/java/org/apache/imperius/javaspl/samples/windowscomputersystem/WindowsComputerSystem.java
Thu Jan  3 19:48:43 2008
@@ -0,0 +1,129 @@
+//(c) Copyright IBM Corp. 2007
+
+/**
+ * @author Prashant Baliga <prabalig@in.ibm.com>
+ *
+ */
+
+
+package org.apache.imperius.javaspl.samples.windowscomputersystem;
+import java.io.BufferedInputStream;
+import java.io.File;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.PrintWriter;
+import java.util.StringTokenizer;
+
+
+public class WindowsComputerSystem {
+
+	public float freeSpace=0;
+	public long totalSpace=0;
+	public String osArchitecture="";
+	public String osName="";
+	public String osVersion="";
+	public String osPatchLevel="";
+	public String userCountry="";
+	public String userLanguage="";
+	public String ownerName="";
+	public String javaVersion="";
+	
+	public static long getFreeSpace() throws IOException
+	  {
+	    long bytesFree = -1;
+	 
+	    if (System.getProperty("os.name").startsWith("Windows")) {
+	      // create a .bat file to run a directory command
+	      File script = new File(System.getProperty("java.io.tmpdir"), "script.bat");
+	      PrintWriter writer = new PrintWriter(new FileWriter(script, false));
+	      writer.println("dir \"" + "." + "\"");
+	      writer.close();
+	 
+	      // get the output from running the .bat file
+	      Process p = Runtime.getRuntime().exec(script.getAbsolutePath());
+	      InputStream reader = new BufferedInputStream(p.getInputStream());
+	      StringBuffer buffer = new StringBuffer();
+	      for (; ; ) {
+	        int c = reader.read();
+	        if (c == -1)
+	          break;
+	        buffer.append( (char) c);
+	      }
+	      String outputText = buffer.toString();
+	      reader.close();
+	      script.delete();
+	 
+	      // parse the output text for the bytes free info
+	      StringTokenizer tokenizer = new StringTokenizer(outputText, "\n");
+	      while (tokenizer.hasMoreTokens()) {
+	        String line = tokenizer.nextToken().trim();
+	        // see if line contains the bytes free information
+	        if (line.endsWith("bytes free")) {
+	          tokenizer = new StringTokenizer(line, " ");
+	          tokenizer.nextToken();
+	          tokenizer.nextToken();
+	          bytesFree = Long.parseLong(tokenizer.nextToken().replaceAll(",",""));
+	        }
+	      }
+	    }
+	 
+	    if (bytesFree == -1)
+	      throw new UnsupportedOperationException(
+	          "The method getFreeSpace(File) has not been implemented for this operating system.");
+	 
+	    return bytesFree;
+	  }
+	
+	public WindowsComputerSystem() throws IOException
+	{
+		freeSpace=getFreeSpace();
+		freeSpace = freeSpace/1000000000l;
+		//totalSpace=javaFile.getTotalSpace();
+		osArchitecture=System.getProperty("os.arch");
+		osName=System.getProperty("os.name");
+		osPatchLevel=System.getProperty("sun.os.patch.level");
+		osVersion=System.getProperty("os.version");
+		ownerName=System.getProperty("user.name");	
+		userCountry=System.getProperty("user.country");
+		userLanguage=System.getProperty("user.language");
+		javaVersion=System.getProperty("java.specification.version");
+	}
+
+	public boolean deleteFiles(String flavour) throws IOException{
+		Runtime runtime=Runtime.getRuntime();
+		if(flavour.equalsIgnoreCase("TemporarySetupFiles")){
+			//32
+			runtime.exec("CLEANMGR /sagerun:32");
+		}
+		else if(flavour.equalsIgnoreCase("TemporaryInternetFiles")){
+			//64
+			runtime.exec("CLEANMGR /sagerun:64");
+		}
+		else if(flavour.equalsIgnoreCase("TemporaryFiles")){
+			//128
+			runtime.exec("CLEANMGR /sagerun:128");
+		}
+		else if(flavour.equalsIgnoreCase("RecycleBin")){
+			//256
+			runtime.exec("CLEANMGR /sagerun:256");
+		}
+		
+		
+		
+		return true;
+	}
+	
+	public static void main(String [] args)
+	{
+		WindowsComputerSystem ws;
+		try {
+			ws = new WindowsComputerSystem();
+			System.out.println("free space" + ws.freeSpace);
+		} catch (IOException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+		}
+		
+	}
+}

Propchange: incubator/imperius/trunk/modules/javaspl-samples/src/main/java/org/apache/imperius/javaspl/samples/windowscomputersystem/WindowsComputerSystem.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/imperius/trunk/modules/javaspl-samples/src/main/java/org/apache/imperius/javaspl/samples/windowscomputersystem/WindowsSystemManager.java
URL: http://svn.apache.org/viewvc/incubator/imperius/trunk/modules/javaspl-samples/src/main/java/org/apache/imperius/javaspl/samples/windowscomputersystem/WindowsSystemManager.java?rev=608733&view=auto
==============================================================================
--- incubator/imperius/trunk/modules/javaspl-samples/src/main/java/org/apache/imperius/javaspl/samples/windowscomputersystem/WindowsSystemManager.java
(added)
+++ incubator/imperius/trunk/modules/javaspl-samples/src/main/java/org/apache/imperius/javaspl/samples/windowscomputersystem/WindowsSystemManager.java
Thu Jan  3 19:48:43 2008
@@ -0,0 +1,99 @@
+//(c) Copyright IBM Corp. 2007
+
+/**
+ * @author Prashant Baliga <prabalig@in.ibm.com>
+ *
+ */
+
+
+package org.apache.imperius.javaspl.samples.windowscomputersystem;
+
+import java.io.BufferedReader;
+import java.io.FileNotFoundException;
+import java.io.FileReader;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Hashtable;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.imperius.javaspl.Java_SPLPolicyRuleProvider;
+import org.apache.imperius.spl.external.InstanceInfo;
+import org.apache.imperius.spl.parser.exceptions.SPLException;
+
+public class WindowsSystemManager 
+{
+	
+	public static void main(String[] args) throws IOException, SPLException
+	{
+				
+		WindowsComputerSystem system1=new WindowsComputerSystem();
+		String policyToExecute = "Java_FileSystem";	
+		
+		try 
+		{
+			if(args.length == 1)
+			{
+				policyToExecute = args[0];
+			}
+			Java_SPLPolicyRuleProvider jspl = new Java_SPLPolicyRuleProvider();
+			String aFile = "policies/" + policyToExecute + ".spl";
+			//System.out.println("starting test");
+			StringBuffer contents = new StringBuffer();
+			BufferedReader input = null;
+			try
+			{
+				input = new BufferedReader( new FileReader(aFile) );
+				String line = null; 
+		     
+				while (( line = input.readLine()) != null)
+				{
+					contents.append(line);
+					contents.append(System.getProperty("line.separator"));
+				}
+				input.close();
+		    }
+		    catch (FileNotFoundException ex) 
+		    {
+		      ex.printStackTrace();
+		    }
+		    catch (IOException ex){
+		      ex.printStackTrace();
+		    }
+		    try
+		    {
+		    	jspl.deletePolicy(policyToExecute);
+		    }
+		    catch(Exception e)
+		    {
+		    	
+		    }
+		    
+		    boolean createReturn=jspl.createPolicy(policyToExecute, contents.toString());
+		    System.out.println("Policy Created : " + policyToExecute +createReturn);
+		    System.out.println("");
+		    
+		    Map objMap = new Hashtable();
+		    
+		   /* List instanceInfoList = new ArrayList();
+		    
+		    InstanceInfo ii1 = new InstanceInfo("system1",system1);
+		    instanceInfoList.add(ii1);	    
+	    
+		    objMap.put("org.apache.imperius.javaspl.samples.windowscomputersystem.WindowsComputerSystem",
instanceInfoList);*/
+		    objMap.put("system1", system1);
+		    
+		      
+		    Object result = jspl.executePolicy(policyToExecute, objMap);
+		   System.out.println("Result is " + result);
+			
+		} 
+		catch (SPLException e) 
+		{
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+		}
+	}
+
+
+}

Propchange: incubator/imperius/trunk/modules/javaspl-samples/src/main/java/org/apache/imperius/javaspl/samples/windowscomputersystem/WindowsSystemManager.java
------------------------------------------------------------------------------
    svn:eol-style = native



Mime
View raw message